1import{c as H,u as G,aU as Y,j as e,p as v,e as Q,r as c,aC as I,B as U,z as W,X as V,a8 as X,Z as K,s as J,aD as Z,aA as ee,aV as te}from"./index-DFDoyO67.js";import{C as B}from"./camera-wF31zrxp.js";import{C as se}from"./circle-x-CgSBneoC.js";import{R as ae}from"./refresh-cw-Cp9Vzf5J.js";import{C as _}from"./check-DbRu5pGY.js";import{C as re}from"./circle-check-BGs2Ifd7.js";import{s as R}from"./index-CgmDhvxT.js";/** 2 * @license lucide-react v0.575.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const oe=[["path",{d:"M14.564 14.558a3 3 0 1 1-4.122-4.121",key:"1rnrzw"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M20 20H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 .819-.175",key:"1x3arw"}],["path",{d:"M9.695 4.024A2 2 0 0 1 10.004 4h3.993a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v7.344",key:"1i84u0"}]],le=H("camera-off",oe);/** 7 * @license lucide-react v0.575.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const ne=[["path",{d:"M12.75 7.09a3 3 0 0 1 2.16 2.16",key:"1d4wjd"}],["path",{d:"M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568",key:"12yil7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533",key:"lhrkcz"}],["path",{d:"M9.13 9.13a3 3 0 0 0 3.74 3.74",key:"13wojd"}]],ie=H("map-pin-off",ne),L="/verifypass/open-share/verpass/svh-upload-photo-links",T=Y.create({baseURL:"https://smartcargo.global/api/v1"}),ce={link:t=>["svh-upload-photo-link",t]},de=t=>G({queryKey:ce.link(t),queryFn:()=>T.get(`${L}/${t}`).then(s=>s.data),enabled:!!t,retry:!1}),ue=(t,s,r,a)=>{const o=new FormData;return o.append(s,r),T.post(`${L}/${t}/photos`,o,{params:{lat:a==null?void 0:a.lat,lng:a==null?void 0:a.lng}}).then(i=>i.data)},pe=(t,s)=>T.delete(`${L}/${t}/photos/${s}`).then(r=>r.data),D=({children:t})=>e.jsx("div",{className:"flex min-h-dvh flex-col items-center justify-center gap-4 bg-slate-50 px-6 py-12 text-center dark:bg-slate-950",children:t}),he=({title:t,description:s,link:r,children:a,footer:o})=>{const{t:i}=v("VerPass"),u=[r.card.regNumber,r.card.frontLicensePlate,r.card.rearLicensePlate].filter(Boolean).join(" · ");return e.jsxs("div",{className:"flex min-h-dvh flex-col bg-slate-50 dark:bg-slate-950",children:[e.jsx("header",{className:"sticky top-0 z-10 border-b border-slate-200 bg-white px-4 py-3 dark:border-slate-800 dark:bg-slate-900",children:e.jsxs("div",{className:"mx-auto flex max-w-2xl flex-col gap-1.5",children:[e.jsx("h1",{className:"text-lg font-bold text-slate-900 dark:text-slate-50",children:t}),!!u&&e.jsx("p",{className:"font-mono text-xs text-slate-500 dark:text-slate-400",children:u}),e.jsx("p",{className:"text-xs text-slate-400",children:i("photoCapture.expires",{date:Q(r.expiresAt).format("DD.MM.YYYY HH:mm")})})]})}),e.jsxs("main",{className:"mx-auto flex w-full max-w-2xl flex-1 flex-col gap-3 p-4",children:[e.jsx("p",{className:"text-base text-slate-500 dark:text-slate-400",children:s}),a]}),e.jsx("footer",{className:"sticky bottom-0 border-t border-slate-200 bg-white px-4 pb-[calc(env(safe-area-inset-bottom)+12px)] pt-4 dark:border-slate-800 dark:bg-slate-900",children:e.jsx("div",{className:"mx-auto max-w-2xl",children:o})})]})};class E extends Error{constructor(s){super(`geolocation failed: ${s}`),this.kind=s,this.name="GeolocationFailed"}}const xe=2e4,me=()=>new Promise((t,s)=>{if(!("geolocation"in navigator)){s(new E("unsupported"));return}navigator.geolocation.getCurrentPosition(r=>t({lat:r.coords.latitude,lng:r.coords.longitude}),r=>s(new E(r.code===r.PERMISSION_DENIED?"denied":"error")),{enableHighAccuracy:!0,timeout:xe,maximumAge:0})}),fe=({children:t})=>{const{t:s}=v("VerPass"),[r,a]=c.useState(null),[o,i]=c.useState(!0),[u,n]=c.useState(null),p=c.useCallback(async()=>{i(!0),n(null);try{a(await me())}catch(b){n(b instanceof E?b.kind:"error")}finally{i(!1)}},[]);return c.useEffect(()=>{p()},[p]),r?e.jsx(e.Fragment,{children:t(r)}):e.jsx(D,{children:o?e.jsxs(e.Fragment,{children:[e.jsx(I,{size:"large"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:s("photoCapture.location.requesting")})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex h-14 w-14 items-center justify-center rounded-full bg-slate-100 dar
11k:bg-slate-800",children:e.jsx(ie,{className:"h-7 w-7 text-slate-400"})}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("p",{className:"text-base font-bold text-slate-800 dark:text-slate-100",children:s(`photoCapture.location.${u??"error"}`)}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:s("photoCapture.location.hint")})]}),e.jsx(U,{type:"primary",size:"large",icon:e.jsx(W,{className:"h-4 w-4"}),onClick:()=>void p(),children:s("photoCapture.location.retry")})]})})},ge=.92,je=t=>{const s=document.createElement("canvas");s.width=t.videoWidth,s.height=t.videoHeight;const r=s.getContext("2d");return r?(r.drawImage(t,0,0,s.width,s.height),new Promise((a,o)=>{s.toBlob(i=>{if(!i){o(new Error("frame encode failed"));return}a(new File([i],`shot-${Date.now()}.jpg`,{type:"image/jpeg",lastModified:Date.now()}))},"image/jpeg",ge)})):Promise.reject(new Error("no canvas context"))},be=({title:t,onShot:s,onClose:r})=>{const{t:a}=v("VerPass"),o=c.useRef(null),i=c.useRef(null),[u,n]=c.useState(!0),[p,b]=c.useState(null),[N,w]=c.useState(!1),[k,h]=c.useState(0);c.useEffect(()=>{let m=!1;const P=()=>{var y;(y=i.current)==null||y.getTracks().forEach(C=>C.stop()),i.current=null};return(async()=>{var y;if(n(!0),b(null),!((y=navigator.mediaDevices)!=null&&y.getUserMedia)){m||(b("unsupported"),n(!1));return}try{const C=await navigator.mediaDevices.getUserMedia({video:{facingMode:{ideal:"environment"},width:{ideal:1920},height:{ideal:1080}},audio:!1});if(m){C.getTracks().forEach(l=>l.stop());return}i.current=C,o.current&&(o.current.srcObject=C,await o.current.play().catch(()=>{})),n(!1)}catch(C){if(m)return;const l=C instanceof DOMException?C.name:"";b(l==="NotAllowedError"||l==="SecurityError"?"denied":"error"),n(!1)}})(),()=>{m=!0,P()}},[k]);const g=c.useCallback(async()=>{const m=o.current;if(!(!m||!m.videoWidth)){w(!0);try{s(await je(m)),r()}catch{b("error")}finally{w(!1)}}},[s,r]);return e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-black",children:[e.jsxs("header",{className:"flex items-center justify-between px-4 pb-3 pt-[calc(env(safe-area-inset-top)+12px)] text-white",children:[e.jsx("p",{className:"text-sm font-semibold",children:t}),e.jsx("button",{type:"button",onClick:r,"aria-label":a("photoCapture.camera.close"),className:"flex h-9 w-9 items-center justify-center rounded-full bg-white/10",children:e.jsx(V,{className:"h-5 w-5"})})]}),e.jsxs("div",{className:"relative flex flex-1 items-center justify-center overflow-hidden",children:[e.jsx("video",{ref:o,playsInline:!0,muted:!0,autoPlay:!0,className:"h-full w-full object-contain"}),u&&!p&&e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-3 bg-black",children:[e.jsx(I,{size:"large"}),e.jsx("p",{className:"text-sm text-slate-300",children:a("photoCapture.camera.starting")})]}),!!p&&e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-4 bg-black px-8 text-center",children:[e.jsx("div",{className:"flex h-14 w-14 items-center justify-center rounded-full bg-white/10",children:e.jsx(le,{className:"h-7 w-7 text-slate-300"})}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("p",{className:"text-base font-bold text-white",children:a(`photoCapture.camera.${p}`)}),e.jsx("p",{className:"text-sm text-slate-400",children:a("photoCapture.camera.hint")})]}),e.jsxs("div",{className:"flex gap-2",children:[p!=="unsupported"&&e.jsx(U,{type:"primary",size:"large",onClick:()=>h(m=>m+1),children:a("photoCapture.camera.retry")}),e.jsx(U,{size:"large",onClick:r,children:a("photoCapture.camera.close")})]})]})]}),e.jsx("footer",{className:"flex items-center justify-center pb-[calc(env(safe-area-inset-bottom)+24px)] pt-6",children:e.jsx("button",{type:"button",disabled:!!p||u||N,onClick:()=>void g(),"aria-label":a("photoCapture.camera.shoot"),className:"flex h-16 w-16 items-center justify-center rounded-full border-4 border-white/70 bg-white/20 text-white disabled:opacity-40",children:e.jsx(B,{className:"h-7 w-7"})})})]})},A=({title:t,badge:s,children:r})=>e.jsxs("section",{className:"rounded-2xl border border-slate-200 bg-white p-4 dark:border-slate-700 dark:bg-slate-900",children:[e.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[e.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:t}),s]}),r]}),z=({shot:t,onRemove:s,onRetry:r})=>{const{t:a}=v("VerPass"),o=t.status==="uploading",i=t.status==="deleting",u=t.status==="error",n=o||i;return e.jsxs("div",{className:"relative aspect-square w-full",children:[e.jsx("img",{src:t.previewUrl,alt:"",className:"h-full w-full rounded-2xl object-cover"}),(n||u)&&e.jsx("button",{type:"button",disabled:n,onClick:u?r:void 0,"aria-label":a(i?"photoCapture.deleting":o?"photoCapture.uploading":"photoCapture.retryUpload"),className:"absolute inset-0 flex items-center justify-center rounded-2xl bg-slate-900/80",children:n?e.jsx(K,{className:"h-5 w-5 animate-spin text-white"}):e.jsx(ae,{className:"h-5 w-5 text-white"})}),t.status==="done"&&e.jsx("span",{className:"absolute -left-2 -top-2 flex h-6 w-6 items-center justify-center rounded-full bg-emerald-600 text-white",children:e.jsx(_,{className:"h-3.5 w-3.5"})}),!n&&e.jsx("button",{type:"button",onClick:s,"aria-label":a("photoCapture.removePhoto"),className:"absolute -right-2 -top-2 flex h-6 w-6 items-center justify-center rounded-full bg-slate-900 text-white",children:e.jsx(V,{className:"h-3.5 w-3.5"})})]})},M=({label:t,disabled:s,onCapture:r})=>{const[a,o]=c.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",disabled:s,"aria-label":t,onClick:()=>o(!0),className:J("flex aspect-square w-full items-center justify-center rounded-2xl border-[1.5px] border-dashed","border-slate-300 bg-slate-50 text-slate-400 dark:border-slate-600 dar
11k:bg-slate-800",s&&"cursor-not-allowed opacity-40"),children:e.jsx(B,{className:"h-6 w-6"})}),a&&e.jsx(be,{title:t,onShot:i=>r([i]),onClose:()=>o(!1)})]})},q=({index:t,title:s,desc:r})=>e.jsxs("div",{className:"flex gap-2.5",children:[e.jsx("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-sky-100 text-[11px] font-bold text-sky-600 dark:bg-sky-900/40 dark:text-sky-400",children:t}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-semibold text-slate-800 dark:text-slate-100",children:s}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:r})]})]}),Ce=()=>{const{t}=v("VerPass");return e.jsxs("div",{className:"mb-4 flex flex-col gap-3",children:[e.jsx("p",{className:"text-sm font-semibold text-slate-800 dark:text-slate-100",children:t("photoCapture.guide.min")}),e.jsx(q,{index:1,title:t("photoCapture.guide.step1Title"),desc:t("photoCapture.guide.step1Desc")}),e.jsx(q,{index:2,title:t("photoCapture.guide.step2Title"),desc:t("photoCapture.guide.step2Desc")}),e.jsxs("div",{className:"flex gap-2 rounded-xl bg-amber-50 p-3 dark:bg-amber-900/20",children:[e.jsx(X,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-500"}),e.jsx("p",{className:"flex-1 text-sm text-slate-700 dark:text-slate-200",children:t("photoCapture.guide.important")})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(se,{className:"mt-0.5 h-4 w-4 shrink-0 text-red-500"}),e.jsx("p",{className:"flex-1 text-sm text-slate-500 dark:text-slate-400",children:t("photoCapture.guide.rejected")})]})]})},ye=()=>{const{t}=v("VerPass");return e.jsxs("div",{className:"mt-3 flex items-center gap-2 rounded-xl bg-sky-50 px-3 py-2 dark:bg-sky-900/20",children:[e.jsx(re,{className:"h-3.5 w-3.5 shrink-0 text-sky-600 dark:text-sky-400"}),e.jsx("p",{className:"flex-1 text-xs font-semibold text-sky-700 dark:text-sky-400",children:t("photoCapture.guide.required")})]})},we=2048,ke=.7,ve=t=>{const s=URL.createObjectURL(t);return new Promise((r,a)=>{const o=new Image;o.onload=()=>{URL.revokeObjectURL(s),r(o)},o.onerror=()=>{URL.revokeObjectURL(s),a(new Error("image decode failed"))},o.src=s})},Ne=t=>`${t.replace(/\.[^.]+$/,"")||"photo"}.jpg`,Pe=async t=>{if(!t.type.startsWith("image/"))return t;try{const s=await ve(t),r=Math.min(1,we/Math.max(s.width,s.height)),a=Math.round(s.width*r),o=Math.round(s.height*r),i=document.createElement("canvas");i.width=a,i.height=o;const u=i.getContext("2d");if(!u)return t;u.drawImage(s,0,0,a,o);const n=await new Promise(p=>i.toBlob(p,"image/jpeg",ke));return!n||n.size>=t.size?t:new File([n],Ne(t.name),{type:"image/jpeg",lastModified:Date.now()})}catch{return t}};let Se=0;const Re=()=>`shot-${Date.now()}-${Se++}`,Ue=1024*1024,De=(t,s)=>{if(s==="*/*"||s==="*")return!0;const[r,a]=s.split("/"),[o,i]=t.split("/");return r!==o?!1:a==="*"||a===i},$=({token:t,field:s,max:r,requirements:a,coords:o,onUploaded:i,onDeleted:u})=>{const{t:n}=v("VerPass"),[p,b]=c.useState([]),N=s==="sealPhoto"?"sealPhotos":"cargoPhotos",w=c.useRef(p);w.current=p,c.useEffect(()=>()=>{w.current.forEach(l=>URL.revokeObjectURL(l.previewUrl))},[]);const k=c.useRef({coords:o,onUploaded:i,onDeleted:u});k.current={coords:o,onUploaded:i,onDeleted:u};const h=c.useCallback((l,d)=>{b(x=>x.map(f=>f.id===l?{...f,...d}:f))},[]),g=c.useCallback(async(l,d)=>{var x;try{const f=await Pe(d),j=a.maxFileSizeBytes;if(j&&f.size>j){h(l,{status:"error"}),R.error(n("photoCapture.fileTooLarge",{size:Math.round(j/Ue)}));return}h(l,{file:f});const F=await ue(t,s,f,k.current.coords);h(l,{status:"done",documentId:(x=F.files.at(-1))==null?void 0:x.documentId}),k.current.onUploaded(F.uploaded)}catch{h(l,{status:"error"}),R.error(n("photoCapture.uploadError"))}},[t,s,h,a,n]),m=c.useCallback(l=>{const d=a.acceptedContentTypes;return d!=null&&d.length&&l.type&&!d.some(x=>De(l.type,x))?(R.error(n("photoCapture.unsupportedType")),!1):!0},[a,n]),P=c.useCallback(l=>{const d=l.filter(m);if(!d.length)return;const x=r-w.current.length;if(x<=0){R.error(n("photoCapture.maxPerRequest",{count:r}));return}const f=d.slice(0,x).map(j=>({id:Re(),previewUrl:URL.createObjectURL(j),file:j,status:"uploading"}));b(j=>[...j,...f]),f.forEach(j=>void g(j.id,j.file))},[m,r,n,g]),S=c.useCallback(l=>{const d=w.current.find(x=>x.id===l);d&&(h(l,{status:"uploading"}),g(l,d.file))},[h,g]),y=c.useCallback(l=>{b(d=>
11(d.forEach(x=>{x.id===l&&URL.revokeObjectURL(x.previewUrl)}),d.filter(x=>x.id!==l)))},[]),C=c.useCallback(async l=>{const d=w.current.find(x=>x.id===l);if(!d)return!1;if(d.status==="done"&&d.documentId){h(l,{status:"deleting"});try{await pe(t,d.documentId),k.current.onDeleted(N)}catch{return h(l,{status:"done"}),R.error(n("photoCapture.deleteError")),!1}}return y(l),!0},[N,y,h,n,t]);return{shots:p,add:P,retry:S,remove:C,isUploading:p.some(l=>l.status==="uploading"),isDeleting:p.some(l=>l.status==="deleting"),hasFailed:p.some(l=>l.status==="error"),doneCount:p.filter(l=>l.status==="done").length}},O=({token:t,link:s,coords:r})=>{const{t:a}=v("VerPass"),{requirements:o,purpose:i}=s,u=i==="DISPATCH",[n,p]=c.useState(s.uploaded),[b,N]=c.useState(!1),k={token:t,requirements:o,coords:r,onUploaded:p,onDeleted:f=>p(j=>({...j,[f]:Math.max(j[f]-1,0)}))},h=$({...k,field:u?"cargoPhotos":"photos",max:o.maxCargoPhotosPerRequest}),g=$({...k,field:"sealPhoto",max:1}),m=g.shots[0],P=u&&o.sealPhotoRequired,S=h.isUploading||g.isUploading,y=h.isDeleting||g.isDeleting,C=h.hasFailed||g.hasFailed,l=!S&&!y&&!C&&n.cargoPhotos>=o.minCargoPhotos&&(!P||n.sealPhotos>0),d=()=>N(!0),x=S?a("photoCapture.uploading"):y?a("photoCapture.deleting"):C?a("photoCapture.hasFailed"):n.cargoPhotos<o.minCargoPhotos?a("photoCapture.guide.min"):P&&n.sealPhotos===0?a("photoCapture.dispatch.needSeal"):null;return b?e.jsx(D,{children:e.jsx(te,{status:"success",title:a("photoCapture.doneTitle"),subTitle:a(u?"photoCapture.doneHintDispatch":"photoCapture.doneHint"),extra:e.jsx(U,{onClick:()=>N(!1),children:a("photoCapture.uploadMore")})})}):e.jsxs(he,{link:s,title:a(u?"photoCapture.dispatch.title":"photoCapture.cargoPhotos.title"),description:a(u?"photoCapture.dispatch.description":"photoCapture.cargoPhotos.description"),footer:e.jsxs("div",{className:"flex flex-col gap-2",children:[!!x&&e.jsx("p",{className:"text-center text-xs text-slate-500 dark:text-slate-400",children:x}),e.jsx(U,{type:"primary",size:"large",block:!0,disabled:!l,loading:S||y,icon:e.jsx(_,{className:"h-5 w-5"}),onClick:d,children:a("photoCapture.submit")})]}),children:[e.jsxs(A,{title:a("photoCapture.cargoPhotosTitle"),badge:e.jsxs("span",{className:"font-mono text-xs font-semibold text-slate-500 dark:text-slate-400",children:[h.shots.length,"/",o.maxCargoPhotosPerRequest]}),children:[e.jsx(Ce,{}),e.jsxs("div",{className:"grid grid-cols-3 gap-3 sm:grid-cols-4",children:[h.shots.map(f=>e.jsx(z,{shot:f,onRemove:()=>void h.remove(f.id),onRetry:()=>h.retry(f.id)},f.id)),h.shots.length<o.maxCargoPhotosPerRequest&&e.jsx(M,{label:a("photoCapture.cargoPhotosTitle"),onCapture:h.add})]}),e.jsx(ye,{}),n.cargoPhotos>0&&e.jsx("p",{className:"mt-2 text-xs text-slate-400",children:a("photoCapture.alreadyUploaded",{count:n.cargoPhotos})})]}),u&&e.jsxs(A,{title:a("photoCapture.dispatch.sealPhoto"),children:[e.jsx("p",{className:"mb-4 text-sm text-slate-500 dark:text-slate-400",children:a("photoCapture.dispatch.sealHint")}),e.jsx("div",{className:"grid grid-cols-3 gap-3 sm:grid-cols-4",children:m?e.jsxs(e.Fragment,{children:[e.jsx(z,{shot:m,onRemove:()=>void g.remove(m.id),onRetry:()=>g.retry(m.id)}),m.status==="done"&&e.jsx(M,{label:a("photoCapture.retake"),onCapture:async f=>{await g.remove(m.id)&&g.add(f)}})]}):e.jsx(M,{label:a("photoCapture.dispatch.sealPhoto"),onCapture:g.add})}),n.sealPhotos>0&&e.jsx("p",{className:"mt-2 text-xs text-slate-400",children:a("photoCapture.alreadyUploadedSeal",{count:n.sealPhotos})})]})]})},ze=()=>{const{t}=v("VerPass"),{token:s}=Z(),{data:r,isLoading:a,isError:o}=de(s);return a?e.jsx(D,{children:e.jsx(I,{size:"large"})}):o||!r?e.jsxs(D,{children:[e.jsx("div",{className:"flex h-14 w-14 items-center justify-center rounded-full bg-red-50 dark:bg-red-900/20",children:e.jsx(ee,{className:"h-7 w-7 text-red-500"})}),e.jsx("p",{className:"text-base font-bold text-slate-800 dark:text-slate-100",children:t("photoCapture.link.invalidTitle")}),e.jsx("p",{className:"max-w-sm text-sm text-slate-500 dark:text-slate-400",children:t("photoCapture.link.invalidHint")})]}):r.requirements.locationRequired?e.jsx(fe,{children:i=>e.jsx(O,{token:s,link:r,coords:i})}):e.jsx(O,{token:s,link:r})};export{ze 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.