1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9229],{10651:(e,A,t)=>{t.d(A,{JX:()=>l,N$:()=>s,OD:()=>o,pc:()=>a,zx:()=>n});class r extends Error{constructor(e,A,t=400){super(e),this.name=this.constructor.name,this.code=A,this.statusCode=t,Object.setPrototypeOf(this,new.target.prototype)}}class o extends r{constructor(e,A="FILE_VALIDATION_FAILED"){super(e,A,400)}}class n extends r{constructor(e,A="CONVERSION_FAILED"){super(e,A,500)}}class s extends r{constructor(e,A,t){super(t||(e?`Format '${e}' is not supported`:"Unsupported file format"),"UNSUPPORTED_FORMAT",400),this.format=e,this.supportedFormats=A}}class a extends r{constructor(e,A){super(e?`The ${e.toUpperCase()} file appears to be corrupted or invalid. ${A||"Please try with a different file."}`:`The file appears to be corrupted or invalid. ${A||"Please try with a different file."}`,"CORRUPTED_FILE",400)}}let i={NETWORK_ERROR:"Network error occurred during conversion",TIMEOUT:"Conversion timed out. Please try with a smaller file",ENCODING_ERROR:"Unable to process the file encoding. Please ensure the file is not corrupted."};function l(e){if(e instanceof r)return e.message;if(e instanceof Error){let A=e.message.toLowerCase();return A.includes("memory")||A.includes("heap")?"The file is too large to process. Please try with a smaller file or reduce its dimensions.":A.includes("timeout")?i.TIMEOUT:A.includes("network")||A.includes("fetch")?i.NETWORK_ERROR:A.includes("encoding")||A.includes("decode")?i.ENCODING_ERROR:e.message}return"An unexpected error occurred. Please try again."}},99229:(e,A,t)=>{t.d(A,{svgToAvifHandler:()=>d});var r=t(10651);let o=null,n=null;async function s(){if(null!==o)return o;try{if("decode"in HTMLImageElement.prototype){let e=new Image;e.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgABogQEAwgMg8f8D///8WfhwB8+ErK42A=";try{return await e.decode(),o=!0,!0}catch(e){return o=!1,!1}}return new Promise(e=>{let A=new Image;A.onload=()=>{o=!0,e(!0)},A.onerror=()=>{o=!1,e(!1)},setTimeout(()=>{o=!1,e(!1)},3e3),A.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgABogQEAwgMg8f8D///8WfhwB8+ErK42A="})}catch(e){return o=!1,!1}}async function a(){if(null!==n)return n;try{let e=document.createElement("canvas");e.width=1,e.height=1;let A=e.getContext("2d");if(!A)return n=!1,!1;return A.fillStyle="#ff0000",A.fillRect(0,0,1,1),new Promise(A=>{e.toBlob(e=>{e&&e.size>0?(n=!0,A(!0)):(n=!1,A(!1))},"image/avif",.9),setTimeout(()=>{n=!1,A(!1)},3e3)})}catch(e){return n=!1,!1}}async function i(){let[e,A]=await Promise.all([s(),a()]),t=navigator.userAgent,r=/Chrome|Chromium/i.test(t)&&!/Edge/i.test(t),o=/Safari/i.test(t)&&!/Chrome/i.test(t),n=/Firefox/i.test(t),i=/Edge|Edg/i.test(t);return{canDecode:e,canEncode:A,fullSupport:e&&A,browserInfo:{userAgent:t,isChrome:r,isSafari:o,isFirefox:n,isEdge:i}}}async function l(){let e=await i();if(e.fullSupport)return{status:"full",message:"Your browser fully supports AVIF format for both reading and creating files.",recommendation:"All AVIF conversion features are available."};{if(e.canDecode)return{status:"decode-only",message:"Your browser can read AVIF files but cannot create them.",recommendation:"AVIF to SVG conversion is available, but SVG to AVIF is not supported."};let A=e.browserInfo.isChrome?"Make sure you're using Chrome 85+ or enable experimental features.":e.browserInfo.isSafari?"Safari has limited AVIF support. Consider using Chrome or Firefox.":e.browserInfo.isFirefox?"Firefox requires version 93+ for AVIF support.":"Try using a modern browser like Chrome, Firefox, or Edge.";return{status:"none",message:"Your browser does not support AVIF format.",recommendation:`AVIF conversion is not available. ${A}`}}}var c=t(44134).Buffer;async function u(e,A){let t=new DOMParser().parseFromString(e,"image/svg+xml").documentElement;if("parsererror"===t.tagName)throw new r.OD("Invalid SVG: Parse error");let o=A.width||parseInt(t.getAttribute("width")||"0"),n=A.height||parseInt(t.getAttribute("height")||"0");if(!o||!n){let e=t.getAttribute("viewBox");if(e){let[,,A,t]=e.split(" ").map(Number);o=o||A,n=n||t}}o&&n||(o=o||800,n=n||600);let s=(A.dpi||96)/96,a=Math.round(o*s),i=Math.round(n*s),l=document.createElement("canvas");l.width=a,l.height=i;let c=l.getContext("2d",{willReadFrequently:!0});if(!c)throw new r.zx("Failed to create canvas context");A.background&&(c.fillStyle=A.background,c.fillRect(0,0,a,i)),1!==s&&c.scale(s,s);let u=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),d=URL.createObjectURL(u);try{let e=new Image;return await new Promise((A,t)=>{e.onload=()=>{c.drawImage(e,0,0,o,n),A()},e.onerror=()=>{t(new r.zx("Failed to load SVG image"))},setTimeout(()=>{t(new r.zx("SVG image loading timed out"))},1e4),e.crossOrigin="anonymous",e.src=d}),{canvas:l,ctx:c}}finally{URL.revokeObjectURL(d)}}let d=async(e,A={})=>{try{let t;if(!await a()){let e=await l();throw new r.N$("avif",["avif"],`${e.message} ${e.recommendation}`)}A.onProgress&&A.onProgress(.1),t=e instanceof File?await e.text():function(e){if(e instanceof File){if(!e.type.includes("svg")&&!e.name.toLowerCase().endsWith(".svg"))throw new r.N$(e.type||"unknown",["svg"],"File does not appear to be SVG format");return""}if("string"==typeof e){let A=e.trim();if(!A.includes("<svg")&&!A.includes("<?xml"))throw new r.OD("Invalid SVG: Missing SVG tag");return A}let A=e.toString("utf8").trim();if(!A.includes("<svg")&&!A.includes("<?xml"))throw new r.OD("Invalid SVG: Missing SVG tag");return A}(e),A.onProgress&&A.onProgress(.2);let{canvas:o,ctx:n}=await u(t,A);return A.onProgress&&A.onProgress(.6),new Promise((e,t)=>
1{o.toBlob(async n=>{if(!n)return void t(new r.zx("Failed to create AVIF blob from canvas","AVIF_BLOB_CREATION_FAILED"));try{A.onProgress&&A.onProgress(.9);let t=await n.arrayBuffer(),r=c.from(t);A.onProgress&&A.onProgress(1),e({success:!0,data:r,mimeType:"image/avif",metadata:{width:o.width,height:o.height,format:"avif",size:r.length,originalFormat:"svg",quality:A.quality||.9}})}catch(e){t(new r.zx(`Failed to process AVIF blob: ${e instanceof Error?e.message:"Unknown error"}`,"AVIF_BLOB_PROCESSING_FAILED"))}},"image/avif",A.quality||.9),setTimeout(()=>{t(new r.zx("AVIF conversion timed out. This may indicate limited browser support.","AVIF_CONVERSION_TIMEOUT"))},3e4)})}catch(e){if(e instanceof r.OD||e instanceof r.N$||e instanceof r.zx)throw e;if(e instanceof Error)throw new r.zx(`SVG to AVIF conversion failed: ${e.message}`,"SVG_TO_AVIF_FAILED");throw new r.zx("An unexpected error occurred during SVG to AVIF conversion","SVG_TO_AVIF_UNKNOWN_ERROR")}}}}]);
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.