1import{_ as Re,a as Ce,b as Le,c as Ne,d as ze}from"./BdGJu2WF.js";import{_ as Oe}from"./BUqQZikn.js";import{_ as De}from"./BJbQoxVr.js";import{_ as Te}from"./DkTFzEMZ.js";import{_ as Me}from"./CDmyDGRD.js";import{_ as Pe}from"./BAmc6KP0.js";import{u as Fe,_ as Ie}from"./DlzBueZj.js";import{_ as je}from"./BTR0J1Vf.js";import{_ as Ee}from"./C5EjeVJ5.js";import{_ as Be}from"./D8XNXaCl.js";import{_ as Ge}from"./CQAi4flD.js";import{_ as qe}from"./D9-sKfm9.js";import{G as Ae,f as We,i as He,l as u,O as Xe,k as Ke,c as b,a as l,g as S,b as t,d as m,h as x,w as n,t as k,n as q,o as c,F as me,r as de,E as Z,q as ee,a6 as Je,p as Qe}from"./DdRirg_F.js";import{K as te}from"./IxzeBQ90.js";import{u as Ye}from"./DUOCiLjf.js";import{u as Ze}from"./mYvYzHj6.js";import{C as et}from"./BT13vD65.js";import{C as pe}from"./CUxyLFc9.js";import{U as tt}from"./CwNdU0GE.js";import{I as ot}from"./Df4SDNBy.js";import{S as at}from"./3Ehr0cgQ.js";import{F as st}from"./BL1NgDwH.js";import{L as lt}from"./BPUnTXX5.js";import{S as nt}from"./BM2Ctgyn.js";import{D as rt}from"./n2G0OW-u.js";import"./BiXMX3Yw.js";import"./DjqsqOe8.js";import"./DznoOI6y.js";import"./Barf_tMS.js";import"./DpG9jOH_.js";import"./BSDIl-Rg.js";import"./BsGF8U89.js";import"./DXg8-ZlZ.js";import"./Bn9k2nIS.js";import"./BMDl7Sj0.js";import"./rt51KvPn.js";import"./DZvMGAf-.js";import"./l8922Ki5.js";import"./DnwgGaPl.js";import"./QtoC-LA8.js";import"./DaZIvxSr.js";import"./DNz9wx8t.js";import"./C1X33mSG.js";import"./DteCZysK.js";import"./BX6EN_dQ.js";import"./DxeTatjr.js";import"./DmoN1mff.js";import"./B5rxJs06.js";import"./DvQgtGW_.js";import"./DC-5zG28.js";import"./iDqswPRO.js";import"./x_rD_Ya3.js";import"./DwCWXP7M.js";import"./0U2laMoF.js";import"./B1RZcwXE.js";import"./CKyCA_mm.js";import"./uCkHq_Pc.js";import"./BaVsNOEF.js";import"./CeZ6AZjI.js";import"./BfQazVYU.js";import"./NFnJxYsL.js";import"./tYUqxmEy.js";import"./Ku5H2Fvg.js";import"./C8KajN8m.js";import"./BWs3BJH8.js";import"./73p8XI3L.js";import"./DWhfCyNK.js";import"./B2FaPVb1.js";import"./DeoOIwLt.js";import"./k5uAJCCz.js";import"./BEgGWmFC.js";import"./p-_TJbnF.js";import"./RwU7KO_b.js";import"./BbHVlsie.js";import"./DT7vFZbP.js";import"./lWbYcCAY.js";import"./DCH35lFC.js";import"./DUPOcbgG.js";import"./IVqhOkfq.js";import"./CJORjO_i.js";import"./BumK2SxH.js";import"./FEGUqaMO.js";import"./9wHj6yGH.js";import"./B1uEhOKT.js";import"./BNIdBvLq.js";import"./_6iFKbkW.js";import"./BLrA2EAi.js";import"./C5fXR7Sy.js";import"./B5tVNN1J.js";import"./CJz17bmF.js";import"./CiOKkD5A.js";import"./CT6oeXmt.js";import"./llS6sEYV.js";import"./DiR4NhX5.js";import"./CVD8vQq9.js";import"./0T6Wfc5H.js";import"./BoE8DsGH.js";import"./GnhWcXjh.js";import"./CTXHRpCY.js";import"./y98Hve7D.js";import"./KdNsXV-M.js";import"./D1Lb80-q.js";import"./CmBm5NKp.js";import"./B7Pw93Gl.js";import"./_2oN3_3C.js";import"./CckayPC8.js";import"./4BQ6oPIq.js";import"./CQcqXkxB.js";import"./3mPOUHX6.js";import"./BC_sEwaw.js";function it(){const A=Ae(),W=()=>{var a;return(a=document.cookie.split("; ").find(g=>g.startsWith("csrftoken=")))==null?void 0:a.split("=")[1]},H=async()=>{const a=await fetch(`${A.public.apiBase}/v1/models`,{credentials:"include"});if(!a.ok)throw new Error(`Failed to load models (HTTP ${a.status})`);return((await a.json()).data??[]).map(d=>({id:d.id,input_modalities:d.input_modalities??["text"],supported_features:d.supported_features??[],context_length:d.context_length??null,service_type:d.service_type??"llm"})).filter(d=>d.service_type==="video")},X=async a=>{var g;try{const d=await a.json();return((g=d==null?void 0:d.error)==null?void 0:g.message)||JSON.stringify(d)}catch{return`Request failed (HTTP ${a.status})`}};return{listVideoModels:H,generate:async(a,g)=>{const d=W(),v=await fetch(`${A.public.apiBase}/v1/videos/generations`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",...d?{"X-CSRFToken":d}:{}},body:JSON.stringify({model:a.model,prompt:a.prompt,...a.negative_prompt?{negative_prompt:a.negative_prompt}:{},...a.image?{image:a.image,image_strength:a.image_strength??1}:{},...a.duration?{duration:a.duration}:{},...a.num_frames?{num_frames:a.num_frames}:{},...a.fps?{fps:a.fps}:{},...a.width?{width:a.width}:{},...a.height?{height:a.height}:{},...a.num_inference_steps?{num_inference_steps:a.num_inference_steps}:{},...a.guidance_scale!=null?{guidance_scale:a.guidance_scale}:{},...a.enhance_prompt?{enhance_prompt:!0}:{},...a.use_random_seed===!1?{seed:a.seed}:{}}),signal:g});if(!v.ok)throw new Error(await X(v));const V=await v.blob();return{blob:V,url:URL.createObjectURL(V),contentType:v.headers.get("content-type")||"video/mp4"}}}}const ut={class:"mx-auto w-full max-w-5xl px-3 sm:px-6 py-6"},mt={class:"flex flex-wrap items-start justify-between gap-3 mb-4"},dt={class:"text-2xl font-bold flex items-center gap-2"},pt={key:0,class:"p-3 mb-4 bg-muted text-muted-foreground rounded text-sm"},ft={key:1,class:"grid lg:grid-cols-[1fr_18rem] gap-4 items-start"},vt={class:"min-w-0 space-y-3"},ct={key:0,class:"flex items-center gap-3"},gt=["src"],xt={class:"text-xs text-muted-foreground flex-1 text-left truncate"},_t={key:1,class:"text-muted-foreground py-1"},bt={class:"flex items-center gap-2"},yt={key:0,class:"ml-auto flex items-center gap-2 text-xs text-muted-foreground"},wt={class:"flex flex-wrap items-center gap-x-2 gap-y-2"},kt={class:"text-xs text-muted-foreground"},Vt={class:"ml-auto flex items-center gap-2"},ht={class:"flex items-center justify-between"},St={class:"border-t pt-4 space-y-2"},Ut={class:"flex items-center justify-between"},$t={key:0},Rt={class:"border-t pt-3"},Ct={key:0,class:"mt-2"},fe=25,Oa=We({__name:"videos",setup(A){const{listVideoModels:W,generate:H}=it(),X=Ye(),y=u([]),a=u(""),g=u(!0),d=u(""),v=u(""),V=u(""),z=u(!1),p=u(null),I=u(null),j=u(!1),O=u(1),ve=(o,e)=>{let i=E[0].value,r=1/0;for(const _ of E){const[P,F]=_.value.split("x").map(Number),f=Math.hypot(P-o,F-e);f<r&&(r=f,i=_.value)}return i},K=(o,e)=>{if(o.size>fe*1024*1024){te.error(`That image is over ${fe}MB â pick a smaller one.`);return}p.value&&URL.revokeObjectURL(p.value.url);const i=URL.createObjectURL(o);p.value={blob:o,name:e,url:i};const r=new Image;r.onload=()=>
1{$.value=ve(r.naturalWidth,r.naturalHeight)},r.src=i},ce=o=>{var i;const e=(i=o.target.files)==null?void 0:i[0];e&&K(e,e.name),I.value&&(I.value.value="")},ge=o=>{var i,r;j.value=!1;const e=(r=(i=o.dataTransfer)==null?void 0:i.files)==null?void 0:r[0];if(e){if(!e.type.startsWith("image/"))return te.error("Drop an image file.");K(e,e.name)}},xe=()=>{p.value&&URL.revokeObjectURL(p.value.url),p.value=null},J=u(!1),_e=({blob:o,name:e})=>K(o,e),E=[{value:"1280x704",label:"Landscape · 1280Ã704"},{value:"704x1280",label:"Portrait · 704Ã1280"},{value:"768x768",label:"Square · 768Ã768"},{value:"1152x640",label:"Wide · 1152Ã640"}],$=u("1280x704"),R=u(5),D=u("24"),C=u(30),L=u(3),T=u(!1),h=u(!0),M=u(0),B=u(!1),G=u(""),U=u(!1);let w=null;const oe=u(0),ae=Qe(()=>!!a.value&&!!v.value.trim()&&!U.value),se=o=>{const e=Number(o);return o.trim()!==""&&!Number.isNaN(e)?e:void 0},le=o=>new Promise((e,i)=>{const r=new FileReader;r.onload=()=>e(String(r.result)),r.onerror=()=>i(new Error("Could not read the image")),r.readAsDataURL(o)}),ne=async()=>{if(!ae.value)return;U.value=!0,w=new AbortController;const[o,e]=$.value.split("x").map(i=>Number(i));try{const i=p.value?await le(p.value.blob):void 0,r=await H({model:a.value,prompt:v.value.trim(),negative_prompt:V.value.trim()||void 0,image:i,image_strength:i?O.value:void 0,duration:R.value,num_frames:se(G.value),fps:Number(D.value),width:o,height:e,num_inference_steps:C.value,guidance_scale:L.value,enhance_prompt:T.value,use_random_seed:h.value,seed:h.value?void 0:M.value},w.signal);URL.revokeObjectURL(r.url),oe.value++}catch(i){const r=i;(r==null?void 0:r.name)!=="AbortError"&&te.error((r==null?void 0:r.message)||"Video generation failed")}finally{U.value=!1,w=null}},be=()=>w==null?void 0:w.abort();Ze(ne);const{queue:ye}=Fe(),we=async o=>{if(!a.value||!v.value.trim())return;const[e,i]=$.value.split("x").map(_=>Number(_)),r=p.value?await le(p.value.blob):void 0;ye("/v1/videos/generations",{model:a.value,prompt:v.value.trim(),negative_prompt:V.value.trim()||void 0,image:r,image_strength:r?O.value:void 0,duration:R.value,num_frames:se(G.value),fps:Number(D.value),width:e,height:i,num_inference_steps:C.value,guidance_scale:L.value,enhance_prompt:T.value,use_random_seed:h.value,seed:h.value?void 0:M.value},o,"video")},ke=()=>{const o=X.take("VIDEO");if(o){if(typeof o.prompt=="string"&&(v.value=o.prompt),typeof o.negative_prompt=="string"&&o.negative_prompt&&(V.value=o.negative_prompt,z.value=!0),typeof o.duration=="number"&&(R.value=o.duration),typeof o.fps=="number"&&(D.value=String(o.fps)),typeof o.num_inference_steps=="number"&&(C.value=o.num_inference_steps),typeof o.guidance_scale=="number"&&(L.value=o.guidance_scale),typeof o.enhance_prompt=="boolean"&&(T.value=o.enhance_prompt),typeof o.width=="number"&&typeof o.height=="number"){const e=`${o.width}x${o.height}`;E.some(i=>i.value===e)&&($.value=e)}typeof o.seed=="number"&&(M.value=o.seed,h.value=!1),typeof o.model=="string"&&y.value.some(e=>e.id===o.model)&&(a.value=o.model)}};return He(async()=>{var o;try{if(y.value=await W(),y.value.length){const e=String(Xe().query.model||"");a.value=e&&((o=y.value.find(i=>i.id===e))==null?void 0:o.id)||y.value[0].id,ke()}else d.value="No video-generation models are available to you yet. Run an agent with a service of type: video (e.g. LTX-2) to add one."}catch(e){d.value=(e==null?void 0:e.message)||"Failed to load models"}finally{g.value=!1}}),Ke(()=>{w==null||w.abort(),p.value&&URL.revokeObjectURL(p.value.url)}),(o,e)=>{const i=Le,r=Ce,_=ze,P=Ne,F=Re,f=Oe,re=De,Q=Te,N=Me,Ve=Pe,he=Ie,Y=je,Se=Ee,Ue=Be,ie=Ge,$e=qe;return c(),b("div",ut,[l("div",mt,[l("div",null,[l("h1",dt,[t(x(et),{class:"h-6 w-6"}),e[20]||(e[20]=m(" Video generation ",-1))]),e[21]||(e[21]=l("p",{class:"text-sm text-muted-foreground mt-1"}," Describe a scene â or drop in a first frame â and generate a short video. ",-1))]),t(F,{modelValue:a.value,"onUpdate:modelValue":e[0]||(e[0]=s=>a.value=s),disabled:g.value||!y.value.length},{default:n(()=>[t(r,{class:"w-full sm:w-[18rem] font-mono text-xs"},{default:n(()=>
1[t(i,{placeholder:g.value?"Loading modelsâ¦":"Select a model"},null,8,["placeholder"])]),_:1}),t(P,null,{default:n(()=>[(c(!0),b(me,null,de(y.value,s=>(c(),q(_,{key:s.id,value:s.id,class:"font-mono text-xs"},{default:n(()=>[m(k(s.id),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),d.value?(c(),b("div",pt,k(d.value),1)):S("",!0),y.value.length?(c(),b("div",ft,[l("div",vt,[t(Y,{class:"p-4 space-y-3"},{default:n(()=>[l("div",null,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[...e[22]||(e[22]=[m("Prompt",-1)])]),_:1}),t(re,{modelValue:v.value,"onUpdate:modelValue":e[1]||(e[1]=s=>v.value=s),rows:"3",placeholder:"e.g. a red fox trots across a snow-covered meadow at dawn, camera slowly tracking alongside, soft golden light",class:"mt-1 resize-none text-sm"},null,8,["modelValue"])]),l("div",null,[l("button",{type:"button",class:"flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground",onClick:e[2]||(e[2]=s=>z.value=!z.value)},[t(x(pe),{class:Z(["size-3 transition-transform",z.value?"rotate-0":"-rotate-90"])},null,8,["class"]),e[23]||(e[23]=m(" Negative prompt ",-1))]),z.value?(c(),q(re,{key:0,modelValue:V.value,"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),rows:"2",placeholder:"What to avoid â leave blank for the model's default",class:"mt-1 resize-none text-sm"},null,8,["modelValue"])):S("",!0)]),l("div",{class:Z(["rounded-xl border border-dashed transition-colors p-3 text-center text-sm",j.value?"border-primary bg-accent/40":"border-border"]),onDragover:e[5]||(e[5]=ee(s=>j.value=!0,["prevent"])),onDragleave:e[6]||(e[6]=ee(s=>j.value=!1,["prevent"])),onDrop:ee(ge,["prevent"])},[p.value?(c(),b("div",ct,[l("img",{src:p.value.url,class:"size-16 rounded object-cover border"},null,8,gt),l("span",xt,[e[24]||(e[24]=m(" First frame: ",-1)),l("strong",null,k(p.value.name),1)]),t(Q,{variant:"ghost",size:"icon",onClick:xe},{default:n(()=>[t(x(Je),{class:"size-4"})]),_:1})])):(c(),b("div",_t,[t(x(tt),{class:"size-5 inline mr-1 opacity-60"}),e[25]||(e[25]=m(" Drop a first-frame image (optional, for image-to-video), or ",-1)),l("button",{class:"text-primary underline",onClick:e[4]||(e[4]=s=>{var ue;return(ue=I.value)==null?void 0:ue.click()})},"browse")])),l("input",{ref_key:"fileInput",ref:I,type:"file",accept:"image/*",class:"hidden",onChange:ce},null,544)],34),l("div",bt,[t(Q,{variant:"outline",size:"sm",class:"gap-2",onClick:e[7]||(e[7]=s=>J.value=!0)},{default:n(()=>[t(x(ot),{class:"size-4"}),e[26]||(e[26]=m(" Use an existing image ",-1))]),_:1}),p.value?(c(),b("div",yt,[t(f,{class:"text-xs text-muted-foreground whitespace-nowrap"},{default:n(()=>[m("Image strength "+k(O.value.toFixed(2)),1)]),_:1}),t(N,{modelValue:O.value,"onUpdate:modelValue":e[8]||(e[8]=s=>O.value=s),modelModifiers:{number:!0},type:"range",min:"0",max:"1",step:"0.05",class:"w-28"},null,8,["modelValue"])])):S("",!0)]),l("div",wt,[l("span",kt,k(v.value.length)+" chars",1),l("div",Vt,[t(Ve,{compact:""}),U.value?(c(),q(Q,{key:0,variant:"destructive",class:"gap-2",onClick:be},{default:n(()=>[t(x(at),{class:"size-4"}),e[27]||(e[27]=m(" Stop ",-1))]),_:1})):S("",!0),t(he,{disabled:!ae.value,"queue-disabled":!a.value||!v.value.trim(),running:U.value,icon:x(st),label:"Generate",noun:"video",onGenerate:ne,onQueue:we},null,8,["disabled","queue-disabled","running","icon"])])])]),_:1}),U.value?(c(),q(Y,{key:0,class:"p-4 flex items-center gap-3 text-sm text-muted-foreground"},{default:n(()=>[t(x(lt),{class:"size-4 animate-spin shrink-0"}),e[28]||(e[28]=l("span",{class:"flex-1"},"Rendering your video â this can take a couple of minutesâ¦",-1)),t(Se,{running:U.value,class:"shrink-0 font-medium text-foreground"},null,8,["running"])]),_:1})):S("",!0),t(Ue,{model:a.value,type:"VIDEO","refresh-key":oe.value,title:"Recent videos"},null,8,["model","refresh-key"])]),t(Y,{class:"p-4 space-y-4"},{default:n(()=>[t(f,{class:"text-xs font-semibold uppercase tracking-wide text-muted-foreground"},{default:n(()=>[...e[29]||(e[29]=[m("Options",-1)])]),_:1}),l("div",null,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[...e[30]||(e[30]=[m("Resolution",-1)])]),_:1}),t(F,{modelValue:$.value,"onUpdate:modelValue":e[9]||(e[9]=s=>$.value=s)},{default:n(()=>[t(r,{class:"mt-1 h-8 text-sm"},{default:n(()=>[t(i)]),_:1}),t(P,null,{default:n(()=>[(c(),b(me,null,de(E,s=>t(_,{key:s.value,value:s.value,class:"text-sm"},{default:n(()=>[m(k(s.label),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["modelValue"])]),l("div",null,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[m("Duration: "+k(R.value)+"s",1)]),_:1}),t(N,{modelValue:R.value,"onUpdate:modelValue":e[10]||(e[10]=s=>R.value=s),modelModifiers:{number:!0},type:"range",min:"1",max:"10",step:"1",class:"mt-1 w-full"},null,8,["modelValue"])]),l("div",null,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[...e[31]||(e[31]=[m("Frame rate",-1)])]),_:1}),t(F,{modelValue:D.value,"onUpdate:modelValue":e[11]||(e[11]=s=>D.value=s)},{default:n(()=>[t(r,{class:"mt-1 h-8 text-sm"},{default:n(()=>[t(i)]),_:1}),t(P,null,{default:n(()=>[t(_,{value:"16",class:"text-sm"},{default:n(()=>[...e[32]||(e[32]=[m("16 fps",-1)])]),_:1}),t(_,{value:"24",class:"text-sm"},{default:n(()=>[...e[33]||(e[33]=[m("24 fps",-1)])]),_:1}),t(_,{value:"30",class:"text-sm"},{default:n(()=>[...e[34]||(e[34]=[m("30 fps",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),l("div",null,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[m("Steps: "+k(C.value),1)]),_:1}),t(N,{modelValue:C.value,"onUpdate:modelValue":e[12]||(e[12]=s=>C.value=s),modelModifiers:{number:!0},type:"range",min:"1",max:"50",step:"1",class:"mt-1 w-full"},null,8,["modelValue"]),e[35]||(e[35]=l("p",{class:"mt-1 text-[11px] text-muted-foreground"},"Some distilled pipelines use a fixed step count and ignore this.",-1))]),l("div",null,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[m("Guidance: "+k(L.value),1)]),_:1}),t(N,{modelValue:L.value,"onUpdate:modelValue":e[13]||(e[13]=s=>L.value=s),modelModifiers:{number:!0},type:"range",min:"0",max:"15",step:"0.5",class:"mt-1 w-full"},null,8,["modelValue"])]),l("div",ht,[t(f,{for:"enhance",class:"text-sm flex items-center gap-1.5"},{default:n(()=>[t(x(nt),{class:"size-3.5"}),e[36]||(e[36]=m(" Enhance prompt ",-1))]),_:1}),t(ie,{id:"enhance",modelValue:T.value,"onUpdate:modelValue":e[14]||(e[14]=s=>T.value=s)},null,8,["modelValue"])]),l("div",St,[l("div",Ut,[t(f,{for:"rand-seed",class:"text-sm flex items-center gap-1.5"},{default:n(()=>[t(x(rt),{class:"size-3.5"}),e[37]||(e[37]=m(" Randomize seed ",-1))]),_:1}),t(ie,{id:"rand-seed",modelValue:h.value,"onUpdate:modelValue":e[15]||(e[15]=s=>h.value=s)},null,8,["modelValue"])]),h.value?S("",!0):(c(),b("div",$t,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[...e[38]||(e[38]=[m("Seed",-1)])]),_:1}),t(N,{modelValue:M.value,"onUpdate:modelValue":e[16]||(e[16]=s=>M.value=s),modelModifiers:{number:!0},type:"number",class:"mt-1 h-8 text-sm tabular-nums"},null,8,["modelValue"])]))]),l("div",Rt,[l("button",{type:"button",class:"flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground",onClick:e[17]||(e[17]=s=>B.value=!B.value)},[t(x(pe),{class:Z(["size-3 transition-transform",B.value?"rotate-0":"-rotate-90"])},null,8,["class"]),e[39]||(e[39]=m(" Advanced ",-1))]),B.value?(c(),b("div",Ct,[t(f,{class:"text-xs text-muted-foreground"},{default:n(()=>[...e[40]||(e[40]=[m("Frames (override)",-1)])]),_:1}),t(N,{modelValue:G.value,"onUpdate:modelValue":e[18]||(e[18]=s=>G.value=s),placeholder:"auto (duration à fps)",class:"mt-1 h-8 text-sm"},null,8,["modelValue"]),e[41]||(e[41]=l("p",{class:"mt-1 text-[11px] text-muted-foreground"},"Snapped to 8k+1. Overrides duration when set.",-1))])):S("",!0)]),e[42]||(e[42]=l("p",{class:"text-[11px] text-muted-foreground border-t pt-3"}," Videos are generated on a provider's GPU and stored on inference.club. ",-1))]),_:1})])):S("",!0),t($e,{open:J.value,"onUpdate:open":e[19]||(e[19]=s=>J.value=s),onSelect:_e},null,8,["open"])])}}});
1export{Oa as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.