1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1269],{31166:(e,t,a)=>{a.d(t,{Ay:()=>m,S8:()=>o,oK:()=>u,t0:()=>c,tV:()=>d});var r=a(95155),s=a(12115);let i={primary:"bg-accent text-white shadow-cta hover:bg-accent-hover hover:shadow-cta-hover",secondary:"bg-white text-warm-600 border border-warm-200 shadow-card hover:border-accent hover:text-accent-deep hover:bg-accent-sub",ghost:"text-warm-600 hover:bg-warm-50",danger:"bg-red-500 text-white hover:bg-red-600"},l={sm:"h-8 px-3 text-sm",md:"h-10 px-4 text-sm",lg:"h-12 px-6 text-base"},n=(0,s.forwardRef)(function(e,t){let{variant:a="primary",size:s="md",loading:n=!1,disabled:c,className:d="",children:o,...u}=e;return(0,r.jsxs)("button",{ref:t,disabled:c||n,className:["rounded-md font-semibold transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none inline-flex items-center justify-center gap-2",i[a],l[s],d].join(" "),...u,children:[n&&(0,r.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",className:"animate-spin","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",strokeOpacity:"0.3"}),(0,r.jsx)("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]}),o]})}),c="inline-flex items-center justify-center gap-2 min-h-[44px] px-5 rounded-xl bg-accent text-white text-sm font-bold whitespace-nowrap shadow-cta transition-all duration-200 hover:bg-accent-hover hover:shadow-cta-hover active:scale-95 disabled:opacity-50 disabled:shadow-none disabled:cursor-not-allowed disabled:hover:bg-accent",d="inline-flex items-center justify-center gap-1 min-h-[36px] px-2.5 rounded-lg bg-accent-sub text-accent-deep text-xs font-semibold whitespace-nowrap border border-accent/25 transition hover:bg-accent hover:text-white",o="inline-flex items-center justify-center gap-2 min-h-[44px] px-5 rounded-xl bg-accent-sub text-accent-deep text-sm font-semibold whitespace-nowrap border border-accent/25 transition hover:bg-accent-tint disabled:opacity-40 disabled:cursor-not-allowed",u="inline-flex shrink-0 items-center gap-1.5 rounded-full px-4 py-1.5 bg-accent text-white text-xs font-bold shadow-cta transition hover:bg-accent-hover hover:shadow-cta-hover disabled:opacity-50 disabled:shadow-none",m=n},53646:(e,t,a)=>{a.d(t,{E5:()=>l,ZU:()=>u,hC:()=>o,of:()=>n});let r=new Set,s=/\.(heic|heif)$/i,i=/^image\/hei[cf]$/i;function l(e){return i.test(e.type)||s.test(e.name)}async function n(e){if(!l(e))return{buffer:await e.arrayBuffer(),mimeType:e.type||"image/jpeg"};try{let t=(await a.e(2e3).then(a.t.bind(a,2402,23))).default,r=await t({blob:e,toType:"image/png"}),s=Array.isArray(r)?r[0]:r;return{buffer:await s.arrayBuffer(),mimeType:"image/png"}}catch{throw Error(`${e.name}ì(ë) HEIC íì¼ì´ ìëê±°ë ììëìµëë¤ â ë¤ë¥¸ íìì¼ë¡ ì ì¥í´ ë¤ì ì¬ë ¤ì£¼ì¸ì`)}}async function c(e,t){if(t.includes("jpeg")||t.includes("jpg")){let{default:t,init:s}=await a.e(5005).then(a.bind(a,35005));return r.has("jpeg-dec")||(await s(),r.add("jpeg-dec")),t(e)}if(t.includes("png")){let{default:t,init:s}=await a.e(3172).then(a.bind(a,33172));return r.has("png-dec")||(await s(),r.add("png-dec")),t(e)}if(t.includes("webp")){let{default:t,init:s}=await a.e(5596).then(a.bind(a,95596));return r.has("webp-dec")||(await s(),r.add("webp-dec")),t(e)}if(t.includes("avif")){let{default:t,init:s}=await a.e(4879).then(a.bind(a,44879));r.has("avif-dec")||(await s(),r.add("avif-dec"));let i=await t(e);if(!i)throw Error("AVIF ëì½ë© ì¤í¨");return i}let s=new Blob([e],{type:t}),i=await createImageBitmap(s),l=document.createElement("canvas");l.width=i.width,l.height=i.height;let n=l.getContext("2d");return n.drawImage(i,0,0),i.close(),n.getImageData(0,0,l.width,l.height)}async function d(e,t){switch(t){case"webp":{let{default:t,init:s}=await a.e(1445).then(a.bind(a,51445));return r.has("webp-enc")||(await s(),r.add("webp-enc")),t(e,{quality:85})}case"png":{let{default:t,init:s}=await a.e(7100).then(a.bind(a,27100));return r.has("png-enc")||(await s(),r.add("png-enc")),t(e)}case"jpeg":{let{default:t,init:s}=await a.e(2197).then(a.bind(a,44578));return r.has("jpeg-enc")||(await s(),r.add("jpeg-enc")),t(e,{quality:85})}case"avif":{let{default:t,init:s}=await a.e(8463).then(a.bind(a,48463));return r.has("avif-enc")||(await s(),r.add("avif-enc")),t(e,{quality:60})}}}async function o(e,t,a,r){r?.(10);let s=await c(e,t);r?.(55);let i=await d(s,a);return r?.(100),i}async function u(){try{await Promise.all([(async()=>
1{if(r.has("webp-dec"))return;let{init:e}=await a.e(5596).then(a.bind(a,95596));await e(),r.add("webp-dec")})(),(async()=>{if(r.has("webp-enc"))return;let{init:e}=await a.e(1445).then(a.bind(a,51445));await e(),r.add("webp-enc")})(),(async()=>{if(r.has("jpeg-dec"))return;let{init:e}=await a.e(5005).then(a.bind(a,35005));await e(),r.add("jpeg-dec")})(),(async()=>{if(r.has("jpeg-enc"))return;let{init:e}=await a.e(2197).then(a.bind(a,44578));await e(),r.add("jpeg-enc")})(),(async()=>{if(r.has("png-dec"))return;let{init:e}=await a.e(3172).then(a.bind(a,33172));await e(),r.add("png-dec")})(),(async()=>{if(r.has("png-enc"))return;let{init:e}=await a.e(7100).then(a.bind(a,27100));await e(),r.add("png-enc")})()])}catch{}}},61269:(e,t,a)=>{a.r(t),a.d(t,{default:()=>v});var r=a(95155),s=a(94801),i=a(12115),l=a(53646);let n=/unwrap_throw|unreachable|RuntimeError|panicked|null pointer|out of bounds|memory access|wasm|recursive use|\bthrow\b/i,c={files:[],globalFormat:"webp",isProcessing:!1};function d(e,t){switch(t.type){case"ADD_FILES":return{...e,files:[...e.files,...t.files]};case"SET_FORMAT":return{...e,files:e.files.map(e=>e.id===t.id?{...e,targetFormat:t.format}:e)};case"SET_GLOBAL_FORMAT":return{...e,globalFormat:t.format,files:e.files.map(e=>"idle"===e.status||"pending"===e.status?{...e,targetFormat:t.format}:e)};case"UPDATE_STATUS":return{...e,files:e.files.map(e=>e.id===t.id?{...e,status:t.status,progress:t.progress??e.progress}:e),isProcessing:"processing"===t.status||e.files.some(e=>e.id!==t.id&&"processing"===e.status)};case"SET_RESULT":return{...e,files:e.files.map(e=>e.id===t.id?{...e,status:"done",progress:100,resultUrl:t.resultUrl,resultSize:t.resultSize,resultName:t.resultName}:e)};case"SET_ERROR":return{...e,files:e.files.map(e=>e.id===t.id?{...e,status:"error",error:t.error}:e)};case"REMOVE_FILE":{let a=e.files.find(e=>e.id===t.id);return a?.previewUrl&&URL.revokeObjectURL(a.previewUrl),a?.resultUrl&&URL.revokeObjectURL(a.resultUrl),{...e,files:e.files.filter(e=>e.id!==t.id)}}case"CLEAR_ALL":return e.files.forEach(e=>{e.previewUrl&&URL.revokeObjectURL(e.previewUrl),e.resultUrl&&URL.revokeObjectURL(e.resultUrl)}),{...e,files:[],isProcessing:!1};default:return e}}var o=a(31166),u=a(46339);let m=[{label:"WebP",value:"webp"},{label:"PNG",value:"png"},{label:"JPEG",value:"jpeg"},{label:"AVIF",value:"avif"}];function p(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}let h={idle:"bg-warm-100 text-warm-500",pending:"bg-yellow-100 text-yellow-600",processing:"bg-warm-100 text-accent",done:"bg-accent-sub text-accent-deep",error:"bg-red-100 text-red-600"},f={idle:"ë기",pending:"ì¤ë¹ ì¤",processing:"ë³í ì¤",done:"ìë£",error:"ì¤ë¥"};function b(e){let{item:t,onFormatChange:a,onRemove:s,onRetry:l}=e,n="processing"===t.status||"pending"===t.status,c="done"===t.status,d="error"===t.status,b="idle"===t.status||"error"===t.status,[g,x]=(0,i.useState)(!1),w=(t.file.name.split(".").pop()||"IMG").toUpperCase().slice(0,4);return(0,r.jsxs)("div",{className:` 2 flex items-center gap-3 p-3 rounded-xl border transition-colors 3 ${c?"border-accent/40 bg-accent-sub/40":""} 4 ${d?"border-red-200 bg-red-50/40":""} 5 ${!c&&!d?"border-warm-200 bg-white":""} 6 `,children:[(0,r.jsx)("div",{className:"w-12 h-12 rounded-lg overflow-hidden flex-shrink-0 bg-warm-100 border border-warm-200",children:g?(0,r.jsx)("div",{className:"w-full h-full flex items-center justify-center text-[10px] font-semibold text-warm-400",title:"ì´ íìì ë¸ë¼ì°ì ìì 미리보기를 ë§ë¤ ì ìì´ì â ë³íì ì ì ëìí©ëë¤",children:w}):(0,r.jsx)("img",{src:t.previewUrl,alt:t.file.name,onError:()=>x(!0),className:"w-full h-full object-cover"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-warm-800 truncate min-w-0",title:t.file.name,children:t.file.name}),(0,r.jsx)("span",{className:`text-[10px] font-semibold px-1.5 py-0.5 rounded-full flex-shrink-0 ${h[t.status]}`,children:f[t.status]})]}),(0,r.jsxs)("div",{className:"text-xs text-warm-400 flex items-center gap-1.5",children:[(0,r.jsx)("span",{children:p(t.file.size)}),c&&null!=t.resultSize&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:"â"}),(0,r.jsx)("span",{className:t.resultSize<t.file.size?"text-accent-deep font-medium":"text-warm-500",children:p(t.resultSize)}),t.resultSize<t.file.size&&(0,r.jsxs)("span",{className:"text-accent-deep font-medium",children:["(",Math.round((1-t.resultSize/t.file.size)*100),"% ê°ì)"]})]})]}
6),(n||c)&&(0,r.jsx)("div",{className:"mt-1.5 h-1.5 w-full bg-warm-100 rounded-full overflow-hidden",children:(0,r.jsx)("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${t.progress}%`,backgroundColor:"#4F46E5"},role:"progressbar","aria-valuenow":t.progress,"aria-valuemin":0,"aria-valuemax":100})}),d&&t.error&&(0,r.jsx)("p",{className:"text-xs text-red-500 mt-1 truncate",children:t.error})]}),(0,r.jsx)("select",{value:t.targetFormat,onChange:e=>a(t.id,e.target.value),disabled:!b,"aria-label":"ë³í í¬ë§· ì í",className:` 7 text-xs px-2 py-1.5 rounded-lg border flex-shrink-0 transition 8 focus:outline-none focus:ring-2 focus:ring-warm-300 9 ${b?"border-warm-200 bg-white text-warm-700 cursor-pointer hover:border-warm-300":"border-warm-100 bg-warm-50 text-warm-400 cursor-not-allowed"} 10 `,children:m.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[c&&(0,r.jsxs)("button",{onClick:()=>{if(!t.resultUrl||!t.resultName)return;let e=document.createElement("a");e.href=t.resultUrl,e.download=t.resultName,e.click()},"aria-label":"ë³íë íì¼ ë¤ì´ë¡ë",className:o.tV,children:[(0,r.jsx)(u.s3,{size:13,className:"shrink-0"}),"ì ì¥"]}),d&&(0,r.jsx)("button",{onClick:()=>l(t.id),"aria-label":"ë¤ì ìë",className:"px-3 py-1.5 text-xs font-medium rounded-lg bg-warm-100 text-warm-600 hover:bg-warm-200 transition",children:"ì¬ìë"}),(0,r.jsx)("button",{onClick:()=>s(t.id),"aria-label":"íì¼ ì ê±°",className:"w-7 h-7 flex items-center justify-center rounded-lg text-warm-300 hover:text-warm-500 hover:bg-warm-100 transition",children:"â"})]})]})}var g=a(92531);let x=[{label:"WebP",value:"webp"},{label:"PNG",value:"png"},{label:"JPEG",value:"jpeg"},{label:"AVIF",value:"avif"}],w=["image/jpeg","image/png","image/webp","image/avif","image/gif","image/bmp","image/heic","image/heif",".heic",".heif"];function v(){let{files:e,globalFormat:t,addFiles:m,setFormat:p,setGlobalFormat:h,removeFile:f,clearAll:v,startConversion:j}=function(){let[e,t]=(0,i.useReducer)(d,c),a=(0,i.useRef)(new Map),r=(0,i.useCallback)(a=>{let r=new Set(e.files.map(e=>e.file.name)),s=a.filter(e=>e.type.startsWith("image/")||(0,l.E5)(e)).filter(e=>!r.has(e.name)).map(t=>{var a;return a=e.globalFormat,{id:crypto.randomUUID(),file:t,previewUrl:URL.createObjectURL(t),targetFormat:a,status:"idle",progress:0,resultUrl:null,resultSize:null,resultName:null,error:null}});s.length>0&&t({type:"ADD_FILES",files:s})},[e.files,e.globalFormat]),s=(0,i.useCallback)((e,a)=>{t({type:"SET_FORMAT",id:e,format:a})},[]),o=(0,i.useCallback)(e=>{t({type:"SET_GLOBAL_FORMAT",format:e})},[]),u=(0,i.useCallback)((e,a,r)=>{t({type:"UPDATE_STATUS",id:e,status:a,progress:r})},[]),m=(0,i.useCallback)((e,r,s,i)=>{let l=a.current.get(e);l&&URL.revokeObjectURL(l);let n=new Blob([r],{type:{webp:"image/webp",png:"image/png",jpeg:"image/jpeg",avif:"image/avif"}[s]}),c=URL.createObjectURL(n);a.current.set(e,c);let d=i.replace(/\.[^.]+$/,""),o=`${d}.${s}`;t({type:"SET_RESULT",id:e,resultUrl:c,resultSize:n.size,resultName:o})},[]),p=(0,i.useCallback)((e,a)=>{t({type:"SET_ERROR",id:e,error:a})},[]),h=(0,i.useCallback)(e=>{a.current.delete(e),t({type:"REMOVE_FILE",id:e})},[]),f=(0,i.useCallback)(()=>{a.current.clear(),t({type:"CLEAR_ALL"})},[]),b=(0,i.useCallback)(r=>{let s=e.files.filter(e=>r?r.includes(e.id):"idle"===e.status||"error"===e.status);if(0===s.length)return Promise.resolve([]);let i=0,c=0,d=[];return new Promise(e=>{let r=()=>{if(0===i&&c>=s.length)return void e(d);for(;i<2&&c<s.length;){let e=s[c++];i++,t({type:"UPDATE_STATUS",id:e.id,status:"pending",progress:0}),(0,l.of)(e.file).then(a=>{let{buffer:r,mimeType:s}=a;return t({type:"UPDATE_STATUS",id:e.id,status:"processing",progress:5}),(0,l.hC)(r,s,e.targetFormat,a=>{t({type:"UPDATE_STATUS",id:e.id,status:"processing",progress:a})})}).then(r=>{let s={webp:"image/webp",png:"image/png",jpeg:"image/jpeg",avif:"image/avif"},i=a.current.get(e.id);i&&URL.revokeObjectURL(i);let l=new Blob([r],{type:s[e.targetFormat]}),n=URL.createObjectURL(l);a.current.set(e.id,n);let c=e.file.name.replace(/\.[^.]+$/,""),o=`${c}.${e.targetFormat}`;t({type:"SET_RESULT",id:e.id,resultUrl:n,resultSize:l.size,resultName:o}),d.push({url:n,name:o})}).catch(a=>{let r=function(e){let t=e instanceof Error?e.message:"";return t?/[ê°-í£]/.test(t)?t:n.test(t)?"ì´ë¯¸ì§ë¥¼ ë³ííì§ ëª»íì´ì. íì¼ì´ ììëìê±°ë ì§ìíì§ ìë íìì¼ ì ìì´ì.":"ë³íì ì¤í¨íì´ì. ë¤ë¥¸ íì¼ë¡ ë¤ì ìëí´ ì£¼ì¸ì.":"ë³íì ì¤í¨íì´ì. ì ì í ë¤ì ìëí´ ì£¼ì¸ì."}(a);
10t({type:"SET_ERROR",id:e.id,error:r})}).finally(()=>{i--,r()})}};r()})},[e.files]);return{files:e.files,globalFormat:e.globalFormat,isProcessing:e.isProcessing,addFiles:r,setFormat:s,setGlobalFormat:o,updateStatus:u,setResult:m,setError:p,removeFile:h,clearAll:f,startConversion:b}}(),y=(0,i.useRef)(null),[N,U]=(0,i.useState)(!1),[E,k]=(0,i.useState)("");(0,i.useEffect)(()=>{(0,l.ZU)()},[]);let R=(0,i.useCallback)(t=>{let a=Array.from(t),r=a.filter(e=>w.includes(e.type)||(0,l.E5)(e)),i=new Set(e.map(e=>e.file.name)),n=r.filter(e=>i.has(e.name)).length,c=[];r.length<a.length&&c.push("JPG\xb7PNG\xb7WebP\xb7AVIF\xb7GIF\xb7BMP\xb7HEIC ì´ë¯¸ì§ë§ ë³íí ì ìì´ì."),n>0&&c.push(`ì´ë¯¸ 목ë¡ì ìë ì´ë¦ì íì¼ ${n}ê°ë ì ì¸íì´ì.`),k(c.join(" ")),r.length>n&&((0,s.sx)("image_converter_files_added",{file_count:r.length-n}),m(r))},[m,e]),S=(0,i.useCallback)(e=>j([e]),[j]),[_,L]=(0,i.useState)(!1),C=(0,i.useCallback)(async()=>{if(!_){L(!0);try{(0,s.sx)("image_converter_started",{file_count:e.filter(e=>"idle"===e.status||"error"===e.status).length,format:t}),await j()}finally{L(!1)}}},[_,j,e,t]),T=(0,i.useCallback)(async()=>{let r=e.filter(e=>"done"===e.status&&e.resultUrl&&e.resultName);if(0===r.length)return;(0,s.sx)("image_converter_zip_download",{file_count:r.length,format:t});let{default:i}=await Promise.all([a.e(5376),a.e(7496)]).then(a.t.bind(a,7496,23)),l=new i,n=new Map;for(let e of r){let t=e.resultName,a=n.get(t)??0;n.set(t,a+1);let r=a>0?t.replace(/(\.[^.]+)$/,`_${a}$1`):t,s=await fetch(e.resultUrl);l.file(r,await s.blob())}let c=URL.createObjectURL(await l.generateAsync({type:"blob"}));Object.assign(document.createElement("a"),{href:c,download:"converted-images.zip"}).click(),URL.revokeObjectURL(c)},[e]),F=e.length>0,A=e.filter(e=>"idle"===e.status||"error"===e.status).length,P=e.filter(e=>"done"===e.status).length,O=e.some(e=>"image/gif"===e.file.type);return(0,r.jsxs)("div",{className:"space-y-4",children:[!F&&(0,r.jsx)(g.A,{onFiles:R,accept:w.join(","),multiple:!0,icon:(0,r.jsx)(u.iR,{size:52,className:"text-accent"}),label:"ì´ë¯¸ì§ ì í",hint:"JPG \xb7 PNG \xb7 WebP \xb7 AVIF \xb7 GIF \xb7 BMP \xb7 HEIC \xb7 ì¬ë¬ íì¼ ëì ê°ë¥"}),E&&(0,r.jsx)("p",{className:"text-sm text-red-500 text-center",children:E}),F&&(0,r.jsxs)("div",{onDragOver:e=>{e.preventDefault(),U(!0)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||U(!1)},onDrop:e=>{e.preventDefault(),U(!1),R(e.dataTransfer.files)},className:`relative rounded-2xl border-2 border-dashed transition-all duration-200 p-4 ${N?"border-accent bg-accent/10":"border-accent/30 bg-accent-sub/20"}`,children:[N&&(0,r.jsx)("div",{className:"absolute inset-0 rounded-2xl bg-accent/20 z-20 pointer-events-none flex items-center justify-center",children:(0,r.jsx)("p",{className:"text-accent font-semibold text-base",children:"ì¬ê¸°ì ëì¼ì¸ì!"})}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("button",{onClick:()=>y.current?.click(),className:"px-3 py-1.5 text-xs rounded-lg border border-warm-200 text-warm-600 hover:bg-warm-50 transition",children:"+ íì¼ ì¶ê°"}),(0,r.jsx)("span",{className:"text-warm-200 text-sm select-none",children:"|"}),(0,r.jsx)("button",{onClick:v,className:"px-3 py-1.5 text-xs rounded-lg border border-red-200 text-red-500 hover:bg-red-50 hover:border-red-300 transition",children:"ì ì²´ ìì "})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-xs text-warm-500",children:"ì ì²´ í¬ë§·:"}),(0,r.jsx)("div",{className:"flex gap-1",children:x.map(e=>(0,r.jsx)("button",{onClick:()=>{(0,s.sx)("image_converter_format_changed",{format:e.value}),h(e.value)},className:`px-2.5 py-1 text-xs rounded-lg border transition ${t===e.value?"bg-accent text-white border-accent":"bg-white text-warm-600 border-warm-200 hover:border-accent/50"}`,children:e.label},e.value))})]})]}),(0,r.jsx)("p",{className:"text-xs text-warm-400 text-center",children:"ì´ë¯¸ì§ë¥¼ ì¬ê¸°ì ëëê·¸í´ì ì¶ê°í ì ìì´ì"}),O&&(0,r.jsx)("p",{className:"text-xs text-amber-600 text-center",children:"ìì§ì´ë GIFë 첫 ì¥ë©´ë§ ë³íë©ëë¤ â ì짤ì ë§ë¤ë ¤ë©´ GIF ë§ë¤ê¸° ë구를 ì´ì©í´ 주ì¸ì."}),(0,r.jsx)("div",{className:"space-y-2",children:e.map(e=>(0,r.jsx)(b,{item:e,onFormatChange:p,onRemove:f,onRetry:S},e.id))}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 pt-1",children:[(0,r.jsxs)("p",{className:"text-xs text-warm-400",children:[P>0&&(0,r.jsxs)("span",{className:"text-accent-deep font-medium",children:[P,"ê° ìë£"]}),P>0&&A>0&&(0,r.jsx)("span",{className:"mx-1",children:"\xb7"}),A>0&&(0,r.jsxs)("span",{children:[A,"ê° ë기 ì¤"]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[P>=2&&(0,r.jsxs)("button",{onClick:T,className:o.t0,children:[(0,r.jsx)(u.s3,{size:16,className:"shrink-0"}),"ZIP ì ì²´ ë¤ì´ë¡ë"]}),A>0&&(0,r.jsx)("button",{onClick:C,disabled:_,className:"px-5 py-2 text-sm font-medium rounded-xl bg-accent text-white transition hover:bg-accent-hover disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-accent",children:_?"ë³í ì¤â¦":"ë³í"})]})]})]})]}),(0,r.jsx)("input",{ref:y,type:"file",accept:w.join(","),multiple:!0,className:"hidden",onChange:e=>{R(e.target.files??[]),e.target.value=""},"aria-hidden":"true"})]})}}}]);
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.