murmur-rag 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -17
- package/dist/cdn/{anthropic-dc7h9prc.js → anthropic-ynz7717b.js} +2 -2
- package/dist/cdn/{embed-acjpjh6t.js → embed-0m8xctqy.js} +1 -1
- package/dist/cdn/{embed-ssqsb38w.js → embed-7pk91zq8.js} +2 -2
- package/dist/cdn/embed-dbkjhg16.js +83 -0
- package/dist/cdn/{embed-z32y952f.js → embed-n5nzhrf2.js} +3 -3
- package/dist/cdn/{embed-6gef7ym5.js → embed-rp9gb1qq.js} +2 -2
- package/dist/cdn/{embed-fd96s8qk.js → embed-xtkxyrpe.js} +9 -9
- package/dist/cdn/{google-yywkqdph.js → google-k5kwa54v.js} +8 -8
- package/dist/cdn/{index-jt6n0d28.js → index-db4ne93m.js} +1 -1
- package/dist/cdn/{index-nesgnf2n.js → index-qc8kgsdt.js} +1 -1
- package/dist/cdn/{index-bq0x71h1.js → index-t0qn2m4r.js} +1 -1
- package/dist/cdn/index-y0faj89r.js +1 -0
- package/dist/cdn/mistral-p2qcnn42.js +3 -0
- package/dist/cdn/{murmur-j1ky5vmr.js → murmur-d6t6cjc7.js} +2 -2
- package/dist/cdn/murmur.js +6 -6
- package/dist/cdn/{openai-compatible-zhaj1r43.js → openai-compatible-psnkrpxy.js} +6 -6
- package/dist/cdn/{openai-g1685z9v.js → openai-d3q1d6cz.js} +10 -10
- package/dist/cdn/retriever-6qvn2maq.js +1 -0
- package/dist/cdn/{transformers.web-3kmbvcbt.js → transformers.web-xn16v7pz.js} +5 -5
- package/dist/lib/chunks/{index-92w507gk.js → index-y3v46yjp.js} +44 -34
- package/dist/lib/embed.js +4 -4
- package/dist/lib/widget/index.js +2 -2
- package/dist/types/widget/session.d.ts +16 -4
- package/package.json +1 -1
- package/dist/cdn/embed-jdraznwg.js +0 -83
- package/dist/cdn/index-wgzgvzaf.js +0 -1
- package/dist/cdn/mistral-0mg4kk7s.js +0 -3
- package/dist/cdn/retriever-dqxzjaqk.js +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{It
|
|
1
|
+
import{Ct,It}from"./embed-n5nzhrf2.js";var _i={};Ct(_i,{InferenceSession:()=>Zo,TRACE:()=>Xs,TRACE_EVENT_BEGIN:()=>kr,TRACE_EVENT_END:()=>Tr,TRACE_FUNC_BEGIN:()=>Hr,TRACE_FUNC_END:()=>Qr,Tensor:()=>Nt,default:()=>uM,env:()=>Be,registerBackend:()=>qr});/*!
|
|
2
2
|
* ONNX Runtime Web v1.31.0-dev.20260914-8d85527a0
|
|
3
3
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
|
-
*/var{defineProperty:Ko,getOwnPropertyDescriptor:D0,getOwnPropertyNames:z0}=Object,B0=Object.prototype.hasOwnProperty,R0=((e)=>Et)(function(e){return Et.apply(this,arguments)}),we=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}},ns=(e,t)=>{for(var r in t)Ko(e,r,{get:t[r],enumerable:!0})},$0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of z0(t))!B0.call(e,s)&&s!==r&&Ko(e,s,{get:()=>t[s],enumerable:!(n=D0(t,s))||n.enumerable});return e},Qs=(e)=>$0(Ko({},"__esModule",{value:!0}),e),Yn,br,qr,Qf,Mh,xh=we(()=>{Yn=new Map,br=[],qr=(e,t,r)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let n=Yn.get(e);if(n===void 0)Yn.set(e,{backend:t,priority:r});else{if(n.priority>r)return;if(n.priority===r&&n.backend!==t)throw Error(`cannot register backend "${e}" using priority ${r}`)}if(r>=0){let s=br.indexOf(e);s!==-1&&br.splice(s,1);for(let a=0;a<br.length;a++)if(Yn.get(br[a]).priority<=r){br.splice(a,0,e);return}br.push(e)}return}throw TypeError("not a valid backend")},Qf=async(e)=>{let t=Yn.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let r=!!t.initPromise;try{return r||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(n){return r||(t.error=`${n}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},Mh=async(e)=>{let t=e.executionProviders||[],r=t.map((l)=>typeof l=="string"?l:l.name),n=r.length===0?br:r,s,a=[],o=new Set;for(let l of n){let c=await Qf(l);typeof c=="string"?a.push({name:l,err:c}):(s||(s=c),s===c&&o.add(l))}if(!s)throw Error(`no available backend found. ERR: ${a.map((l)=>`[${l.name}] ${l.err}`).join(", ")}`);for(let{name:l,err:c}of a)r.includes(l)&&console.warn(`removing requested execution provider "${l}" from session options because it is not available: ${c}`);let i=t.filter((l)=>o.has(typeof l=="string"?l:l.name));return[s,new Proxy(e,{get:(l,c)=>c==="executionProviders"?i:Reflect.get(l,c)})]}}),G0=we(()=>{xh()}),kh,V0=we(()=>{kh="1.31.0-dev.20260911-2a43ec07e"}),Eo,Ze,Th=we(()=>{V0(),Eo="warning",Ze={wasm:{},webgl:{},webgpu:{},versions:{common:kh},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);Eo=e}},get logLevel(){return Eo}},Object.defineProperty(Ze,"logLevel",{enumerable:!0})}),Be,U0=we(()=>{Th(),Be=Ze}),Eh,Ah,j0=we(()=>{Eh=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[3]):(s=e.dims[3],a=e.dims[2]);let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;i===void 0||i.mean===void 0?l=[255,255,255,255]:typeof i.mean=="number"?l=[i.mean,i.mean,i.mean,i.mean]:(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(l[3]=i.mean[3])),i===void 0||i.bias===void 0?c=[0,0,0,0]:typeof i.bias=="number"?c=[i.bias,i.bias,i.bias,i.bias]:(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(c[3]=i.bias[3]));let d=a*s,f=0,_=d,p=d*2,w=-1;o==="RGBA"?(f=0,_=d,p=d*2,w=d*3):o==="RGB"?(f=0,_=d,p=d*2):o==="RBG"&&(f=0,p=d,_=d*2);for(let v=0;v<a;v++)for(let y=0;y<s;y++){let b=(e.data[f++]-c[0])*l[0],k=(e.data[_++]-c[1])*l[1],A=(e.data[p++]-c[2])*l[2],E=w===-1?255:(e.data[w++]-c[3])*l[3];n.fillStyle="rgba("+b+","+k+","+A+","+E+")",n.fillRect(y,v,1,1)}if("toDataURL"in r)return r.toDataURL();throw Error("toDataURL is not supported")}else throw Error("Can not access image data")},Ah=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[1],o=e.dims[3]):(s=e.dims[3],a=e.dims[2],o=e.dims[1]);let i=t!==void 0&&t.format!==void 0?t.format:"RGB",l=t?.norm,c,d;l===void 0||l.mean===void 0?c=[255,255,255,255]:typeof l.mean=="number"?c=[l.mean,l.mean,l.mean,l.mean]:(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(c[3]=l.mean[3])),l===void 0||l.bias===void 0?d=[0,0,0,0]:typeof l.bias=="number"?d=[l.bias,l.bias,l.bias,l.bias]:(d=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(d[3]=l.bias[3]));let f=a*s;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR"))throw Error("Tensor format doesn't match input tensor dims");let _=4,p=0,w=1,v=2,y=3,b=0,k=f,A=f*2,E=-1;i==="RGBA"?(b=0,k=f,A=f*2,E=f*3):i==="RGB"?(b=0,k=f,A=f*2):i==="RBG"&&(b=0,A=f,k=f*2),n=r.createImageData(s,a);for(let C=0;C<a*s;p+=_,w+=_,v+=_,y+=_,C++)n.data[p]=(e.data[b++]-d[0])*c[0],n.data[w]=(e.data[k++]-d[1])*c[1],n.data[v]=(e.data[A++]-d[2])*c[2],n.data[y]=E===-1?255:(e.data[E++]-d[3])*c[3]}else throw Error("Can not access image data");return n}}),Vs,Ch,Sh,Ph,Fh,Ih,W0=we(()=>{Jo(),Vs=(e,t)=>{if(e===void 0)throw Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;typeof s.mean=="number"?a=[s.mean,s.mean,s.mean,s.mean]:a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?o=[s.bias,s.bias,s.bias,s.bias]:o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",c=r*n,d=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),f=4,_=0,p=1,w=2,v=3,y=0,b=c,k=c*2,A=-1;i==="RGB"&&(f=3,_=0,p=1,w=2,v=-1),l==="RGBA"?A=c*3:l==="RBG"?(y=0,k=c,b=c*2):l==="BGR"&&(k=0,b=c,y=c*2);for(let E=0;E<c;E++,_+=f,w+=f,p+=f,v+=f)d[y++]=(e[_]+o[0])/a[0],d[b++]=(e[p]+o[1])/a[1],d[k++]=(e[w]+o[2])/a[2],A!==-1&&v!==-1&&(d[A++]=(e[v]+o[3])/a[3]);return l==="RGBA"?new bt("float32",d,[1,4,r,n]):new bt("float32",d,[1,3,r,n])},Ch=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e=="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw Error("Canvas is not supported")},c=(d)=>typeof HTMLCanvasElement<"u"&&d instanceof HTMLCanvasElement||d instanceof OffscreenCanvas?d.getContext("2d"):null;if(r){let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(_=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(i=t,t.tensorFormat!==void 0)throw Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=_,i.width=p}else i.tensorFormat="RGBA",i.height=_,i.width=p;f.drawImage(e,0,0),o=f.getImageData(0,0,p,_).data}else throw Error("Can not access image data")}else if(n){let d,f;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(d=t.resizedHeight,f=t.resizedWidth):(d=e.height,f=e.width),t!==void 0&&(i=t),i.format="RGBA",i.height=d,i.width=f,t!==void 0){let _=l();_.width=f,_.height=d;let p=c(_);if(p!=null)p.putImageData(e,0,0),o=p.getImageData(0,0,f,d).data;else throw Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw Error("Please provide image config with format for Imagebitmap");let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;return f.drawImage(e,0,0,p,_),o=f.getImageData(0,0,p,_).data,i.height=_,i.width=p,Vs(o,i)}else throw Error("Can not access image data")}else{if(a)return new Promise((d,f)=>{let _=l(),p=c(_);if(!e||!p)return f();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{_.width=w.width,_.height=w.height,p.drawImage(w,0,0,_.width,_.height);let v=p.getImageData(0,0,_.width,_.height);i.height=_.height,i.width=_.width,d(Vs(v.data,i))}});throw Error("Input data provided is not supported - aborted tensor creation")}if(o!==void 0)return Vs(o,i);throw Error("Input data provided is not supported - aborted tensor creation")},Sh=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t;return new bt({location:"texture",type:"float32",texture:e,dims:[1,n,r,4],download:s,dispose:a})},Ph=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new bt({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},Fh=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new bt({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},Ih=(e,t,r)=>new bt({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})}),jr,ts,Ao,Lh,q0=we(()=>{jr=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),ts=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Ao=!1,Lh=()=>{if(!Ao){Ao=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;e&&(jr.set("int64",BigInt64Array),ts.set(BigInt64Array,"int64")),t&&(jr.set("uint64",BigUint64Array),ts.set(BigUint64Array,"uint64")),n?(jr.set("float16",r),ts.set(r,"float16")):jr.set("float16",Uint16Array)}}}),Oh,Nh,H0=we(()=>{Jo(),Oh=(e)=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},Nh=(e,t)=>{switch(e.location){case"cpu":return new bt(e.type,e.data,t);case"cpu-pinned":return new bt({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new bt({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new bt({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new bt({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),bt,Jo=we(()=>{j0(),W0(),q0(),H0(),bt=class{constructor(e,t,r){Lh();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let o=jr.get(n);if(!o)throw TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof o))throw TypeError(`buffer should be of type ${o.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if(typeof e=="string")if(n=e,i=r,e==="string"){if(!Array.isArray(t))throw TypeError("A string tensor's data must be a string array.");o=t}else{let l=jr.get(e);if(l===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e==="float16"&&l===Uint16Array||e==="uint4"||e==="int4")throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${l.name} as data.`);e==="uint64"||e==="int64"?o=l.from(t,BigInt):o=l.from(t)}else if(t instanceof l)o=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")o=Uint8Array.from(t);else throw TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&l!==Uint16Array)o=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${n} tensor's data must be type of ${l}`)}else if(i=t,Array.isArray(e)){if(e.length===0)throw TypeError("Tensor type cannot be inferred from an empty array.");let l=typeof e[0];if(l==="string")n="string",o=e;else if(l==="boolean")n="bool",o=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${l}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",o=Uint8Array.from(e);else{let l=ts.get(e.constructor);if(l===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=l,o=e}if(i===void 0)i=[o.length];else if(!Array.isArray(i))throw TypeError("A tensor's dims must be a number array");s=i,this.cpuData=o,this.dataLocation="cpu"}let a=Oh(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,t){return Ch(e,t)}static fromTexture(e,t){return Sh(e,t)}static fromGpuBuffer(e,t){return Ph(e,t)}static fromMLTensor(e,t){return Fh(e,t)}static fromPinnedBuffer(e,t,r){return Ih(e,t,r)}toDataURL(e){return Eh(this,e)}toImageData(e){return Ah(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return Nh(this,e)}}}),Nt,Dh=we(()=>{Jo(),Nt=bt}),Xs,Co,Hr,Qr,kr,Tr,zh=we(()=>{Th(),Xs=(e,t)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||console.timeStamp(`${e}::ORT::${t}`)},Co=(e,t)=>{let r=Error().stack?.split(/\r\n|\r|\n/g)||[],n=!1;for(let s=0;s<r.length;s++){if(n&&!r[s].includes("TRACE_FUNC")){let a=`FUNC_${e}::${r[s].trim().split(" ")[1]}`;t&&(a+=`::${t}`),Xs("CPU",a);return}r[s].includes("TRACE_FUNC")&&(n=!0)}},Hr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||Co("BEGIN",e)},Qr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||Co("END",e)},kr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||console.time(`ORT::${e}`)},Tr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||console.timeEnd(`ORT::${e}`)}}),Bh,Q0=we(()=>{xh(),Dh(),zh(),Bh=class e{constructor(t){this.handler=t}async run(t,r,n){Hr(),kr("InferenceSession.run");let s={},a={};if(typeof t!="object"||t===null||t instanceof Nt||Array.isArray(t))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let o=!0;if(typeof r=="object"){if(r===null)throw TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof Nt)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw TypeError("'fetches' cannot be an empty array.");o=!1;for(let c of r){if(typeof c!="string")throw TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(c)===-1)throw RangeError(`'fetches' contains invalid output name: ${c}.`);s[c]=null}if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw TypeError("'options' must be an object.")}else{let c=!1,d=Object.getOwnPropertyNames(r);for(let f of this.outputNames)if(d.indexOf(f)!==-1){let _=r[f];(_===null||_ instanceof Nt)&&(c=!0,o=!1,s[f]=_)}if(c){if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw TypeError("'options' must be an object.")}else a=r}}else if(typeof r<"u")throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let c of this.inputNames)if(typeof t[c]>"u")throw Error(`input '${c}' is missing in 'feeds'.`);if(o)for(let c of this.outputNames)s[c]=null;let i=await this.handler.run(t,s,a),l={};for(let c in i)if(Object.hasOwnProperty.call(i,c)){let d=i[c];d instanceof Nt?l[c]=d:l[c]=new Nt(d.type,d.data,d.dims)}return Tr("InferenceSession.run"),Qr(),l}async release(){return this.handler.dispose()}static async create(t,r,n,s){Hr(),kr("InferenceSession.create");let a,o={};if(typeof t=="string"){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let d=t,f=0,_=t.byteLength;if(typeof r=="object"&&r!==null)o=r;else if(typeof r=="number"){if(f=r,!Number.isSafeInteger(f))throw RangeError("'byteOffset' must be an integer.");if(f<0||f>=d.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${d.byteLength}).`);if(_=t.byteLength-f,typeof n=="number"){if(_=n,!Number.isSafeInteger(_))throw RangeError("'byteLength' must be an integer.");if(_<=0||f+_>d.byteLength)throw RangeError(`'byteLength' is out of range (0, ${d.byteLength-f}].`);if(typeof s=="object"&&s!==null)o=s;else if(typeof s<"u")throw TypeError("'options' must be an object.")}else if(typeof n<"u")throw TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw TypeError("'options' must be an object.");a=new Uint8Array(d,f,_)}else throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,l]=await Mh(o),c=await i.createInferenceSessionHandler(a,l);return Tr("InferenceSession.create"),Qr(),new e(c)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),Zo,X0=we(()=>{Q0(),Zo=Bh}),Y0=we(()=>{}),K0=we(()=>{}),J0=we(()=>{}),Z0=we(()=>{}),Rh={};ns(Rh,{InferenceSession:()=>Zo,TRACE:()=>Xs,TRACE_EVENT_BEGIN:()=>kr,TRACE_EVENT_END:()=>Tr,TRACE_FUNC_BEGIN:()=>Hr,TRACE_FUNC_END:()=>Qr,Tensor:()=>Nt,env:()=>Be,registerBackend:()=>qr});var Xr=we(()=>{G0(),U0(),X0(),Dh(),Y0(),K0(),zh(),J0(),Z0()}),ei=we(()=>{}),$h={};ns($h,{default:()=>Gh});var So,Po,Gh,eM=we(()=>{r_(),Yr(),ti(),So="ort-wasm-proxy-worker",Po=globalThis.self?.name===So,Po&&(self.onmessage=(e)=>{let{type:t,in:r}=e.data;try{switch(t){case"init-wasm":ri(r.wasm).then(()=>{ii(r).then(()=>{postMessage({type:t})},(n)=>{postMessage({type:t,err:n})})},(n)=>{postMessage({type:t,err:n})});break;case"init-ep":{let{epName:n,env:s}=r;li(s,n).then(()=>{postMessage({type:t})},(a)=>{postMessage({type:t,err:a})});break}case"copy-from":{let{buffer:n}=r,s=Js(n);postMessage({type:t,out:s});break}case"create":{let{model:n,options:s}=r;ci(n,s).then((a)=>{postMessage({type:t,out:a})},(a)=>{postMessage({type:t,err:a})});break}case"release":ui(r),postMessage({type:t});break;case"run":{let{sessionId:n,inputIndices:s,inputs:a,outputIndices:o,options:i}=r;di(n,s,a,o,Array(o.length).fill(null),i).then((l)=>{l.some((c)=>c[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:l},hi([...a,...l]))},(l)=>{postMessage({type:t,err:l})});break}case"end-profiling":fi(r),postMessage({type:t});break;default:}}catch(n){postMessage({type:t,err:n})}}),Gh=Po?null:(e)=>new Worker(e??vt,{type:"module",name:So})}),Vh={};ns(Vh,{default:()=>Uh});async function Xf(e={}){var t=e,r=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,s=n&&self.name?.startsWith("em-pthread");t.mountExternalData=(u,h)=>{u.startsWith("./")&&(u=u.substring(2)),(t.ed||(t.ed=new Map)).set(u,h)},t.unmountExternalData=()=>{delete t.ed,delete t.Te,delete t.Se,delete t.Ue},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let a=()=>{let u=(h)=>(...m)=>{let g=Kt;return m=h(...m),Kt!=g?new Promise((x,T)=>{io={resolve:x,reject:T}}):m};(()=>{for(let h of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])t[h]=u(t[h])})(),typeof jsepRunAsync<"u"&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,i,l=(u,h)=>{throw h},c=import.meta.url,d="";if(r||n){try{d=new URL(".",c).href}catch{}n&&(i=(u)=>{var h=new XMLHttpRequest;return h.open("GET",u,!1),h.responseType="arraybuffer",h.send(null),new Uint8Array(h.response)}),o=async(u)=>{if(N(u))return new Promise((m,g)=>{var x=new XMLHttpRequest;x.open("GET",u,!0),x.responseType="arraybuffer",x.onload=()=>{x.status==200||x.status==0&&x.response?m(x.response):g(x.status)},x.onerror=g,x.send(null)});var h=await fetch(u,{credentials:"same-origin"});if(h.ok)return h.arrayBuffer();throw Error(h.status+" : "+h.url)}}var f,_,p,w,v,y,b=console.log.bind(console),k=console.error.bind(console),A=b,E=k,C=!1,N=(u)=>u.startsWith("file://");function M(){vr.buffer!=q.buffer&&V()}if(s){let u=function(h){try{var m=h.data,g=m.$c;if(g==="load"){let x=[];self.onmessage=(T)=>x.push(T),y=()=>{postMessage({$c:"loaded"});for(let T of x)u(T);self.onmessage=u};for(let T of m.ue)t[T]&&!t[T].proxy||(t[T]=(...F)=>{postMessage({$c:"callHandler",te:T,args:F})},T=="print"&&(A=t[T]),T=="printErr"&&(E=t[T]));vr=m.Me,V(),_=m.Ne,Fe(),Gs()}else if(g==="run"){(function(x){var T=(M(),P)[x+52>>>2>>>0];x=(M(),P)[x+56>>>2>>>0],tf(T,T-x),re(T)})(m.Xc),yo(m.Xc,0,0,1,0,0),Nu(),so(m.Xc),R||(Dd(),R=!0);try{Ev(m.ze,m.kd)}catch(x){if(x!="unwind")throw x}}else m.target!=="setimmediate"&&(g==="checkMailbox"?R&&Fs():g&&(E(`worker: received unknown command ${g}`),E(m)))}catch(x){throw Yd(),x}};var G=u,R=!1;self.onunhandledrejection=(h)=>{throw h.reason||h},self.onmessage=u}var q,X,Q,H,B,P,Y,ue,Z,se,L,O=!1;function V(){var u=vr.buffer;t.HEAP8=q=new Int8Array(u),Q=new Int16Array(u),t.HEAPU8=X=new Uint8Array(u),H=new Uint16Array(u),t.HEAP32=B=new Int32Array(u),t.HEAPU32=P=new Uint32Array(u),Y=new Float32Array(u),ue=new Float64Array(u),Z=new BigInt64Array(u),se=new BigUint64Array(u)}function de(){O=!0,s?y():dr.hc()}function te(u){throw E(u="Aborted("+u+")"),C=!0,u=new WebAssembly.RuntimeError(u+". Build with -sASSERTIONS for more info."),v?.(u),u}function We(){return{a:{qa:Yb,f:Av,K:Cv,k:Sv,p:Pv,l:Fv,fa:Iv,b:Lv,da:Ov,gc:Gu,q:Nv,ea:Wu,Ua:qu,cc:Hu,ec:Qu,Va:Xu,Sa:Yu,La:Ku,Ra:Ju,oa:Zu,dc:ed,ac:td,Ta:rd,bc:nd,_a:Dv,Ba:Bv,Xb:Rv,Vb:Gv,Aa:Uv,O:jv,J:Wv,Wb:qv,ka:Zv,Yb:ey,Oa:ty,_b:ny,Ea:sy,Tb:ay,Ca:oy,Na:so,Xa:iy,U:dy,n:my,c:ro,qb:gy,w:wy,N:vy,A:yy,j:by,o:dd,rb:My,H:xy,T:ky,g:Ty,u:Ey,m:Ay,i:Cy,Ia:Sy,Ja:Py,Ka:Fy,Ga:pd,Ha:md,Ub:gd,ab:Ly,Za:Dy,Z:zy,pb:By,Da:Ry,Ya:Oy,X:$y,Wa:Gy,$b:Vy,G:Iy,db:Uy,_:jy,pa:Ds,Zb:qy,cb:Wy,bb:Hy,lb:ob,z:ib,sa:lb,ra:cb,nb:ub,Y:db,v:fb,kb:hb,jb:_b,ib:pb,mb,gb,fb:wb,eb:vb,Pa:Cd,Qa:Sd,fc:Ja,W:Pd,Fa:Fd,ma:Id,Ma:Ld,la:Od,Fb:O0,va:C0,Gb:L0,wa:A0,E:_0,e:e0,r:Jb,x:Kb,C:u0,Ib:k0,ca:x0,D:n0,xa:T0,aa:S0,ha:M0,Jb:b0,Kb:y0,za:m0,Lb:w0,ya:v0,Mb:g0,ua:I0,ba:E0,d:Zb,B:r0,s:t0,Eb:N0,t:a0,y:f0,F:s0,I:o0,L:h0,Nb:p0,R:P0,ia:c0,$:F0,Pb:l0,Rb:i0,Ob:d0,h:bb,a:vr,$a:sn,Hb:Mb,V:xb,M:kb,na:Tb,Db:Eb,ja:Ab,S:Cb,Ab:Sb,Bb:Pb,vb:Fb,wb:Ib,P:Lb,xb:Ob,yb:Nb,ta:Db,Sb:zb,ob:Bb,Q:Rb,hb:$b,Cb:Gb,sb:Vb,tb:jb,ub:Wb,ga:qb,zb:Hb,Qb}}}async function Fe(){function u(g,x){var T=dr=g.exports;g={};for(let[F,S]of Object.entries(T))typeof S=="function"?(T=ly(S),g[F]=T):g[F]=S;return dr=g,dr=function(){var F=dr,S=(j)=>(he)=>j(he)>>>0,D=(j)=>()=>j()>>>0;return(F=Object.assign({},F)).ic=S(F.ic),F.Nc=D(F.Nc),F.Pc=S(F.Pc),F.Bd=((j)=>(he,me)=>j(he,me)>>>0)(F.Bd),F.Gd=S(F.Gd),F.Hd=D(F.Hd),F.Ld=S(F.Ld),F}(),Lu.push(dr.sd),Nd=(g=dr).ic,Dd=g.jc,t._OrtInit=g.kc,t._OrtGetLastError=g.lc,t._OrtCreateSessionOptions=g.mc,t._OrtAppendExecutionProvider=g.nc,t._OrtAddFreeDimensionOverride=g.oc,t._OrtAddSessionConfigEntry=g.pc,t._OrtReleaseSessionOptions=g.qc,t._OrtCreateSession=g.rc,t._OrtReleaseSession=g.sc,t._OrtGetInputOutputCount=g.tc,t._OrtGetInputOutputMetadata=g.uc,t._OrtFree=g.vc,t._OrtCreateTensor=g.wc,t._OrtGetTensorData=g.xc,t._OrtReleaseTensor=g.yc,t._OrtCreateRunOptions=g.zc,t._OrtAddRunConfigEntry=g.Ac,t._OrtReleaseRunOptions=g.Bc,t._OrtCreateBinding=g.Cc,t._OrtBindInput=g.Dc,t._OrtBindOutput=g.Ec,t._OrtClearBoundOutputs=g.Fc,t._OrtReleaseBinding=g.Gc,t._OrtRunWithBinding=g.Hc,t._OrtRun=g.Ic,t._OrtEndProfiling=g.Jc,zd=t._OrtCreateWebGpuInstance=g.Kc,t._wgpuCreateInstance=g.Lc,_o=t._OrtGetWebGpuDevice=g.Mc,Rs=g.Nc,At=t._free=g.Oc,Rr=t._malloc=g.Pc,Bd=t._wgpuBufferRelease=g.Qc,Rd=g.Rc,$d=g.Sc,Gd=g.Tc,Vd=g.Uc,Ud=g.Vc,jd=g.Yc,Wd=g.Zc,qd=g.hd,Hd=g.id,Qd=g.jd,po=g.ld,mo=g.md,go=g.nd,wo=g.od,Qn=g.pd,vo=g.qd,Xd=g.rd,yo=g.ud,Yd=g.vd,Kd=g.wd,Jd=g.xd,bo=g.yd,Zd=g.zd,ef=g.Ad,Mo=g.Bd,_e=g.Cd,Xn=g.Dd,tf=g.Ed,re=g.Fd,$s=g.Gd,ne=g.Hd,rf=g.Id,xo=g.Jd,nf=g.Kd,sf=g.Ld,af=g.Md,ko=g.Nd,of=g.Od,lf=g.Pd,cf=g.Qd,uf=g.Rd,df=g.Sd,ff=g.Td,hf=g.Ud,_f=g.Vd,pf=g.Wd,mf=g.Xd,gf=g.Yd,wf=g.Zd,vf=g._d,yf=g.$d,bf=g.ae,Mf=g.be,xf=g.ce,kf=g.de,Tf=g.fe,Ef=g.ge,Af=g.he,Cf=g.ie,Sf=g.je,Pf=g.ke,Ff=g.le,If=g.me,Lf=g.Ae,Of=g.Be,Nf=g.Ce,Df=g.De,zf=g.Ee,Bf=g.Fe,Rf=g.Ge,$f=g.He,Gf=g.Ie,Vf=g.Je,Uf=g.Ke,jf=g.nf,Wf=g.of,qf=g.pf,Hf=g.qf,_=x,dr}var h,m=We();return t.instantiateWasm?new Promise((g)=>{t.instantiateWasm(m,(x,T)=>{g(u(x,T))})}):s?u(new WebAssembly.Instance(_,We()),_):(L??=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.asyncify.wasm",d):d+"ort-wasm-simd-threaded.asyncify.wasm":new URL("ort-wasm-simd-threaded.asyncify.wasm",import.meta.url).href,h=await async function(g){var x=L;if(!f&&!N(x))try{var T=fetch(x,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(T,g)}catch(F){E(`wasm streaming compile failed: ${F}`),E("falling back to ArrayBuffer instantiation")}return async function(F,S){try{var D=await async function(j){if(!f)try{var he=await o(j);return new Uint8Array(he)}catch{}if(j==L&&f)j=new Uint8Array(f);else{if(!i)throw"both async and sync fetching of the wasm failed";j=i(j)}return j}(F);return await WebAssembly.instantiate(D,S)}catch(j){E(`failed to asynchronously prepare wasm: ${j}`),te(j)}}(x,g)}(m),u(h.instance,h.module))}class be{name="ExitStatus";constructor(u){this.message=`Program terminated with exit(${u})`,this.status=u}}var Ge=(u)=>{u.terminate(),u.onmessage=()=>{}},Oe=[],Me=0,Ye=null,Xt=(u)=>{wr.length==0&&(zu(),Du(wr[0]));var h=wr.pop();if(!h)return 6;qn.push(h),Dr[u.Xc]=h,h.Xc=u.Xc;var m={$c:"run",ze:u.ye,kd:u.kd,Xc:u.Xc};return h.postMessage(m,u.oe),0},xe=0,Ie=(u,h,...m)=>{var g,x=16*m.length,T=ne(),F=$s(x),S=F>>>3;for(g of m)typeof g=="bigint"?((M(),Z)[S++>>>0]=1n,(M(),Z)[S++>>>0]=g):((M(),Z)[S++>>>0]=0n,(M(),ue)[S++>>>0]=g);return u=Kd(u,0,x,F,h),re(T),u};function sn(u){if(s)return Ie(0,1,u);if(p=u,!(0<xe)){for(var h of qn)Ge(h);for(h of wr)Ge(h);wr=[],qn=[],Dr={},C=!0}l(0,new be(u))}function Wn(u){if(s)return Ie(1,0,u);Ja(u)}var Ja=(u)=>{if(p=u,s)throw Wn(u),"unwind";sn(u)},wr=[],qn=[],Lu=[],Dr={},Ou=(u)=>{var h=u.Xc;delete Dr[h],wr.push(u),qn.splice(qn.indexOf(u),1),u.Xc=0,Jd(h)};function Nu(){Lu.forEach((u)=>u())}var Du=(u)=>new Promise((h)=>{u.onmessage=(x)=>{var T=x.data;if(x=T.$c,T.gd&&T.gd!=Rs()){var F=Dr[T.gd];F?F.postMessage(T,T.oe):E(`Internal error! Worker sent a message "${x}" to target pthread ${T.gd}, but that thread no longer exists!`)}else x==="checkMailbox"?Fs():x==="spawnThread"?Xt(T):x==="cleanupThread"?ht(()=>{Ou(Dr[T.Le])}):x==="loaded"?(u.loaded=!0,h(u)):T.target==="setimmediate"?u.postMessage(T):x==="uncaughtException"?u.onerror(T.error):x==="callHandler"?t[T.te](...T.args):x&&E(`worker sent an unknown command ${x}`)},u.onerror=(x)=>{throw E(`worker sent an error! ${x.filename}:${x.lineno}: ${x.message}`),x};var m,g=[];for(m of[])t.propertyIsEnumerable(m)&&g.push(m);u.postMessage({$c:"load",ue:g,Me:vr,Ne:_})});function zu(){var u=new Worker((()=>{let h=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new h("ort.webgpu.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});wr.push(u)}var vr,Ev=(u,h)=>{xe=0,u=ko(u,h),0<xe?p=u:bo(u)},Cs=[],Ss=0,tt=(u)=>-9007199254740992>u||9007199254740992<u?NaN:Number(u);function Av(u){var h=new Ps(u>>>=0);return(M(),q)[h.ad+12>>>0]==0&&(Bu(h,!0),Ss--),Ru(h,!1),Cs.push(h),sf(u)}var an=0,Cv=()=>{_e(0,0);var u=Cs.pop();rf(u.td),an=0};function Bu(u,h){h=h?1:0,(M(),q)[u.ad+12>>>0]=h}function Ru(u,h){h=h?1:0,(M(),q)[u.ad+13>>>0]=h}class Ps{constructor(u){this.td=u,this.ad=u-24}}var Za=(u)=>{var h=an;if(!h)return Xn(0),0;var m=new Ps(h);(M(),P)[m.ad+16>>>2>>>0]=h;var g=(M(),P)[m.ad+4>>>2>>>0];if(!g)return Xn(0),h;for(var x of u){if(x===0||x===g)break;if(nf(x,g,m.ad+16))return Xn(x),h}return Xn(g),h};function Sv(){return Za([])}function Pv(u){return Za([u>>>0])}function Fv(u,h,m,g){return Za([u>>>0,h>>>0,m>>>0,g>>>0])}var Iv=()=>{var u=Cs.pop();u||te("no exception to throw");var h=u.td;throw(M(),q)[u.ad+13>>>0]==0&&(Cs.push(u),Ru(u,!0),Bu(u,!1),Ss++),xo(h),an=h};function Lv(u,h,m){var g=new Ps(u>>>=0);throw h>>>=0,m>>>=0,(M(),P)[g.ad+16>>>2>>>0]=0,(M(),P)[g.ad+4>>>2>>>0]=h,(M(),P)[g.ad+8>>>2>>>0]=m,xo(u),Ss++,an=u}var Ov=()=>Ss;function $u(u,h,m,g){return s?Ie(2,1,u,h,m,g):Gu(u,h,m,g)}function Gu(u,h,m,g){if(u>>>=0,h>>>=0,m>>>=0,g>>>=0,!globalThis.SharedArrayBuffer)return 6;var x=[];return s&&x.length===0?$u(u,h,m,g):(u={ye:m,Xc:u,kd:g,oe:x},s?(u.$c="spawnThread",postMessage(u,x),0):Xt(u))}function Nv(u){throw an||=u>>>0,an}var Vu=globalThis.TextDecoder&&new TextDecoder,Uu=(u,h,m,g)=>{if(m=h+m,g)return m;for(;u[h]&&!(h>=m);)++h;return h},ju=(u,h=0,m,g)=>{if(16<(m=Uu(u,h>>>=0,m,g))-h&&u.buffer&&Vu)return Vu.decode(u.buffer instanceof ArrayBuffer?u.subarray(h,m):u.slice(h,m));for(g="";h<m;){var x=u[h++];if(128&x){var T=63&u[h++];if((224&x)==192)g+=String.fromCharCode((31&x)<<6|T);else{var F=63&u[h++];65536>(x=(240&x)==224?(15&x)<<12|T<<6|F:(7&x)<<18|T<<12|F<<6|63&u[h++])?g+=String.fromCharCode(x):(x-=65536,g+=String.fromCharCode(55296|x>>10,56320|1023&x))}}else g+=String.fromCharCode(x)}return g},on=(u,h,m)=>(u>>>=0)?ju((M(),X),u,h,m):"";function Wu(u,h,m){return s?Ie(3,1,u,h,m):0}function qu(u,h){if(s)return Ie(4,1,u,h)}function Hu(u,h){if(s)return Ie(5,1,u,h)}function Qu(u,h,m){if(s)return Ie(6,1,u,h,m)}function Xu(u,h,m){return s?Ie(7,1,u,h,m):0}function Yu(u,h){if(s)return Ie(8,1,u,h)}function Ku(u,h,m){if(s)return Ie(9,1,u,h,m)}function Ju(u,h,m,g){if(s)return Ie(10,1,u,h,m,g)}function Zu(u,h,m,g){if(s)return Ie(11,1,u,h,m,g)}function ed(u,h,m,g){if(s)return Ie(12,1,u,h,m,g)}function td(u){if(s)return Ie(13,1,u)}function rd(u,h){if(s)return Ie(14,1,u,h)}function nd(u,h,m){if(s)return Ie(15,1,u,h,m)}var Dv=()=>te(""),Yt=(u)=>{u>>>=0;for(var h="";;){var m=(M(),X)[u++>>>0];if(!m)return h;h+=String.fromCharCode(m)}},eo={},to={},zv={},ln=class extends Error{constructor(u){super(u),this.name="BindingError"}};function ir(u,h,m={}){return function(g,x,T={}){var F=x.name;if(!g)throw new ln(`type "${F}" must have a positive integer typeid pointer`);if(to.hasOwnProperty(g)){if(T.ve)return;throw new ln(`Cannot register type '${F}' twice`)}to[g]=x,delete zv[g],eo.hasOwnProperty(g)&&(x=eo[g],delete eo[g],x.forEach((S)=>S()))}(u,h,m)}var sd=(u,h,m)=>{switch(h){case 1:return m?(g)=>(M(),q)[g>>>0]:(g)=>(M(),X)[g>>>0];case 2:return m?(g)=>(M(),Q)[g>>>1>>>0]:(g)=>(M(),H)[g>>>1>>>0];case 4:return m?(g)=>(M(),B)[g>>>2>>>0]:(g)=>(M(),P)[g>>>2>>>0];case 8:return m?(g)=>(M(),Z)[g>>>3>>>0]:(g)=>(M(),se)[g>>>3>>>0];default:throw TypeError(`invalid integer width (${h}): ${u}`)}};function Bv(u,h,m,g,x){u>>>=0,m>>>=0,h=Yt(h>>>0);let T=(F)=>F;if(g=g===0n){let F=8*m;T=(S)=>BigInt.asUintN(F,S),x=T(x)}ir(u,{name:h,Wc:T,cd:(F,S)=>(typeof S=="number"&&(S=BigInt(S)),S),bd:sd(h,m,!g),dd:null})}function Rv(u,h,m,g){ir(u>>>=0,{name:h=Yt(h>>>0),Wc:function(x){return!!x},cd:function(x,T){return T?m:g},bd:function(x){return this.Wc((M(),X)[x>>>0])},dd:null})}var ad=[],zr=[0,1,,1,null,1,!0,1,!1,1];function ro(u){9<(u>>>=0)&&--zr[u+1]===0&&(zr[u]=void 0,ad.push(u))}var Tt=(u)=>{if(!u)throw new ln(`Cannot use deleted val. handle = ${u}`);return zr[u]},Lt=(u)=>{switch(u){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let h=ad.pop()||zr.length;return zr[h]=u,zr[h+1]=1,h}};function no(u){return this.Wc((M(),P)[u>>>2>>>0])}var $v={name:"emscripten::val",Wc:(u)=>{var h=Tt(u);return ro(u),h},cd:(u,h)=>Lt(h),bd:no,dd:null};function Gv(u){return ir(u>>>0,$v)}var Vv=(u,h)=>{switch(h){case 4:return function(m){return this.Wc((M(),Y)[m>>>2>>>0])};case 8:return function(m){return this.Wc((M(),ue)[m>>>3>>>0])};default:throw TypeError(`invalid float width (${h}): ${u}`)}};function Uv(u,h,m){m>>>=0,ir(u>>>=0,{name:h=Yt(h>>>0),Wc:(g)=>g,cd:(g,x)=>x,bd:Vv(h,m),dd:null})}function jv(u,h,m,g,x){u>>>=0,m>>>=0,h=Yt(h>>>0);let T=(S)=>S;if(g===0){var F=32-8*m;T=(S)=>S<<F>>>F,x=T(x)}ir(u,{name:h,Wc:T,cd:(S,D)=>D,bd:sd(h,m,g!==0),dd:null})}function Wv(u,h,m){function g(T){var F=(M(),P)[T>>>2>>>0];return T=(M(),P)[T+4>>>2>>>0],new x((M(),q).buffer,T,F)}var x=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][h];ir(u>>>=0,{name:m=Yt(m>>>0),Wc:g,bd:g},{ve:!0})}var lr=(u,h,m)=>{var g=(M(),X);if(h>>>=0,0<m){var x=h;m=h+m-1;for(var T=0;T<u.length;++T){var F=u.codePointAt(T);if(127>=F){if(h>=m)break;g[h++>>>0]=F}else if(2047>=F){if(h+1>=m)break;g[h++>>>0]=192|F>>6,g[h++>>>0]=128|63&F}else if(65535>=F){if(h+2>=m)break;g[h++>>>0]=224|F>>12,g[h++>>>0]=128|F>>6&63,g[h++>>>0]=128|63&F}else{if(h+3>=m)break;g[h++>>>0]=240|F>>18,g[h++>>>0]=128|F>>12&63,g[h++>>>0]=128|F>>6&63,g[h++>>>0]=128|63&F,T++}}g[h>>>0]=0,u=h-x}else u=0;return u},cr=(u)=>{for(var h=0,m=0;m<u.length;++m){var g=u.charCodeAt(m);127>=g?h++:2047>=g?h+=2:55296<=g&&57343>=g?(h+=4,++m):h+=3}return h};function qv(u,h){ir(u>>>=0,{name:h=Yt(h>>>0),Wc(m){var g=(M(),P)[m>>>2>>>0];return g=on(m+4,g,!0),At(m),g},cd(m,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var x=typeof g=="string";if(!(x||ArrayBuffer.isView(g)&&g.BYTES_PER_ELEMENT==1))throw new ln("Cannot pass non-string to std::string");var T=x?cr(g):g.length,F=Rr(4+T+1),S=F+4;return(M(),P)[F>>>2>>>0]=T,x?lr(g,S,T+1):(M(),X).set(g,S>>>0),m!==null&&m.push(At,F),F},bd:no,dd(m){At(m)}})}var od=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Hv=(u,h,m)=>{if(u>>>=1,16<(h=Uu((M(),H),u,h/2,m))-u&&od)return od.decode((M(),H).slice(u,h));for(m="";u<h;++u){var g=(M(),H)[u>>>0];m+=String.fromCharCode(g)}return m},Qv=(u,h,m)=>{if(m??=2147483647,2>m)return 0;var g=h;m=(m-=2)<2*u.length?m/2:u.length;for(var x=0;x<m;++x){var T=u.charCodeAt(x);(M(),Q)[h>>>1>>>0]=T,h+=2}return(M(),Q)[h>>>1>>>0]=0,h-g},Xv=(u)=>2*u.length,Yv=(u,h,m)=>{var g="";u>>>=2;for(var x=0;!(x>=h/4);x++){var T=(M(),P)[u+x>>>0];if(!T&&!m)break;g+=String.fromCodePoint(T)}return g},Kv=(u,h,m)=>{if(h>>>=0,m??=2147483647,4>m)return 0;var g=h;m=g+m-4;for(var x=0;x<u.length;++x){var T=u.codePointAt(x);if(65535<T&&x++,(M(),B)[h>>>2>>>0]=T,(h+=4)+4>m)break}return(M(),B)[h>>>2>>>0]=0,h-g},Jv=(u)=>{for(var h=0,m=0;m<u.length;++m)65535<u.codePointAt(m)&&m++,h+=4;return h};function Zv(u,h,m){if(u>>>=0,h>>>=0,m=Yt(m>>>=0),h===2)var g=Hv,x=Qv,T=Xv;else g=Yv,x=Kv,T=Jv;ir(u,{name:m,Wc:(F)=>{var S=(M(),P)[F>>>2>>>0];return S=g(F+4,S*h,!0),At(F),S},cd:(F,S)=>{if(typeof S!="string")throw new ln(`Cannot pass non-string to C++ string type ${m}`);var D=T(S),j=Rr(4+D+h);return(M(),P)[j>>>2>>>0]=D/h,x(S,j+4,D+h),F!==null&&F.push(At,j),j},bd:no,dd(F){At(F)}})}function ey(u,h){ir(u>>>=0,{we:!0,name:h=Yt(h>>>0),Wc:()=>{},cd:()=>{}})}function ty(u){yo(u>>>0,!n,1,!r,131072,!1),Nu()}var ht=(u)=>{if(!C)try{if(u(),!(0<xe))try{s?Rs()&&bo(p):Ja(p)}catch(h){h instanceof be||h=="unwind"||l(0,h)}}catch(h){h instanceof be||h=="unwind"||l(0,h)}},ry=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function so(u){u>>>=0,ry||(Atomics.waitAsync((M(),B),u>>>2,u).value.then(Fs),u+=128,Atomics.store((M(),B),u>>>2,1))}var Fs=()=>ht(()=>{var u=Rs();u&&(so(u),ef())});function ny(u,h){(u>>>=0)==h>>>0?setTimeout(Fs):s?postMessage({gd:u,$c:"checkMailbox"}):(u=Dr[u])&&u.postMessage({$c:"checkMailbox"})}var ao=[];function sy(u,h,m,g,x){for(h>>>=0,x>>>=0,ao.length=0,m=x>>>3,g=x+g>>>3;m<g;){var T;T=(M(),Z)[m++>>>0]?(M(),Z)[m++>>>0]:(M(),ue)[m++>>>0],ao.push(T)}return(h?To[h]:Xb[u])(...ao)}var ay=()=>{xe=0};function oy(u){u>>>=0,s?postMessage({$c:"cleanupThread",Le:u}):Ou(Dr[u])}function iy(u){}var Is=(u)=>{try{u()}catch(h){te(h)}};function ly(u){var h=(...m)=>{Ls.push(u);try{return u(...m)}finally{C||(Ls.pop(),Kt&&yr===1&&Ls.length===0&&(yr=0,xe+=1,Is(Wf),typeof Fibers<"u"&&Fibers.We()))}};return cd.set(u,h),h}var yr=0,Kt=null,id=0,Ls=[],oo=new Map,ld=new Map,cd=new Map,cy=0,io=null,uy=[],ud=(u)=>function(h){if(!C){if(yr===0){var m=!1,g=!1;h((x=0)=>{if(!C&&(id=x,m=!0,g)){yr=2,Is(()=>qf(Kt)),typeof MainLoop<"u"&&MainLoop.se&&MainLoop.resume(),x=!1;try{var T=function(){var D=(M(),B)[Kt+8>>>2>>>0];return D=ld.get(D),D=cd.get(D),--xe,D()}()}catch(D){T=D,x=!0}var F=!1;if(!Kt){var S=io;S&&(io=null,(x?S.reject:S.resolve)(T),F=!0)}if(x&&!F)throw T}}),g=!0,m||(yr=1,Kt=function(){var x=Rr(65548),T=x+12;if((M(),P)[x>>>2>>>0]=T,(M(),P)[x+4>>>2>>>0]=T+65536,T=Ls[0],!oo.has(T)){var F=cy++;oo.set(T,F),ld.set(F,T)}return T=oo.get(T),(M(),B)[x+8>>>2>>>0]=T,x}(),typeof MainLoop<"u"&&MainLoop.se&&MainLoop.pause(),Is(()=>jf(Kt)))}else yr===2?(yr=0,Is(Hf),At(Kt),Kt=null,uy.forEach(ht)):te(`invalid state: ${yr}`);return id}}((h)=>{u().then(h)});function dy(u){return u>>>=0,ud(async()=>{var h=await Tt(u);return Lt(h)})}var lo=[],fy=(u)=>{var h=lo.length;return lo.push(u),h},hy=(u,h)=>{for(var m=Array(u),g=0;g<u;++g){var x=g,T=(M(),P)[h+4*g>>>2>>>0],F=to[T];if(F===void 0)throw u=`parameter ${g}`,T=Nd(T),h=Yt(T),At(T),new ln(`${u} has unknown type ${h}`);m[x]=F}return m},_y=(u,h,m)=>{var g=[];return u=u(g,m),g.length&&((M(),P)[h>>>2>>>0]=Lt(g)),u},py={},Os=(u)=>{var h=py[u];return h===void 0?Yt(u):h};function my(u,h,m){var[g,...x]=hy(u,h>>>0);h=g.cd.bind(g);var T=x.map((D)=>D.bd.bind(D));u--;var F={toValue:Tt};switch(u=T.map((D,j)=>{var he=`argFromPtr${j}`;return F[he]=D,`${he}(args${j?"+"+8*j:""})`}),m){case 0:var S="toValue(handle)";break;case 2:S="new (toValue(handle))";break;case 3:S="";break;case 1:F.getStringOrSymbol=Os,S="toValue(handle)[getStringOrSymbol(methodName)]"}return S+=`(${u})`,g.we||(F.toReturnWire=h,F.emval_returnValue=_y,S=`return emval_returnValue(toReturnWire, destructorsRef, ${S})`),S=`return function (handle, methodName, destructorsRef, args) {
|
|
5
|
+
*/var{defineProperty:Ko,getOwnPropertyDescriptor:D0,getOwnPropertyNames:z0}=Object,B0=Object.prototype.hasOwnProperty,R0=((e)=>It)(function(e){return It.apply(this,arguments)}),we=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}},ns=(e,t)=>{for(var r in t)Ko(e,r,{get:t[r],enumerable:!0})},$0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of z0(t))!B0.call(e,s)&&s!==r&&Ko(e,s,{get:()=>t[s],enumerable:!(n=D0(t,s))||n.enumerable});return e},Qs=(e)=>$0(Ko({},"__esModule",{value:!0}),e),Yn,br,qr,Qf,Mh,xh=we(()=>{Yn=new Map,br=[],qr=(e,t,r)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let n=Yn.get(e);if(n===void 0)Yn.set(e,{backend:t,priority:r});else{if(n.priority>r)return;if(n.priority===r&&n.backend!==t)throw Error(`cannot register backend "${e}" using priority ${r}`)}if(r>=0){let s=br.indexOf(e);s!==-1&&br.splice(s,1);for(let a=0;a<br.length;a++)if(Yn.get(br[a]).priority<=r){br.splice(a,0,e);return}br.push(e)}return}throw TypeError("not a valid backend")},Qf=async(e)=>{let t=Yn.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let r=!!t.initPromise;try{return r||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(n){return r||(t.error=`${n}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},Mh=async(e)=>{let t=e.executionProviders||[],r=t.map((l)=>typeof l=="string"?l:l.name),n=r.length===0?br:r,s,a=[],o=new Set;for(let l of n){let c=await Qf(l);typeof c=="string"?a.push({name:l,err:c}):(s||(s=c),s===c&&o.add(l))}if(!s)throw Error(`no available backend found. ERR: ${a.map((l)=>`[${l.name}] ${l.err}`).join(", ")}`);for(let{name:l,err:c}of a)r.includes(l)&&console.warn(`removing requested execution provider "${l}" from session options because it is not available: ${c}`);let i=t.filter((l)=>o.has(typeof l=="string"?l:l.name));return[s,new Proxy(e,{get:(l,c)=>c==="executionProviders"?i:Reflect.get(l,c)})]}}),G0=we(()=>{xh()}),kh,V0=we(()=>{kh="1.31.0-dev.20260911-2a43ec07e"}),Eo,Ze,Th=we(()=>{V0(),Eo="warning",Ze={wasm:{},webgl:{},webgpu:{},versions:{common:kh},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);Eo=e}},get logLevel(){return Eo}},Object.defineProperty(Ze,"logLevel",{enumerable:!0})}),Be,U0=we(()=>{Th(),Be=Ze}),Eh,Ah,j0=we(()=>{Eh=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[3]):(s=e.dims[3],a=e.dims[2]);let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;i===void 0||i.mean===void 0?l=[255,255,255,255]:typeof i.mean=="number"?l=[i.mean,i.mean,i.mean,i.mean]:(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(l[3]=i.mean[3])),i===void 0||i.bias===void 0?c=[0,0,0,0]:typeof i.bias=="number"?c=[i.bias,i.bias,i.bias,i.bias]:(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(c[3]=i.bias[3]));let d=a*s,f=0,_=d,p=d*2,w=-1;o==="RGBA"?(f=0,_=d,p=d*2,w=d*3):o==="RGB"?(f=0,_=d,p=d*2):o==="RBG"&&(f=0,p=d,_=d*2);for(let v=0;v<a;v++)for(let y=0;y<s;y++){let b=(e.data[f++]-c[0])*l[0],k=(e.data[_++]-c[1])*l[1],A=(e.data[p++]-c[2])*l[2],E=w===-1?255:(e.data[w++]-c[3])*l[3];n.fillStyle="rgba("+b+","+k+","+A+","+E+")",n.fillRect(y,v,1,1)}if("toDataURL"in r)return r.toDataURL();throw Error("toDataURL is not supported")}else throw Error("Can not access image data")},Ah=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[1],o=e.dims[3]):(s=e.dims[3],a=e.dims[2],o=e.dims[1]);let i=t!==void 0&&t.format!==void 0?t.format:"RGB",l=t?.norm,c,d;l===void 0||l.mean===void 0?c=[255,255,255,255]:typeof l.mean=="number"?c=[l.mean,l.mean,l.mean,l.mean]:(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(c[3]=l.mean[3])),l===void 0||l.bias===void 0?d=[0,0,0,0]:typeof l.bias=="number"?d=[l.bias,l.bias,l.bias,l.bias]:(d=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(d[3]=l.bias[3]));let f=a*s;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR"))throw Error("Tensor format doesn't match input tensor dims");let _=4,p=0,w=1,v=2,y=3,b=0,k=f,A=f*2,E=-1;i==="RGBA"?(b=0,k=f,A=f*2,E=f*3):i==="RGB"?(b=0,k=f,A=f*2):i==="RBG"&&(b=0,A=f,k=f*2),n=r.createImageData(s,a);for(let C=0;C<a*s;p+=_,w+=_,v+=_,y+=_,C++)n.data[p]=(e.data[b++]-d[0])*c[0],n.data[w]=(e.data[k++]-d[1])*c[1],n.data[v]=(e.data[A++]-d[2])*c[2],n.data[y]=E===-1?255:(e.data[E++]-d[3])*c[3]}else throw Error("Can not access image data");return n}}),Vs,Ch,Sh,Ph,Fh,Ih,W0=we(()=>{Jo(),Vs=(e,t)=>{if(e===void 0)throw Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;typeof s.mean=="number"?a=[s.mean,s.mean,s.mean,s.mean]:a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?o=[s.bias,s.bias,s.bias,s.bias]:o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",c=r*n,d=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),f=4,_=0,p=1,w=2,v=3,y=0,b=c,k=c*2,A=-1;i==="RGB"&&(f=3,_=0,p=1,w=2,v=-1),l==="RGBA"?A=c*3:l==="RBG"?(y=0,k=c,b=c*2):l==="BGR"&&(k=0,b=c,y=c*2);for(let E=0;E<c;E++,_+=f,w+=f,p+=f,v+=f)d[y++]=(e[_]+o[0])/a[0],d[b++]=(e[p]+o[1])/a[1],d[k++]=(e[w]+o[2])/a[2],A!==-1&&v!==-1&&(d[A++]=(e[v]+o[3])/a[3]);return l==="RGBA"?new bt("float32",d,[1,4,r,n]):new bt("float32",d,[1,3,r,n])},Ch=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e=="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw Error("Canvas is not supported")},c=(d)=>typeof HTMLCanvasElement<"u"&&d instanceof HTMLCanvasElement||d instanceof OffscreenCanvas?d.getContext("2d"):null;if(r){let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(_=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(i=t,t.tensorFormat!==void 0)throw Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=_,i.width=p}else i.tensorFormat="RGBA",i.height=_,i.width=p;f.drawImage(e,0,0),o=f.getImageData(0,0,p,_).data}else throw Error("Can not access image data")}else if(n){let d,f;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(d=t.resizedHeight,f=t.resizedWidth):(d=e.height,f=e.width),t!==void 0&&(i=t),i.format="RGBA",i.height=d,i.width=f,t!==void 0){let _=l();_.width=f,_.height=d;let p=c(_);if(p!=null)p.putImageData(e,0,0),o=p.getImageData(0,0,f,d).data;else throw Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw Error("Please provide image config with format for Imagebitmap");let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;return f.drawImage(e,0,0,p,_),o=f.getImageData(0,0,p,_).data,i.height=_,i.width=p,Vs(o,i)}else throw Error("Can not access image data")}else{if(a)return new Promise((d,f)=>{let _=l(),p=c(_);if(!e||!p)return f();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{_.width=w.width,_.height=w.height,p.drawImage(w,0,0,_.width,_.height);let v=p.getImageData(0,0,_.width,_.height);i.height=_.height,i.width=_.width,d(Vs(v.data,i))}});throw Error("Input data provided is not supported - aborted tensor creation")}if(o!==void 0)return Vs(o,i);throw Error("Input data provided is not supported - aborted tensor creation")},Sh=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t;return new bt({location:"texture",type:"float32",texture:e,dims:[1,n,r,4],download:s,dispose:a})},Ph=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new bt({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},Fh=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new bt({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},Ih=(e,t,r)=>new bt({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})}),jr,ts,Ao,Lh,q0=we(()=>{jr=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),ts=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Ao=!1,Lh=()=>{if(!Ao){Ao=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;e&&(jr.set("int64",BigInt64Array),ts.set(BigInt64Array,"int64")),t&&(jr.set("uint64",BigUint64Array),ts.set(BigUint64Array,"uint64")),n?(jr.set("float16",r),ts.set(r,"float16")):jr.set("float16",Uint16Array)}}}),Oh,Nh,H0=we(()=>{Jo(),Oh=(e)=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},Nh=(e,t)=>{switch(e.location){case"cpu":return new bt(e.type,e.data,t);case"cpu-pinned":return new bt({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new bt({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new bt({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new bt({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),bt,Jo=we(()=>{j0(),W0(),q0(),H0(),bt=class{constructor(e,t,r){Lh();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let o=jr.get(n);if(!o)throw TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof o))throw TypeError(`buffer should be of type ${o.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if(typeof e=="string")if(n=e,i=r,e==="string"){if(!Array.isArray(t))throw TypeError("A string tensor's data must be a string array.");o=t}else{let l=jr.get(e);if(l===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e==="float16"&&l===Uint16Array||e==="uint4"||e==="int4")throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${l.name} as data.`);e==="uint64"||e==="int64"?o=l.from(t,BigInt):o=l.from(t)}else if(t instanceof l)o=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")o=Uint8Array.from(t);else throw TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&l!==Uint16Array)o=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${n} tensor's data must be type of ${l}`)}else if(i=t,Array.isArray(e)){if(e.length===0)throw TypeError("Tensor type cannot be inferred from an empty array.");let l=typeof e[0];if(l==="string")n="string",o=e;else if(l==="boolean")n="bool",o=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${l}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",o=Uint8Array.from(e);else{let l=ts.get(e.constructor);if(l===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=l,o=e}if(i===void 0)i=[o.length];else if(!Array.isArray(i))throw TypeError("A tensor's dims must be a number array");s=i,this.cpuData=o,this.dataLocation="cpu"}let a=Oh(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,t){return Ch(e,t)}static fromTexture(e,t){return Sh(e,t)}static fromGpuBuffer(e,t){return Ph(e,t)}static fromMLTensor(e,t){return Fh(e,t)}static fromPinnedBuffer(e,t,r){return Ih(e,t,r)}toDataURL(e){return Eh(this,e)}toImageData(e){return Ah(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return Nh(this,e)}}}),Nt,Dh=we(()=>{Jo(),Nt=bt}),Xs,Co,Hr,Qr,kr,Tr,zh=we(()=>{Th(),Xs=(e,t)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||console.timeStamp(`${e}::ORT::${t}`)},Co=(e,t)=>{let r=Error().stack?.split(/\r\n|\r|\n/g)||[],n=!1;for(let s=0;s<r.length;s++){if(n&&!r[s].includes("TRACE_FUNC")){let a=`FUNC_${e}::${r[s].trim().split(" ")[1]}`;t&&(a+=`::${t}`),Xs("CPU",a);return}r[s].includes("TRACE_FUNC")&&(n=!0)}},Hr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||Co("BEGIN",e)},Qr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||Co("END",e)},kr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||console.time(`ORT::${e}`)},Tr=(e)=>{(typeof Ze.trace>"u"?!Ze.wasm.trace:!Ze.trace)||console.timeEnd(`ORT::${e}`)}}),Bh,Q0=we(()=>{xh(),Dh(),zh(),Bh=class e{constructor(t){this.handler=t}async run(t,r,n){Hr(),kr("InferenceSession.run");let s={},a={};if(typeof t!="object"||t===null||t instanceof Nt||Array.isArray(t))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let o=!0;if(typeof r=="object"){if(r===null)throw TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof Nt)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw TypeError("'fetches' cannot be an empty array.");o=!1;for(let c of r){if(typeof c!="string")throw TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(c)===-1)throw RangeError(`'fetches' contains invalid output name: ${c}.`);s[c]=null}if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw TypeError("'options' must be an object.")}else{let c=!1,d=Object.getOwnPropertyNames(r);for(let f of this.outputNames)if(d.indexOf(f)!==-1){let _=r[f];(_===null||_ instanceof Nt)&&(c=!0,o=!1,s[f]=_)}if(c){if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw TypeError("'options' must be an object.")}else a=r}}else if(typeof r<"u")throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let c of this.inputNames)if(typeof t[c]>"u")throw Error(`input '${c}' is missing in 'feeds'.`);if(o)for(let c of this.outputNames)s[c]=null;let i=await this.handler.run(t,s,a),l={};for(let c in i)if(Object.hasOwnProperty.call(i,c)){let d=i[c];d instanceof Nt?l[c]=d:l[c]=new Nt(d.type,d.data,d.dims)}return Tr("InferenceSession.run"),Qr(),l}async release(){return this.handler.dispose()}static async create(t,r,n,s){Hr(),kr("InferenceSession.create");let a,o={};if(typeof t=="string"){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let d=t,f=0,_=t.byteLength;if(typeof r=="object"&&r!==null)o=r;else if(typeof r=="number"){if(f=r,!Number.isSafeInteger(f))throw RangeError("'byteOffset' must be an integer.");if(f<0||f>=d.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${d.byteLength}).`);if(_=t.byteLength-f,typeof n=="number"){if(_=n,!Number.isSafeInteger(_))throw RangeError("'byteLength' must be an integer.");if(_<=0||f+_>d.byteLength)throw RangeError(`'byteLength' is out of range (0, ${d.byteLength-f}].`);if(typeof s=="object"&&s!==null)o=s;else if(typeof s<"u")throw TypeError("'options' must be an object.")}else if(typeof n<"u")throw TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw TypeError("'options' must be an object.");a=new Uint8Array(d,f,_)}else throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,l]=await Mh(o),c=await i.createInferenceSessionHandler(a,l);return Tr("InferenceSession.create"),Qr(),new e(c)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),Zo,X0=we(()=>{Q0(),Zo=Bh}),Y0=we(()=>{}),K0=we(()=>{}),J0=we(()=>{}),Z0=we(()=>{}),Rh={};ns(Rh,{InferenceSession:()=>Zo,TRACE:()=>Xs,TRACE_EVENT_BEGIN:()=>kr,TRACE_EVENT_END:()=>Tr,TRACE_FUNC_BEGIN:()=>Hr,TRACE_FUNC_END:()=>Qr,Tensor:()=>Nt,env:()=>Be,registerBackend:()=>qr});var Xr=we(()=>{G0(),U0(),X0(),Dh(),Y0(),K0(),zh(),J0(),Z0()}),ei=we(()=>{}),$h={};ns($h,{default:()=>Gh});var So,Po,Gh,eM=we(()=>{r_(),Yr(),ti(),So="ort-wasm-proxy-worker",Po=globalThis.self?.name===So,Po&&(self.onmessage=(e)=>{let{type:t,in:r}=e.data;try{switch(t){case"init-wasm":ri(r.wasm).then(()=>{ii(r).then(()=>{postMessage({type:t})},(n)=>{postMessage({type:t,err:n})})},(n)=>{postMessage({type:t,err:n})});break;case"init-ep":{let{epName:n,env:s}=r;li(s,n).then(()=>{postMessage({type:t})},(a)=>{postMessage({type:t,err:a})});break}case"copy-from":{let{buffer:n}=r,s=Js(n);postMessage({type:t,out:s});break}case"create":{let{model:n,options:s}=r;ci(n,s).then((a)=>{postMessage({type:t,out:a})},(a)=>{postMessage({type:t,err:a})});break}case"release":ui(r),postMessage({type:t});break;case"run":{let{sessionId:n,inputIndices:s,inputs:a,outputIndices:o,options:i}=r;di(n,s,a,o,Array(o.length).fill(null),i).then((l)=>{l.some((c)=>c[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:l},hi([...a,...l]))},(l)=>{postMessage({type:t,err:l})});break}case"end-profiling":fi(r),postMessage({type:t});break;default:}}catch(n){postMessage({type:t,err:n})}}),Gh=Po?null:(e)=>new Worker(e??vt,{type:"module",name:So})}),Vh={};ns(Vh,{default:()=>Uh});async function Xf(e={}){var t=e,r=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,s=n&&self.name?.startsWith("em-pthread");t.mountExternalData=(u,h)=>{u.startsWith("./")&&(u=u.substring(2)),(t.ed||(t.ed=new Map)).set(u,h)},t.unmountExternalData=()=>{delete t.ed,delete t.Te,delete t.Se,delete t.Ue},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let a=()=>{let u=(h)=>(...m)=>{let g=Kt;return m=h(...m),Kt!=g?new Promise((x,T)=>{io={resolve:x,reject:T}}):m};(()=>{for(let h of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])t[h]=u(t[h])})(),typeof jsepRunAsync<"u"&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,i,l=(u,h)=>{throw h},c=import.meta.url,d="";if(r||n){try{d=new URL(".",c).href}catch{}n&&(i=(u)=>{var h=new XMLHttpRequest;return h.open("GET",u,!1),h.responseType="arraybuffer",h.send(null),new Uint8Array(h.response)}),o=async(u)=>{if(N(u))return new Promise((m,g)=>{var x=new XMLHttpRequest;x.open("GET",u,!0),x.responseType="arraybuffer",x.onload=()=>{x.status==200||x.status==0&&x.response?m(x.response):g(x.status)},x.onerror=g,x.send(null)});var h=await fetch(u,{credentials:"same-origin"});if(h.ok)return h.arrayBuffer();throw Error(h.status+" : "+h.url)}}var f,_,p,w,v,y,b=console.log.bind(console),k=console.error.bind(console),A=b,E=k,C=!1,N=(u)=>u.startsWith("file://");function M(){vr.buffer!=q.buffer&&V()}if(s){let u=function(h){try{var m=h.data,g=m.$c;if(g==="load"){let x=[];self.onmessage=(T)=>x.push(T),y=()=>{postMessage({$c:"loaded"});for(let T of x)u(T);self.onmessage=u};for(let T of m.ue)t[T]&&!t[T].proxy||(t[T]=(...F)=>{postMessage({$c:"callHandler",te:T,args:F})},T=="print"&&(A=t[T]),T=="printErr"&&(E=t[T]));vr=m.Me,V(),_=m.Ne,Fe(),Gs()}else if(g==="run"){(function(x){var T=(M(),P)[x+52>>>2>>>0];x=(M(),P)[x+56>>>2>>>0],tf(T,T-x),re(T)})(m.Xc),yo(m.Xc,0,0,1,0,0),Nu(),so(m.Xc),R||(Dd(),R=!0);try{Ev(m.ze,m.kd)}catch(x){if(x!="unwind")throw x}}else m.target!=="setimmediate"&&(g==="checkMailbox"?R&&Fs():g&&(E(`worker: received unknown command ${g}`),E(m)))}catch(x){throw Yd(),x}};var G=u,R=!1;self.onunhandledrejection=(h)=>{throw h.reason||h},self.onmessage=u}var q,X,Q,H,B,P,Y,ue,Z,se,L,O=!1;function V(){var u=vr.buffer;t.HEAP8=q=new Int8Array(u),Q=new Int16Array(u),t.HEAPU8=X=new Uint8Array(u),H=new Uint16Array(u),t.HEAP32=B=new Int32Array(u),t.HEAPU32=P=new Uint32Array(u),Y=new Float32Array(u),ue=new Float64Array(u),Z=new BigInt64Array(u),se=new BigUint64Array(u)}function de(){O=!0,s?y():dr.hc()}function te(u){throw E(u="Aborted("+u+")"),C=!0,u=new WebAssembly.RuntimeError(u+". Build with -sASSERTIONS for more info."),v?.(u),u}function We(){return{a:{qa:Yb,f:Av,K:Cv,k:Sv,p:Pv,l:Fv,fa:Iv,b:Lv,da:Ov,gc:Gu,q:Nv,ea:Wu,Ua:qu,cc:Hu,ec:Qu,Va:Xu,Sa:Yu,La:Ku,Ra:Ju,oa:Zu,dc:ed,ac:td,Ta:rd,bc:nd,_a:Dv,Ba:Bv,Xb:Rv,Vb:Gv,Aa:Uv,O:jv,J:Wv,Wb:qv,ka:Zv,Yb:ey,Oa:ty,_b:ny,Ea:sy,Tb:ay,Ca:oy,Na:so,Xa:iy,U:dy,n:my,c:ro,qb:gy,w:wy,N:vy,A:yy,j:by,o:dd,rb:My,H:xy,T:ky,g:Ty,u:Ey,m:Ay,i:Cy,Ia:Sy,Ja:Py,Ka:Fy,Ga:pd,Ha:md,Ub:gd,ab:Ly,Za:Dy,Z:zy,pb:By,Da:Ry,Ya:Oy,X:$y,Wa:Gy,$b:Vy,G:Iy,db:Uy,_:jy,pa:Ds,Zb:qy,cb:Wy,bb:Hy,lb:ob,z:ib,sa:lb,ra:cb,nb:ub,Y:db,v:fb,kb:hb,jb:_b,ib:pb,mb,gb,fb:wb,eb:vb,Pa:Cd,Qa:Sd,fc:Ja,W:Pd,Fa:Fd,ma:Id,Ma:Ld,la:Od,Fb:O0,va:C0,Gb:L0,wa:A0,E:_0,e:e0,r:Jb,x:Kb,C:u0,Ib:k0,ca:x0,D:n0,xa:T0,aa:S0,ha:M0,Jb:b0,Kb:y0,za:m0,Lb:w0,ya:v0,Mb:g0,ua:I0,ba:E0,d:Zb,B:r0,s:t0,Eb:N0,t:a0,y:f0,F:s0,I:o0,L:h0,Nb:p0,R:P0,ia:c0,$:F0,Pb:l0,Rb:i0,Ob:d0,h:bb,a:vr,$a:sn,Hb:Mb,V:xb,M:kb,na:Tb,Db:Eb,ja:Ab,S:Cb,Ab:Sb,Bb:Pb,vb:Fb,wb:Ib,P:Lb,xb:Ob,yb:Nb,ta:Db,Sb:zb,ob:Bb,Q:Rb,hb:$b,Cb:Gb,sb:Vb,tb:jb,ub:Wb,ga:qb,zb:Hb,Qb}}}async function Fe(){function u(g,x){var T=dr=g.exports;g={};for(let[F,S]of Object.entries(T))typeof S=="function"?(T=ly(S),g[F]=T):g[F]=S;return dr=g,dr=function(){var F=dr,S=(j)=>(he)=>j(he)>>>0,D=(j)=>()=>j()>>>0;return(F=Object.assign({},F)).ic=S(F.ic),F.Nc=D(F.Nc),F.Pc=S(F.Pc),F.Bd=((j)=>(he,me)=>j(he,me)>>>0)(F.Bd),F.Gd=S(F.Gd),F.Hd=D(F.Hd),F.Ld=S(F.Ld),F}(),Lu.push(dr.sd),Nd=(g=dr).ic,Dd=g.jc,t._OrtInit=g.kc,t._OrtGetLastError=g.lc,t._OrtCreateSessionOptions=g.mc,t._OrtAppendExecutionProvider=g.nc,t._OrtAddFreeDimensionOverride=g.oc,t._OrtAddSessionConfigEntry=g.pc,t._OrtReleaseSessionOptions=g.qc,t._OrtCreateSession=g.rc,t._OrtReleaseSession=g.sc,t._OrtGetInputOutputCount=g.tc,t._OrtGetInputOutputMetadata=g.uc,t._OrtFree=g.vc,t._OrtCreateTensor=g.wc,t._OrtGetTensorData=g.xc,t._OrtReleaseTensor=g.yc,t._OrtCreateRunOptions=g.zc,t._OrtAddRunConfigEntry=g.Ac,t._OrtReleaseRunOptions=g.Bc,t._OrtCreateBinding=g.Cc,t._OrtBindInput=g.Dc,t._OrtBindOutput=g.Ec,t._OrtClearBoundOutputs=g.Fc,t._OrtReleaseBinding=g.Gc,t._OrtRunWithBinding=g.Hc,t._OrtRun=g.Ic,t._OrtEndProfiling=g.Jc,zd=t._OrtCreateWebGpuInstance=g.Kc,t._wgpuCreateInstance=g.Lc,_o=t._OrtGetWebGpuDevice=g.Mc,Rs=g.Nc,Et=t._free=g.Oc,Rr=t._malloc=g.Pc,Bd=t._wgpuBufferRelease=g.Qc,Rd=g.Rc,$d=g.Sc,Gd=g.Tc,Vd=g.Uc,Ud=g.Vc,jd=g.Yc,Wd=g.Zc,qd=g.hd,Hd=g.id,Qd=g.jd,po=g.ld,mo=g.md,go=g.nd,wo=g.od,Qn=g.pd,vo=g.qd,Xd=g.rd,yo=g.ud,Yd=g.vd,Kd=g.wd,Jd=g.xd,bo=g.yd,Zd=g.zd,ef=g.Ad,Mo=g.Bd,_e=g.Cd,Xn=g.Dd,tf=g.Ed,re=g.Fd,$s=g.Gd,ne=g.Hd,rf=g.Id,xo=g.Jd,nf=g.Kd,sf=g.Ld,af=g.Md,ko=g.Nd,of=g.Od,lf=g.Pd,cf=g.Qd,uf=g.Rd,df=g.Sd,ff=g.Td,hf=g.Ud,_f=g.Vd,pf=g.Wd,mf=g.Xd,gf=g.Yd,wf=g.Zd,vf=g._d,yf=g.$d,bf=g.ae,Mf=g.be,xf=g.ce,kf=g.de,Tf=g.fe,Ef=g.ge,Af=g.he,Cf=g.ie,Sf=g.je,Pf=g.ke,Ff=g.le,If=g.me,Lf=g.Ae,Of=g.Be,Nf=g.Ce,Df=g.De,zf=g.Ee,Bf=g.Fe,Rf=g.Ge,$f=g.He,Gf=g.Ie,Vf=g.Je,Uf=g.Ke,jf=g.nf,Wf=g.of,qf=g.pf,Hf=g.qf,_=x,dr}var h,m=We();return t.instantiateWasm?new Promise((g)=>{t.instantiateWasm(m,(x,T)=>{g(u(x,T))})}):s?u(new WebAssembly.Instance(_,We()),_):(L??=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.asyncify.wasm",d):d+"ort-wasm-simd-threaded.asyncify.wasm":new URL("ort-wasm-simd-threaded.asyncify.wasm",import.meta.url).href,h=await async function(g){var x=L;if(!f&&!N(x))try{var T=fetch(x,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(T,g)}catch(F){E(`wasm streaming compile failed: ${F}`),E("falling back to ArrayBuffer instantiation")}return async function(F,S){try{var D=await async function(j){if(!f)try{var he=await o(j);return new Uint8Array(he)}catch{}if(j==L&&f)j=new Uint8Array(f);else{if(!i)throw"both async and sync fetching of the wasm failed";j=i(j)}return j}(F);return await WebAssembly.instantiate(D,S)}catch(j){E(`failed to asynchronously prepare wasm: ${j}`),te(j)}}(x,g)}(m),u(h.instance,h.module))}class be{name="ExitStatus";constructor(u){this.message=`Program terminated with exit(${u})`,this.status=u}}var Ge=(u)=>{u.terminate(),u.onmessage=()=>{}},Oe=[],Me=0,Ye=null,Xt=(u)=>{wr.length==0&&(zu(),Du(wr[0]));var h=wr.pop();if(!h)return 6;qn.push(h),Dr[u.Xc]=h,h.Xc=u.Xc;var m={$c:"run",ze:u.ye,kd:u.kd,Xc:u.Xc};return h.postMessage(m,u.oe),0},xe=0,Ie=(u,h,...m)=>{var g,x=16*m.length,T=ne(),F=$s(x),S=F>>>3;for(g of m)typeof g=="bigint"?((M(),Z)[S++>>>0]=1n,(M(),Z)[S++>>>0]=g):((M(),Z)[S++>>>0]=0n,(M(),ue)[S++>>>0]=g);return u=Kd(u,0,x,F,h),re(T),u};function sn(u){if(s)return Ie(0,1,u);if(p=u,!(0<xe)){for(var h of qn)Ge(h);for(h of wr)Ge(h);wr=[],qn=[],Dr={},C=!0}l(0,new be(u))}function Wn(u){if(s)return Ie(1,0,u);Ja(u)}var Ja=(u)=>{if(p=u,s)throw Wn(u),"unwind";sn(u)},wr=[],qn=[],Lu=[],Dr={},Ou=(u)=>{var h=u.Xc;delete Dr[h],wr.push(u),qn.splice(qn.indexOf(u),1),u.Xc=0,Jd(h)};function Nu(){Lu.forEach((u)=>u())}var Du=(u)=>new Promise((h)=>{u.onmessage=(x)=>{var T=x.data;if(x=T.$c,T.gd&&T.gd!=Rs()){var F=Dr[T.gd];F?F.postMessage(T,T.oe):E(`Internal error! Worker sent a message "${x}" to target pthread ${T.gd}, but that thread no longer exists!`)}else x==="checkMailbox"?Fs():x==="spawnThread"?Xt(T):x==="cleanupThread"?ht(()=>{Ou(Dr[T.Le])}):x==="loaded"?(u.loaded=!0,h(u)):T.target==="setimmediate"?u.postMessage(T):x==="uncaughtException"?u.onerror(T.error):x==="callHandler"?t[T.te](...T.args):x&&E(`worker sent an unknown command ${x}`)},u.onerror=(x)=>{throw E(`worker sent an error! ${x.filename}:${x.lineno}: ${x.message}`),x};var m,g=[];for(m of[])t.propertyIsEnumerable(m)&&g.push(m);u.postMessage({$c:"load",ue:g,Me:vr,Ne:_})});function zu(){var u=new Worker((()=>{let h=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new h("ort.webgpu.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});wr.push(u)}var vr,Ev=(u,h)=>{xe=0,u=ko(u,h),0<xe?p=u:bo(u)},Cs=[],Ss=0,tt=(u)=>-9007199254740992>u||9007199254740992<u?NaN:Number(u);function Av(u){var h=new Ps(u>>>=0);return(M(),q)[h.ad+12>>>0]==0&&(Bu(h,!0),Ss--),Ru(h,!1),Cs.push(h),sf(u)}var an=0,Cv=()=>{_e(0,0);var u=Cs.pop();rf(u.td),an=0};function Bu(u,h){h=h?1:0,(M(),q)[u.ad+12>>>0]=h}function Ru(u,h){h=h?1:0,(M(),q)[u.ad+13>>>0]=h}class Ps{constructor(u){this.td=u,this.ad=u-24}}var Za=(u)=>{var h=an;if(!h)return Xn(0),0;var m=new Ps(h);(M(),P)[m.ad+16>>>2>>>0]=h;var g=(M(),P)[m.ad+4>>>2>>>0];if(!g)return Xn(0),h;for(var x of u){if(x===0||x===g)break;if(nf(x,g,m.ad+16))return Xn(x),h}return Xn(g),h};function Sv(){return Za([])}function Pv(u){return Za([u>>>0])}function Fv(u,h,m,g){return Za([u>>>0,h>>>0,m>>>0,g>>>0])}var Iv=()=>{var u=Cs.pop();u||te("no exception to throw");var h=u.td;throw(M(),q)[u.ad+13>>>0]==0&&(Cs.push(u),Ru(u,!0),Bu(u,!1),Ss++),xo(h),an=h};function Lv(u,h,m){var g=new Ps(u>>>=0);throw h>>>=0,m>>>=0,(M(),P)[g.ad+16>>>2>>>0]=0,(M(),P)[g.ad+4>>>2>>>0]=h,(M(),P)[g.ad+8>>>2>>>0]=m,xo(u),Ss++,an=u}var Ov=()=>Ss;function $u(u,h,m,g){return s?Ie(2,1,u,h,m,g):Gu(u,h,m,g)}function Gu(u,h,m,g){if(u>>>=0,h>>>=0,m>>>=0,g>>>=0,!globalThis.SharedArrayBuffer)return 6;var x=[];return s&&x.length===0?$u(u,h,m,g):(u={ye:m,Xc:u,kd:g,oe:x},s?(u.$c="spawnThread",postMessage(u,x),0):Xt(u))}function Nv(u){throw an||=u>>>0,an}var Vu=globalThis.TextDecoder&&new TextDecoder,Uu=(u,h,m,g)=>{if(m=h+m,g)return m;for(;u[h]&&!(h>=m);)++h;return h},ju=(u,h=0,m,g)=>{if(16<(m=Uu(u,h>>>=0,m,g))-h&&u.buffer&&Vu)return Vu.decode(u.buffer instanceof ArrayBuffer?u.subarray(h,m):u.slice(h,m));for(g="";h<m;){var x=u[h++];if(128&x){var T=63&u[h++];if((224&x)==192)g+=String.fromCharCode((31&x)<<6|T);else{var F=63&u[h++];65536>(x=(240&x)==224?(15&x)<<12|T<<6|F:(7&x)<<18|T<<12|F<<6|63&u[h++])?g+=String.fromCharCode(x):(x-=65536,g+=String.fromCharCode(55296|x>>10,56320|1023&x))}}else g+=String.fromCharCode(x)}return g},on=(u,h,m)=>(u>>>=0)?ju((M(),X),u,h,m):"";function Wu(u,h,m){return s?Ie(3,1,u,h,m):0}function qu(u,h){if(s)return Ie(4,1,u,h)}function Hu(u,h){if(s)return Ie(5,1,u,h)}function Qu(u,h,m){if(s)return Ie(6,1,u,h,m)}function Xu(u,h,m){return s?Ie(7,1,u,h,m):0}function Yu(u,h){if(s)return Ie(8,1,u,h)}function Ku(u,h,m){if(s)return Ie(9,1,u,h,m)}function Ju(u,h,m,g){if(s)return Ie(10,1,u,h,m,g)}function Zu(u,h,m,g){if(s)return Ie(11,1,u,h,m,g)}function ed(u,h,m,g){if(s)return Ie(12,1,u,h,m,g)}function td(u){if(s)return Ie(13,1,u)}function rd(u,h){if(s)return Ie(14,1,u,h)}function nd(u,h,m){if(s)return Ie(15,1,u,h,m)}var Dv=()=>te(""),Yt=(u)=>{u>>>=0;for(var h="";;){var m=(M(),X)[u++>>>0];if(!m)return h;h+=String.fromCharCode(m)}},eo={},to={},zv={},ln=class extends Error{constructor(u){super(u),this.name="BindingError"}};function ir(u,h,m={}){return function(g,x,T={}){var F=x.name;if(!g)throw new ln(`type "${F}" must have a positive integer typeid pointer`);if(to.hasOwnProperty(g)){if(T.ve)return;throw new ln(`Cannot register type '${F}' twice`)}to[g]=x,delete zv[g],eo.hasOwnProperty(g)&&(x=eo[g],delete eo[g],x.forEach((S)=>S()))}(u,h,m)}var sd=(u,h,m)=>{switch(h){case 1:return m?(g)=>(M(),q)[g>>>0]:(g)=>(M(),X)[g>>>0];case 2:return m?(g)=>(M(),Q)[g>>>1>>>0]:(g)=>(M(),H)[g>>>1>>>0];case 4:return m?(g)=>(M(),B)[g>>>2>>>0]:(g)=>(M(),P)[g>>>2>>>0];case 8:return m?(g)=>(M(),Z)[g>>>3>>>0]:(g)=>(M(),se)[g>>>3>>>0];default:throw TypeError(`invalid integer width (${h}): ${u}`)}};function Bv(u,h,m,g,x){u>>>=0,m>>>=0,h=Yt(h>>>0);let T=(F)=>F;if(g=g===0n){let F=8*m;T=(S)=>BigInt.asUintN(F,S),x=T(x)}ir(u,{name:h,Wc:T,cd:(F,S)=>(typeof S=="number"&&(S=BigInt(S)),S),bd:sd(h,m,!g),dd:null})}function Rv(u,h,m,g){ir(u>>>=0,{name:h=Yt(h>>>0),Wc:function(x){return!!x},cd:function(x,T){return T?m:g},bd:function(x){return this.Wc((M(),X)[x>>>0])},dd:null})}var ad=[],zr=[0,1,,1,null,1,!0,1,!1,1];function ro(u){9<(u>>>=0)&&--zr[u+1]===0&&(zr[u]=void 0,ad.push(u))}var Tt=(u)=>{if(!u)throw new ln(`Cannot use deleted val. handle = ${u}`);return zr[u]},Lt=(u)=>{switch(u){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let h=ad.pop()||zr.length;return zr[h]=u,zr[h+1]=1,h}};function no(u){return this.Wc((M(),P)[u>>>2>>>0])}var $v={name:"emscripten::val",Wc:(u)=>{var h=Tt(u);return ro(u),h},cd:(u,h)=>Lt(h),bd:no,dd:null};function Gv(u){return ir(u>>>0,$v)}var Vv=(u,h)=>{switch(h){case 4:return function(m){return this.Wc((M(),Y)[m>>>2>>>0])};case 8:return function(m){return this.Wc((M(),ue)[m>>>3>>>0])};default:throw TypeError(`invalid float width (${h}): ${u}`)}};function Uv(u,h,m){m>>>=0,ir(u>>>=0,{name:h=Yt(h>>>0),Wc:(g)=>g,cd:(g,x)=>x,bd:Vv(h,m),dd:null})}function jv(u,h,m,g,x){u>>>=0,m>>>=0,h=Yt(h>>>0);let T=(S)=>S;if(g===0){var F=32-8*m;T=(S)=>S<<F>>>F,x=T(x)}ir(u,{name:h,Wc:T,cd:(S,D)=>D,bd:sd(h,m,g!==0),dd:null})}function Wv(u,h,m){function g(T){var F=(M(),P)[T>>>2>>>0];return T=(M(),P)[T+4>>>2>>>0],new x((M(),q).buffer,T,F)}var x=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][h];ir(u>>>=0,{name:m=Yt(m>>>0),Wc:g,bd:g},{ve:!0})}var lr=(u,h,m)=>{var g=(M(),X);if(h>>>=0,0<m){var x=h;m=h+m-1;for(var T=0;T<u.length;++T){var F=u.codePointAt(T);if(127>=F){if(h>=m)break;g[h++>>>0]=F}else if(2047>=F){if(h+1>=m)break;g[h++>>>0]=192|F>>6,g[h++>>>0]=128|63&F}else if(65535>=F){if(h+2>=m)break;g[h++>>>0]=224|F>>12,g[h++>>>0]=128|F>>6&63,g[h++>>>0]=128|63&F}else{if(h+3>=m)break;g[h++>>>0]=240|F>>18,g[h++>>>0]=128|F>>12&63,g[h++>>>0]=128|F>>6&63,g[h++>>>0]=128|63&F,T++}}g[h>>>0]=0,u=h-x}else u=0;return u},cr=(u)=>{for(var h=0,m=0;m<u.length;++m){var g=u.charCodeAt(m);127>=g?h++:2047>=g?h+=2:55296<=g&&57343>=g?(h+=4,++m):h+=3}return h};function qv(u,h){ir(u>>>=0,{name:h=Yt(h>>>0),Wc(m){var g=(M(),P)[m>>>2>>>0];return g=on(m+4,g,!0),Et(m),g},cd(m,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var x=typeof g=="string";if(!(x||ArrayBuffer.isView(g)&&g.BYTES_PER_ELEMENT==1))throw new ln("Cannot pass non-string to std::string");var T=x?cr(g):g.length,F=Rr(4+T+1),S=F+4;return(M(),P)[F>>>2>>>0]=T,x?lr(g,S,T+1):(M(),X).set(g,S>>>0),m!==null&&m.push(Et,F),F},bd:no,dd(m){Et(m)}})}var od=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Hv=(u,h,m)=>{if(u>>>=1,16<(h=Uu((M(),H),u,h/2,m))-u&&od)return od.decode((M(),H).slice(u,h));for(m="";u<h;++u){var g=(M(),H)[u>>>0];m+=String.fromCharCode(g)}return m},Qv=(u,h,m)=>{if(m??=2147483647,2>m)return 0;var g=h;m=(m-=2)<2*u.length?m/2:u.length;for(var x=0;x<m;++x){var T=u.charCodeAt(x);(M(),Q)[h>>>1>>>0]=T,h+=2}return(M(),Q)[h>>>1>>>0]=0,h-g},Xv=(u)=>2*u.length,Yv=(u,h,m)=>{var g="";u>>>=2;for(var x=0;!(x>=h/4);x++){var T=(M(),P)[u+x>>>0];if(!T&&!m)break;g+=String.fromCodePoint(T)}return g},Kv=(u,h,m)=>{if(h>>>=0,m??=2147483647,4>m)return 0;var g=h;m=g+m-4;for(var x=0;x<u.length;++x){var T=u.codePointAt(x);if(65535<T&&x++,(M(),B)[h>>>2>>>0]=T,(h+=4)+4>m)break}return(M(),B)[h>>>2>>>0]=0,h-g},Jv=(u)=>{for(var h=0,m=0;m<u.length;++m)65535<u.codePointAt(m)&&m++,h+=4;return h};function Zv(u,h,m){if(u>>>=0,h>>>=0,m=Yt(m>>>=0),h===2)var g=Hv,x=Qv,T=Xv;else g=Yv,x=Kv,T=Jv;ir(u,{name:m,Wc:(F)=>{var S=(M(),P)[F>>>2>>>0];return S=g(F+4,S*h,!0),Et(F),S},cd:(F,S)=>{if(typeof S!="string")throw new ln(`Cannot pass non-string to C++ string type ${m}`);var D=T(S),j=Rr(4+D+h);return(M(),P)[j>>>2>>>0]=D/h,x(S,j+4,D+h),F!==null&&F.push(Et,j),j},bd:no,dd(F){Et(F)}})}function ey(u,h){ir(u>>>=0,{we:!0,name:h=Yt(h>>>0),Wc:()=>{},cd:()=>{}})}function ty(u){yo(u>>>0,!n,1,!r,131072,!1),Nu()}var ht=(u)=>{if(!C)try{if(u(),!(0<xe))try{s?Rs()&&bo(p):Ja(p)}catch(h){h instanceof be||h=="unwind"||l(0,h)}}catch(h){h instanceof be||h=="unwind"||l(0,h)}},ry=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function so(u){u>>>=0,ry||(Atomics.waitAsync((M(),B),u>>>2,u).value.then(Fs),u+=128,Atomics.store((M(),B),u>>>2,1))}var Fs=()=>ht(()=>{var u=Rs();u&&(so(u),ef())});function ny(u,h){(u>>>=0)==h>>>0?setTimeout(Fs):s?postMessage({gd:u,$c:"checkMailbox"}):(u=Dr[u])&&u.postMessage({$c:"checkMailbox"})}var ao=[];function sy(u,h,m,g,x){for(h>>>=0,x>>>=0,ao.length=0,m=x>>>3,g=x+g>>>3;m<g;){var T;T=(M(),Z)[m++>>>0]?(M(),Z)[m++>>>0]:(M(),ue)[m++>>>0],ao.push(T)}return(h?To[h]:Xb[u])(...ao)}var ay=()=>{xe=0};function oy(u){u>>>=0,s?postMessage({$c:"cleanupThread",Le:u}):Ou(Dr[u])}function iy(u){}var Is=(u)=>{try{u()}catch(h){te(h)}};function ly(u){var h=(...m)=>{Ls.push(u);try{return u(...m)}finally{C||(Ls.pop(),Kt&&yr===1&&Ls.length===0&&(yr=0,xe+=1,Is(Wf),typeof Fibers<"u"&&Fibers.We()))}};return cd.set(u,h),h}var yr=0,Kt=null,id=0,Ls=[],oo=new Map,ld=new Map,cd=new Map,cy=0,io=null,uy=[],ud=(u)=>function(h){if(!C){if(yr===0){var m=!1,g=!1;h((x=0)=>{if(!C&&(id=x,m=!0,g)){yr=2,Is(()=>qf(Kt)),typeof MainLoop<"u"&&MainLoop.se&&MainLoop.resume(),x=!1;try{var T=function(){var D=(M(),B)[Kt+8>>>2>>>0];return D=ld.get(D),D=cd.get(D),--xe,D()}()}catch(D){T=D,x=!0}var F=!1;if(!Kt){var S=io;S&&(io=null,(x?S.reject:S.resolve)(T),F=!0)}if(x&&!F)throw T}}),g=!0,m||(yr=1,Kt=function(){var x=Rr(65548),T=x+12;if((M(),P)[x>>>2>>>0]=T,(M(),P)[x+4>>>2>>>0]=T+65536,T=Ls[0],!oo.has(T)){var F=cy++;oo.set(T,F),ld.set(F,T)}return T=oo.get(T),(M(),B)[x+8>>>2>>>0]=T,x}(),typeof MainLoop<"u"&&MainLoop.se&&MainLoop.pause(),Is(()=>jf(Kt)))}else yr===2?(yr=0,Is(Hf),Et(Kt),Kt=null,uy.forEach(ht)):te(`invalid state: ${yr}`);return id}}((h)=>{u().then(h)});function dy(u){return u>>>=0,ud(async()=>{var h=await Tt(u);return Lt(h)})}var lo=[],fy=(u)=>{var h=lo.length;return lo.push(u),h},hy=(u,h)=>{for(var m=Array(u),g=0;g<u;++g){var x=g,T=(M(),P)[h+4*g>>>2>>>0],F=to[T];if(F===void 0)throw u=`parameter ${g}`,T=Nd(T),h=Yt(T),Et(T),new ln(`${u} has unknown type ${h}`);m[x]=F}return m},_y=(u,h,m)=>{var g=[];return u=u(g,m),g.length&&((M(),P)[h>>>2>>>0]=Lt(g)),u},py={},Os=(u)=>{var h=py[u];return h===void 0?Yt(u):h};function my(u,h,m){var[g,...x]=hy(u,h>>>0);h=g.cd.bind(g);var T=x.map((D)=>D.bd.bind(D));u--;var F={toValue:Tt};switch(u=T.map((D,j)=>{var he=`argFromPtr${j}`;return F[he]=D,`${he}(args${j?"+"+8*j:""})`}),m){case 0:var S="toValue(handle)";break;case 2:S="new (toValue(handle))";break;case 3:S="";break;case 1:F.getStringOrSymbol=Os,S="toValue(handle)[getStringOrSymbol(methodName)]"}return S+=`(${u})`,g.we||(F.toReturnWire=h,F.emval_returnValue=_y,S=`return emval_returnValue(toReturnWire, destructorsRef, ${S})`),S=`return function (handle, methodName, destructorsRef, args) {
|
|
6
6
|
${S}
|
|
7
7
|
}`,m=Function(Object.keys(F),S)(...Object.values(F)),S=`methodCaller<(${x.map((D)=>D.name)}) => ${g.name}>`,fy(Object.defineProperty(m,"name",{value:S}))}function gy(u,h){return h>>>=0,(u=Tt(u>>>0))==Tt(h)}function wy(u){return(u>>>=0)?(u=Os(u),Lt(globalThis[u])):Lt(globalThis)}function vy(u){return u=Os(u>>>0),Lt(t[u])}function yy(u,h){return h>>>=0,u=Tt(u>>>0),h=Tt(h),Lt(u[h])}function by(u){9<(u>>>=0)&&(zr[u+1]+=1)}function dd(u,h,m,g,x){return lo[u>>>0](h>>>0,m>>>0,g>>>0,x>>>0)}function My(u,h,m,g,x){return dd(u>>>0,h>>>0,m>>>0,g>>>0,x>>>0)}function xy(){return Lt([])}function ky(u){u=Tt(u>>>0);for(var h=Array(u.length),m=0;m<u.length;m++)h[m]=u[m];return Lt(h)}function Ty(u){return Lt(Os(u>>>0))}function Ey(){return Lt({})}function Ay(u){for(var h=Tt(u>>>=0);h.length;){var m=h.pop();h.pop()(m)}ro(u)}function Cy(u,h,m){h>>>=0,m>>>=0,u=Tt(u>>>0),h=Tt(h),m=Tt(m),u[h]=m}function Sy(u,h){u=tt(u),h>>>=0,u=new Date(1000*u),(M(),B)[h>>>2>>>0]=u.getUTCSeconds(),(M(),B)[h+4>>>2>>>0]=u.getUTCMinutes(),(M(),B)[h+8>>>2>>>0]=u.getUTCHours(),(M(),B)[h+12>>>2>>>0]=u.getUTCDate(),(M(),B)[h+16>>>2>>>0]=u.getUTCMonth(),(M(),B)[h+20>>>2>>>0]=u.getUTCFullYear()-1900,(M(),B)[h+24>>>2>>>0]=u.getUTCDay(),u=(u.getTime()-Date.UTC(u.getUTCFullYear(),0,1,0,0,0,0))/86400000|0,(M(),B)[h+28>>>2>>>0]=u}var fd=(u)=>u%4==0&&(u%100!=0||u%400==0),hd=[0,31,60,91,121,152,182,213,244,274,305,335],_d=[0,31,59,90,120,151,181,212,243,273,304,334];function Py(u,h){u=tt(u),h>>>=0,u=new Date(1000*u),(M(),B)[h>>>2>>>0]=u.getSeconds(),(M(),B)[h+4>>>2>>>0]=u.getMinutes(),(M(),B)[h+8>>>2>>>0]=u.getHours(),(M(),B)[h+12>>>2>>>0]=u.getDate(),(M(),B)[h+16>>>2>>>0]=u.getMonth(),(M(),B)[h+20>>>2>>>0]=u.getFullYear()-1900,(M(),B)[h+24>>>2>>>0]=u.getDay();var m=(fd(u.getFullYear())?hd:_d)[u.getMonth()]+u.getDate()-1|0;(M(),B)[h+28>>>2>>>0]=m,(M(),B)[h+36>>>2>>>0]=-60*u.getTimezoneOffset(),m=new Date(u.getFullYear(),6,1).getTimezoneOffset();var g=new Date(u.getFullYear(),0,1).getTimezoneOffset();u=0|(m!=g&&u.getTimezoneOffset()==Math.min(g,m)),(M(),B)[h+32>>>2>>>0]=u}function Fy(u){u>>>=0;var h=new Date((M(),B)[u+20>>>2>>>0]+1900,(M(),B)[u+16>>>2>>>0],(M(),B)[u+12>>>2>>>0],(M(),B)[u+8>>>2>>>0],(M(),B)[u+4>>>2>>>0],(M(),B)[u>>>2>>>0],0),m=(M(),B)[u+32>>>2>>>0],g=h.getTimezoneOffset(),x=new Date(h.getFullYear(),6,1).getTimezoneOffset(),T=new Date(h.getFullYear(),0,1).getTimezoneOffset(),F=Math.min(T,x);return 0>m?(M(),B)[u+32>>>2>>>0]=+(x!=T&&F==g):0<m!=(F==g)&&(x=Math.max(T,x),h.setTime(h.getTime()+60000*((0<m?F:x)-g))),(M(),B)[u+24>>>2>>>0]=h.getDay(),m=(fd(h.getFullYear())?hd:_d)[h.getMonth()]+h.getDate()-1|0,(M(),B)[u+28>>>2>>>0]=m,(M(),B)[u>>>2>>>0]=h.getSeconds(),(M(),B)[u+4>>>2>>>0]=h.getMinutes(),(M(),B)[u+8>>>2>>>0]=h.getHours(),(M(),B)[u+12>>>2>>>0]=h.getDate(),(M(),B)[u+16>>>2>>>0]=h.getMonth(),(M(),B)[u+20>>>2>>>0]=h.getYear(),u=h.getTime(),BigInt(isNaN(u)?-1:u/1000)}function pd(u,h,m,g,x,T,F){return s?Ie(16,1,u,h,m,g,x,T,F):-52}function md(u,h,m,g,x,T){if(s)return Ie(17,1,u,h,m,g,x,T)}var Hn={},Iy=()=>performance.timeOrigin+performance.now();function gd(u,h){if(s)return Ie(18,1,u,h);if(Hn[u]&&(clearTimeout(Hn[u].id),delete Hn[u]),!h)return 0;var m=setTimeout(()=>{delete Hn[u],ht(()=>Zd(u,performance.timeOrigin+performance.now()))},h);return Hn[u]={id:m,Ve:h},0}function Ly(u,h,m,g){u>>>=0,h>>>=0,m>>>=0,g>>>=0;var x=new Date().getFullYear(),T=new Date(x,0,1).getTimezoneOffset();x=new Date(x,6,1).getTimezoneOffset();var F=Math.max(T,x);(M(),P)[u>>>2>>>0]=60*F,(M(),B)[h>>>2>>>0]=+(T!=x),u=(h=(S)=>{var D=Math.abs(S);return`UTC${0<=S?"-":"+"}${String(Math.floor(D/60)).padStart(2,"0")}${String(D%60).padStart(2,"0")}`})(T),h=h(x),x<T?(lr(u,m,17),lr(h,g,17)):(lr(u,g,17),lr(h,m,17))}var Oy=()=>Date.now(),Ny=1;function Dy(u,h,m){if(m>>>=0,!(0<=u&&3>=u))return 28;if(u===0)u=Date.now();else{if(!Ny)return 52;u=performance.timeOrigin+performance.now()}return u=Math.round(1e6*u),(M(),Z)[m>>>3>>>0]=BigInt(u),0}var co=[],wd=(u,h)=>{co.length=0;for(var m;m=(M(),X)[u++>>>0];){var g=m!=105;h+=(g&=m!=112)&&h%8?4:0,co.push(m==112?(M(),P)[h>>>2>>>0]:m==106?(M(),Z)[h>>>3>>>0]:m==105?(M(),B)[h>>>2>>>0]:(M(),ue)[h>>>3>>>0]),h+=g?8:4}return co};function zy(u,h,m){return u>>>=0,h=wd(h>>>0,m>>>0),To[u](...h)}function By(u,h,m){return u>>>=0,h=wd(h>>>0,m>>>0),To[u](...h)}var Ry=()=>{};function $y(u,h){return E(on(u>>>0,h>>>0))}var Gy=()=>{throw xe+=1,"unwind"};function Vy(){return 4294901760}var Uy=()=>1,jy=()=>navigator.hardwareConcurrency,Br={},vd=(u)=>{var h=cr(u)+1,m=Rr(h);return m&&lr(u,m,h),m},Ns=(u)=>{var h;return(h=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(u))?+h[1]:(h=/:(\d+):\d+(?:\)|$)/.exec(u))?2147483648|+h[1]:0},yd=(u)=>{for(var h of u)(u=Ns(h))&&(Br[u]=h)};function Wy(){var u=Error().stack.toString().split(`
|
|
8
|
-
`);return u[0]=="Error"&&u.shift(),yd(u),Br.ee=Ns(u[3]),Br.xe=u,Br.ee}function Ds(u){if(!(u=Br[u>>>0]))return 0;var h;if(h=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(u))u=h[1];else if(h=/^\s+at (.*) \(.*\)$/.exec(u))u=h[1];else{if(!(h=/^(.+?)@/.exec(u)))return 0;u=h[1]}return
|
|
9
|
-
`))[0]=="Error"&&g.shift(),yd(g);for(var x=3;g[x]&&Ns(g[x])!=u;)++x;for(u=0;u<m&&g[u+x];++u)(M(),B)[h+4*u>>>2>>>0]=Ns(g[u+x]);return u}var Jt=(u)=>{var h=cr(u)+1,m=$s(h);return lr(u,m,h),m},cn=(u)=>(M(),P)[u>>>2>>>0]+4294967296*(M(),B)[u+4>>>2>>>0],rt=[],bd=(u,h)=>{rt[u>>>0]=h},ur=[],zs=[],un=(u,h)=>{zs[u]=new Promise((m)=>h.finally(()=>m(u)))},ee=(u)=>{if(u)return rt[u>>>0]},uo=(u,h)=>{for(u=(M(),P)[u>>>2>>>0];u;u=(M(),P)[u>>>2>>>0])h[(M(),B)[u+4>>>2>>>0]](u)},Bs=(u,h,m)=>{(M(),P)[u>>>2>>>0]=h,(M(),P)[u+4>>>2>>>0]=m},Md=(u)=>{var h=(M(),P)[u>>>2>>>0];return u=(M(),P)[u+4>>>2>>>0],on(h,u)},Ot=(u)=>{var h=(M(),P)[u>>>2>>>0];return u=(M(),P)[u+4>>>2>>>0],h?on(h,u):u===0?"":void 0},Qy=(u)=>{var h=Ot(u+4),m=(m=(M(),P)[u+12>>>2>>>0])?ee(m):"auto";if(u+=16){var g=ee((M(),P)[u+4>>>2>>>0]),x=(M(),P)[u+16>>>2>>>0],T=(M(),P)[u+20>>>2>>>0];if(x){for(var F={},S=0;S<x;++S){var D=T+24*S;F[Md(D+4)]=(M(),ue)[D+16>>>3>>>0]}x=F}else x=void 0;u={module:g,constants:x,entryPoint:Ot(u+8)}}else u=void 0;return{label:h,layout:m,compute:u}},xd=(u,h)=>{function m(T,F,S,D=0){T=u[T]??D,(M(),P)[F+S>>>2>>>0]=T}function g(T,F,S,D=0){F+=S,T=u[T]??D,(M(),P)[F>>>2>>>0]=T,D=(M(),P)[F>>>2>>>0],(M(),P)[F+4>>>2>>>0]=(T-D)/4294967296}var x=(M(),P)[h>>>2>>>0];m("maxTextureDimension1D",h,4),m("maxTextureDimension2D",h,8),m("maxTextureDimension3D",h,12),m("maxTextureArrayLayers",h,16),m("maxBindGroups",h,20),m("maxBindGroupsPlusVertexBuffers",h,24),m("maxBindingsPerBindGroup",h,28),m("maxDynamicUniformBuffersPerPipelineLayout",h,32),m("maxDynamicStorageBuffersPerPipelineLayout",h,36),m("maxSampledTexturesPerShaderStage",h,40),m("maxSamplersPerShaderStage",h,44),m("maxStorageBuffersPerShaderStage",h,48),m("maxStorageTexturesPerShaderStage",h,52),m("maxUniformBuffersPerShaderStage",h,56),m("minUniformBufferOffsetAlignment",h,80),m("minStorageBufferOffsetAlignment",h,84),g("maxUniformBufferBindingSize",h,64),g("maxStorageBufferBindingSize",h,72),m("maxVertexBuffers",h,88),g("maxBufferSize",h,96),m("maxVertexAttributes",h,104),m("maxVertexBufferArrayStride",h,108),m("maxInterStageShaderVariables",h,112),m("maxColorAttachments",h,116),m("maxColorAttachmentBytesPerSample",h,120),m("maxComputeWorkgroupStorageSize",h,124),m("maxComputeInvocationsPerWorkgroup",h,128),m("maxComputeWorkgroupSizeX",h,132),m("maxComputeWorkgroupSizeY",h,136),m("maxComputeWorkgroupSizeZ",h,140),m("maxComputeWorkgroupsPerDimension",h,144),m("maxImmediateSize",h,148),x!==0&&(M(),m("maxStorageBuffersInVertexStage",x,8,u.maxStorageBuffersPerShaderStage),m("maxStorageBuffersInFragmentStage",x,16,u.maxStorageBuffersPerShaderStage),m("maxStorageTexturesInVertexStage",x,12,u.maxStorageTexturesPerShaderStage),m("maxStorageTexturesInFragmentStage",x,20,u.maxStorageTexturesPerShaderStage))},Xy=(u,h)=>{(M(),P)[h+52>>>2>>>0]=u.subgroupMinSize,(M(),P)[h+56>>>2>>>0]=u.subgroupMaxSize;var m=vd(u.vendor+u.architecture+u.device+u.description),g=cr(u.vendor);Bs(h+4,m,g),m+=g,g=cr(u.architecture),Bs(h+12,m,g),m+=g,g=cr(u.device),Bs(h+20,m,g),m+=g,g=cr(u.description),Bs(h+28,m,g),m+=g,(M(),B)[h+36>>>2>>>0]=2,m=u.isFallbackAdapter?3:4,(M(),B)[h+40>>>2>>>0]=m,(M(),P)[h+44>>>2>>>0]=0,(M(),P)[h+48>>>2>>>0]=0,uo(h,{327739:(x)=>{let T=0,F=0;if(u.subgroupMatrixConfigs){T=u.subgroupMatrixConfigs.length,F=Rr(20*T);for(let[S,D]of u.subgroupMatrixConfigs.entries()){let j=F+20*S,he=Td.indexOf(D.componentType),me=Td.indexOf(D.resultComponentType);(M(),B)[j>>>2>>>0]=he,(M(),B)[j+4>>>2>>>0]=me,(M(),P)[j+8>>>2>>>0]=D.M,(M(),P)[j+12>>>2>>>0]=D.N,(M(),P)[j+16>>>2>>>0]=D.K}}(M(),P)[x+12>>>2>>>0]=F,(M(),P)[x+8>>>2>>>0]=T}})},Yy=[,,"uniform","storage","read-only-storage"],Ky=[,"validation","out-of-memory","internal"],Jy=[,"compatibility","core"],kd={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",23:"subgroup-size-control",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect",327732:"chromium-experimental-subgroup-matrix"},Zy=[,"low-power","high-performance"],eb=[,"occlusion","timestamp"],tb=[,,"filtering","non-filtering","comparison"],rb=[,,"write-only","read-only","read-write"],Td=[,"f32","f16","u32","i32","u8","i8"],nb=[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],sb=[,,"float","unfilterable-float","depth","sint","uint"],Ed=[,"1d","2d","2d-array","cube","cube-array","3d"],ab={undefined:1,unknown:1,destroyed:2};function ob(u,h,m,g,x,T){h=tt(h),m=tt(m),g>>>=0,x>>>=0,T>>>=0;var F=ee(u>>>0);if(u={},T){var S=(M(),P)[T+12>>>2>>>0];if(S){var D=(M(),P)[T+16>>>2>>>0];u.requiredFeatures=Array.from((M(),P).subarray(D>>>2>>>0,D+4*S>>>2>>>0),(K)=>kd[K])}if(S=(M(),P)[T+20>>>2>>>0]){let K=function(_t,lt,$r,Gr=!1){lt+=$r,(lt=(M(),P)[lt>>>2>>>0])==4294967295||Gr&<==0||(me[_t]=lt)},Ae=function(_t,lt,$r){lt+=$r,$r=(M(),P)[lt>>>2>>>0];var Gr=(M(),P)[lt+4>>>2>>>0];$r==4294967295&&Gr==4294967295||(me[_t]=cn(lt))};var j=K,he=Ae;D=(M(),P)[S>>>2>>>0];var me={};K("maxTextureDimension1D",S,4),K("maxTextureDimension2D",S,8),K("maxTextureDimension3D",S,12),K("maxTextureArrayLayers",S,16),K("maxBindGroups",S,20),K("maxBindGroupsPlusVertexBuffers",S,24),K("maxBindingsPerBindGroup",S,28),K("maxDynamicUniformBuffersPerPipelineLayout",S,32),K("maxDynamicStorageBuffersPerPipelineLayout",S,36),K("maxSampledTexturesPerShaderStage",S,40),K("maxSamplersPerShaderStage",S,44),K("maxStorageBuffersPerShaderStage",S,48),K("maxStorageTexturesPerShaderStage",S,52),K("maxUniformBuffersPerShaderStage",S,56),K("minUniformBufferOffsetAlignment",S,80),K("minStorageBufferOffsetAlignment",S,84),Ae("maxUniformBufferBindingSize",S,64),Ae("maxStorageBufferBindingSize",S,72),K("maxVertexBuffers",S,88),Ae("maxBufferSize",S,96),K("maxVertexAttributes",S,104),K("maxVertexBufferArrayStride",S,108),K("maxInterStageShaderVariables",S,112),K("maxColorAttachments",S,116),K("maxColorAttachmentBytesPerSample",S,120),K("maxComputeWorkgroupStorageSize",S,124),K("maxComputeInvocationsPerWorkgroup",S,128),K("maxComputeWorkgroupSizeX",S,132),K("maxComputeWorkgroupSizeY",S,136),K("maxComputeWorkgroupSizeZ",S,140),K("maxComputeWorkgroupsPerDimension",S,144),K("maxImmediateSize",S,148,!0),D!==0&&(M(),("maxStorageBuffersInVertexStage"in GPUSupportedLimits.prototype)&&(K("maxStorageBuffersInVertexStage",D,8),K("maxStorageTexturesInVertexStage",D,12),K("maxStorageBuffersInFragmentStage",D,16),K("maxStorageTexturesInFragmentStage",D,20))),u.requiredLimits=me}(S=(M(),P)[T+24>>>2>>>0])&&(S={label:Ot(S+4)},u.defaultQueue=S),u.label=Ot(T+4)}xe+=1,un(h,F.requestDevice(u).then((K)=>{--xe,ht(()=>{rt[x>>>0]=K.queue,rt[g>>>0]=K,xe+=1,un(m,K.lost.then((Ae)=>{ht(()=>{K.onuncapturederror=()=>{};var _t=ne(),lt=Jt(Ae.message);mo(m,ab[Ae.reason],lt),re(_t)}),--xe})),K.onuncapturederror=(Ae)=>{var _t=5;Ae.error instanceof GPUValidationError?_t=2:Ae.error instanceof GPUOutOfMemoryError?_t=3:Ae.error instanceof GPUInternalError&&(_t=4);var lt=ne();Ae=Jt(Ae.error.message),Xd(g,_t,Ae),re(lt)},"adapterInfo"in K||(K.adapterInfo=F.info),vo(h,1,g,0)})},(K)=>{--xe,ht(()=>{var Ae=ne(),_t=Jt(K.message);vo(h,3,g,_t),m&&mo(m,4,_t),re(Ae)})}))}function ib(u){var h=ee(u>>>=0),m=ur[u];if(m){for(var g=0;g<m.length;++g)m[g]();delete ur[u]}h.destroy()}function lb(u,h,m){m>>>=0;var g=ee(u>>>=0);m==4294967295&&(m=void 0);try{var x=g.getMappedRange(h>>>0,m)}catch{return 0}var T=Mo(16,x.byteLength);return(M(),X).set(new Uint8Array(x),T>>>0),ur[u].push(()=>At(T)),T}function cb(u,h,m){m>>>=0;var g=ee(u>>>=0);m==4294967295&&(m=void 0);try{var x=g.getMappedRange(h>>>0,m)}catch{return 0}var T=Mo(16,x.byteLength);return(M(),X).fill(0,T,x.byteLength),ur[u].push(()=>{new Uint8Array(x).set((M(),X).subarray(T>>>0,T+x.byteLength>>>0)),At(T)}),T}function ub(u,h,m,g,x){u>>>=0,h=tt(h),m=tt(m),x>>>=0;var T=ee(u);ur[u]=[],x==4294967295&&(x=void 0),xe+=1,un(h,T.mapAsync(m,g>>>0,x).then(()=>{--xe,ht(()=>{go(h,1,0)})},(F)=>{--xe,ht(()=>{ne();var S=Jt(F.message);go(h,F.name==="AbortError"?4:F.name==="OperationError"?3:0,S),delete ur[u]})}))}function db(u){var h=ee(u>>>=0),m=ur[u];if(m){for(var g=0;g<m.length;++g)m[g]();delete ur[u],h.unmap()}}function fb(u){delete rt[u>>>0]}function hb(u,h,m){u>>>=0,h>>>=0,m>>>=0;var g=!!(M(),P)[h+32>>>2>>>0];h={label:Ot(h+4),usage:(M(),P)[h+16>>>2>>>0],size:cn(h+24),mappedAtCreation:g},u=ee(u);try{var x=u.createBuffer(h)}catch{return!1}return rt[m>>>0]=x,g&&(ur[m]=[]),!0}function _b(u,h,m,g){u>>>=0,h=tt(h),g>>>=0,m=Qy(m>>>0),u=ee(u),xe+=1,un(h,u.createComputePipelineAsync(m).then((x)=>{--xe,ht(()=>{rt[g>>>0]=x,po(h,1,g,0)})},(x)=>{--xe,ht(()=>{var T=ne(),F=Jt(x.message);po(h,x.reason==="validation"?3:x.reason==="internal"?4:0,g,F),re(T)})}))}function pb(u,h,m){u>>>=0,h>>>=0,m>>>=0;var g=(M(),P)[h>>>2>>>0],x=(M(),B)[g+4>>>2>>>0];h={label:Ot(h+4),code:""},x===2&&(h.code=Md(g+8)),u=ee(u).createShaderModule(h),rt[m>>>0]=u}var mb=(u)=>{(u=ee(u)).onuncapturederror=null,u.destroy()};function gb(u,h){h=tt(h),u=ee(u>>>0),xe+=1,un(h,u.popErrorScope().then((m)=>{--xe,ht(()=>{var g=5;m?m instanceof GPUValidationError?g=2:m instanceof GPUOutOfMemoryError?g=3:m instanceof GPUInternalError&&(g=4):g=1;var x=ne(),T=m?Jt(m.message):0;wo(h,1,g,T),re(x)})},(m)=>{--xe,ht(()=>{var g=ne(),x=Jt(m.message);wo(h,1,5,x),re(g)})}))}function wb(u,h,m,g){if(h=tt(h),g>>>=0,m>>>=0){var x={featureLevel:Jy[(M(),B)[m+4>>>2>>>0]],powerPreference:Zy[(M(),B)[m+8>>>2>>>0]],forceFallbackAdapter:!!(M(),P)[m+12>>>2>>>0]};(u=(M(),P)[m>>>2>>>0])!==0&&(M(),x.Ye=!!(M(),P)[u+8>>>2>>>0])}"gpu"in navigator?(xe+=1,un(h,navigator.gpu.requestAdapter(x).then((T)=>{--xe,ht(()=>{if(T)rt[g>>>0]=T,Qn(h,1,g,0);else{var F=ne(),S=Jt("WebGPU not available on this browser (requestAdapter returned null)");Qn(h,3,g,S),re(F)}})},(T)=>{--xe,ht(()=>{var F=ne(),S=Jt(T.message);Qn(h,4,g,S),re(F)})}))):(x=ne(),u=Jt("WebGPU not available on this browser (navigator.gpu is not available)"),Qn(h,3,g,u),re(x))}function vb(u,h,m){return u>>>=0,h>>>=0,m>>>=0,ud(async()=>{var g=[];if(m){var x=(M(),B)[m>>>2>>>0];g.length=h+1,g[h]=new Promise((S)=>setTimeout(S,x,0))}else g.length=h;for(var T=0;T<h;++T){var F=cn(u+8*T);if(!(F in zs))return F;g[T]=zs[F]}return g=await Promise.race(g),delete zs[g],g})}var fo,ho={},Ad=()=>{if(!fo){var u,h={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(u in ho)ho[u]===void 0?delete h[u]:h[u]=ho[u];var m=[];for(u in h)m.push(`${u}=${h[u]}`);fo=m}return fo};function Cd(u,h){if(s)return Ie(19,1,u,h);u>>>=0,h>>>=0;var m,g=0,x=0;for(m of Ad()){var T=h+g;(M(),P)[u+x>>>2>>>0]=T,g+=lr(m,T,1/0)+1,x+=4}return 0}function Sd(u,h){if(s)return Ie(20,1,u,h);u>>>=0,h>>>=0;var m=Ad();for(var g of((M(),P)[u>>>2>>>0]=m.length,u=0,m))u+=cr(g)+1;return(M(),P)[h>>>2>>>0]=u,0}function Pd(u){return s?Ie(21,1,u):52}function Fd(u,h,m,g,x){return s?Ie(22,1,u,h,m,g,x):52}function Id(u,h,m,g){return s?Ie(23,1,u,h,m,g):52}function Ld(u,h,m,g){return s?Ie(24,1,u,h,m,g):70}var yb=[null,[],[]];function Od(u,h,m,g){if(s)return Ie(25,1,u,h,m,g);h>>>=0,m>>>=0,g>>>=0;for(var x=0,T=0;T<m;T++){var F=(M(),P)[h>>>2>>>0],S=(M(),P)[h+4>>>2>>>0];h+=8;for(var D=0;D<S;D++){var j=u,he=(M(),X)[F+D>>>0],me=yb[j];he===0||he===10?((j===1?A:E)(ju(me)),me.length=0):me.push(he)}x+=S}return(M(),P)[g>>>2>>>0]=x,0}function bb(u){return u>>>0}function Mb(u,h){return xd(ee(u>>>0).limits,h>>>0),1}function xb(u,h){return ee(u>>>0).features.has(kd[h])}function kb(u){return BigInt(ee(u>>>0).size)}function Tb(u){return BigInt(ee(u>>>0).usage)}function Eb(u,h){if(u>>>=0,h>>>=0){var m=Ot(h+4);m={label:m,timestampWrites:h=(h=(M(),P)[h+12>>>2>>>0])!==0?{querySet:ee((M(),P)[h+4>>>2>>>0]),beginningOfPassWriteIndex:(M(),P)[h+8>>>2>>>0],endOfPassWriteIndex:(M(),P)[h+12>>>2>>>0]}:void 0}}return h=ee(u),u=Ud(0),m=h.beginComputePass(m),rt[u>>>0]=m,u}function Ab(u,h,m,g){m=tt(m),(g=tt(g))==-1&&(g=void 0),(u=ee(u>>>0)).clearBuffer(ee(h>>>0),m,g)}function Cb(u,h,m,g,x,T){m=tt(m),x=tt(x),T=tt(T),ee(u>>>0).copyBufferToBuffer(ee(h>>>0),m,ee(g>>>0),x,T)}function Sb(u){var h=ee(u>>>0);return u=Gd(0),h=h.finish(),rt[u>>>0]=h,u}function Pb(u,h,m,g,x,T){T=tt(T),ee(u>>>0).resolveQuerySet(ee(h>>>0),m,g,ee(x>>>0),T)}function Fb(u,h,m,g){ee(u>>>0).dispatchWorkgroups(h,m,g)}function Ib(u,h,m){m=tt(m),ee(u>>>0).dispatchWorkgroupsIndirect(ee(h>>>0),m)}function Lb(u){ee(u>>>0).end()}function Ob(u,h,m,g,x){g>>>=0,x>>>=0,u=ee(u>>>0),m=ee(m>>>0),g==0?u.setBindGroup(h,m):u.setBindGroup(h,m,(M(),P),x>>>2,g)}function Nb(u,h){ee(u>>>0).setPipeline(ee(h>>>0))}function Db(u,h,m){ee(u>>>0).Xe(ee(h>>>0),m)}function zb(u,h){function m(x){var T=(M(),P)[x+8>>>2>>>0],F=(M(),P)[x+32>>>2>>>0],S=(M(),P)[x+36>>>2>>>0],D=0;return uo(x,{14:(j)=>{D=(M(),P)[j+8>>>2>>>0]}}),T?((F=cn(x+24))==-1&&(F=void 0),T={buffer:ee(T),offset:cn(x+16),size:F}):T=ee(F||S||D),{binding:(M(),P)[x+4>>>2>>>0],resource:T}}u>>>=0,h={label:Ot((h>>>=0)+4),layout:ee((M(),P)[h+12>>>2>>>0]),entries:function(x,T){for(var F=[],S=0;S<x;++S)F.push(m(T+40*S));return F}((M(),P)[h+16>>>2>>>0],(M(),P)[h+20>>>2>>>0])},u=ee(u);var g=Rd(0);return bd(g,u.createBindGroup(h)),g}function Bb(u,h){function m(D){var j=(M(),P)[D+4>>>2>>>0];if(j)return{type:Yy[j],hasDynamicOffset:!!(M(),P)[D+8>>>2>>>0],minBindingSize:cn(D+16)}}function g(D){if(D=(M(),P)[D+4>>>2>>>0])return{type:tb[D]}}function x(D){var j=(M(),P)[D+4>>>2>>>0];if(j)return{sampleType:sb[j],viewDimension:Ed[(M(),B)[D+8>>>2>>>0]],multisampled:!!(M(),P)[D+12>>>2>>>0]}}function T(D){var j=(M(),P)[D+4>>>2>>>0];if(j)return{access:rb[j],format:nb[(M(),B)[D+8>>>2>>>0]],viewDimension:Ed[(M(),B)[D+12>>>2>>>0]]}}function F(D){var j={binding:(M(),P)[D+4>>>2>>>0],visibility:(M(),P)[D+8>>>2>>>0],buffer:m(D+24),sampler:g(D+48),texture:x(D+56),storageTexture:T(D+72)};return uo(D,{13:()=>{j.externalTexture={}}}),j}u>>>=0,h={label:Ot((h>>>=0)+4),entries:function(D,j){for(var he=[],me=0;me<D;++me)he.push(F(j+88*me));return he}((M(),P)[h+12>>>2>>>0],(M(),P)[h+16>>>2>>>0])},u=ee(u);var S=$d(0);return bd(S,u.createBindGroupLayout(h)),S}function Rb(u,h){var m;return u>>>=0,(h>>>=0)&&(m={label:Ot(h+4)}),h=ee(u),u=Vd(0),m=h.createCommandEncoder(m),rt[u>>>0]=m,u}function $b(u,h){u>>>=0,h>>>=0;for(var m=(M(),P)[h+12>>>2>>>0],g=(M(),P)[h+16>>>2>>>0],x=[],T=0;T<m;++T)x.push(ee((M(),P)[g+4*T>>>2>>>0]));return h={label:Ot(h+4),bindGroupLayouts:x,immediateSize:(M(),P)[h+20>>>2>>>0]},m=ee(u),u=jd(0),h=m.createPipelineLayout(h),rt[u>>>0]=h,u}function Gb(u,h){u>>>=0,h>>>=0,h={type:eb[(M(),B)[h+12>>>2>>>0]],count:(M(),P)[h+16>>>2>>>0]};var m=ee(u);return u=Wd(0),h=m.createQuerySet(h),rt[u>>>0]=h,u}function Vb(u,h){return Xy(ee(u>>>0).adapterInfo,h>>>0),1}var Ub={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"texture-component-swizzle":22,"subgroup-size-control":23,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729,"chromium-experimental-subgroup-matrix":327732};function jb(u,h){h>>>=0;var m=ee(u>>>0);u=Rr(4*m.features.size);var g=0,x=0;for(let T of m.features)0<=(m=Ub[T])&&((M(),B)[u+g>>>2>>>0]=m,g+=4,x++);(M(),P)[h+4>>>2>>>0]=u,(M(),P)[h>>>2>>>0]=x}function Wb(u,h){return xd(ee(u>>>0).limits,h>>>0),1}function qb(u,h){ee(u>>>0).pushErrorScope(Ky[h])}function Hb(u,h,m){h>>>=0,m>>>=0,u=ee(u>>>0),h=Array.from((M(),B).subarray(m>>>2>>>0,m+4*h>>>2>>>0),(g)=>ee(g)),u.submit(h)}function Qb(u,h,m,g,x){m=tt(m),g>>>=0,x>>>=0,u=ee(u>>>0),h=ee(h>>>0),g=(M(),X).subarray(g>>>0,g+x>>>0),u.writeBuffer(h,m,g,0,x)}s||function(){for(var u=t.numThreads-1;u--;)zu();Oe.push(async()=>{var h=async function(){if(!s)return Promise.all(wr.map(Du))}();Me++,await h,--Me==0&&Ye&&(h=Ye,Ye=null,h())})}(),s||(vr=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),V()),t.wasmBinary&&(f=t.wasmBinary),t.stackSave=()=>ne(),t.stackRestore=(u)=>re(u),t.stackAlloc=(u)=>$s(u),t.setValue=function(u,h,m="i8"){switch(m.endsWith("*")&&(m="*"),m){case"i1":case"i8":(M(),q)[u>>>0]=h;break;case"i16":(M(),Q)[u>>>1>>>0]=h;break;case"i32":(M(),B)[u>>>2>>>0]=h;break;case"i64":(M(),Z)[u>>>3>>>0]=BigInt(h);break;case"float":(M(),Y)[u>>>2>>>0]=h;break;case"double":(M(),ue)[u>>>3>>>0]=h;break;case"*":(M(),P)[u>>>2>>>0]=h;break;default:te(`invalid type for setValue: ${m}`)}},t.getValue=function(u,h="i8"){switch(h.endsWith("*")&&(h="*"),h){case"i1":case"i8":return(M(),q)[u>>>0];case"i16":return(M(),Q)[u>>>1>>>0];case"i32":return(M(),B)[u>>>2>>>0];case"i64":return(M(),Z)[u>>>3>>>0];case"float":return(M(),Y)[u>>>2>>>0];case"double":return(M(),ue)[u>>>3>>>0];case"*":return(M(),P)[u>>>2>>>0];default:te(`invalid type for getValue: ${h}`)}},t.UTF8ToString=on,t.stringToUTF8=lr,t.lengthBytesUTF8=cr;var Nd,Dd,zd,_o,Rs,At,Rr,Bd,Rd,$d,Gd,Vd,Ud,jd,Wd,qd,Hd,Qd,po,mo,go,wo,Qn,vo,Xd,yo,Yd,Kd,Jd,bo,Zd,ef,Mo,_e,Xn,tf,re,$s,ne,rf,xo,nf,sf,af,ko,of,lf,cf,uf,df,ff,hf,_f,pf,mf,gf,wf,vf,yf,bf,Mf,xf,kf,Tf,Ef,Af,Cf,Sf,Pf,Ff,If,Lf,Of,Nf,Df,zf,Bf,Rf,$f,Gf,Vf,Uf,jf,Wf,qf,Hf,dr,Xb=[sn,Wn,$u,Wu,qu,Hu,Qu,Xu,Yu,Ku,Ju,Zu,ed,td,rd,nd,pd,md,gd,Cd,Sd,Pd,Fd,Id,Ld,Od],To={1280444:(u,h,m,g,x)=>{if(t===void 0||!t.ed)return 1;if((u=on(Number(u>>>0))).startsWith("./")&&(u=u.substring(2)),!(u=t.ed.get(u)))return 2;if(h=Number(h>>>0),m=Number(m>>>0),g=Number(g>>>0),h+m>u.byteLength)return 3;try{let T=u.subarray(h,h+m);switch(x){case 0:(M(),X).set(T,g>>>0);break;case 1:t.pe?t.pe(g,T):t.Re(g,T);break;default:return 4}return 0}catch{return 4}},1281268:(u,h,m)=>{t.re(u,(M(),X).subarray(h>>>0,h+m>>>0))},1281332:()=>t.Pe(),1281374:(u)=>{t.qe(u)},1281411:()=>typeof wasmOffsetConverter<"u"};function Yb(){return typeof wasmOffsetConverter<"u"}function Kb(u,h,m,g){var x=ne();try{return _f(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function Jb(u,h,m){var g=ne();try{return df(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function Zb(u){var h=ne();try{of(u)}catch(m){if(re(h),m!==m+0)throw m;_e(1,0)}}function e0(u,h){var m=ne();try{return ko(u,h)}catch(g){if(re(m),g!==g+0)throw g;_e(1,0)}}function t0(u,h,m){var g=ne();try{af(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function r0(u,h){var m=ne();try{pf(u,h)}catch(g){if(re(m),g!==g+0)throw g;_e(1,0)}}function n0(u,h,m,g,x,T,F){var S=ne();try{return uf(u,h,m,g,x,T,F)}catch(D){if(re(S),D!==D+0)throw D;_e(1,0)}}function s0(u,h,m,g,x,T){var F=ne();try{lf(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function a0(u,h,m,g){var x=ne();try{hf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function o0(u,h,m,g,x,T,F){var S=ne();try{gf(u,h,m,g,x,T,F)}catch(D){if(re(S),D!==D+0)throw D;_e(1,0)}}function i0(u,h,m,g,x,T,F){var S=ne();try{wf(u,h,m,g,x,T,F)}catch(D){if(re(S),D!==D+0)throw D;_e(1,0)}}function l0(u,h,m,g,x,T,F,S){var D=ne();try{Cf(u,h,m,g,x,T,F,S)}catch(j){if(re(D),j!==j+0)throw j;_e(1,0)}}function c0(u,h,m,g,x,T,F,S,D,j,he,me){var K=ne();try{vf(u,h,m,g,x,T,F,S,D,j,he,me)}catch(Ae){if(re(K),Ae!==Ae+0)throw Ae;_e(1,0)}}function u0(u,h,m,g,x){var T=ne();try{return mf(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;_e(1,0)}}function d0(u,h,m,g,x,T){var F=ne();try{Sf(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function f0(u,h,m,g,x){var T=ne();try{cf(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;_e(1,0)}}function h0(u,h,m,g,x,T,F,S){var D=ne();try{ff(u,h,m,g,x,T,F,S)}catch(j){if(re(D),j!==j+0)throw j;_e(1,0)}}function _0(u){var h=ne();try{return Pf(u)}catch(m){if(re(h),m!==m+0)throw m;_e(1,0)}}function p0(u,h,m,g,x,T,F,S,D){var j=ne();try{bf(u,h,m,g,x,T,F,S,D)}catch(he){if(re(j),he!==he+0)throw he;_e(1,0)}}function m0(u,h,m){var g=ne();try{return Ff(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function g0(u,h){var m=ne();try{return Uf(u,h)}catch(g){if(re(m),g!==g+0)throw g;return _e(1,0),0n}}function w0(u,h,m,g){var x=ne();try{return If(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function v0(u){var h=ne();try{return yf(u)}catch(m){if(re(h),m!==m+0)throw m;return _e(1,0),0n}}function y0(u,h,m,g){var x=ne();try{return Lf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function b0(u,h,m,g,x){var T=ne();try{return Of(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;_e(1,0)}}function M0(u,h,m,g,x,T){var F=ne();try{return Nf(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function x0(u,h,m,g,x,T){var F=ne();try{return Ef(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function k0(u,h,m,g,x,T){var F=ne();try{return Df(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function T0(u,h,m,g,x,T,F,S){var D=ne();try{return Af(u,h,m,g,x,T,F,S)}catch(j){if(re(D),j!==j+0)throw j;_e(1,0)}}function E0(u,h,m,g,x){var T=ne();try{return zf(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;return _e(1,0),0n}}function A0(u,h,m,g){var x=ne();try{return Bf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function C0(u,h,m,g){var x=ne();try{return Rf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function S0(u,h,m,g,x,T,F,S,D,j,he,me){var K=ne();try{return $f(u,h,m,g,x,T,F,S,D,j,he,me)}catch(Ae){if(re(K),Ae!==Ae+0)throw Ae;_e(1,0)}}function P0(u,h,m,g,x,T,F,S,D,j,he){var me=ne();try{Gf(u,h,m,g,x,T,F,S,D,j,he)}catch(K){if(re(me),K!==K+0)throw K;_e(1,0)}}function F0(u,h,m,g,x,T,F,S,D,j,he,me,K,Ae,_t,lt){var $r=ne();try{Vf(u,h,m,g,x,T,F,S,D,j,he,me,K,Ae,_t,lt)}catch(Gr){if(re($r),Gr!==Gr+0)throw Gr;_e(1,0)}}function I0(u,h,m){var g=ne();try{return xf(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;return _e(1,0),0n}}function L0(u,h,m){var g=ne();try{return Mf(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function O0(u,h,m){var g=ne();try{return kf(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function N0(u,h,m,g){var x=ne();try{Tf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function Gs(){if(0<Me)Ye=Gs;else if(s)w?.(t),de();else{for(var u=Oe;0<u.length;)u.shift()(t);0<Me?Ye=Gs:(t.calledRun=!0,C||(de(),w?.(t)))}}return s||(dr=await Fe(),Gs()),t.PTR_SIZE=4,t.webgpuInit=(u)=>{let h=new WeakMap,m,g,x=1;t.webgpuRegisterDevice=(S)=>{if(g!==void 0)throw Error("another WebGPU EP inference session is being created.");if(S){var D=h.get(S);if(!D){let j=((he,me=0)=>{var K=Qd(me);return me=Hd(me,K),rt[K>>>0]=he.queue,rt[me>>>0]=he,me})(S,D=zd());D=[x++,D,j],h.set(S,D)}return m=S,g=D[0],D}m=void 0,g=0};let T=new Map;t.webgpuOnCreateSession=(S)=>{if(g!==void 0){var D=g;if(g=void 0,S){let j=_o(D);T.set(S,j),D===0&&u(m??ee(j))}m=void 0}},t.webgpuOnReleaseSession=(S)=>{T.delete(S)};let F=Symbol("gpuBufferMetadata");t.webgpuRegisterBuffer=(S,D,j)=>{if(j)return S[F]=[j,NaN],j;if(j=S[F])return j[1]++,j[0];if((D=T.get(D))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");return D=((he,me=0)=>(he.mapState==="unmapped"||te(),me=qd(me),rt[me>>>0]=he,me))(S,D),S[F]=[D,1],D},t.webgpuUnregisterBuffer=(S)=>{let D=S[F];if(!D)throw Error("Buffer is not registered");D[1]--,D[1]===0&&(Bd(D[0]),delete S[F])},t.webgpuGetBuffer=(S)=>ee(S),t.webgpuCreateDownloader=(S,D,j)=>{if((j=T.get(j))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");let he=ee(j),me=16*Math.ceil(Number(D)/16);return async()=>{let K=he.createBuffer({size:me,usage:9});try{let Ae=he.createCommandEncoder();return Ae.copyBufferToBuffer(S,0,K,0,me),he.queue.submit([Ae.finish()]),await K.mapAsync(GPUMapMode.READ),K.getMappedRange().slice(0,D)}finally{K.destroy()}}},t.pe=(S,D)=>{var j=D.buffer;let he=D.byteOffset,me=D.byteLength;if(D=16*Math.ceil(Number(me)/16),S=ee(S),!m){var K=_o(g);m=ee(K)}let Ae=(K=m.createBuffer({mappedAtCreation:!0,size:D,usage:6})).getMappedRange();new Uint8Array(Ae).set(new Uint8Array(j,he,me)),K.unmap(),(j=m.createCommandEncoder()).copyBufferToBuffer(K,0,S,0,D),m.queue.submit([j.finish()]),K.destroy()}},t.webnnInit=(u)=>{let h=u[0];[t.Pe,t.qe,t.webnnEnsureTensor,t.re,t.webnnDownloadTensor,t.Oe,t.webnnEnableTraceEvent]=u.slice(1),t.webnnReleaseTensorId=t.qe,t.webnnUploadTensor=t.re,t.webnnRegisterMLContext=t.Oe,t.webnnOnRunStart=(m)=>h.onRunStart(m),t.webnnOnRunEnd=h.onRunEnd.bind(h),t.webnnOnReleaseSession=(m)=>{h.onReleaseSession(m)},t.webnnCreateMLTensorDownloader=(m,g)=>h.createMLTensorDownloader(m,g),t.webnnRegisterMLTensor=(m,g,x,T)=>h.registerMLTensor(m,g,x,T),t.webnnCreateMLContext=(m)=>h.createMLContext(m),t.webnnRegisterGraphInput=h.registerGraphInput.bind(h),t.webnnIsGraphInput=h.isGraphInput.bind(h),t.webnnRegisterGraphOutput=h.registerGraphOutput.bind(h),t.webnnIsGraphOutput=h.isGraphOutput.bind(h),t.webnnCreateTemporaryTensor=h.createTemporaryTensor.bind(h),t.webnnIsGraphInputOutputTypeSupported=h.isGraphInputOutputTypeSupported.bind(h)},O?t:new Promise((u,h)=>{w=u,v=h})}var Uh,Yf,tM=we(()=>{Uh=Xf,Yf=globalThis.self?.name?.startsWith("em-pthread"),Yf&&Xf()}),Fo,Ho,Kf,vt,jh,Us,Jf,Zf,Io,eh,Lo,Wh,Oo,qh,ti=we(()=>{ei(),Fo=typeof location>"u"?void 0:location.origin,Ho=import.meta.url>"file:"&&import.meta.url<"file;",Kf=()=>{if(Ho)return new URL(new URL("ort.webgpu.bundle.min.mjs",import.meta.url).href,Fo).href;return import.meta.url},vt=Kf(),jh=()=>{if(vt&&!vt.startsWith("blob:"))return vt.substring(0,vt.lastIndexOf("/")+1)},Us=(e,t)=>{try{let r=t??vt;return(r?new URL(e,r):new URL(e)).origin===Fo}catch{return!1}},Jf=(e,t)=>{let r=t??vt;try{return(r?new URL(e,r):new URL(e)).href}catch{return}},Zf=(e,t)=>`${t??"./"}${e}`,Io=async(e)=>{let t=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(t)},eh=async(e)=>(await import(e)).default,Lo=(eM(),Qs($h)).default,Wh=async()=>{if(!vt)throw Error("Failed to load proxy worker: cannot determine the script source URL.");if(Us(vt))return[void 0,Lo()];let e=await Io(vt);return[e,Lo(e)]},Oo=(tM(),Qs(Vh)).default,qh=async(e,t,r,n)=>{let s=Oo&&!(e||t);if(s)if(vt)s=Us(vt)||n&&!r;else if(n&&!r)s=!0;else throw Error("cannot determine the script source URL.");if(s)return[void 0,Oo];{let a="ort-wasm-simd-threaded.asyncify.mjs",o=e??Jf(a,t),i=r&&o&&!Us(o,t),l=i?await Io(o):o??Zf(a,t);return[i?l:void 0,await eh(l)]}}}),No,js,Kn,Do,th,rh,nh,ri,Le,Yr=we(()=>{ti(),js=!1,Kn=!1,Do=!1,th=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},rh=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},nh=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},ri=async(e)=>{if(js)return Promise.resolve();if(Kn)throw Error("multiple calls to 'initializeWebAssembly()' detected.");if(Do)throw Error("previous call to 'initializeWebAssembly()' failed.");Kn=!0;let{initTimeout:t,numThreads:r}=e;if(e.simd!==!1){if(e.simd==="relaxed"){if(!nh())throw Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!rh())throw Error("WebAssembly SIMD is not supported in the current environment.")}let n=th();r>1&&!n&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=r=1);let s=e.wasmPaths,a=typeof s=="string"?s:void 0,o=s?.mjs,i=o?.href??o,l=s?.wasm,c=l?.href??l,d=e.wasmBinary,[f,_]=await qh(i,a,r>1,!!d||!!c),p=!1,w=[];if(t>0&&w.push(new Promise((v)=>{setTimeout(()=>{p=!0,v()},t)})),w.push(new Promise((v,y)=>{let b={numThreads:r};if(d)b.wasmBinary=d,b.locateFile=(k)=>k;else if(c||a)b.locateFile=(k)=>c??a+k;else if(i&&i.indexOf("blob:")!==0)b.locateFile=(k)=>new URL(k,i).href;else if(f){let k=jh();k&&(b.locateFile=(A)=>k+A)}_(b).then((k)=>{Kn=!1,js=!0,No=k,v(),f&&URL.revokeObjectURL(f)},(k)=>{Kn=!1,Do=!0,y(k)})})),await Promise.race(w),p)throw Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Le=()=>{if(js&&No)return No;throw Error("WebAssembly is not initialized yet.")}}),yt,Ys,ke,ni=we(()=>{Yr(),yt=(e,t)=>{let r=Le(),n=r.lengthBytesUTF8(e)+1,s=r._malloc(n);return r.stringToUTF8(e,s,n),t.push(s),s},Ys=(e,t,r,n)=>{if(typeof e=="object"&&e!==null){if(r.has(e))throw Error("Circular reference in options");r.add(e)}Object.entries(e).forEach(([s,a])=>{let o=t?t+s:s;if(typeof a=="object")Ys(a,o+".",r,n);else if(typeof a=="string"||typeof a=="number")n(o,a.toString());else if(typeof a=="boolean")n(o,a?"1":"0");else throw Error(`Can't handle extra config type: ${typeof a}`)})},ke=(e)=>{let t=Le(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetLastError(s,s+n);let a=Number(t.getValue(s,n===4?"i32":"i64")),o=t.getValue(s+n,"*"),i=o?t.UTF8ToString(o):"";throw Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(r)}}}),Hh,rM=we(()=>{Yr(),ni(),Hh=(e)=>{let t=Le(),r=0,n=[],s=e||{};try{if(e?.logSeverityLevel===void 0)s.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)s.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(s.terminate=!1);let a=0;return e?.tag!==void 0&&(a=yt(e.tag,n)),r=t._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,a),r===0&&ke("Can't create run options."),e?.extra!==void 0&&Ys(e.extra,"",new WeakSet,(o,i)=>{let l=yt(o,n),c=yt(i,n);t._OrtAddRunConfigEntry(r,l,c)!==0&&ke(`Can't set a run config entry: ${o} - ${i}.`)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseRunOptions(r),n.forEach((o)=>t._free(o)),a}}}),sh,ah,oh,dn,Zt,ih,Qh,nM=we(()=>{Yr(),ni(),sh=(e)=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${e}`)}},ah=(e)=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${e}`)}},oh=(e)=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some((r)=>(typeof r=="string"?r:r.name)==="webgpu")&&(e.enableMemPattern=!1)},dn=(e,t,r,n)=>{let s=yt(t,n),a=yt(r,n);Le()._OrtAddSessionConfigEntry(e,s,a)!==0&&ke(`Can't set a session config entry: ${t} - ${r}.`)},Zt=(e,t,r,n)=>{let s=yt(t,n),a=yt(r,n);e.push([s,a])},ih=async(e,t,r)=>{let n=t.executionProviders;for(let s of n){let a=typeof s=="string"?s:s.name,o=[];switch(a){case"webnn":if(a="WEBNN",dn(e,"session.disable_quant_qdq","1",r),dn(e,"session.disable_qdq_constant_folding","1",r),typeof s!="string"){let f=s?.deviceType;f&&dn(e,"deviceType",f,r)}break;case"webgpu":{a="WebGPU";let f;if(typeof s!="string"){let p=s;if(p.device)if(typeof GPUDevice<"u"&&p.device instanceof GPUDevice)f=p.device;else throw Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:w}=t;if(typeof w=="boolean"&&w&&Zt(o,"enableGraphCapture","1",r),typeof p.preferredLayout=="string"&&Zt(o,"preferredLayout",p.preferredLayout,r),p.forceCpuNodeNames){let v=Array.isArray(p.forceCpuNodeNames)?p.forceCpuNodeNames:[p.forceCpuNodeNames];Zt(o,"forceCpuNodeNames",v.join(`
|
|
10
|
-
`),r)}p.validationMode&&Zt(o,"validationMode",p.validationMode,r),typeof p.enableMatmulFp32Accumulation=="boolean"&&Zt(o,"enableMatmulFp32Accumulation",p.enableMatmulFp32Accumulation?"1":"0",r);for(let v of["storageBufferCacheMode","uniformBufferCacheMode","queryResolveBufferCacheMode","defaultBufferCacheMode"]){let y=p[v];if(y){if(y!=="disabled"&&y!=="lazyRelease"&&y!=="simple"&&y!=="bucket")throw Error(`${v} must be one of 'disabled', 'lazyRelease', 'simple' or 'bucket': ${y}`);Zt(o,v,y,r)}}}let _=Le().webgpuRegisterDevice(f);if(_){let[p,w,v]=_;Zt(o,"deviceId",p.toString(),r),Zt(o,"webgpuInstance",w.toString(),r),Zt(o,"webgpuDevice",v.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw Error(`not supported execution provider: ${a}`)}let i=yt(a,r),l=o.length,c=0,d=0;if(l>0){c=Le()._malloc(l*Le().PTR_SIZE),r.push(c),d=Le()._malloc(l*Le().PTR_SIZE),r.push(d);for(let f=0;f<l;f++)Le().setValue(c+f*Le().PTR_SIZE,o[f][0],"*"),Le().setValue(d+f*Le().PTR_SIZE,o[f][1],"*")}await Le()._OrtAppendExecutionProvider(e,i,c,d,l)!==0&&ke(`Can't append execution provider: ${a}.`)}},Qh=async(e)=>{let t=Le(),r=0,n=[],s=e||{};oh(s);try{let a=sh(s.graphOptimizationLevel??"all"),o=ah(s.executionMode??"sequential"),i=typeof s.logId=="string"?yt(s.logId,n):0,l=s.logSeverityLevel??2;if(!Number.isInteger(l)||l<0||l>4)throw Error(`log severity level is not valid: ${l}`);let c=s.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw Error(`log verbosity level is not valid: ${c}`);let d=typeof s.optimizedModelFilePath=="string"?yt(s.optimizedModelFilePath,n):0;if(r=t._OrtCreateSessionOptions(a,!!s.enableCpuMemArena,!!s.enableMemPattern,o,!!s.enableProfiling,0,i,l,c,d),r===0&&ke("Can't create session options."),s.executionProviders&&await ih(r,s,n),s.enableGraphCapture!==void 0){if(typeof s.enableGraphCapture!="boolean")throw Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);dn(r,"enableGraphCapture",s.enableGraphCapture.toString(),n)}if(s.freeDimensionOverrides)for(let[f,_]of Object.entries(s.freeDimensionOverrides)){if(typeof f!="string")throw Error(`free dimension override name must be a string: ${f}`);if(typeof _!="number"||!Number.isInteger(_)||_<0)throw Error(`free dimension override value must be a non-negative integer: ${_}`);let p=yt(f,n);t._OrtAddFreeDimensionOverride(r,p,_)!==0&&ke(`Can't set a free dimension override: ${f} - ${_}.`)}return s.extra!==void 0&&Ys(s.extra,"",new WeakSet,(f,_)=>{dn(r,f,_,n)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseSessionOptions(r)!==0&&ke("Can't release session options."),n.forEach((o)=>t._free(o)),a}}}),Wr,Hs,hn,rs,Ks,si,ai,Qo,_n=we(()=>{Wr=(e)=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw Error(`unsupported data type: ${e}`)}},Hs=(e)=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw Error(`unsupported data type: ${e}`)}},hn=(e,t)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,0.5,0.5][e],n=typeof t=="number"?t:t.reduce((s,a)=>s*a,1);return r>0?Math.ceil(n*r):void 0},rs=(e)=>{switch(e){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${e}`)}},Ks=(e)=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${e}`)}},si=(e)=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ai=(e)=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",Qo=(e)=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw Error(`unsupported data location: ${e}`)}}}),oi,Xh=we(()=>{ei(),oi=async(e)=>{if(typeof e=="string"){let t=await fetch(e);if(!t.ok)throw Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),n=r?parseInt(r,10):0;if(n<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw Error(`failed to load external data file: ${e}, no response body.`);let s=t.body.getReader(),a;try{a=new ArrayBuffer(n)}catch(i){if(i instanceof RangeError){let l=Math.ceil(n/65536);a=new WebAssembly.Memory({initial:l,maximum:l}).buffer}else throw i}let o=0;for(;;){let{done:i,value:l}=await s.read();if(i)break;let c=l.byteLength;new Uint8Array(a,o,c).set(l),o+=c}return new Uint8Array(a,0,n)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),Yh,sM=we(()=>{_n(),Yh=(e,t)=>new(rs(t))(e)}),lh,ch,uh,dh,Kh,fh,pt,Jh=we(()=>{_n(),lh=["V","I","W","E","F"],ch=(e,t)=>{console.log(`[${lh[e]},${new Date().toISOString()}]${t}`)},Kh=(e,t)=>{uh=e,dh=t},fh=(e,t)=>{let r=Ks(e),n=Ks(uh);r>=n&&ch(r,typeof t=="function"?t():t)},pt=(...e)=>{dh&&fh(...e)}}),zo,hh,Bo,_h,Ro,ph,$o,Go,Vo,mh,Zh,aM=we(()=>{_n(),Jh(),zo=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),hh=(e,t)=>{if(t==="int32")return e;let r=zo.get(t);if(!r)throw Error(`WebNN backend does not support data type: ${t}`);let n=r/8;if(e.byteLength%n!==0)throw Error(`Invalid Uint8Array length - must be a multiple of ${n}.`);let s=e.byteLength/n,a=new(rs(t))(e.buffer,e.byteOffset,s);switch(t){case"int64":case"uint64":{let o=new Int32Array(s);for(let i=0;i<s;i++){let l=a[i];if(l>2147483647n||l<-2147483648n)throw Error("Can not convert int64 data to int32 - value out of range.");o[i]=Number(l)}return new Uint8Array(o.buffer)}case"int8":case"uint8":case"uint32":{if(t==="uint32"&&a.some((i)=>i>2147483647))throw Error("Can not convert uint32 data to int32 - value out of range.");let o=Int32Array.from(a,Number);return new Uint8Array(o.buffer)}default:throw Error(`Unsupported data conversion from ${t} to 'int32'`)}},Bo=(e,t)=>{if(t==="int32")return e;if(e.byteLength%4!==0)throw Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=e.byteLength/4,n=new Int32Array(e.buffer,e.byteOffset,r);switch(t){case"int64":{let s=BigInt64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"uint64":{if(n.some((a)=>a<0))throw Error("Can not convert int32 data to uin64 - negative value found.");let s=BigUint64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"int8":{if(n.some((a)=>a<-128||a>127))throw Error("Can not convert int32 data to int8 - value out of range.");let s=Int8Array.from(n,Number);return new Uint8Array(s.buffer)}case"uint8":{if(n.some((s)=>s<0||s>255))throw Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(n,Number)}case"uint32":{if(n.some((a)=>a<0))throw Error("Can not convert int32 data to uint32 - negative value found.");let s=Uint32Array.from(n,Number);return new Uint8Array(s.buffer)}default:throw Error(`Unsupported data conversion from 'int32' to ${t}`)}},_h=1,Ro=()=>_h++,ph=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),$o=(e,t)=>{let r=zo.get(e);if(!r)throw Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((n,s)=>n*s)*r/8):0},Go=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:r,tensor:n,dataType:s,shape:a,fallbackDataType:o}=e;this.sessionId=t,this.mlContext=r,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=o}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return $o(this.dataType,this.tensorShape)}destroy(){pt("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let t=await this.mlContext.readTensor(this.mlTensor),r=Bo(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(r);return}else return new Uint8Array(r).buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,r){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===r.length&&this.tensorShape.every((n,s)=>n===r[s])}setIsDataConverted(e){this.isDataConverted=e}},Vo=class{constructor(e,t){this.tensorManager=e,this.wrapper=t}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,t,r,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),o;if(!a?.input.dataTypes.includes(t)){if(o=ph.get(t),!o||!a?.input.dataTypes.includes(o))throw Error(`WebNN backend does not support data type: ${t}`);pt("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${o}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,t,r))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==$o(t,r))throw Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let i=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,r,i,!0,!0,o),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let t=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")t=hh(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else pt("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(t):this.activeUpload=new Uint8Array(t)}async download(e){if(this.activeUpload){let t=this.wrapper?.isDataConverted?Bo(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(t):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(t);return}else return t.buffer}if(!this.wrapper)throw Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},mh=class{constructor(e){this.backend=e,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(e){let t=this.backend.getMLContext(e);if(!t)throw Error("MLContext not found for session.");return t}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Ro();return this.tensorTrackersById.set(e,new Vo(this)),e}releaseTensorId(e){let t=this.tensorTrackersById.get(e);t&&(this.tensorTrackersById.delete(e),t.tensorWrapper&&this.releaseTensor(t.tensorWrapper))}async ensureTensor(e,t,r,n,s){pt("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${r}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(t);if(!a)throw Error("Tensor not found.");return a.ensureTensor(e,r,n,s)}upload(e,t){let r=this.tensorTrackersById.get(e);if(!r)throw Error("Tensor not found.");r.upload(t)}async download(e,t){pt("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let r=this.tensorTrackersById.get(e);if(!r)throw Error("Tensor not found.");return r.download(t)}releaseTensorsForSession(e){for(let t of this.freeTensors)t.sessionId===e&&t.destroy();this.freeTensors=this.freeTensors.filter((t)=>t.sessionId!==e)}registerTensor(e,t,r,n){let s=this.getMLContext(e),a=Ro(),o=new Go({sessionId:e,context:s,tensor:t,dataType:r,shape:n});return this.tensorTrackersById.set(a,new Vo(this,o)),this.externalTensors.add(o),a}async getCachedTensor(e,t,r,n,s,a,o){let i=this.getMLContext(e);for(let[c,d]of this.freeTensors.entries())if(d.canReuseTensor(i,t,r)){pt("verbose",()=>`[WebNN] Reusing tensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}`);let f=this.freeTensors.splice(c,1)[0];return f.sessionId=e,f}pt("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}}`);let l=await i.createTensor({dataType:o??t,shape:r,dimensions:r,usage:n,writable:s,readable:a});return new Go({sessionId:e,context:i,tensor:l,dataType:t,shape:r,fallbackDataType:o})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Zh=(...e)=>new mh(...e)}),e_={};ns(e_,{WebNNBackend:()=>t_});var Jn,gh,t_,oM=we(()=>{_n(),Yr(),sM(),aM(),Jh(),Jn=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),gh=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let r=Object.keys(e).sort(),n=Object.keys(t).sort();return r.length===n.length&&r.every((s,a)=>s===n[a]&&e[s]===t[s])},t_=class{constructor(e){this.tensorManager=Zh(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,this.mlOpSupportLimitsBySessionId=new Map,Kh(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw Error("No active session");return this.activeSessionId}onRunStart(e){pt("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){pt("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let r of t)pt("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let r=this.mlContextCache.findIndex((n)=>n.gpuDevice===e);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let r=this.mlContextCache.findIndex((n)=>n.options===void 0&&n.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let t=this.mlContextCache.findIndex((r)=>gh(r.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let r=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:r}),r}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let r=this.sessionIdsByMLContext.get(t);r||(r=new Set,this.sessionIdsByMLContext.set(t,r)),r.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,t.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let t=this.mlContextBySessionId.get(e);if(!t)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let r=this.sessionIdsByMLContext.get(t);if(r.delete(e),r.size===0){this.sessionIdsByMLContext.delete(t);let n=this.mlContextCache.findIndex((s)=>s.mlContext===t);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){pt("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,r,n,s){let a=Jn.get(r);if(!a)throw Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,a,n,s)}async createTemporaryTensor(e,t,r){pt("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${r}}`);let n=Jn.get(t);if(!n)throw Error(`Unsupported ONNX data type: ${t}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,r,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,t){if(!Le().shouldTransferToMLTensor)throw Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");pt("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${t.byteLength}}`),this.tensorManager.upload(e,t)}async downloadTensor(e,t){return this.tensorManager.download(e,t)}createMLTensorDownloader(e,t){return async()=>{let r=await this.tensorManager.download(e);return Yh(r,t)}}registerMLTensor(e,t,r,n){let s=Jn.get(r);if(!s)throw Error(`Unsupported ONNX data type: ${r}`);let a=this.tensorManager.registerTensor(e,t,s,n);return pt("verbose",()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let r=this.sessionGraphInputs.get(e);return r?r.includes(t):!1}isGraphOutput(e,t){let r=this.sessionGraphOutputs.get(e);return r?r.includes(t):!1}isGraphInputOutputTypeSupported(e,t,r=!0){let n=Jn.get(Wr(t)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:r?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}}),wh,ii,li,Mr,vh,Uo,Js,ci,ui,jo,di,fi,hi,r_=we(()=>{Xr(),rM(),nM(),_n(),Yr(),ni(),Xh(),wh=(e,t)=>{Le()._OrtInit(e,t)!==0&&ke("Can't initialize onnxruntime.")},ii=async(e)=>{wh(e.wasm.numThreads,Ks(e.logLevel))},li=async(e,t)=>{Le().asyncInit?.();let r=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let n=e.webgpu.powerPreference;if(n!==void 0&&n!=="low-power"&&n!=="high-performance")throw Error(`Invalid powerPreference setting: "${n}"`);let s=e.webgpu.forceFallbackAdapter;if(s!==void 0&&typeof s!="boolean")throw Error(`Invalid forceFallbackAdapter setting: "${s}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:n,forceFallbackAdapter:s}),!r)throw Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw Error("WebNN is not supported in current environment");if(t==="webgpu"&&Le().webgpuInit((n)=>{e.webgpu.device=n}),t==="webnn"){let n=new(oM(),Qs(e_)).WebNNBackend(e);Le().webnnInit([n,()=>n.reserveTensorId(),(s)=>n.releaseTensorId(s),async(s,a,o,i,l)=>n.ensureTensor(s,a,o,i,l),(s,a)=>{n.uploadTensor(s,a)},async(s,a)=>n.downloadTensor(s,a),(s,a)=>n.registerMLContext(s,a),!!e.trace])}},Mr=new Map,vh=(e)=>{let t=Le(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetInputOutputCount(e,s,s+n)!==0&&ke("Can't get session input/output count.");let a=n===4?"i32":"i64";return[Number(t.getValue(s,a)),Number(t.getValue(s+n,a))]}finally{t.stackRestore(r)}},Uo=(e,t)=>{let r=Le(),n=r.stackSave(),s=0;try{let a=r.PTR_SIZE,o=r.stackAlloc(2*a);r._OrtGetInputOutputMetadata(e,t,o,o+a)!==0&&ke("Can't get session input/output metadata.");let i=Number(r.getValue(o,"*"));s=Number(r.getValue(o+a,"*"));let l=r.HEAP32[s/4];if(l===0)return[i,0];let c=r.HEAPU32[s/4+1],d=[];for(let f=0;f<c;f++){let _=Number(r.getValue(s+8+f*a,"*"));d.push(_!==0?r.UTF8ToString(_):Number(r.getValue(s+8+(f+c)*a,"*")))}return[i,l,d]}finally{r.stackRestore(n),s!==0&&r._OrtFree(s)}},Js=(e)=>{let t=Le(),r=t._malloc(e.byteLength);if(r===0)throw Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},ci=async(e,t)=>{let r,n,s=Le();Array.isArray(e)?[r,n]=e:e.buffer===s.HEAPU8.buffer?[r,n]=[e.byteOffset,e.byteLength]:[r,n]=Js(e);let a=0,o=0,i=0,l=[],c=[],d=[];try{if([o,l]=await Qh(t),t?.externalData&&s.mountExternalData){let E=[];for(let C of t.externalData){let N=typeof C=="string"?C:C.path,M=typeof C=="string"?C:C.data;E.push(oi(M).then((G)=>{s.mountExternalData(N,G)}))}await Promise.all(E)}for(let E of t?.executionProviders??[])if((typeof E=="string"?E:E.name)==="webnn"){if(s.shouldTransferToMLTensor=!1,typeof E!="string"){let C=E,N=C?.context,M=C?.gpuDevice,G=C?.deviceType,R=C?.powerPreference;N?s.currentContext=N:M?s.currentContext=await s.webnnCreateMLContext(M):s.currentContext=await s.webnnCreateMLContext({deviceType:G,powerPreference:R})}else s.currentContext=await s.webnnCreateMLContext();break}a=await s._OrtCreateSession(r,n,o),s.webgpuOnCreateSession?.(a),a===0&&ke("Can't create a session."),s.jsepOnCreateSession?.(),s.currentContext&&(s.webnnRegisterMLContext(a,s.currentContext),s.currentContext=void 0,s.shouldTransferToMLTensor=!0);let[f,_]=vh(a),p=!!t?.enableGraphCapture,w=[],v=[],y=[],b=[],k=[];for(let E=0;E<f;E++){let[C,N,M]=Uo(a,E);C===0&&ke("Can't get an input name."),c.push(C);let G=s.UTF8ToString(C);w.push(G),y.push(N===0?{name:G,isTensor:!1}:{name:G,isTensor:!0,type:Hs(N),shape:M})}for(let E=0;E<_;E++){let[C,N,M]=Uo(a,E+f);C===0&&ke("Can't get an output name."),d.push(C);let G=s.UTF8ToString(C);v.push(G),b.push(N===0?{name:G,isTensor:!1}:{name:G,isTensor:!0,type:Hs(N),shape:M});{if(p&&t?.preferredOutputLocation===void 0){k.push("gpu-buffer");continue}let R=typeof t?.preferredOutputLocation=="string"?t.preferredOutputLocation:t?.preferredOutputLocation?.[G]??"cpu",q=s.webnnIsGraphOutput;if(R==="cpu"&&q&&q(a,G)){k.push("ml-tensor-cpu-output");continue}if(R!=="cpu"&&R!=="cpu-pinned"&&R!=="gpu-buffer"&&R!=="ml-tensor")throw Error(`Not supported preferred output location: ${R}.`);if(p&&R!=="gpu-buffer")throw Error(`Not supported preferred output location: ${R}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);k.push(R)}}let A=null;return k.some((E)=>E==="gpu-buffer"||E==="ml-tensor"||E==="ml-tensor-cpu-output")&&(i=s._OrtCreateBinding(a),i===0&&ke("Can't create IO binding."),A={handle:i,outputPreferredLocations:k,outputPreferredLocationsEncoded:k.map((E)=>E==="ml-tensor-cpu-output"?"ml-tensor":E).map((E)=>Qo(E))}),Mr.set(a,[a,c,d,A,p,!1]),[a,w,v,y,b]}catch(f){throw c.forEach((_)=>s._OrtFree(_)),d.forEach((_)=>s._OrtFree(_)),i!==0&&s._OrtReleaseBinding(i)!==0&&ke("Can't release IO binding."),a!==0&&s._OrtReleaseSession(a)!==0&&ke("Can't release session."),f}finally{s._free(r),o!==0&&s._OrtReleaseSessionOptions(o)!==0&&ke("Can't release session options."),l.forEach((f)=>s._free(f)),s.unmountExternalData?.()}},ui=(e)=>{let t=Le(),r=Mr.get(e);if(!r)throw Error(`cannot release session. invalid session id: ${e}`);let[n,s,a,o,i]=r;o&&(i&&t._OrtClearBoundOutputs(o.handle)!==0&&ke("Can't clear bound outputs."),t._OrtReleaseBinding(o.handle)!==0&&ke("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),s.forEach((l)=>t._OrtFree(l)),a.forEach((l)=>t._OrtFree(l)),t._OrtReleaseSession(n)!==0&&ke("Can't release session."),Mr.delete(e)},jo=async(e,t,r,n,s,a,o=!1)=>{if(!e){t.push(0);return}let i=Le(),l=i.PTR_SIZE,c=e[0],d=e[1],f=e[3],_=f,p,w;if(c==="string"&&(f==="gpu-buffer"||f==="ml-tensor"))throw Error("String tensor is not supported on GPU.");if(o&&f!=="gpu-buffer")throw Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(f==="gpu-buffer"){let b=e[2].gpuBuffer;w=hn(Wr(c),d);{let k=i.webgpuRegisterBuffer;if(!k)throw Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=k(b,n)}}else if(f==="ml-tensor"){let b=e[2].mlTensor;w=hn(Wr(c),d);let k=i.webnnRegisterMLTensor;if(!k)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=k(n,b,Wr(c),d)}else{let b=e[2];if(Array.isArray(b)){w=l*b.length,p=i._malloc(w),r.push(p);for(let k=0;k<b.length;k++){if(typeof b[k]!="string")throw TypeError(`tensor data at index ${k} is not a string`);i.setValue(p+k*l,yt(b[k],r),"*")}}else{let{webnnIsGraphInput:k,webnnIsGraphOutput:A}=i;if(c!=="string"&&k&&A){let E=i.UTF8ToString(s);if(k(n,E)||A(n,E)){let C=Wr(c);w=hn(C,d),_="ml-tensor";let{webnnCreateTemporaryTensor:N,webnnUploadTensor:M}=i;if(!N||!M)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');let G=await N(n,C,d);M(G,new Uint8Array(b.buffer,b.byteOffset,b.byteLength)),p=G}else w=b.byteLength,p=i._malloc(w),r.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,w),p)}else w=b.byteLength,p=i._malloc(w),r.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,w),p)}}let v=i.stackSave(),y=i.stackAlloc(4*d.length);try{d.forEach((k,A)=>i.setValue(y+A*l,k,l===4?"i32":"i64"));let b=i._OrtCreateTensor(Wr(c),p,w,y,d.length,Qo(_));b===0&&ke(`Can't create tensor for input/output. session=${n}, index=${a}.`),t.push(b)}finally{i.stackRestore(v)}},di=async(e,t,r,n,s,a)=>{let o=Le(),i=o.PTR_SIZE,l=Mr.get(e);if(!l)throw Error(`cannot run inference. invalid session id: ${e}`);let c=l[0],d=l[1],f=l[2],_=l[3],p=l[4],w=l[5],v=t.length,y=n.length,b=0,k=[],A=[],E=[],C=[],N=[],M=o.stackSave(),G=o.stackAlloc(v*i),R=o.stackAlloc(v*i),q=o.stackAlloc(y*i),X=o.stackAlloc(y*i);try{[b,k]=Hh(a),kr("wasm prepareInputOutputTensor");for(let P=0;P<v;P++)await jo(r[P],A,C,e,d[t[P]],t[P],p);for(let P=0;P<y;P++)await jo(s[P],E,C,e,f[n[P]],v+n[P],p);Tr("wasm prepareInputOutputTensor");for(let P=0;P<v;P++)o.setValue(G+P*i,A[P],"*"),o.setValue(R+P*i,d[t[P]],"*");for(let P=0;P<y;P++)o.setValue(q+P*i,E[P],"*"),o.setValue(X+P*i,f[n[P]],"*");if(_&&!w){let{handle:P,outputPreferredLocations:Y,outputPreferredLocationsEncoded:ue}=_;if(d.length!==v)throw Error(`input count from feeds (${v}) is expected to be always equal to model's input count (${d.length}).`);kr("wasm bindInputsOutputs");for(let Z=0;Z<v;Z++){let se=t[Z];await o._OrtBindInput(P,d[se],A[Z])!==0&&ke(`Can't bind input[${Z}] for session=${e}.`)}for(let Z=0;Z<y;Z++){let se=n[Z];s[Z]?.[3]?(N.push(E[Z]),o._OrtBindOutput(P,f[se],E[Z],0)!==0&&ke(`Can't bind pre-allocated output[${Z}] for session=${e}.`)):o._OrtBindOutput(P,f[se],0,ue[se])!==0&&ke(`Can't bind output[${Z}] to ${Y[Z]} for session=${e}.`)}Tr("wasm bindInputsOutputs"),Mr.set(e,[c,d,f,_,p,!0])}o.jsepOnRunStart?.(c),o.webnnOnRunStart?.(c);let Q;_?Q=await o._OrtRunWithBinding(c,_.handle,y,q,b):Q=await o._OrtRun(c,R,G,v,X,y,q,b),Q!==0&&ke("failed to call OrtRun().");let H=[],B=[];kr("wasm ProcessOutputTensor");for(let P=0;P<y;P++){let Y=Number(o.getValue(q+P*i,"*"));if(Y===E[P]||N.includes(E[P])){H.push(s[P]),Y!==E[P]&&o._OrtReleaseTensor(Y)!==0&&ke("Can't release tensor.");continue}let ue=o.stackSave(),Z=o.stackAlloc(4*i),se=!1,L,O=0;try{o._OrtGetTensorData(Y,Z,Z+i,Z+2*i,Z+3*i)!==0&&ke(`Can't access output tensor data on index ${P}.`);let V=i===4?"i32":"i64",de=Number(o.getValue(Z,V));O=o.getValue(Z+i,"*");let te=o.getValue(Z+i*2,"*"),We=Number(o.getValue(Z+i*3,V)),Fe=[];for(let Oe=0;Oe<We;Oe++)Fe.push(Number(o.getValue(te+Oe*i,V)));o._OrtFree(te)!==0&&ke("Can't free memory for tensor dims.");let be=Fe.reduce((Oe,Me)=>Oe*Me,1);L=Hs(de);let Ge=_?.outputPreferredLocations[n[P]];if(L==="string"){if(Ge==="gpu-buffer"||Ge==="ml-tensor")throw Error("String tensor is not supported on GPU.");let Oe=[];for(let Me=0;Me<be;Me++){let Ye=o.getValue(O+Me*i,"*"),Xt=o.getValue(O+(Me+1)*i,"*"),xe=Me===be-1?void 0:Xt-Ye;Oe.push(o.UTF8ToString(Ye,xe))}H.push([L,Fe,Oe,"cpu"])}else if(Ge==="gpu-buffer"&&be>0){let Oe=o.webgpuGetBuffer;if(!Oe)throw Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let Me=Oe(O),Ye=hn(de,be);if(Ye===void 0||!si(L))throw Error(`Unsupported data type: ${L}`);se=!0;{o.webgpuRegisterBuffer(Me,e,O);let Xt=o.webgpuCreateDownloader(Me,Ye,e);H.push([L,Fe,{gpuBuffer:Me,download:async()=>{let xe=await Xt();return new(rs(L))(xe)},dispose:()=>{o._OrtReleaseTensor(Y)!==0&&ke("Can't release tensor.")}},"gpu-buffer"])}}else if(Ge==="ml-tensor"&&be>0){let{webnnEnsureTensor:Oe,webnnIsGraphInputOutputTypeSupported:Me}=o;if(!Oe||!Me)throw Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(hn(de,be)===void 0||!ai(L))throw Error(`Unsupported data type: ${L}`);if(!Me(e,L,!1))throw Error(`preferredLocation "ml-tensor" for ${L} output is not supported by current WebNN Context.`);let Ye=await Oe(e,O,de,Fe,!1);se=!0,H.push([L,Fe,{mlTensor:Ye,download:o.webnnCreateMLTensorDownloader(O,L),dispose:()=>{o.webnnReleaseTensorId(O),o._OrtReleaseTensor(Y)}},"ml-tensor"])}else if(Ge==="ml-tensor-cpu-output"&&be>0){let Oe=o.webnnCreateMLTensorDownloader(O,L)(),Me=H.length;se=!0,B.push((async()=>{let Ye=[Me,await Oe];return o.webnnReleaseTensorId(O),o._OrtReleaseTensor(Y),Ye})()),H.push([L,Fe,[],"cpu"])}else{let Oe=rs(L),Me=new Oe(be);new Uint8Array(Me.buffer,Me.byteOffset,Me.byteLength).set(o.HEAPU8.subarray(O,O+Me.byteLength)),H.push([L,Fe,Me,"cpu"])}}finally{o.stackRestore(ue),L==="string"&&O&&o._free(O),se||o._OrtReleaseTensor(Y)}}_&&!p&&(o._OrtClearBoundOutputs(_.handle)!==0&&ke("Can't clear bound outputs."),Mr.set(e,[c,d,f,_,p,!1]));for(let[P,Y]of await Promise.all(B))H[P][2]=Y;return Tr("wasm ProcessOutputTensor"),H}finally{o.webnnOnRunEnd?.(c),o.stackRestore(M),r.forEach((Q)=>{Q&&Q[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(Q[2].gpuBuffer)}),s.forEach((Q)=>{Q&&Q[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(Q[2].gpuBuffer)}),A.forEach((Q)=>o._OrtReleaseTensor(Q)),E.forEach((Q)=>o._OrtReleaseTensor(Q)),C.forEach((Q)=>o._free(Q)),b!==0&&o._OrtReleaseRunOptions(b),k.forEach((Q)=>o._free(Q))}},fi=(e)=>{let t=Le(),r=Mr.get(e);if(!r)throw Error("invalid session id");let n=r[0],s=t._OrtEndProfiling(n);s===0&&ke("Can't get an profile file name."),t._OrtFree(s)},hi=(e)=>{let t=[];for(let r of e){let n=r[2];!Array.isArray(n)&&"buffer"in n&&t.push(n.buffer)}return t}}),xr,Ct,fn,Zn,es,Ws,Wo,qs,Vr,Ur,yh,n_,s_,a_,o_,i_,l_,c_,u_=we(()=>{Xr(),r_(),Yr(),ti(),xr=()=>!!Be.wasm.proxy&&typeof document<"u",fn=!1,Zn=!1,es=!1,qs=new Map,Vr=(e,t)=>{let r=qs.get(e);r?r.push(t):qs.set(e,[t])},Ur=()=>{if(fn||!Zn||es||!Ct)throw Error("worker not ready")},yh=(e)=>{switch(e.data.type){case"init-wasm":fn=!1,e.data.err?(es=!0,Wo[1](e.data.err)):(Zn=!0,Wo[0]()),Ws&&(URL.revokeObjectURL(Ws),Ws=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=qs.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},n_=async()=>{if(!Zn){if(fn)throw Error("multiple calls to 'initWasm()' detected.");if(es)throw Error("previous call to 'initWasm()' failed.");if(fn=!0,xr())return new Promise((e,t)=>{Ct?.terminate(),Wh().then(([r,n])=>{try{Ct=n,Ct.onerror=(a)=>t(a),Ct.onmessage=yh,Wo=[e,t];let s={type:"init-wasm",in:Be};!s.in.wasm.wasmPaths&&(r||Ho)&&(s.in.wasm.wasmPaths={wasm:new URL("ort-wasm-simd-threaded.asyncify.wasm",import.meta.url).href}),Ct.postMessage(s),Ws=r}catch(s){t(s)}},t)});try{await ri(Be.wasm),await ii(Be),Zn=!0}catch(e){throw es=!0,e}finally{fn=!1}}},s_=async(e)=>{if(xr())return Ur(),new Promise((t,r)=>{Vr("init-ep",[t,r]);let n={type:"init-ep",in:{epName:e,env:Be}};Ct.postMessage(n)});await li(Be,e)},a_=async(e)=>xr()?(Ur(),new Promise((t,r)=>{Vr("copy-from",[t,r]);let n={type:"copy-from",in:{buffer:e}};Ct.postMessage(n,[e.buffer])})):Js(e),o_=async(e,t)=>{if(xr()){if(t?.preferredOutputLocation)throw Error('session option "preferredOutputLocation" is not supported for proxy.');return Ur(),new Promise((r,n)=>{Vr("create",[r,n]);let s={type:"create",in:{model:e,options:{...t}}},a=[];e instanceof Uint8Array&&a.push(e.buffer),Ct.postMessage(s,a)})}else return ci(e,t)},i_=async(e)=>{if(xr())return Ur(),new Promise((t,r)=>{Vr("release",[t,r]);let n={type:"release",in:e};Ct.postMessage(n)});ui(e)},l_=async(e,t,r,n,s,a)=>{if(xr()){if(r.some((o)=>o[3]!=="cpu"))throw Error("input tensor on GPU is not supported for proxy.");if(s.some((o)=>o))throw Error("pre-allocated output tensor is not supported for proxy.");return Ur(),new Promise((o,i)=>{Vr("run",[o,i]);let l=r,c={type:"run",in:{sessionId:e,inputIndices:t,inputs:l,outputIndices:n,options:a}};Ct.postMessage(c,hi(l))})}else return di(e,t,r,n,s,a)},c_=async(e)=>{if(xr())return Ur(),new Promise((t,r)=>{Vr("end-profiling",[t,r]);let n={type:"end-profiling",in:e};Ct.postMessage(n)});fi(e)}}),qo,bh,d_,iM=we(()=>{Xr(),u_(),_n(),ei(),Xh(),qo=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw Error(`invalid data location: ${e.location} for ${t()}`)}},bh=(e)=>{switch(e[3]){case"cpu":return new Nt(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!si(t))throw Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:n,dispose:s}=e[2];return Nt.fromGpuBuffer(r,{dataType:t,dims:e[1],download:n,dispose:s})}case"ml-tensor":{let t=e[0];if(!ai(t))throw Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:r,download:n,dispose:s}=e[2];return Nt.fromMLTensor(r,{dataType:t,dims:e[1],download:n,dispose:s})}default:throw Error(`invalid data location: ${e[3]}`)}},d_=class{async fetchModelAndCopyToWasmMemory(e){return a_(await oi(e))}async loadModel(e,t){Hr();let r;typeof e=="string"?r=await this.fetchModelAndCopyToWasmMemory(e):r=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await o_(r,t),Qr()}async dispose(){return i_(this.sessionId)}async run(e,t,r){Hr();let n=[],s=[];Object.entries(e).forEach((f)=>{let _=f[0],p=f[1],w=this.inputNames.indexOf(_);if(w===-1)throw Error(`invalid input '${_}'`);n.push(p),s.push(w)});let a=[],o=[];Object.entries(t).forEach((f)=>{let _=f[0],p=f[1],w=this.outputNames.indexOf(_);if(w===-1)throw Error(`invalid output '${_}'`);a.push(p),o.push(w)});let i=n.map((f,_)=>qo(f,()=>`input "${this.inputNames[s[_]]}"`)),l=a.map((f,_)=>f?qo(f,()=>`output "${this.outputNames[o[_]]}"`):null),c=await l_(this.sessionId,s,i,o,l,r),d={};for(let f=0;f<c.length;f++)d[this.outputNames[o[f]]]=a[f]??bh(c[f]);return Qr(),d}startProfiling(){}endProfiling(){c_(this.sessionId)}}}),f_={};ns(f_,{OnnxruntimeWebAssemblyBackend:()=>Yo,initializeFlags:()=>Xo,wasmBackend:()=>h_});var Xo,Yo,h_,lM=we(()=>{Xr(),u_(),iM(),Xo=()=>{(typeof Be.wasm.initTimeout!="number"||Be.wasm.initTimeout<0)&&(Be.wasm.initTimeout=0);let e=Be.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),Be.wasm.simd=!1),typeof Be.wasm.proxy!="boolean"&&(Be.wasm.proxy=!1),typeof Be.wasm.trace!="boolean"&&(Be.wasm.trace=!1),typeof Be.wasm.numThreads!="number"||!Number.isInteger(Be.wasm.numThreads)||Be.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)Be.wasm.numThreads=1;else{let t=typeof navigator>"u"?R0("node:os").cpus().length:navigator.hardwareConcurrency;Be.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},Yo=class{async init(e){Xo(),await n_(),await s_(e)}async createInferenceSessionHandler(e,t){let r=new d_;return await r.loadModel(e,t),r}},h_=new Yo});Xr();Xr();Xr();var cM="1.31.0-dev.20260914-8d85527a0",uM=Rh;{let e=(lM(),Qs(f_)).wasmBackend;qr("webgpu",e,5),qr("webnn",e,5),qr("cpu",e,10),qr("wasm",e,10)}Object.defineProperty(Be.versions,"web",{value:cM,enumerable:!0});var __="1.30.0";var p_="warning",pi={wasm:{},webgl:{},webgpu:{},versions:{common:__},set logLevel(e){if(e===void 0)return;if(typeof e!=="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);p_=e},get logLevel(){return p_}};Object.defineProperty(pi,"logLevel",{enumerable:!0});var m_=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;if(t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC")s=e.dims[2],a=e.dims[3];else s=e.dims[3],a=e.dims[2];let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;if(i===void 0||i.mean===void 0)l=[255,255,255,255];else if(typeof i.mean==="number")l=[i.mean,i.mean,i.mean,i.mean];else if(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0)l[3]=i.mean[3];if(i===void 0||i.bias===void 0)c=[0,0,0,0];else if(typeof i.bias==="number")c=[i.bias,i.bias,i.bias,i.bias];else if(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0)c[3]=i.bias[3];let d=a*s,f=0,_=d,p=d*2,w=-1;if(o==="RGBA")f=0,_=d,p=d*2,w=d*3;else if(o==="RGB")f=0,_=d,p=d*2;else if(o==="RBG")f=0,p=d,_=d*2;for(let v=0;v<a;v++)for(let y=0;y<s;y++){let b=(e.data[f++]-c[0])*l[0],k=(e.data[_++]-c[1])*l[1],A=(e.data[p++]-c[2])*l[2],E=w===-1?255:(e.data[w++]-c[3])*l[3];n.fillStyle="rgba("+b+","+k+","+A+","+E+")",n.fillRect(y,v,1,1)}if("toDataURL"in r)return r.toDataURL();else throw Error("toDataURL is not supported")}else throw Error("Can not access image data")},g_=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;if(t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC")s=e.dims[2],a=e.dims[1],o=e.dims[3];else s=e.dims[3],a=e.dims[2],o=e.dims[1];let i=t!==void 0?t.format!==void 0?t.format:"RGB":"RGB",l=t?.norm,c,d;if(l===void 0||l.mean===void 0)c=[255,255,255,255];else if(typeof l.mean==="number")c=[l.mean,l.mean,l.mean,l.mean];else if(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0)c[3]=l.mean[3];if(l===void 0||l.bias===void 0)d=[0,0,0,0];else if(typeof l.bias==="number")d=[l.bias,l.bias,l.bias,l.bias];else if(d=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0)d[3]=l.bias[3];let f=a*s;if(t!==void 0){if(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR")throw Error("Tensor format doesn't match input tensor dims")}let _=4,p=0,w=1,v=2,y=3,b=0,k=f,A=f*2,E=-1;if(i==="RGBA")b=0,k=f,A=f*2,E=f*3;else if(i==="RGB")b=0,k=f,A=f*2;else if(i==="RBG")b=0,A=f,k=f*2;n=r.createImageData(s,a);for(let C=0;C<a*s;p+=_,w+=_,v+=_,y+=_,C++)n.data[p]=(e.data[b++]-d[0])*c[0],n.data[w]=(e.data[k++]-d[1])*c[1],n.data[v]=(e.data[A++]-d[2])*c[2],n.data[y]=E===-1?255:(e.data[E++]-d[3])*c[3]}else throw Error("Can not access image data");return n};var mi=(e,t)=>{if(e===void 0)throw Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;if(typeof s.mean==="number")a=[s.mean,s.mean,s.mean,s.mean];else a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255];if(typeof s.bias==="number")o=[s.bias,s.bias,s.bias,s.bias];else o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0?t.tensorFormat!==void 0?t.tensorFormat:"RGB":"RGB",c=r*n,d=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),f=4,_=0,p=1,w=2,v=3,y=0,b=c,k=c*2,A=-1;if(i==="RGB")f=3,_=0,p=1,w=2,v=-1;if(l==="RGBA")A=c*3;else if(l==="RBG")y=0,k=c,b=c*2;else if(l==="BGR")k=0,b=c,y=c*2;for(let C=0;C<c;C++,_+=f,w+=f,p+=f,v+=f)if(d[y++]=(e[_]+o[0])/a[0],d[b++]=(e[p]+o[1])/a[1],d[k++]=(e[w]+o[2])/a[2],A!==-1&&v!==-1)d[A++]=(e[v]+o[3])/a[3];return l==="RGBA"?new ct("float32",d,[1,4,r,n]):new ct("float32",d,[1,3,r,n])},w_=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e==="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");else if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);else throw Error("Canvas is not supported")},c=(d)=>{if(typeof HTMLCanvasElement<"u"&&d instanceof HTMLCanvasElement)return d.getContext("2d");else if(d instanceof OffscreenCanvas)return d.getContext("2d");else return null};if(r){let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0)_=t.resizedHeight,p=t.resizedWidth;if(t!==void 0){if(i=t,t.tensorFormat!==void 0)throw Error("Image input config format must be RGBA for HTMLImageElement");else i.tensorFormat="RGBA";i.height=_,i.width=p}else i.tensorFormat="RGBA",i.height=_,i.width=p;f.drawImage(e,0,0),o=f.getImageData(0,0,p,_).data}else throw Error("Can not access image data")}else if(n){let d,f;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0)d=t.resizedHeight,f=t.resizedWidth;else d=e.height,f=e.width;if(t!==void 0)i=t;if(i.format="RGBA",i.height=d,i.width=f,t!==void 0){let _=l();_.width=f,_.height=d;let p=c(_);if(p!=null)p.putImageData(e,0,0),o=p.getImageData(0,0,f,d).data;else throw Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw Error("Please provide image config with format for Imagebitmap");let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;return f.drawImage(e,0,0,p,_),o=f.getImageData(0,0,p,_).data,i.height=_,i.width=p,mi(o,i)}else throw Error("Can not access image data")}else if(a)return new Promise((d,f)=>{let _=l(),p=c(_);if(!e||!p)return f();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{_.width=w.width,_.height=w.height,p.drawImage(w,0,0,_.width,_.height);let v=p.getImageData(0,0,_.width,_.height);i.height=_.height,i.width=_.width,d(mi(v.data,i))}});else throw Error("Input data provided is not supported - aborted tensor creation");if(o!==void 0)return mi(o,i);else throw Error("Input data provided is not supported - aborted tensor creation")},v_=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t;return new ct({location:"texture",type:"float32",texture:e,dims:[1,n,r,4],download:s,dispose:a})},y_=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new ct({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},b_=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new ct({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},M_=(e,t,r)=>new ct({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]});var Kr=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),ss=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),x_=!1,k_=()=>{if(!x_){x_=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;if(e)Kr.set("int64",BigInt64Array),ss.set(BigInt64Array,"int64");if(t)Kr.set("uint64",BigUint64Array),ss.set(BigUint64Array,"uint64");if(n)Kr.set("float16",r),ss.set(r,"float16");else Kr.set("float16",Uint16Array)}};var T_=(e)=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!=="number"||!Number.isSafeInteger(n))throw TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},E_=(e,t)=>{switch(e.location){case"cpu":return new ct(e.type,e.data,t);case"cpu-pinned":return new ct({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new ct({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new ct({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new ct({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}};class ct{constructor(e,t,r){k_();let n,s;if(typeof e==="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let o=Kr.get(n);if(!o)throw TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof o))throw TypeError(`buffer should be of type ${o.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if(typeof e==="string")if(n=e,i=r,e==="string"){if(!Array.isArray(t))throw TypeError("A string tensor's data must be a string array.");o=t}else{let l=Kr.get(e);if(l===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t))if(e==="float16"&&l===Uint16Array||e==="uint4"||e==="int4")throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${l.name} as data.`);else if(e==="uint64"||e==="int64")o=l.from(t,BigInt);else o=l.from(t);else if(t instanceof l)o=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")o=Uint8Array.from(t);else throw TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&l!==Uint16Array)o=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${n} tensor's data must be type of ${l}`)}else if(i=t,Array.isArray(e)){if(e.length===0)throw TypeError("Tensor type cannot be inferred from an empty array.");let l=typeof e[0];if(l==="string")n="string",o=e;else if(l==="boolean")n="bool",o=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${l}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",o=Uint8Array.from(e);else{let l=ss.get(e.constructor);if(l===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=l,o=e}if(i===void 0)i=[o.length];else if(!Array.isArray(i))throw TypeError("A tensor's dims must be a number array");s=i,this.cpuData=o,this.dataLocation="cpu"}let a=T_(s);if(this.cpuData&&a!==this.cpuData.length)if((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length);else throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,t){return w_(e,t)}static fromTexture(e,t){return v_(e,t)}static fromGpuBuffer(e,t){return y_(e,t)}static fromMLTensor(e,t){return b_(e,t)}static fromPinnedBuffer(e,t,r){return M_(e,t,r)}toDataURL(e){return m_(this,e)}toImageData(e){return g_(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();if(this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer)this.disposer(),this.disposer=void 0;return t}finally{this.isDownloading=!1}}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");if(this.disposer)this.disposer(),this.disposer=void 0;this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return E_(this,e)}}var gi=ct;var __dirname="/home/runner/work/murmur/murmur/node_modules/@huggingface/transformers/dist",dM=Object.defineProperty,hs=(e,t)=>{for(var r in t)dM(e,r,{get:t[r],enumerable:!0})},kt={},rr={},fM={},hM="4.3.2",qi=typeof self<"u",xn=!zp(kt),Op=!zp(rr),ca=qi&&"caches"in self,_M=typeof globalThis.Deno<"u",qz=typeof globalThis.Bun<"u",Ta=_M&&ca&&!xn,Np=typeof process<"u",Dp=Np&&process?.release?.name==="node"&&!Ta,Hi=typeof window<"u"&&typeof window.document<"u",Qi=qi&&["DedicatedWorkerGlobalScope","ServiceWorkerGlobalScope","SharedWorkerGlobalScope"].includes(self.constructor?.name),pM=Hi||Qi||Ta,mM=Dp||typeof navigator<"u"&&"gpu"in navigator,gM=typeof navigator<"u"&&"ml"in navigator,wM=typeof crypto<"u"&&typeof crypto.getRandomValues==="function",vM=typeof chrome<"u"&&typeof chrome.runtime<"u"&&typeof chrome.runtime.id==="string",yM=typeof ServiceWorkerGlobalScope<"u"&&qi&&self instanceof ServiceWorkerGlobalScope,bM=()=>{if(typeof navigator>"u")return!1;let e=navigator.userAgent;if(!((navigator.vendor||"").indexOf("Apple")>-1&&!e.match(/CriOS|FxiOS|EdgiOS|OPiOS|mercury|brave/i)&&!e.includes("Chrome")&&!e.includes("Android")))return!1;let r=e.match(/Version\/(\d+)/);return r?parseInt(r[1],10)<26:!1},MM=bM(),pe=Object.freeze({IS_BROWSER_ENV:Hi,IS_WEBWORKER_ENV:Qi,IS_WEB_ENV:pM,IS_SERVICE_WORKER_ENV:yM,IS_DENO_WEB_RUNTIME:Ta,IS_WEB_CACHE_AVAILABLE:ca,IS_WEBGPU_AVAILABLE:mM,IS_WEBNN_AVAILABLE:gM,IS_SAFARI_BELOW_26:MM,IS_PROCESS_AVAILABLE:Np,IS_NODE_ENV:Dp,IS_FS_AVAILABLE:xn,IS_PATH_AVAILABLE:Op,IS_CRYPTO_AVAILABLE:wM,IS_CHROME_AVAILABLE:vM}),Xi=xn&&Op,ua="./";if(Xi){let e=import.meta.url;if(e)ua=rr.dirname(rr.dirname(fM.fileURLToPath(e)));else if(typeof __dirname<"u")ua=rr.dirname(__dirname)}var xM=Xi?rr.join(ua,"/.cache/"):null,A_="/models/",kM=Xi?rr.join(ua,A_):A_,TM=typeof globalThis.fetch==="function"?globalThis.fetch.bind(globalThis):void 0,zt=Object.freeze({DEBUG:10,INFO:20,WARNING:30,ERROR:40,NONE:50}),C_=zt.WARNING,ve={version:hM,backends:{onnx:{}},get logLevel(){return C_},set logLevel(e){C_=e,ve.backends.onnx?.setLogLevel?.(e)},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(Hi||Qi||Ta),localModelPath:kM,useFS:xn,useBrowserCache:ca,useFSCache:xn,cacheDir:xM,useCustomCache:!1,customCache:null,useWasmCache:ca||xn,cacheKey:"transformers-cache",experimental_useCrossOriginStorage:!1,fetch:TM};function zp(e){return Object.keys(e).length===0}var mt=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}_call(...e){throw Error("Must implement _call method in subclass")}};function Pr(e,t){if(e)e(t)}var da=class extends mt{constructor(e,t){super();this.callback=e,this.files_loading=t,this.loads=new Map}_call(e){if(e.status==="progress"){this.files_loading[e.file]={loaded:e.loaded,total:e.total};let t=Object.values(this.files_loading).reduce((s,a)=>s+a.loaded,0),r=Object.values(this.files_loading).reduce((s,a)=>s+a.total,0),n=r>0?t/r*100:0;this.callback({status:"progress_total",name:e.name,progress:n,loaded:t,total:r,files:structuredClone(this.files_loading)})}this.callback(e)}};function EM(e){return Number.isInteger(e)||typeof e==="bigint"}function S_(e){return e===null||e===void 0||e===-1}function P_(e){let t=[],r=e;while(Array.isArray(r))t.push(r.length),r=r[0];return t}function Bt(...e){return Array.prototype.concat.apply([],e)}function AM(...e){return e.reduce((t,r)=>t.flatMap((n)=>r.map((s)=>[n,s])))}function fa(e,t){return Math.abs((e+t)%(2*t)-t)}function et(e,t){return Object.assign({},...t.map((r)=>{if(e[r]!==void 0)return{[r]:e[r]}}))}function CM(e,t){let r=0;for(let n of e)if(n===t)++r;return r}var ce={error(...e){if(ve.logLevel<=zt.ERROR)console.error(...e)},warn(...e){if(ve.logLevel<=zt.WARNING)console.warn(...e)},info(...e){if(ve.logLevel<=zt.INFO)console.log(...e)},debug(...e){if(ve.logLevel<=zt.DEBUG)console.log(...e)},log(...e){this.info(...e)}},SM=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){let t=Object.create(null);for(let r of e){let n=t;for(let s=0;s<r.length;++s){let a=r[s];n=n[a]??=Object.create(null)}n.end=r}return t}split(e){let t=[],r=e.length,n=0,s=0;while(s<r){let a=this.trie,o=null,i=s;while(i<r&&(a=a[e[i]])){if(a.end)o=a.end;++i}if(o){if(s>n)t.push(e.slice(n,s));t.push(o),s+=o.length,n=s}else++s}if(n<r)t.push(e.slice(n));return t}},F_=SM,PM=class{constructor(e){this.content=e.content,this.id=e.id,this.single_word=e.single_word??!1,this.lstrip=e.lstrip??!1,this.rstrip=e.rstrip??!1,this.special=e.special??!1,this.normalized=e.normalized??!this.special}},FM=PM,Bp=(e,t)=>{try{return new RegExp(e,t)}catch(r){if(!(r instanceof SyntaxError))throw r;let n=new Map,s=e.replace(/(\\[pP])\{([^}=]+)\}/g,(a,o,i,l)=>{let c=0;for(let f=l-1;f>=0&&e[f]==="\\";--f)++c;if(c%2===1)return a;let d=n.get(i);if(d===void 0){try{new RegExp(`\\p{${i}}`,"u"),d=i}catch{d=`Script=${i}`}n.set(i,d)}return`${o}{${d}}`});if(s===e)throw r;try{return new RegExp(s,t)}catch{throw r}}},Yi=(e)=>e.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),Ea=(e,t=!0)=>{if(e.Regex!==void 0){let r=QM(WM(e.Regex));return Bp(r,"gu")}else if(e.String!==void 0){let r=XM(e.String);return new RegExp(t?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",e),null},Cn="\\p{Alphabetic}\\p{M}\\p{Nd}\\p{Pc}",Rp=`${Cn}\\u00B2\\u00B3\\u00B9\\u00BC-\\u00BE`,nr=`[${Rp}]`,$p=`[^${Rp}]`,IM=`(?:(?<!${nr})(?=${nr})|(?<=${nr})(?!${nr}))`,LM=`(?:(?<!${nr})(?!${nr})|(?<=${nr})(?=${nr}))`,OM="(?:(?<![\\s\\S])|(?<=\\n))",NM="(?:(?=\\n)|(?![\\s\\S]))",ls="0-9A-Fa-f",DM=new Map([["A","(?<![\\s\\S])"],["z","(?![\\s\\S])"],["Z","(?=\\n?(?![\\s\\S]))"],["h",`[${ls}]`],["H",`[^${ls}]`],["w",nr],["W",$p],["d","\\p{Nd}"],["D","\\P{Nd}"],["s","\\p{White_Space}"],["S","\\P{White_Space}"],["b",IM],["B",LM],["a","\\x07"],["e","\\x1B"]]),zM=new Map([["h",ls],["w",Cn],["d","\\p{Nd}"],["D","\\P{Nd}"],["s","\\p{White_Space}"],["S","\\P{White_Space}"],["a","\\x07"],["e","\\x1B"]]),BM=new Map([["W",`[^${Cn}]`],["H",`[^${ls}]`]]),Gp=new Map([[`
|
|
8
|
+
`);return u[0]=="Error"&&u.shift(),yd(u),Br.ee=Ns(u[3]),Br.xe=u,Br.ee}function Ds(u){if(!(u=Br[u>>>0]))return 0;var h;if(h=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(u))u=h[1];else if(h=/^\s+at (.*) \(.*\)$/.exec(u))u=h[1];else{if(!(h=/^(.+?)@/.exec(u)))return 0;u=h[1]}return Et(Ds.ne??0),Ds.ne=vd(u),Ds.ne}function qy(u){u>>>=0;var h=(M(),X).length;if(u<=h||4294901760<u)return!1;for(var m=1;4>=m;m*=2){var g=h*(1+0.2/m);g=Math.min(g,u+100663296);e:{g=(Math.min(4294901760,65536*Math.ceil(Math.max(u,g)/65536))-vr.buffer.byteLength+65535)/65536|0;try{vr.grow(g),V();var x=1;break e}catch{}x=void 0}if(x)return!0}return!1}function Hy(u,h,m){if(u>>>=0,h>>>=0,Br.ee==u)var g=Br.xe;else(g=Error().stack.toString().split(`
|
|
9
|
+
`))[0]=="Error"&&g.shift(),yd(g);for(var x=3;g[x]&&Ns(g[x])!=u;)++x;for(u=0;u<m&&g[u+x];++u)(M(),B)[h+4*u>>>2>>>0]=Ns(g[u+x]);return u}var Jt=(u)=>{var h=cr(u)+1,m=$s(h);return lr(u,m,h),m},cn=(u)=>(M(),P)[u>>>2>>>0]+4294967296*(M(),B)[u+4>>>2>>>0],rt=[],bd=(u,h)=>{rt[u>>>0]=h},ur=[],zs=[],un=(u,h)=>{zs[u]=new Promise((m)=>h.finally(()=>m(u)))},ee=(u)=>{if(u)return rt[u>>>0]},uo=(u,h)=>{for(u=(M(),P)[u>>>2>>>0];u;u=(M(),P)[u>>>2>>>0])h[(M(),B)[u+4>>>2>>>0]](u)},Bs=(u,h,m)=>{(M(),P)[u>>>2>>>0]=h,(M(),P)[u+4>>>2>>>0]=m},Md=(u)=>{var h=(M(),P)[u>>>2>>>0];return u=(M(),P)[u+4>>>2>>>0],on(h,u)},Ot=(u)=>{var h=(M(),P)[u>>>2>>>0];return u=(M(),P)[u+4>>>2>>>0],h?on(h,u):u===0?"":void 0},Qy=(u)=>{var h=Ot(u+4),m=(m=(M(),P)[u+12>>>2>>>0])?ee(m):"auto";if(u+=16){var g=ee((M(),P)[u+4>>>2>>>0]),x=(M(),P)[u+16>>>2>>>0],T=(M(),P)[u+20>>>2>>>0];if(x){for(var F={},S=0;S<x;++S){var D=T+24*S;F[Md(D+4)]=(M(),ue)[D+16>>>3>>>0]}x=F}else x=void 0;u={module:g,constants:x,entryPoint:Ot(u+8)}}else u=void 0;return{label:h,layout:m,compute:u}},xd=(u,h)=>{function m(T,F,S,D=0){T=u[T]??D,(M(),P)[F+S>>>2>>>0]=T}function g(T,F,S,D=0){F+=S,T=u[T]??D,(M(),P)[F>>>2>>>0]=T,D=(M(),P)[F>>>2>>>0],(M(),P)[F+4>>>2>>>0]=(T-D)/4294967296}var x=(M(),P)[h>>>2>>>0];m("maxTextureDimension1D",h,4),m("maxTextureDimension2D",h,8),m("maxTextureDimension3D",h,12),m("maxTextureArrayLayers",h,16),m("maxBindGroups",h,20),m("maxBindGroupsPlusVertexBuffers",h,24),m("maxBindingsPerBindGroup",h,28),m("maxDynamicUniformBuffersPerPipelineLayout",h,32),m("maxDynamicStorageBuffersPerPipelineLayout",h,36),m("maxSampledTexturesPerShaderStage",h,40),m("maxSamplersPerShaderStage",h,44),m("maxStorageBuffersPerShaderStage",h,48),m("maxStorageTexturesPerShaderStage",h,52),m("maxUniformBuffersPerShaderStage",h,56),m("minUniformBufferOffsetAlignment",h,80),m("minStorageBufferOffsetAlignment",h,84),g("maxUniformBufferBindingSize",h,64),g("maxStorageBufferBindingSize",h,72),m("maxVertexBuffers",h,88),g("maxBufferSize",h,96),m("maxVertexAttributes",h,104),m("maxVertexBufferArrayStride",h,108),m("maxInterStageShaderVariables",h,112),m("maxColorAttachments",h,116),m("maxColorAttachmentBytesPerSample",h,120),m("maxComputeWorkgroupStorageSize",h,124),m("maxComputeInvocationsPerWorkgroup",h,128),m("maxComputeWorkgroupSizeX",h,132),m("maxComputeWorkgroupSizeY",h,136),m("maxComputeWorkgroupSizeZ",h,140),m("maxComputeWorkgroupsPerDimension",h,144),m("maxImmediateSize",h,148),x!==0&&(M(),m("maxStorageBuffersInVertexStage",x,8,u.maxStorageBuffersPerShaderStage),m("maxStorageBuffersInFragmentStage",x,16,u.maxStorageBuffersPerShaderStage),m("maxStorageTexturesInVertexStage",x,12,u.maxStorageTexturesPerShaderStage),m("maxStorageTexturesInFragmentStage",x,20,u.maxStorageTexturesPerShaderStage))},Xy=(u,h)=>{(M(),P)[h+52>>>2>>>0]=u.subgroupMinSize,(M(),P)[h+56>>>2>>>0]=u.subgroupMaxSize;var m=vd(u.vendor+u.architecture+u.device+u.description),g=cr(u.vendor);Bs(h+4,m,g),m+=g,g=cr(u.architecture),Bs(h+12,m,g),m+=g,g=cr(u.device),Bs(h+20,m,g),m+=g,g=cr(u.description),Bs(h+28,m,g),m+=g,(M(),B)[h+36>>>2>>>0]=2,m=u.isFallbackAdapter?3:4,(M(),B)[h+40>>>2>>>0]=m,(M(),P)[h+44>>>2>>>0]=0,(M(),P)[h+48>>>2>>>0]=0,uo(h,{327739:(x)=>{let T=0,F=0;if(u.subgroupMatrixConfigs){T=u.subgroupMatrixConfigs.length,F=Rr(20*T);for(let[S,D]of u.subgroupMatrixConfigs.entries()){let j=F+20*S,he=Td.indexOf(D.componentType),me=Td.indexOf(D.resultComponentType);(M(),B)[j>>>2>>>0]=he,(M(),B)[j+4>>>2>>>0]=me,(M(),P)[j+8>>>2>>>0]=D.M,(M(),P)[j+12>>>2>>>0]=D.N,(M(),P)[j+16>>>2>>>0]=D.K}}(M(),P)[x+12>>>2>>>0]=F,(M(),P)[x+8>>>2>>>0]=T}})},Yy=[,,"uniform","storage","read-only-storage"],Ky=[,"validation","out-of-memory","internal"],Jy=[,"compatibility","core"],kd={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",23:"subgroup-size-control",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect",327732:"chromium-experimental-subgroup-matrix"},Zy=[,"low-power","high-performance"],eb=[,"occlusion","timestamp"],tb=[,,"filtering","non-filtering","comparison"],rb=[,,"write-only","read-only","read-write"],Td=[,"f32","f16","u32","i32","u8","i8"],nb=[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],sb=[,,"float","unfilterable-float","depth","sint","uint"],Ed=[,"1d","2d","2d-array","cube","cube-array","3d"],ab={undefined:1,unknown:1,destroyed:2};function ob(u,h,m,g,x,T){h=tt(h),m=tt(m),g>>>=0,x>>>=0,T>>>=0;var F=ee(u>>>0);if(u={},T){var S=(M(),P)[T+12>>>2>>>0];if(S){var D=(M(),P)[T+16>>>2>>>0];u.requiredFeatures=Array.from((M(),P).subarray(D>>>2>>>0,D+4*S>>>2>>>0),(K)=>kd[K])}if(S=(M(),P)[T+20>>>2>>>0]){let K=function(_t,lt,$r,Gr=!1){lt+=$r,(lt=(M(),P)[lt>>>2>>>0])==4294967295||Gr&<==0||(me[_t]=lt)},Ae=function(_t,lt,$r){lt+=$r,$r=(M(),P)[lt>>>2>>>0];var Gr=(M(),P)[lt+4>>>2>>>0];$r==4294967295&&Gr==4294967295||(me[_t]=cn(lt))};var j=K,he=Ae;D=(M(),P)[S>>>2>>>0];var me={};K("maxTextureDimension1D",S,4),K("maxTextureDimension2D",S,8),K("maxTextureDimension3D",S,12),K("maxTextureArrayLayers",S,16),K("maxBindGroups",S,20),K("maxBindGroupsPlusVertexBuffers",S,24),K("maxBindingsPerBindGroup",S,28),K("maxDynamicUniformBuffersPerPipelineLayout",S,32),K("maxDynamicStorageBuffersPerPipelineLayout",S,36),K("maxSampledTexturesPerShaderStage",S,40),K("maxSamplersPerShaderStage",S,44),K("maxStorageBuffersPerShaderStage",S,48),K("maxStorageTexturesPerShaderStage",S,52),K("maxUniformBuffersPerShaderStage",S,56),K("minUniformBufferOffsetAlignment",S,80),K("minStorageBufferOffsetAlignment",S,84),Ae("maxUniformBufferBindingSize",S,64),Ae("maxStorageBufferBindingSize",S,72),K("maxVertexBuffers",S,88),Ae("maxBufferSize",S,96),K("maxVertexAttributes",S,104),K("maxVertexBufferArrayStride",S,108),K("maxInterStageShaderVariables",S,112),K("maxColorAttachments",S,116),K("maxColorAttachmentBytesPerSample",S,120),K("maxComputeWorkgroupStorageSize",S,124),K("maxComputeInvocationsPerWorkgroup",S,128),K("maxComputeWorkgroupSizeX",S,132),K("maxComputeWorkgroupSizeY",S,136),K("maxComputeWorkgroupSizeZ",S,140),K("maxComputeWorkgroupsPerDimension",S,144),K("maxImmediateSize",S,148,!0),D!==0&&(M(),("maxStorageBuffersInVertexStage"in GPUSupportedLimits.prototype)&&(K("maxStorageBuffersInVertexStage",D,8),K("maxStorageTexturesInVertexStage",D,12),K("maxStorageBuffersInFragmentStage",D,16),K("maxStorageTexturesInFragmentStage",D,20))),u.requiredLimits=me}(S=(M(),P)[T+24>>>2>>>0])&&(S={label:Ot(S+4)},u.defaultQueue=S),u.label=Ot(T+4)}xe+=1,un(h,F.requestDevice(u).then((K)=>{--xe,ht(()=>{rt[x>>>0]=K.queue,rt[g>>>0]=K,xe+=1,un(m,K.lost.then((Ae)=>{ht(()=>{K.onuncapturederror=()=>{};var _t=ne(),lt=Jt(Ae.message);mo(m,ab[Ae.reason],lt),re(_t)}),--xe})),K.onuncapturederror=(Ae)=>{var _t=5;Ae.error instanceof GPUValidationError?_t=2:Ae.error instanceof GPUOutOfMemoryError?_t=3:Ae.error instanceof GPUInternalError&&(_t=4);var lt=ne();Ae=Jt(Ae.error.message),Xd(g,_t,Ae),re(lt)},"adapterInfo"in K||(K.adapterInfo=F.info),vo(h,1,g,0)})},(K)=>{--xe,ht(()=>{var Ae=ne(),_t=Jt(K.message);vo(h,3,g,_t),m&&mo(m,4,_t),re(Ae)})}))}function ib(u){var h=ee(u>>>=0),m=ur[u];if(m){for(var g=0;g<m.length;++g)m[g]();delete ur[u]}h.destroy()}function lb(u,h,m){m>>>=0;var g=ee(u>>>=0);m==4294967295&&(m=void 0);try{var x=g.getMappedRange(h>>>0,m)}catch{return 0}var T=Mo(16,x.byteLength);return(M(),X).set(new Uint8Array(x),T>>>0),ur[u].push(()=>Et(T)),T}function cb(u,h,m){m>>>=0;var g=ee(u>>>=0);m==4294967295&&(m=void 0);try{var x=g.getMappedRange(h>>>0,m)}catch{return 0}var T=Mo(16,x.byteLength);return(M(),X).fill(0,T,x.byteLength),ur[u].push(()=>{new Uint8Array(x).set((M(),X).subarray(T>>>0,T+x.byteLength>>>0)),Et(T)}),T}function ub(u,h,m,g,x){u>>>=0,h=tt(h),m=tt(m),x>>>=0;var T=ee(u);ur[u]=[],x==4294967295&&(x=void 0),xe+=1,un(h,T.mapAsync(m,g>>>0,x).then(()=>{--xe,ht(()=>{go(h,1,0)})},(F)=>{--xe,ht(()=>{ne();var S=Jt(F.message);go(h,F.name==="AbortError"?4:F.name==="OperationError"?3:0,S),delete ur[u]})}))}function db(u){var h=ee(u>>>=0),m=ur[u];if(m){for(var g=0;g<m.length;++g)m[g]();delete ur[u],h.unmap()}}function fb(u){delete rt[u>>>0]}function hb(u,h,m){u>>>=0,h>>>=0,m>>>=0;var g=!!(M(),P)[h+32>>>2>>>0];h={label:Ot(h+4),usage:(M(),P)[h+16>>>2>>>0],size:cn(h+24),mappedAtCreation:g},u=ee(u);try{var x=u.createBuffer(h)}catch{return!1}return rt[m>>>0]=x,g&&(ur[m]=[]),!0}function _b(u,h,m,g){u>>>=0,h=tt(h),g>>>=0,m=Qy(m>>>0),u=ee(u),xe+=1,un(h,u.createComputePipelineAsync(m).then((x)=>{--xe,ht(()=>{rt[g>>>0]=x,po(h,1,g,0)})},(x)=>{--xe,ht(()=>{var T=ne(),F=Jt(x.message);po(h,x.reason==="validation"?3:x.reason==="internal"?4:0,g,F),re(T)})}))}function pb(u,h,m){u>>>=0,h>>>=0,m>>>=0;var g=(M(),P)[h>>>2>>>0],x=(M(),B)[g+4>>>2>>>0];h={label:Ot(h+4),code:""},x===2&&(h.code=Md(g+8)),u=ee(u).createShaderModule(h),rt[m>>>0]=u}var mb=(u)=>{(u=ee(u)).onuncapturederror=null,u.destroy()};function gb(u,h){h=tt(h),u=ee(u>>>0),xe+=1,un(h,u.popErrorScope().then((m)=>{--xe,ht(()=>{var g=5;m?m instanceof GPUValidationError?g=2:m instanceof GPUOutOfMemoryError?g=3:m instanceof GPUInternalError&&(g=4):g=1;var x=ne(),T=m?Jt(m.message):0;wo(h,1,g,T),re(x)})},(m)=>{--xe,ht(()=>{var g=ne(),x=Jt(m.message);wo(h,1,5,x),re(g)})}))}function wb(u,h,m,g){if(h=tt(h),g>>>=0,m>>>=0){var x={featureLevel:Jy[(M(),B)[m+4>>>2>>>0]],powerPreference:Zy[(M(),B)[m+8>>>2>>>0]],forceFallbackAdapter:!!(M(),P)[m+12>>>2>>>0]};(u=(M(),P)[m>>>2>>>0])!==0&&(M(),x.Ye=!!(M(),P)[u+8>>>2>>>0])}"gpu"in navigator?(xe+=1,un(h,navigator.gpu.requestAdapter(x).then((T)=>{--xe,ht(()=>{if(T)rt[g>>>0]=T,Qn(h,1,g,0);else{var F=ne(),S=Jt("WebGPU not available on this browser (requestAdapter returned null)");Qn(h,3,g,S),re(F)}})},(T)=>{--xe,ht(()=>{var F=ne(),S=Jt(T.message);Qn(h,4,g,S),re(F)})}))):(x=ne(),u=Jt("WebGPU not available on this browser (navigator.gpu is not available)"),Qn(h,3,g,u),re(x))}function vb(u,h,m){return u>>>=0,h>>>=0,m>>>=0,ud(async()=>{var g=[];if(m){var x=(M(),B)[m>>>2>>>0];g.length=h+1,g[h]=new Promise((S)=>setTimeout(S,x,0))}else g.length=h;for(var T=0;T<h;++T){var F=cn(u+8*T);if(!(F in zs))return F;g[T]=zs[F]}return g=await Promise.race(g),delete zs[g],g})}var fo,ho={},Ad=()=>{if(!fo){var u,h={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(u in ho)ho[u]===void 0?delete h[u]:h[u]=ho[u];var m=[];for(u in h)m.push(`${u}=${h[u]}`);fo=m}return fo};function Cd(u,h){if(s)return Ie(19,1,u,h);u>>>=0,h>>>=0;var m,g=0,x=0;for(m of Ad()){var T=h+g;(M(),P)[u+x>>>2>>>0]=T,g+=lr(m,T,1/0)+1,x+=4}return 0}function Sd(u,h){if(s)return Ie(20,1,u,h);u>>>=0,h>>>=0;var m=Ad();for(var g of((M(),P)[u>>>2>>>0]=m.length,u=0,m))u+=cr(g)+1;return(M(),P)[h>>>2>>>0]=u,0}function Pd(u){return s?Ie(21,1,u):52}function Fd(u,h,m,g,x){return s?Ie(22,1,u,h,m,g,x):52}function Id(u,h,m,g){return s?Ie(23,1,u,h,m,g):52}function Ld(u,h,m,g){return s?Ie(24,1,u,h,m,g):70}var yb=[null,[],[]];function Od(u,h,m,g){if(s)return Ie(25,1,u,h,m,g);h>>>=0,m>>>=0,g>>>=0;for(var x=0,T=0;T<m;T++){var F=(M(),P)[h>>>2>>>0],S=(M(),P)[h+4>>>2>>>0];h+=8;for(var D=0;D<S;D++){var j=u,he=(M(),X)[F+D>>>0],me=yb[j];he===0||he===10?((j===1?A:E)(ju(me)),me.length=0):me.push(he)}x+=S}return(M(),P)[g>>>2>>>0]=x,0}function bb(u){return u>>>0}function Mb(u,h){return xd(ee(u>>>0).limits,h>>>0),1}function xb(u,h){return ee(u>>>0).features.has(kd[h])}function kb(u){return BigInt(ee(u>>>0).size)}function Tb(u){return BigInt(ee(u>>>0).usage)}function Eb(u,h){if(u>>>=0,h>>>=0){var m=Ot(h+4);m={label:m,timestampWrites:h=(h=(M(),P)[h+12>>>2>>>0])!==0?{querySet:ee((M(),P)[h+4>>>2>>>0]),beginningOfPassWriteIndex:(M(),P)[h+8>>>2>>>0],endOfPassWriteIndex:(M(),P)[h+12>>>2>>>0]}:void 0}}return h=ee(u),u=Ud(0),m=h.beginComputePass(m),rt[u>>>0]=m,u}function Ab(u,h,m,g){m=tt(m),(g=tt(g))==-1&&(g=void 0),(u=ee(u>>>0)).clearBuffer(ee(h>>>0),m,g)}function Cb(u,h,m,g,x,T){m=tt(m),x=tt(x),T=tt(T),ee(u>>>0).copyBufferToBuffer(ee(h>>>0),m,ee(g>>>0),x,T)}function Sb(u){var h=ee(u>>>0);return u=Gd(0),h=h.finish(),rt[u>>>0]=h,u}function Pb(u,h,m,g,x,T){T=tt(T),ee(u>>>0).resolveQuerySet(ee(h>>>0),m,g,ee(x>>>0),T)}function Fb(u,h,m,g){ee(u>>>0).dispatchWorkgroups(h,m,g)}function Ib(u,h,m){m=tt(m),ee(u>>>0).dispatchWorkgroupsIndirect(ee(h>>>0),m)}function Lb(u){ee(u>>>0).end()}function Ob(u,h,m,g,x){g>>>=0,x>>>=0,u=ee(u>>>0),m=ee(m>>>0),g==0?u.setBindGroup(h,m):u.setBindGroup(h,m,(M(),P),x>>>2,g)}function Nb(u,h){ee(u>>>0).setPipeline(ee(h>>>0))}function Db(u,h,m){ee(u>>>0).Xe(ee(h>>>0),m)}function zb(u,h){function m(x){var T=(M(),P)[x+8>>>2>>>0],F=(M(),P)[x+32>>>2>>>0],S=(M(),P)[x+36>>>2>>>0],D=0;return uo(x,{14:(j)=>{D=(M(),P)[j+8>>>2>>>0]}}),T?((F=cn(x+24))==-1&&(F=void 0),T={buffer:ee(T),offset:cn(x+16),size:F}):T=ee(F||S||D),{binding:(M(),P)[x+4>>>2>>>0],resource:T}}u>>>=0,h={label:Ot((h>>>=0)+4),layout:ee((M(),P)[h+12>>>2>>>0]),entries:function(x,T){for(var F=[],S=0;S<x;++S)F.push(m(T+40*S));return F}((M(),P)[h+16>>>2>>>0],(M(),P)[h+20>>>2>>>0])},u=ee(u);var g=Rd(0);return bd(g,u.createBindGroup(h)),g}function Bb(u,h){function m(D){var j=(M(),P)[D+4>>>2>>>0];if(j)return{type:Yy[j],hasDynamicOffset:!!(M(),P)[D+8>>>2>>>0],minBindingSize:cn(D+16)}}function g(D){if(D=(M(),P)[D+4>>>2>>>0])return{type:tb[D]}}function x(D){var j=(M(),P)[D+4>>>2>>>0];if(j)return{sampleType:sb[j],viewDimension:Ed[(M(),B)[D+8>>>2>>>0]],multisampled:!!(M(),P)[D+12>>>2>>>0]}}function T(D){var j=(M(),P)[D+4>>>2>>>0];if(j)return{access:rb[j],format:nb[(M(),B)[D+8>>>2>>>0]],viewDimension:Ed[(M(),B)[D+12>>>2>>>0]]}}function F(D){var j={binding:(M(),P)[D+4>>>2>>>0],visibility:(M(),P)[D+8>>>2>>>0],buffer:m(D+24),sampler:g(D+48),texture:x(D+56),storageTexture:T(D+72)};return uo(D,{13:()=>{j.externalTexture={}}}),j}u>>>=0,h={label:Ot((h>>>=0)+4),entries:function(D,j){for(var he=[],me=0;me<D;++me)he.push(F(j+88*me));return he}((M(),P)[h+12>>>2>>>0],(M(),P)[h+16>>>2>>>0])},u=ee(u);var S=$d(0);return bd(S,u.createBindGroupLayout(h)),S}function Rb(u,h){var m;return u>>>=0,(h>>>=0)&&(m={label:Ot(h+4)}),h=ee(u),u=Vd(0),m=h.createCommandEncoder(m),rt[u>>>0]=m,u}function $b(u,h){u>>>=0,h>>>=0;for(var m=(M(),P)[h+12>>>2>>>0],g=(M(),P)[h+16>>>2>>>0],x=[],T=0;T<m;++T)x.push(ee((M(),P)[g+4*T>>>2>>>0]));return h={label:Ot(h+4),bindGroupLayouts:x,immediateSize:(M(),P)[h+20>>>2>>>0]},m=ee(u),u=jd(0),h=m.createPipelineLayout(h),rt[u>>>0]=h,u}function Gb(u,h){u>>>=0,h>>>=0,h={type:eb[(M(),B)[h+12>>>2>>>0]],count:(M(),P)[h+16>>>2>>>0]};var m=ee(u);return u=Wd(0),h=m.createQuerySet(h),rt[u>>>0]=h,u}function Vb(u,h){return Xy(ee(u>>>0).adapterInfo,h>>>0),1}var Ub={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"texture-component-swizzle":22,"subgroup-size-control":23,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729,"chromium-experimental-subgroup-matrix":327732};function jb(u,h){h>>>=0;var m=ee(u>>>0);u=Rr(4*m.features.size);var g=0,x=0;for(let T of m.features)0<=(m=Ub[T])&&((M(),B)[u+g>>>2>>>0]=m,g+=4,x++);(M(),P)[h+4>>>2>>>0]=u,(M(),P)[h>>>2>>>0]=x}function Wb(u,h){return xd(ee(u>>>0).limits,h>>>0),1}function qb(u,h){ee(u>>>0).pushErrorScope(Ky[h])}function Hb(u,h,m){h>>>=0,m>>>=0,u=ee(u>>>0),h=Array.from((M(),B).subarray(m>>>2>>>0,m+4*h>>>2>>>0),(g)=>ee(g)),u.submit(h)}function Qb(u,h,m,g,x){m=tt(m),g>>>=0,x>>>=0,u=ee(u>>>0),h=ee(h>>>0),g=(M(),X).subarray(g>>>0,g+x>>>0),u.writeBuffer(h,m,g,0,x)}s||function(){for(var u=t.numThreads-1;u--;)zu();Oe.push(async()=>{var h=async function(){if(!s)return Promise.all(wr.map(Du))}();Me++,await h,--Me==0&&Ye&&(h=Ye,Ye=null,h())})}(),s||(vr=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),V()),t.wasmBinary&&(f=t.wasmBinary),t.stackSave=()=>ne(),t.stackRestore=(u)=>re(u),t.stackAlloc=(u)=>$s(u),t.setValue=function(u,h,m="i8"){switch(m.endsWith("*")&&(m="*"),m){case"i1":case"i8":(M(),q)[u>>>0]=h;break;case"i16":(M(),Q)[u>>>1>>>0]=h;break;case"i32":(M(),B)[u>>>2>>>0]=h;break;case"i64":(M(),Z)[u>>>3>>>0]=BigInt(h);break;case"float":(M(),Y)[u>>>2>>>0]=h;break;case"double":(M(),ue)[u>>>3>>>0]=h;break;case"*":(M(),P)[u>>>2>>>0]=h;break;default:te(`invalid type for setValue: ${m}`)}},t.getValue=function(u,h="i8"){switch(h.endsWith("*")&&(h="*"),h){case"i1":case"i8":return(M(),q)[u>>>0];case"i16":return(M(),Q)[u>>>1>>>0];case"i32":return(M(),B)[u>>>2>>>0];case"i64":return(M(),Z)[u>>>3>>>0];case"float":return(M(),Y)[u>>>2>>>0];case"double":return(M(),ue)[u>>>3>>>0];case"*":return(M(),P)[u>>>2>>>0];default:te(`invalid type for getValue: ${h}`)}},t.UTF8ToString=on,t.stringToUTF8=lr,t.lengthBytesUTF8=cr;var Nd,Dd,zd,_o,Rs,Et,Rr,Bd,Rd,$d,Gd,Vd,Ud,jd,Wd,qd,Hd,Qd,po,mo,go,wo,Qn,vo,Xd,yo,Yd,Kd,Jd,bo,Zd,ef,Mo,_e,Xn,tf,re,$s,ne,rf,xo,nf,sf,af,ko,of,lf,cf,uf,df,ff,hf,_f,pf,mf,gf,wf,vf,yf,bf,Mf,xf,kf,Tf,Ef,Af,Cf,Sf,Pf,Ff,If,Lf,Of,Nf,Df,zf,Bf,Rf,$f,Gf,Vf,Uf,jf,Wf,qf,Hf,dr,Xb=[sn,Wn,$u,Wu,qu,Hu,Qu,Xu,Yu,Ku,Ju,Zu,ed,td,rd,nd,pd,md,gd,Cd,Sd,Pd,Fd,Id,Ld,Od],To={1280444:(u,h,m,g,x)=>{if(t===void 0||!t.ed)return 1;if((u=on(Number(u>>>0))).startsWith("./")&&(u=u.substring(2)),!(u=t.ed.get(u)))return 2;if(h=Number(h>>>0),m=Number(m>>>0),g=Number(g>>>0),h+m>u.byteLength)return 3;try{let T=u.subarray(h,h+m);switch(x){case 0:(M(),X).set(T,g>>>0);break;case 1:t.pe?t.pe(g,T):t.Re(g,T);break;default:return 4}return 0}catch{return 4}},1281268:(u,h,m)=>{t.re(u,(M(),X).subarray(h>>>0,h+m>>>0))},1281332:()=>t.Pe(),1281374:(u)=>{t.qe(u)},1281411:()=>typeof wasmOffsetConverter<"u"};function Yb(){return typeof wasmOffsetConverter<"u"}function Kb(u,h,m,g){var x=ne();try{return _f(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function Jb(u,h,m){var g=ne();try{return df(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function Zb(u){var h=ne();try{of(u)}catch(m){if(re(h),m!==m+0)throw m;_e(1,0)}}function e0(u,h){var m=ne();try{return ko(u,h)}catch(g){if(re(m),g!==g+0)throw g;_e(1,0)}}function t0(u,h,m){var g=ne();try{af(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function r0(u,h){var m=ne();try{pf(u,h)}catch(g){if(re(m),g!==g+0)throw g;_e(1,0)}}function n0(u,h,m,g,x,T,F){var S=ne();try{return uf(u,h,m,g,x,T,F)}catch(D){if(re(S),D!==D+0)throw D;_e(1,0)}}function s0(u,h,m,g,x,T){var F=ne();try{lf(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function a0(u,h,m,g){var x=ne();try{hf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function o0(u,h,m,g,x,T,F){var S=ne();try{gf(u,h,m,g,x,T,F)}catch(D){if(re(S),D!==D+0)throw D;_e(1,0)}}function i0(u,h,m,g,x,T,F){var S=ne();try{wf(u,h,m,g,x,T,F)}catch(D){if(re(S),D!==D+0)throw D;_e(1,0)}}function l0(u,h,m,g,x,T,F,S){var D=ne();try{Cf(u,h,m,g,x,T,F,S)}catch(j){if(re(D),j!==j+0)throw j;_e(1,0)}}function c0(u,h,m,g,x,T,F,S,D,j,he,me){var K=ne();try{vf(u,h,m,g,x,T,F,S,D,j,he,me)}catch(Ae){if(re(K),Ae!==Ae+0)throw Ae;_e(1,0)}}function u0(u,h,m,g,x){var T=ne();try{return mf(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;_e(1,0)}}function d0(u,h,m,g,x,T){var F=ne();try{Sf(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function f0(u,h,m,g,x){var T=ne();try{cf(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;_e(1,0)}}function h0(u,h,m,g,x,T,F,S){var D=ne();try{ff(u,h,m,g,x,T,F,S)}catch(j){if(re(D),j!==j+0)throw j;_e(1,0)}}function _0(u){var h=ne();try{return Pf(u)}catch(m){if(re(h),m!==m+0)throw m;_e(1,0)}}function p0(u,h,m,g,x,T,F,S,D){var j=ne();try{bf(u,h,m,g,x,T,F,S,D)}catch(he){if(re(j),he!==he+0)throw he;_e(1,0)}}function m0(u,h,m){var g=ne();try{return Ff(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function g0(u,h){var m=ne();try{return Uf(u,h)}catch(g){if(re(m),g!==g+0)throw g;return _e(1,0),0n}}function w0(u,h,m,g){var x=ne();try{return If(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function v0(u){var h=ne();try{return yf(u)}catch(m){if(re(h),m!==m+0)throw m;return _e(1,0),0n}}function y0(u,h,m,g){var x=ne();try{return Lf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function b0(u,h,m,g,x){var T=ne();try{return Of(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;_e(1,0)}}function M0(u,h,m,g,x,T){var F=ne();try{return Nf(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function x0(u,h,m,g,x,T){var F=ne();try{return Ef(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function k0(u,h,m,g,x,T){var F=ne();try{return Df(u,h,m,g,x,T)}catch(S){if(re(F),S!==S+0)throw S;_e(1,0)}}function T0(u,h,m,g,x,T,F,S){var D=ne();try{return Af(u,h,m,g,x,T,F,S)}catch(j){if(re(D),j!==j+0)throw j;_e(1,0)}}function E0(u,h,m,g,x){var T=ne();try{return zf(u,h,m,g,x)}catch(F){if(re(T),F!==F+0)throw F;return _e(1,0),0n}}function A0(u,h,m,g){var x=ne();try{return Bf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function C0(u,h,m,g){var x=ne();try{return Rf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function S0(u,h,m,g,x,T,F,S,D,j,he,me){var K=ne();try{return $f(u,h,m,g,x,T,F,S,D,j,he,me)}catch(Ae){if(re(K),Ae!==Ae+0)throw Ae;_e(1,0)}}function P0(u,h,m,g,x,T,F,S,D,j,he){var me=ne();try{Gf(u,h,m,g,x,T,F,S,D,j,he)}catch(K){if(re(me),K!==K+0)throw K;_e(1,0)}}function F0(u,h,m,g,x,T,F,S,D,j,he,me,K,Ae,_t,lt){var $r=ne();try{Vf(u,h,m,g,x,T,F,S,D,j,he,me,K,Ae,_t,lt)}catch(Gr){if(re($r),Gr!==Gr+0)throw Gr;_e(1,0)}}function I0(u,h,m){var g=ne();try{return xf(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;return _e(1,0),0n}}function L0(u,h,m){var g=ne();try{return Mf(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function O0(u,h,m){var g=ne();try{return kf(u,h,m)}catch(x){if(re(g),x!==x+0)throw x;_e(1,0)}}function N0(u,h,m,g){var x=ne();try{Tf(u,h,m,g)}catch(T){if(re(x),T!==T+0)throw T;_e(1,0)}}function Gs(){if(0<Me)Ye=Gs;else if(s)w?.(t),de();else{for(var u=Oe;0<u.length;)u.shift()(t);0<Me?Ye=Gs:(t.calledRun=!0,C||(de(),w?.(t)))}}return s||(dr=await Fe(),Gs()),t.PTR_SIZE=4,t.webgpuInit=(u)=>{let h=new WeakMap,m,g,x=1;t.webgpuRegisterDevice=(S)=>{if(g!==void 0)throw Error("another WebGPU EP inference session is being created.");if(S){var D=h.get(S);if(!D){let j=((he,me=0)=>{var K=Qd(me);return me=Hd(me,K),rt[K>>>0]=he.queue,rt[me>>>0]=he,me})(S,D=zd());D=[x++,D,j],h.set(S,D)}return m=S,g=D[0],D}m=void 0,g=0};let T=new Map;t.webgpuOnCreateSession=(S)=>{if(g!==void 0){var D=g;if(g=void 0,S){let j=_o(D);T.set(S,j),D===0&&u(m??ee(j))}m=void 0}},t.webgpuOnReleaseSession=(S)=>{T.delete(S)};let F=Symbol("gpuBufferMetadata");t.webgpuRegisterBuffer=(S,D,j)=>{if(j)return S[F]=[j,NaN],j;if(j=S[F])return j[1]++,j[0];if((D=T.get(D))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");return D=((he,me=0)=>(he.mapState==="unmapped"||te(),me=qd(me),rt[me>>>0]=he,me))(S,D),S[F]=[D,1],D},t.webgpuUnregisterBuffer=(S)=>{let D=S[F];if(!D)throw Error("Buffer is not registered");D[1]--,D[1]===0&&(Bd(D[0]),delete S[F])},t.webgpuGetBuffer=(S)=>ee(S),t.webgpuCreateDownloader=(S,D,j)=>{if((j=T.get(j))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");let he=ee(j),me=16*Math.ceil(Number(D)/16);return async()=>{let K=he.createBuffer({size:me,usage:9});try{let Ae=he.createCommandEncoder();return Ae.copyBufferToBuffer(S,0,K,0,me),he.queue.submit([Ae.finish()]),await K.mapAsync(GPUMapMode.READ),K.getMappedRange().slice(0,D)}finally{K.destroy()}}},t.pe=(S,D)=>{var j=D.buffer;let he=D.byteOffset,me=D.byteLength;if(D=16*Math.ceil(Number(me)/16),S=ee(S),!m){var K=_o(g);m=ee(K)}let Ae=(K=m.createBuffer({mappedAtCreation:!0,size:D,usage:6})).getMappedRange();new Uint8Array(Ae).set(new Uint8Array(j,he,me)),K.unmap(),(j=m.createCommandEncoder()).copyBufferToBuffer(K,0,S,0,D),m.queue.submit([j.finish()]),K.destroy()}},t.webnnInit=(u)=>{let h=u[0];[t.Pe,t.qe,t.webnnEnsureTensor,t.re,t.webnnDownloadTensor,t.Oe,t.webnnEnableTraceEvent]=u.slice(1),t.webnnReleaseTensorId=t.qe,t.webnnUploadTensor=t.re,t.webnnRegisterMLContext=t.Oe,t.webnnOnRunStart=(m)=>h.onRunStart(m),t.webnnOnRunEnd=h.onRunEnd.bind(h),t.webnnOnReleaseSession=(m)=>{h.onReleaseSession(m)},t.webnnCreateMLTensorDownloader=(m,g)=>h.createMLTensorDownloader(m,g),t.webnnRegisterMLTensor=(m,g,x,T)=>h.registerMLTensor(m,g,x,T),t.webnnCreateMLContext=(m)=>h.createMLContext(m),t.webnnRegisterGraphInput=h.registerGraphInput.bind(h),t.webnnIsGraphInput=h.isGraphInput.bind(h),t.webnnRegisterGraphOutput=h.registerGraphOutput.bind(h),t.webnnIsGraphOutput=h.isGraphOutput.bind(h),t.webnnCreateTemporaryTensor=h.createTemporaryTensor.bind(h),t.webnnIsGraphInputOutputTypeSupported=h.isGraphInputOutputTypeSupported.bind(h)},O?t:new Promise((u,h)=>{w=u,v=h})}var Uh,Yf,tM=we(()=>{Uh=Xf,Yf=globalThis.self?.name?.startsWith("em-pthread"),Yf&&Xf()}),Fo,Ho,Kf,vt,jh,Us,Jf,Zf,Io,eh,Lo,Wh,Oo,qh,ti=we(()=>{ei(),Fo=typeof location>"u"?void 0:location.origin,Ho=import.meta.url>"file:"&&import.meta.url<"file;",Kf=()=>{if(Ho)return new URL(new URL("ort.webgpu.bundle.min.mjs",import.meta.url).href,Fo).href;return import.meta.url},vt=Kf(),jh=()=>{if(vt&&!vt.startsWith("blob:"))return vt.substring(0,vt.lastIndexOf("/")+1)},Us=(e,t)=>{try{let r=t??vt;return(r?new URL(e,r):new URL(e)).origin===Fo}catch{return!1}},Jf=(e,t)=>{let r=t??vt;try{return(r?new URL(e,r):new URL(e)).href}catch{return}},Zf=(e,t)=>`${t??"./"}${e}`,Io=async(e)=>{let t=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(t)},eh=async(e)=>(await import(e)).default,Lo=(eM(),Qs($h)).default,Wh=async()=>{if(!vt)throw Error("Failed to load proxy worker: cannot determine the script source URL.");if(Us(vt))return[void 0,Lo()];let e=await Io(vt);return[e,Lo(e)]},Oo=(tM(),Qs(Vh)).default,qh=async(e,t,r,n)=>{let s=Oo&&!(e||t);if(s)if(vt)s=Us(vt)||n&&!r;else if(n&&!r)s=!0;else throw Error("cannot determine the script source URL.");if(s)return[void 0,Oo];{let a="ort-wasm-simd-threaded.asyncify.mjs",o=e??Jf(a,t),i=r&&o&&!Us(o,t),l=i?await Io(o):o??Zf(a,t);return[i?l:void 0,await eh(l)]}}}),No,js,Kn,Do,th,rh,nh,ri,Le,Yr=we(()=>{ti(),js=!1,Kn=!1,Do=!1,th=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},rh=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},nh=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},ri=async(e)=>{if(js)return Promise.resolve();if(Kn)throw Error("multiple calls to 'initializeWebAssembly()' detected.");if(Do)throw Error("previous call to 'initializeWebAssembly()' failed.");Kn=!0;let{initTimeout:t,numThreads:r}=e;if(e.simd!==!1){if(e.simd==="relaxed"){if(!nh())throw Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!rh())throw Error("WebAssembly SIMD is not supported in the current environment.")}let n=th();r>1&&!n&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=r=1);let s=e.wasmPaths,a=typeof s=="string"?s:void 0,o=s?.mjs,i=o?.href??o,l=s?.wasm,c=l?.href??l,d=e.wasmBinary,[f,_]=await qh(i,a,r>1,!!d||!!c),p=!1,w=[];if(t>0&&w.push(new Promise((v)=>{setTimeout(()=>{p=!0,v()},t)})),w.push(new Promise((v,y)=>{let b={numThreads:r};if(d)b.wasmBinary=d,b.locateFile=(k)=>k;else if(c||a)b.locateFile=(k)=>c??a+k;else if(i&&i.indexOf("blob:")!==0)b.locateFile=(k)=>new URL(k,i).href;else if(f){let k=jh();k&&(b.locateFile=(A)=>k+A)}_(b).then((k)=>{Kn=!1,js=!0,No=k,v(),f&&URL.revokeObjectURL(f)},(k)=>{Kn=!1,Do=!0,y(k)})})),await Promise.race(w),p)throw Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Le=()=>{if(js&&No)return No;throw Error("WebAssembly is not initialized yet.")}}),yt,Ys,ke,ni=we(()=>{Yr(),yt=(e,t)=>{let r=Le(),n=r.lengthBytesUTF8(e)+1,s=r._malloc(n);return r.stringToUTF8(e,s,n),t.push(s),s},Ys=(e,t,r,n)=>{if(typeof e=="object"&&e!==null){if(r.has(e))throw Error("Circular reference in options");r.add(e)}Object.entries(e).forEach(([s,a])=>{let o=t?t+s:s;if(typeof a=="object")Ys(a,o+".",r,n);else if(typeof a=="string"||typeof a=="number")n(o,a.toString());else if(typeof a=="boolean")n(o,a?"1":"0");else throw Error(`Can't handle extra config type: ${typeof a}`)})},ke=(e)=>{let t=Le(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetLastError(s,s+n);let a=Number(t.getValue(s,n===4?"i32":"i64")),o=t.getValue(s+n,"*"),i=o?t.UTF8ToString(o):"";throw Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(r)}}}),Hh,rM=we(()=>{Yr(),ni(),Hh=(e)=>{let t=Le(),r=0,n=[],s=e||{};try{if(e?.logSeverityLevel===void 0)s.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)s.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(s.terminate=!1);let a=0;return e?.tag!==void 0&&(a=yt(e.tag,n)),r=t._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,a),r===0&&ke("Can't create run options."),e?.extra!==void 0&&Ys(e.extra,"",new WeakSet,(o,i)=>{let l=yt(o,n),c=yt(i,n);t._OrtAddRunConfigEntry(r,l,c)!==0&&ke(`Can't set a run config entry: ${o} - ${i}.`)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseRunOptions(r),n.forEach((o)=>t._free(o)),a}}}),sh,ah,oh,dn,Zt,ih,Qh,nM=we(()=>{Yr(),ni(),sh=(e)=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${e}`)}},ah=(e)=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${e}`)}},oh=(e)=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some((r)=>(typeof r=="string"?r:r.name)==="webgpu")&&(e.enableMemPattern=!1)},dn=(e,t,r,n)=>{let s=yt(t,n),a=yt(r,n);Le()._OrtAddSessionConfigEntry(e,s,a)!==0&&ke(`Can't set a session config entry: ${t} - ${r}.`)},Zt=(e,t,r,n)=>{let s=yt(t,n),a=yt(r,n);e.push([s,a])},ih=async(e,t,r)=>{let n=t.executionProviders;for(let s of n){let a=typeof s=="string"?s:s.name,o=[];switch(a){case"webnn":if(a="WEBNN",dn(e,"session.disable_quant_qdq","1",r),dn(e,"session.disable_qdq_constant_folding","1",r),typeof s!="string"){let f=s?.deviceType;f&&dn(e,"deviceType",f,r)}break;case"webgpu":{a="WebGPU";let f;if(typeof s!="string"){let p=s;if(p.device)if(typeof GPUDevice<"u"&&p.device instanceof GPUDevice)f=p.device;else throw Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:w}=t;if(typeof w=="boolean"&&w&&Zt(o,"enableGraphCapture","1",r),typeof p.preferredLayout=="string"&&Zt(o,"preferredLayout",p.preferredLayout,r),p.forceCpuNodeNames){let v=Array.isArray(p.forceCpuNodeNames)?p.forceCpuNodeNames:[p.forceCpuNodeNames];Zt(o,"forceCpuNodeNames",v.join(`
|
|
10
|
+
`),r)}p.validationMode&&Zt(o,"validationMode",p.validationMode,r),typeof p.enableMatmulFp32Accumulation=="boolean"&&Zt(o,"enableMatmulFp32Accumulation",p.enableMatmulFp32Accumulation?"1":"0",r);for(let v of["storageBufferCacheMode","uniformBufferCacheMode","queryResolveBufferCacheMode","defaultBufferCacheMode"]){let y=p[v];if(y){if(y!=="disabled"&&y!=="lazyRelease"&&y!=="simple"&&y!=="bucket")throw Error(`${v} must be one of 'disabled', 'lazyRelease', 'simple' or 'bucket': ${y}`);Zt(o,v,y,r)}}}let _=Le().webgpuRegisterDevice(f);if(_){let[p,w,v]=_;Zt(o,"deviceId",p.toString(),r),Zt(o,"webgpuInstance",w.toString(),r),Zt(o,"webgpuDevice",v.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw Error(`not supported execution provider: ${a}`)}let i=yt(a,r),l=o.length,c=0,d=0;if(l>0){c=Le()._malloc(l*Le().PTR_SIZE),r.push(c),d=Le()._malloc(l*Le().PTR_SIZE),r.push(d);for(let f=0;f<l;f++)Le().setValue(c+f*Le().PTR_SIZE,o[f][0],"*"),Le().setValue(d+f*Le().PTR_SIZE,o[f][1],"*")}await Le()._OrtAppendExecutionProvider(e,i,c,d,l)!==0&&ke(`Can't append execution provider: ${a}.`)}},Qh=async(e)=>{let t=Le(),r=0,n=[],s=e||{};oh(s);try{let a=sh(s.graphOptimizationLevel??"all"),o=ah(s.executionMode??"sequential"),i=typeof s.logId=="string"?yt(s.logId,n):0,l=s.logSeverityLevel??2;if(!Number.isInteger(l)||l<0||l>4)throw Error(`log severity level is not valid: ${l}`);let c=s.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw Error(`log verbosity level is not valid: ${c}`);let d=typeof s.optimizedModelFilePath=="string"?yt(s.optimizedModelFilePath,n):0;if(r=t._OrtCreateSessionOptions(a,!!s.enableCpuMemArena,!!s.enableMemPattern,o,!!s.enableProfiling,0,i,l,c,d),r===0&&ke("Can't create session options."),s.executionProviders&&await ih(r,s,n),s.enableGraphCapture!==void 0){if(typeof s.enableGraphCapture!="boolean")throw Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);dn(r,"enableGraphCapture",s.enableGraphCapture.toString(),n)}if(s.freeDimensionOverrides)for(let[f,_]of Object.entries(s.freeDimensionOverrides)){if(typeof f!="string")throw Error(`free dimension override name must be a string: ${f}`);if(typeof _!="number"||!Number.isInteger(_)||_<0)throw Error(`free dimension override value must be a non-negative integer: ${_}`);let p=yt(f,n);t._OrtAddFreeDimensionOverride(r,p,_)!==0&&ke(`Can't set a free dimension override: ${f} - ${_}.`)}return s.extra!==void 0&&Ys(s.extra,"",new WeakSet,(f,_)=>{dn(r,f,_,n)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseSessionOptions(r)!==0&&ke("Can't release session options."),n.forEach((o)=>t._free(o)),a}}}),Wr,Hs,hn,rs,Ks,si,ai,Qo,_n=we(()=>{Wr=(e)=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw Error(`unsupported data type: ${e}`)}},Hs=(e)=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw Error(`unsupported data type: ${e}`)}},hn=(e,t)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,0.5,0.5][e],n=typeof t=="number"?t:t.reduce((s,a)=>s*a,1);return r>0?Math.ceil(n*r):void 0},rs=(e)=>{switch(e){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${e}`)}},Ks=(e)=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${e}`)}},si=(e)=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ai=(e)=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",Qo=(e)=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw Error(`unsupported data location: ${e}`)}}}),oi,Xh=we(()=>{ei(),oi=async(e)=>{if(typeof e=="string"){let t=await fetch(e);if(!t.ok)throw Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),n=r?parseInt(r,10):0;if(n<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw Error(`failed to load external data file: ${e}, no response body.`);let s=t.body.getReader(),a;try{a=new ArrayBuffer(n)}catch(i){if(i instanceof RangeError){let l=Math.ceil(n/65536);a=new WebAssembly.Memory({initial:l,maximum:l}).buffer}else throw i}let o=0;for(;;){let{done:i,value:l}=await s.read();if(i)break;let c=l.byteLength;new Uint8Array(a,o,c).set(l),o+=c}return new Uint8Array(a,0,n)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),Yh,sM=we(()=>{_n(),Yh=(e,t)=>new(rs(t))(e)}),lh,ch,uh,dh,Kh,fh,pt,Jh=we(()=>{_n(),lh=["V","I","W","E","F"],ch=(e,t)=>{console.log(`[${lh[e]},${new Date().toISOString()}]${t}`)},Kh=(e,t)=>{uh=e,dh=t},fh=(e,t)=>{let r=Ks(e),n=Ks(uh);r>=n&&ch(r,typeof t=="function"?t():t)},pt=(...e)=>{dh&&fh(...e)}}),zo,hh,Bo,_h,Ro,ph,$o,Go,Vo,mh,Zh,aM=we(()=>{_n(),Jh(),zo=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),hh=(e,t)=>{if(t==="int32")return e;let r=zo.get(t);if(!r)throw Error(`WebNN backend does not support data type: ${t}`);let n=r/8;if(e.byteLength%n!==0)throw Error(`Invalid Uint8Array length - must be a multiple of ${n}.`);let s=e.byteLength/n,a=new(rs(t))(e.buffer,e.byteOffset,s);switch(t){case"int64":case"uint64":{let o=new Int32Array(s);for(let i=0;i<s;i++){let l=a[i];if(l>2147483647n||l<-2147483648n)throw Error("Can not convert int64 data to int32 - value out of range.");o[i]=Number(l)}return new Uint8Array(o.buffer)}case"int8":case"uint8":case"uint32":{if(t==="uint32"&&a.some((i)=>i>2147483647))throw Error("Can not convert uint32 data to int32 - value out of range.");let o=Int32Array.from(a,Number);return new Uint8Array(o.buffer)}default:throw Error(`Unsupported data conversion from ${t} to 'int32'`)}},Bo=(e,t)=>{if(t==="int32")return e;if(e.byteLength%4!==0)throw Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=e.byteLength/4,n=new Int32Array(e.buffer,e.byteOffset,r);switch(t){case"int64":{let s=BigInt64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"uint64":{if(n.some((a)=>a<0))throw Error("Can not convert int32 data to uin64 - negative value found.");let s=BigUint64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"int8":{if(n.some((a)=>a<-128||a>127))throw Error("Can not convert int32 data to int8 - value out of range.");let s=Int8Array.from(n,Number);return new Uint8Array(s.buffer)}case"uint8":{if(n.some((s)=>s<0||s>255))throw Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(n,Number)}case"uint32":{if(n.some((a)=>a<0))throw Error("Can not convert int32 data to uint32 - negative value found.");let s=Uint32Array.from(n,Number);return new Uint8Array(s.buffer)}default:throw Error(`Unsupported data conversion from 'int32' to ${t}`)}},_h=1,Ro=()=>_h++,ph=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),$o=(e,t)=>{let r=zo.get(e);if(!r)throw Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((n,s)=>n*s)*r/8):0},Go=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:r,tensor:n,dataType:s,shape:a,fallbackDataType:o}=e;this.sessionId=t,this.mlContext=r,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=o}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return $o(this.dataType,this.tensorShape)}destroy(){pt("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let t=await this.mlContext.readTensor(this.mlTensor),r=Bo(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(r);return}else return new Uint8Array(r).buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,r){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===r.length&&this.tensorShape.every((n,s)=>n===r[s])}setIsDataConverted(e){this.isDataConverted=e}},Vo=class{constructor(e,t){this.tensorManager=e,this.wrapper=t}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,t,r,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),o;if(!a?.input.dataTypes.includes(t)){if(o=ph.get(t),!o||!a?.input.dataTypes.includes(o))throw Error(`WebNN backend does not support data type: ${t}`);pt("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${o}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,t,r))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==$o(t,r))throw Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let i=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,r,i,!0,!0,o),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let t=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")t=hh(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else pt("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(t):this.activeUpload=new Uint8Array(t)}async download(e){if(this.activeUpload){let t=this.wrapper?.isDataConverted?Bo(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(t):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(t);return}else return t.buffer}if(!this.wrapper)throw Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},mh=class{constructor(e){this.backend=e,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(e){let t=this.backend.getMLContext(e);if(!t)throw Error("MLContext not found for session.");return t}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Ro();return this.tensorTrackersById.set(e,new Vo(this)),e}releaseTensorId(e){let t=this.tensorTrackersById.get(e);t&&(this.tensorTrackersById.delete(e),t.tensorWrapper&&this.releaseTensor(t.tensorWrapper))}async ensureTensor(e,t,r,n,s){pt("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${r}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(t);if(!a)throw Error("Tensor not found.");return a.ensureTensor(e,r,n,s)}upload(e,t){let r=this.tensorTrackersById.get(e);if(!r)throw Error("Tensor not found.");r.upload(t)}async download(e,t){pt("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let r=this.tensorTrackersById.get(e);if(!r)throw Error("Tensor not found.");return r.download(t)}releaseTensorsForSession(e){for(let t of this.freeTensors)t.sessionId===e&&t.destroy();this.freeTensors=this.freeTensors.filter((t)=>t.sessionId!==e)}registerTensor(e,t,r,n){let s=this.getMLContext(e),a=Ro(),o=new Go({sessionId:e,context:s,tensor:t,dataType:r,shape:n});return this.tensorTrackersById.set(a,new Vo(this,o)),this.externalTensors.add(o),a}async getCachedTensor(e,t,r,n,s,a,o){let i=this.getMLContext(e);for(let[c,d]of this.freeTensors.entries())if(d.canReuseTensor(i,t,r)){pt("verbose",()=>`[WebNN] Reusing tensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}`);let f=this.freeTensors.splice(c,1)[0];return f.sessionId=e,f}pt("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}}`);let l=await i.createTensor({dataType:o??t,shape:r,dimensions:r,usage:n,writable:s,readable:a});return new Go({sessionId:e,context:i,tensor:l,dataType:t,shape:r,fallbackDataType:o})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Zh=(...e)=>new mh(...e)}),e_={};ns(e_,{WebNNBackend:()=>t_});var Jn,gh,t_,oM=we(()=>{_n(),Yr(),sM(),aM(),Jh(),Jn=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),gh=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let r=Object.keys(e).sort(),n=Object.keys(t).sort();return r.length===n.length&&r.every((s,a)=>s===n[a]&&e[s]===t[s])},t_=class{constructor(e){this.tensorManager=Zh(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,this.mlOpSupportLimitsBySessionId=new Map,Kh(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw Error("No active session");return this.activeSessionId}onRunStart(e){pt("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){pt("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let r of t)pt("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let r=this.mlContextCache.findIndex((n)=>n.gpuDevice===e);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let r=this.mlContextCache.findIndex((n)=>n.options===void 0&&n.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let t=this.mlContextCache.findIndex((r)=>gh(r.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let r=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:r}),r}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let r=this.sessionIdsByMLContext.get(t);r||(r=new Set,this.sessionIdsByMLContext.set(t,r)),r.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,t.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let t=this.mlContextBySessionId.get(e);if(!t)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let r=this.sessionIdsByMLContext.get(t);if(r.delete(e),r.size===0){this.sessionIdsByMLContext.delete(t);let n=this.mlContextCache.findIndex((s)=>s.mlContext===t);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){pt("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,r,n,s){let a=Jn.get(r);if(!a)throw Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,a,n,s)}async createTemporaryTensor(e,t,r){pt("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${r}}`);let n=Jn.get(t);if(!n)throw Error(`Unsupported ONNX data type: ${t}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,r,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,t){if(!Le().shouldTransferToMLTensor)throw Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");pt("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${t.byteLength}}`),this.tensorManager.upload(e,t)}async downloadTensor(e,t){return this.tensorManager.download(e,t)}createMLTensorDownloader(e,t){return async()=>{let r=await this.tensorManager.download(e);return Yh(r,t)}}registerMLTensor(e,t,r,n){let s=Jn.get(r);if(!s)throw Error(`Unsupported ONNX data type: ${r}`);let a=this.tensorManager.registerTensor(e,t,s,n);return pt("verbose",()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let r=this.sessionGraphInputs.get(e);return r?r.includes(t):!1}isGraphOutput(e,t){let r=this.sessionGraphOutputs.get(e);return r?r.includes(t):!1}isGraphInputOutputTypeSupported(e,t,r=!0){let n=Jn.get(Wr(t)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:r?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}}),wh,ii,li,Mr,vh,Uo,Js,ci,ui,jo,di,fi,hi,r_=we(()=>{Xr(),rM(),nM(),_n(),Yr(),ni(),Xh(),wh=(e,t)=>{Le()._OrtInit(e,t)!==0&&ke("Can't initialize onnxruntime.")},ii=async(e)=>{wh(e.wasm.numThreads,Ks(e.logLevel))},li=async(e,t)=>{Le().asyncInit?.();let r=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let n=e.webgpu.powerPreference;if(n!==void 0&&n!=="low-power"&&n!=="high-performance")throw Error(`Invalid powerPreference setting: "${n}"`);let s=e.webgpu.forceFallbackAdapter;if(s!==void 0&&typeof s!="boolean")throw Error(`Invalid forceFallbackAdapter setting: "${s}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:n,forceFallbackAdapter:s}),!r)throw Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw Error("WebNN is not supported in current environment");if(t==="webgpu"&&Le().webgpuInit((n)=>{e.webgpu.device=n}),t==="webnn"){let n=new(oM(),Qs(e_)).WebNNBackend(e);Le().webnnInit([n,()=>n.reserveTensorId(),(s)=>n.releaseTensorId(s),async(s,a,o,i,l)=>n.ensureTensor(s,a,o,i,l),(s,a)=>{n.uploadTensor(s,a)},async(s,a)=>n.downloadTensor(s,a),(s,a)=>n.registerMLContext(s,a),!!e.trace])}},Mr=new Map,vh=(e)=>{let t=Le(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetInputOutputCount(e,s,s+n)!==0&&ke("Can't get session input/output count.");let a=n===4?"i32":"i64";return[Number(t.getValue(s,a)),Number(t.getValue(s+n,a))]}finally{t.stackRestore(r)}},Uo=(e,t)=>{let r=Le(),n=r.stackSave(),s=0;try{let a=r.PTR_SIZE,o=r.stackAlloc(2*a);r._OrtGetInputOutputMetadata(e,t,o,o+a)!==0&&ke("Can't get session input/output metadata.");let i=Number(r.getValue(o,"*"));s=Number(r.getValue(o+a,"*"));let l=r.HEAP32[s/4];if(l===0)return[i,0];let c=r.HEAPU32[s/4+1],d=[];for(let f=0;f<c;f++){let _=Number(r.getValue(s+8+f*a,"*"));d.push(_!==0?r.UTF8ToString(_):Number(r.getValue(s+8+(f+c)*a,"*")))}return[i,l,d]}finally{r.stackRestore(n),s!==0&&r._OrtFree(s)}},Js=(e)=>{let t=Le(),r=t._malloc(e.byteLength);if(r===0)throw Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},ci=async(e,t)=>{let r,n,s=Le();Array.isArray(e)?[r,n]=e:e.buffer===s.HEAPU8.buffer?[r,n]=[e.byteOffset,e.byteLength]:[r,n]=Js(e);let a=0,o=0,i=0,l=[],c=[],d=[];try{if([o,l]=await Qh(t),t?.externalData&&s.mountExternalData){let E=[];for(let C of t.externalData){let N=typeof C=="string"?C:C.path,M=typeof C=="string"?C:C.data;E.push(oi(M).then((G)=>{s.mountExternalData(N,G)}))}await Promise.all(E)}for(let E of t?.executionProviders??[])if((typeof E=="string"?E:E.name)==="webnn"){if(s.shouldTransferToMLTensor=!1,typeof E!="string"){let C=E,N=C?.context,M=C?.gpuDevice,G=C?.deviceType,R=C?.powerPreference;N?s.currentContext=N:M?s.currentContext=await s.webnnCreateMLContext(M):s.currentContext=await s.webnnCreateMLContext({deviceType:G,powerPreference:R})}else s.currentContext=await s.webnnCreateMLContext();break}a=await s._OrtCreateSession(r,n,o),s.webgpuOnCreateSession?.(a),a===0&&ke("Can't create a session."),s.jsepOnCreateSession?.(),s.currentContext&&(s.webnnRegisterMLContext(a,s.currentContext),s.currentContext=void 0,s.shouldTransferToMLTensor=!0);let[f,_]=vh(a),p=!!t?.enableGraphCapture,w=[],v=[],y=[],b=[],k=[];for(let E=0;E<f;E++){let[C,N,M]=Uo(a,E);C===0&&ke("Can't get an input name."),c.push(C);let G=s.UTF8ToString(C);w.push(G),y.push(N===0?{name:G,isTensor:!1}:{name:G,isTensor:!0,type:Hs(N),shape:M})}for(let E=0;E<_;E++){let[C,N,M]=Uo(a,E+f);C===0&&ke("Can't get an output name."),d.push(C);let G=s.UTF8ToString(C);v.push(G),b.push(N===0?{name:G,isTensor:!1}:{name:G,isTensor:!0,type:Hs(N),shape:M});{if(p&&t?.preferredOutputLocation===void 0){k.push("gpu-buffer");continue}let R=typeof t?.preferredOutputLocation=="string"?t.preferredOutputLocation:t?.preferredOutputLocation?.[G]??"cpu",q=s.webnnIsGraphOutput;if(R==="cpu"&&q&&q(a,G)){k.push("ml-tensor-cpu-output");continue}if(R!=="cpu"&&R!=="cpu-pinned"&&R!=="gpu-buffer"&&R!=="ml-tensor")throw Error(`Not supported preferred output location: ${R}.`);if(p&&R!=="gpu-buffer")throw Error(`Not supported preferred output location: ${R}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);k.push(R)}}let A=null;return k.some((E)=>E==="gpu-buffer"||E==="ml-tensor"||E==="ml-tensor-cpu-output")&&(i=s._OrtCreateBinding(a),i===0&&ke("Can't create IO binding."),A={handle:i,outputPreferredLocations:k,outputPreferredLocationsEncoded:k.map((E)=>E==="ml-tensor-cpu-output"?"ml-tensor":E).map((E)=>Qo(E))}),Mr.set(a,[a,c,d,A,p,!1]),[a,w,v,y,b]}catch(f){throw c.forEach((_)=>s._OrtFree(_)),d.forEach((_)=>s._OrtFree(_)),i!==0&&s._OrtReleaseBinding(i)!==0&&ke("Can't release IO binding."),a!==0&&s._OrtReleaseSession(a)!==0&&ke("Can't release session."),f}finally{s._free(r),o!==0&&s._OrtReleaseSessionOptions(o)!==0&&ke("Can't release session options."),l.forEach((f)=>s._free(f)),s.unmountExternalData?.()}},ui=(e)=>{let t=Le(),r=Mr.get(e);if(!r)throw Error(`cannot release session. invalid session id: ${e}`);let[n,s,a,o,i]=r;o&&(i&&t._OrtClearBoundOutputs(o.handle)!==0&&ke("Can't clear bound outputs."),t._OrtReleaseBinding(o.handle)!==0&&ke("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),s.forEach((l)=>t._OrtFree(l)),a.forEach((l)=>t._OrtFree(l)),t._OrtReleaseSession(n)!==0&&ke("Can't release session."),Mr.delete(e)},jo=async(e,t,r,n,s,a,o=!1)=>{if(!e){t.push(0);return}let i=Le(),l=i.PTR_SIZE,c=e[0],d=e[1],f=e[3],_=f,p,w;if(c==="string"&&(f==="gpu-buffer"||f==="ml-tensor"))throw Error("String tensor is not supported on GPU.");if(o&&f!=="gpu-buffer")throw Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(f==="gpu-buffer"){let b=e[2].gpuBuffer;w=hn(Wr(c),d);{let k=i.webgpuRegisterBuffer;if(!k)throw Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=k(b,n)}}else if(f==="ml-tensor"){let b=e[2].mlTensor;w=hn(Wr(c),d);let k=i.webnnRegisterMLTensor;if(!k)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=k(n,b,Wr(c),d)}else{let b=e[2];if(Array.isArray(b)){w=l*b.length,p=i._malloc(w),r.push(p);for(let k=0;k<b.length;k++){if(typeof b[k]!="string")throw TypeError(`tensor data at index ${k} is not a string`);i.setValue(p+k*l,yt(b[k],r),"*")}}else{let{webnnIsGraphInput:k,webnnIsGraphOutput:A}=i;if(c!=="string"&&k&&A){let E=i.UTF8ToString(s);if(k(n,E)||A(n,E)){let C=Wr(c);w=hn(C,d),_="ml-tensor";let{webnnCreateTemporaryTensor:N,webnnUploadTensor:M}=i;if(!N||!M)throw Error('Tensor location "ml-tensor" is not supported without using WebNN.');let G=await N(n,C,d);M(G,new Uint8Array(b.buffer,b.byteOffset,b.byteLength)),p=G}else w=b.byteLength,p=i._malloc(w),r.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,w),p)}else w=b.byteLength,p=i._malloc(w),r.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,w),p)}}let v=i.stackSave(),y=i.stackAlloc(4*d.length);try{d.forEach((k,A)=>i.setValue(y+A*l,k,l===4?"i32":"i64"));let b=i._OrtCreateTensor(Wr(c),p,w,y,d.length,Qo(_));b===0&&ke(`Can't create tensor for input/output. session=${n}, index=${a}.`),t.push(b)}finally{i.stackRestore(v)}},di=async(e,t,r,n,s,a)=>{let o=Le(),i=o.PTR_SIZE,l=Mr.get(e);if(!l)throw Error(`cannot run inference. invalid session id: ${e}`);let c=l[0],d=l[1],f=l[2],_=l[3],p=l[4],w=l[5],v=t.length,y=n.length,b=0,k=[],A=[],E=[],C=[],N=[],M=o.stackSave(),G=o.stackAlloc(v*i),R=o.stackAlloc(v*i),q=o.stackAlloc(y*i),X=o.stackAlloc(y*i);try{[b,k]=Hh(a),kr("wasm prepareInputOutputTensor");for(let P=0;P<v;P++)await jo(r[P],A,C,e,d[t[P]],t[P],p);for(let P=0;P<y;P++)await jo(s[P],E,C,e,f[n[P]],v+n[P],p);Tr("wasm prepareInputOutputTensor");for(let P=0;P<v;P++)o.setValue(G+P*i,A[P],"*"),o.setValue(R+P*i,d[t[P]],"*");for(let P=0;P<y;P++)o.setValue(q+P*i,E[P],"*"),o.setValue(X+P*i,f[n[P]],"*");if(_&&!w){let{handle:P,outputPreferredLocations:Y,outputPreferredLocationsEncoded:ue}=_;if(d.length!==v)throw Error(`input count from feeds (${v}) is expected to be always equal to model's input count (${d.length}).`);kr("wasm bindInputsOutputs");for(let Z=0;Z<v;Z++){let se=t[Z];await o._OrtBindInput(P,d[se],A[Z])!==0&&ke(`Can't bind input[${Z}] for session=${e}.`)}for(let Z=0;Z<y;Z++){let se=n[Z];s[Z]?.[3]?(N.push(E[Z]),o._OrtBindOutput(P,f[se],E[Z],0)!==0&&ke(`Can't bind pre-allocated output[${Z}] for session=${e}.`)):o._OrtBindOutput(P,f[se],0,ue[se])!==0&&ke(`Can't bind output[${Z}] to ${Y[Z]} for session=${e}.`)}Tr("wasm bindInputsOutputs"),Mr.set(e,[c,d,f,_,p,!0])}o.jsepOnRunStart?.(c),o.webnnOnRunStart?.(c);let Q;_?Q=await o._OrtRunWithBinding(c,_.handle,y,q,b):Q=await o._OrtRun(c,R,G,v,X,y,q,b),Q!==0&&ke("failed to call OrtRun().");let H=[],B=[];kr("wasm ProcessOutputTensor");for(let P=0;P<y;P++){let Y=Number(o.getValue(q+P*i,"*"));if(Y===E[P]||N.includes(E[P])){H.push(s[P]),Y!==E[P]&&o._OrtReleaseTensor(Y)!==0&&ke("Can't release tensor.");continue}let ue=o.stackSave(),Z=o.stackAlloc(4*i),se=!1,L,O=0;try{o._OrtGetTensorData(Y,Z,Z+i,Z+2*i,Z+3*i)!==0&&ke(`Can't access output tensor data on index ${P}.`);let V=i===4?"i32":"i64",de=Number(o.getValue(Z,V));O=o.getValue(Z+i,"*");let te=o.getValue(Z+i*2,"*"),We=Number(o.getValue(Z+i*3,V)),Fe=[];for(let Oe=0;Oe<We;Oe++)Fe.push(Number(o.getValue(te+Oe*i,V)));o._OrtFree(te)!==0&&ke("Can't free memory for tensor dims.");let be=Fe.reduce((Oe,Me)=>Oe*Me,1);L=Hs(de);let Ge=_?.outputPreferredLocations[n[P]];if(L==="string"){if(Ge==="gpu-buffer"||Ge==="ml-tensor")throw Error("String tensor is not supported on GPU.");let Oe=[];for(let Me=0;Me<be;Me++){let Ye=o.getValue(O+Me*i,"*"),Xt=o.getValue(O+(Me+1)*i,"*"),xe=Me===be-1?void 0:Xt-Ye;Oe.push(o.UTF8ToString(Ye,xe))}H.push([L,Fe,Oe,"cpu"])}else if(Ge==="gpu-buffer"&&be>0){let Oe=o.webgpuGetBuffer;if(!Oe)throw Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let Me=Oe(O),Ye=hn(de,be);if(Ye===void 0||!si(L))throw Error(`Unsupported data type: ${L}`);se=!0;{o.webgpuRegisterBuffer(Me,e,O);let Xt=o.webgpuCreateDownloader(Me,Ye,e);H.push([L,Fe,{gpuBuffer:Me,download:async()=>{let xe=await Xt();return new(rs(L))(xe)},dispose:()=>{o._OrtReleaseTensor(Y)!==0&&ke("Can't release tensor.")}},"gpu-buffer"])}}else if(Ge==="ml-tensor"&&be>0){let{webnnEnsureTensor:Oe,webnnIsGraphInputOutputTypeSupported:Me}=o;if(!Oe||!Me)throw Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(hn(de,be)===void 0||!ai(L))throw Error(`Unsupported data type: ${L}`);if(!Me(e,L,!1))throw Error(`preferredLocation "ml-tensor" for ${L} output is not supported by current WebNN Context.`);let Ye=await Oe(e,O,de,Fe,!1);se=!0,H.push([L,Fe,{mlTensor:Ye,download:o.webnnCreateMLTensorDownloader(O,L),dispose:()=>{o.webnnReleaseTensorId(O),o._OrtReleaseTensor(Y)}},"ml-tensor"])}else if(Ge==="ml-tensor-cpu-output"&&be>0){let Oe=o.webnnCreateMLTensorDownloader(O,L)(),Me=H.length;se=!0,B.push((async()=>{let Ye=[Me,await Oe];return o.webnnReleaseTensorId(O),o._OrtReleaseTensor(Y),Ye})()),H.push([L,Fe,[],"cpu"])}else{let Oe=rs(L),Me=new Oe(be);new Uint8Array(Me.buffer,Me.byteOffset,Me.byteLength).set(o.HEAPU8.subarray(O,O+Me.byteLength)),H.push([L,Fe,Me,"cpu"])}}finally{o.stackRestore(ue),L==="string"&&O&&o._free(O),se||o._OrtReleaseTensor(Y)}}_&&!p&&(o._OrtClearBoundOutputs(_.handle)!==0&&ke("Can't clear bound outputs."),Mr.set(e,[c,d,f,_,p,!1]));for(let[P,Y]of await Promise.all(B))H[P][2]=Y;return Tr("wasm ProcessOutputTensor"),H}finally{o.webnnOnRunEnd?.(c),o.stackRestore(M),r.forEach((Q)=>{Q&&Q[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(Q[2].gpuBuffer)}),s.forEach((Q)=>{Q&&Q[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(Q[2].gpuBuffer)}),A.forEach((Q)=>o._OrtReleaseTensor(Q)),E.forEach((Q)=>o._OrtReleaseTensor(Q)),C.forEach((Q)=>o._free(Q)),b!==0&&o._OrtReleaseRunOptions(b),k.forEach((Q)=>o._free(Q))}},fi=(e)=>{let t=Le(),r=Mr.get(e);if(!r)throw Error("invalid session id");let n=r[0],s=t._OrtEndProfiling(n);s===0&&ke("Can't get an profile file name."),t._OrtFree(s)},hi=(e)=>{let t=[];for(let r of e){let n=r[2];!Array.isArray(n)&&"buffer"in n&&t.push(n.buffer)}return t}}),xr,At,fn,Zn,es,Ws,Wo,qs,Vr,Ur,yh,n_,s_,a_,o_,i_,l_,c_,u_=we(()=>{Xr(),r_(),Yr(),ti(),xr=()=>!!Be.wasm.proxy&&typeof document<"u",fn=!1,Zn=!1,es=!1,qs=new Map,Vr=(e,t)=>{let r=qs.get(e);r?r.push(t):qs.set(e,[t])},Ur=()=>{if(fn||!Zn||es||!At)throw Error("worker not ready")},yh=(e)=>{switch(e.data.type){case"init-wasm":fn=!1,e.data.err?(es=!0,Wo[1](e.data.err)):(Zn=!0,Wo[0]()),Ws&&(URL.revokeObjectURL(Ws),Ws=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=qs.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},n_=async()=>{if(!Zn){if(fn)throw Error("multiple calls to 'initWasm()' detected.");if(es)throw Error("previous call to 'initWasm()' failed.");if(fn=!0,xr())return new Promise((e,t)=>{At?.terminate(),Wh().then(([r,n])=>{try{At=n,At.onerror=(a)=>t(a),At.onmessage=yh,Wo=[e,t];let s={type:"init-wasm",in:Be};!s.in.wasm.wasmPaths&&(r||Ho)&&(s.in.wasm.wasmPaths={wasm:new URL("ort-wasm-simd-threaded.asyncify.wasm",import.meta.url).href}),At.postMessage(s),Ws=r}catch(s){t(s)}},t)});try{await ri(Be.wasm),await ii(Be),Zn=!0}catch(e){throw es=!0,e}finally{fn=!1}}},s_=async(e)=>{if(xr())return Ur(),new Promise((t,r)=>{Vr("init-ep",[t,r]);let n={type:"init-ep",in:{epName:e,env:Be}};At.postMessage(n)});await li(Be,e)},a_=async(e)=>xr()?(Ur(),new Promise((t,r)=>{Vr("copy-from",[t,r]);let n={type:"copy-from",in:{buffer:e}};At.postMessage(n,[e.buffer])})):Js(e),o_=async(e,t)=>{if(xr()){if(t?.preferredOutputLocation)throw Error('session option "preferredOutputLocation" is not supported for proxy.');return Ur(),new Promise((r,n)=>{Vr("create",[r,n]);let s={type:"create",in:{model:e,options:{...t}}},a=[];e instanceof Uint8Array&&a.push(e.buffer),At.postMessage(s,a)})}else return ci(e,t)},i_=async(e)=>{if(xr())return Ur(),new Promise((t,r)=>{Vr("release",[t,r]);let n={type:"release",in:e};At.postMessage(n)});ui(e)},l_=async(e,t,r,n,s,a)=>{if(xr()){if(r.some((o)=>o[3]!=="cpu"))throw Error("input tensor on GPU is not supported for proxy.");if(s.some((o)=>o))throw Error("pre-allocated output tensor is not supported for proxy.");return Ur(),new Promise((o,i)=>{Vr("run",[o,i]);let l=r,c={type:"run",in:{sessionId:e,inputIndices:t,inputs:l,outputIndices:n,options:a}};At.postMessage(c,hi(l))})}else return di(e,t,r,n,s,a)},c_=async(e)=>{if(xr())return Ur(),new Promise((t,r)=>{Vr("end-profiling",[t,r]);let n={type:"end-profiling",in:e};At.postMessage(n)});fi(e)}}),qo,bh,d_,iM=we(()=>{Xr(),u_(),_n(),ei(),Xh(),qo=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw Error(`invalid data location: ${e.location} for ${t()}`)}},bh=(e)=>{switch(e[3]){case"cpu":return new Nt(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!si(t))throw Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:n,dispose:s}=e[2];return Nt.fromGpuBuffer(r,{dataType:t,dims:e[1],download:n,dispose:s})}case"ml-tensor":{let t=e[0];if(!ai(t))throw Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:r,download:n,dispose:s}=e[2];return Nt.fromMLTensor(r,{dataType:t,dims:e[1],download:n,dispose:s})}default:throw Error(`invalid data location: ${e[3]}`)}},d_=class{async fetchModelAndCopyToWasmMemory(e){return a_(await oi(e))}async loadModel(e,t){Hr();let r;typeof e=="string"?r=await this.fetchModelAndCopyToWasmMemory(e):r=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await o_(r,t),Qr()}async dispose(){return i_(this.sessionId)}async run(e,t,r){Hr();let n=[],s=[];Object.entries(e).forEach((f)=>{let _=f[0],p=f[1],w=this.inputNames.indexOf(_);if(w===-1)throw Error(`invalid input '${_}'`);n.push(p),s.push(w)});let a=[],o=[];Object.entries(t).forEach((f)=>{let _=f[0],p=f[1],w=this.outputNames.indexOf(_);if(w===-1)throw Error(`invalid output '${_}'`);a.push(p),o.push(w)});let i=n.map((f,_)=>qo(f,()=>`input "${this.inputNames[s[_]]}"`)),l=a.map((f,_)=>f?qo(f,()=>`output "${this.outputNames[o[_]]}"`):null),c=await l_(this.sessionId,s,i,o,l,r),d={};for(let f=0;f<c.length;f++)d[this.outputNames[o[f]]]=a[f]??bh(c[f]);return Qr(),d}startProfiling(){}endProfiling(){c_(this.sessionId)}}}),f_={};ns(f_,{OnnxruntimeWebAssemblyBackend:()=>Yo,initializeFlags:()=>Xo,wasmBackend:()=>h_});var Xo,Yo,h_,lM=we(()=>{Xr(),u_(),iM(),Xo=()=>{(typeof Be.wasm.initTimeout!="number"||Be.wasm.initTimeout<0)&&(Be.wasm.initTimeout=0);let e=Be.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),Be.wasm.simd=!1),typeof Be.wasm.proxy!="boolean"&&(Be.wasm.proxy=!1),typeof Be.wasm.trace!="boolean"&&(Be.wasm.trace=!1),typeof Be.wasm.numThreads!="number"||!Number.isInteger(Be.wasm.numThreads)||Be.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)Be.wasm.numThreads=1;else{let t=typeof navigator>"u"?R0("node:os").cpus().length:navigator.hardwareConcurrency;Be.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},Yo=class{async init(e){Xo(),await n_(),await s_(e)}async createInferenceSessionHandler(e,t){let r=new d_;return await r.loadModel(e,t),r}},h_=new Yo});Xr();Xr();Xr();var cM="1.31.0-dev.20260914-8d85527a0",uM=Rh;{let e=(lM(),Qs(f_)).wasmBackend;qr("webgpu",e,5),qr("webnn",e,5),qr("cpu",e,10),qr("wasm",e,10)}Object.defineProperty(Be.versions,"web",{value:cM,enumerable:!0});var __="1.30.0";var p_="warning",pi={wasm:{},webgl:{},webgpu:{},versions:{common:__},set logLevel(e){if(e===void 0)return;if(typeof e!=="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);p_=e},get logLevel(){return p_}};Object.defineProperty(pi,"logLevel",{enumerable:!0});var m_=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;if(t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC")s=e.dims[2],a=e.dims[3];else s=e.dims[3],a=e.dims[2];let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;if(i===void 0||i.mean===void 0)l=[255,255,255,255];else if(typeof i.mean==="number")l=[i.mean,i.mean,i.mean,i.mean];else if(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0)l[3]=i.mean[3];if(i===void 0||i.bias===void 0)c=[0,0,0,0];else if(typeof i.bias==="number")c=[i.bias,i.bias,i.bias,i.bias];else if(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0)c[3]=i.bias[3];let d=a*s,f=0,_=d,p=d*2,w=-1;if(o==="RGBA")f=0,_=d,p=d*2,w=d*3;else if(o==="RGB")f=0,_=d,p=d*2;else if(o==="RBG")f=0,p=d,_=d*2;for(let v=0;v<a;v++)for(let y=0;y<s;y++){let b=(e.data[f++]-c[0])*l[0],k=(e.data[_++]-c[1])*l[1],A=(e.data[p++]-c[2])*l[2],E=w===-1?255:(e.data[w++]-c[3])*l[3];n.fillStyle="rgba("+b+","+k+","+A+","+E+")",n.fillRect(y,v,1,1)}if("toDataURL"in r)return r.toDataURL();else throw Error("toDataURL is not supported")}else throw Error("Can not access image data")},g_=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;if(t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC")s=e.dims[2],a=e.dims[1],o=e.dims[3];else s=e.dims[3],a=e.dims[2],o=e.dims[1];let i=t!==void 0?t.format!==void 0?t.format:"RGB":"RGB",l=t?.norm,c,d;if(l===void 0||l.mean===void 0)c=[255,255,255,255];else if(typeof l.mean==="number")c=[l.mean,l.mean,l.mean,l.mean];else if(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0)c[3]=l.mean[3];if(l===void 0||l.bias===void 0)d=[0,0,0,0];else if(typeof l.bias==="number")d=[l.bias,l.bias,l.bias,l.bias];else if(d=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0)d[3]=l.bias[3];let f=a*s;if(t!==void 0){if(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR")throw Error("Tensor format doesn't match input tensor dims")}let _=4,p=0,w=1,v=2,y=3,b=0,k=f,A=f*2,E=-1;if(i==="RGBA")b=0,k=f,A=f*2,E=f*3;else if(i==="RGB")b=0,k=f,A=f*2;else if(i==="RBG")b=0,A=f,k=f*2;n=r.createImageData(s,a);for(let C=0;C<a*s;p+=_,w+=_,v+=_,y+=_,C++)n.data[p]=(e.data[b++]-d[0])*c[0],n.data[w]=(e.data[k++]-d[1])*c[1],n.data[v]=(e.data[A++]-d[2])*c[2],n.data[y]=E===-1?255:(e.data[E++]-d[3])*c[3]}else throw Error("Can not access image data");return n};var mi=(e,t)=>{if(e===void 0)throw Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;if(typeof s.mean==="number")a=[s.mean,s.mean,s.mean,s.mean];else a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255];if(typeof s.bias==="number")o=[s.bias,s.bias,s.bias,s.bias];else o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0?t.tensorFormat!==void 0?t.tensorFormat:"RGB":"RGB",c=r*n,d=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),f=4,_=0,p=1,w=2,v=3,y=0,b=c,k=c*2,A=-1;if(i==="RGB")f=3,_=0,p=1,w=2,v=-1;if(l==="RGBA")A=c*3;else if(l==="RBG")y=0,k=c,b=c*2;else if(l==="BGR")k=0,b=c,y=c*2;for(let C=0;C<c;C++,_+=f,w+=f,p+=f,v+=f)if(d[y++]=(e[_]+o[0])/a[0],d[b++]=(e[p]+o[1])/a[1],d[k++]=(e[w]+o[2])/a[2],A!==-1&&v!==-1)d[A++]=(e[v]+o[3])/a[3];return l==="RGBA"?new ct("float32",d,[1,4,r,n]):new ct("float32",d,[1,3,r,n])},w_=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e==="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");else if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);else throw Error("Canvas is not supported")},c=(d)=>{if(typeof HTMLCanvasElement<"u"&&d instanceof HTMLCanvasElement)return d.getContext("2d");else if(d instanceof OffscreenCanvas)return d.getContext("2d");else return null};if(r){let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0)_=t.resizedHeight,p=t.resizedWidth;if(t!==void 0){if(i=t,t.tensorFormat!==void 0)throw Error("Image input config format must be RGBA for HTMLImageElement");else i.tensorFormat="RGBA";i.height=_,i.width=p}else i.tensorFormat="RGBA",i.height=_,i.width=p;f.drawImage(e,0,0),o=f.getImageData(0,0,p,_).data}else throw Error("Can not access image data")}else if(n){let d,f;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0)d=t.resizedHeight,f=t.resizedWidth;else d=e.height,f=e.width;if(t!==void 0)i=t;if(i.format="RGBA",i.height=d,i.width=f,t!==void 0){let _=l();_.width=f,_.height=d;let p=c(_);if(p!=null)p.putImageData(e,0,0),o=p.getImageData(0,0,f,d).data;else throw Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw Error("Please provide image config with format for Imagebitmap");let d=l();d.width=e.width,d.height=e.height;let f=c(d);if(f!=null){let{height:_,width:p}=e;return f.drawImage(e,0,0,p,_),o=f.getImageData(0,0,p,_).data,i.height=_,i.width=p,mi(o,i)}else throw Error("Can not access image data")}else if(a)return new Promise((d,f)=>{let _=l(),p=c(_);if(!e||!p)return f();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{_.width=w.width,_.height=w.height,p.drawImage(w,0,0,_.width,_.height);let v=p.getImageData(0,0,_.width,_.height);i.height=_.height,i.width=_.width,d(mi(v.data,i))}});else throw Error("Input data provided is not supported - aborted tensor creation");if(o!==void 0)return mi(o,i);else throw Error("Input data provided is not supported - aborted tensor creation")},v_=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t;return new ct({location:"texture",type:"float32",texture:e,dims:[1,n,r,4],download:s,dispose:a})},y_=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new ct({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},b_=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new ct({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},M_=(e,t,r)=>new ct({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]});var Kr=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),ss=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),x_=!1,k_=()=>{if(!x_){x_=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;if(e)Kr.set("int64",BigInt64Array),ss.set(BigInt64Array,"int64");if(t)Kr.set("uint64",BigUint64Array),ss.set(BigUint64Array,"uint64");if(n)Kr.set("float16",r),ss.set(r,"float16");else Kr.set("float16",Uint16Array)}};var T_=(e)=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!=="number"||!Number.isSafeInteger(n))throw TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},E_=(e,t)=>{switch(e.location){case"cpu":return new ct(e.type,e.data,t);case"cpu-pinned":return new ct({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new ct({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new ct({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new ct({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}};class ct{constructor(e,t,r){k_();let n,s;if(typeof e==="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let o=Kr.get(n);if(!o)throw TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof o))throw TypeError(`buffer should be of type ${o.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if(typeof e==="string")if(n=e,i=r,e==="string"){if(!Array.isArray(t))throw TypeError("A string tensor's data must be a string array.");o=t}else{let l=Kr.get(e);if(l===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t))if(e==="float16"&&l===Uint16Array||e==="uint4"||e==="int4")throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${l.name} as data.`);else if(e==="uint64"||e==="int64")o=l.from(t,BigInt);else o=l.from(t);else if(t instanceof l)o=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")o=Uint8Array.from(t);else throw TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&l!==Uint16Array)o=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${n} tensor's data must be type of ${l}`)}else if(i=t,Array.isArray(e)){if(e.length===0)throw TypeError("Tensor type cannot be inferred from an empty array.");let l=typeof e[0];if(l==="string")n="string",o=e;else if(l==="boolean")n="bool",o=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${l}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",o=Uint8Array.from(e);else{let l=ss.get(e.constructor);if(l===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=l,o=e}if(i===void 0)i=[o.length];else if(!Array.isArray(i))throw TypeError("A tensor's dims must be a number array");s=i,this.cpuData=o,this.dataLocation="cpu"}let a=T_(s);if(this.cpuData&&a!==this.cpuData.length)if((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length);else throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,t){return w_(e,t)}static fromTexture(e,t){return v_(e,t)}static fromGpuBuffer(e,t){return y_(e,t)}static fromMLTensor(e,t){return b_(e,t)}static fromPinnedBuffer(e,t,r){return M_(e,t,r)}toDataURL(e){return m_(this,e)}toImageData(e){return g_(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();if(this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer)this.disposer(),this.disposer=void 0;return t}finally{this.isDownloading=!1}}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");if(this.disposer)this.disposer(),this.disposer=void 0;this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return E_(this,e)}}var gi=ct;var __dirname="/home/runner/work/murmur/murmur/node_modules/@huggingface/transformers/dist",dM=Object.defineProperty,hs=(e,t)=>{for(var r in t)dM(e,r,{get:t[r],enumerable:!0})},kt={},rr={},fM={},hM="4.3.2",qi=typeof self<"u",xn=!zp(kt),Op=!zp(rr),ca=qi&&"caches"in self,_M=typeof globalThis.Deno<"u",qz=typeof globalThis.Bun<"u",Ta=_M&&ca&&!xn,Np=typeof process<"u",Dp=Np&&process?.release?.name==="node"&&!Ta,Hi=typeof window<"u"&&typeof window.document<"u",Qi=qi&&["DedicatedWorkerGlobalScope","ServiceWorkerGlobalScope","SharedWorkerGlobalScope"].includes(self.constructor?.name),pM=Hi||Qi||Ta,mM=Dp||typeof navigator<"u"&&"gpu"in navigator,gM=typeof navigator<"u"&&"ml"in navigator,wM=typeof crypto<"u"&&typeof crypto.getRandomValues==="function",vM=typeof chrome<"u"&&typeof chrome.runtime<"u"&&typeof chrome.runtime.id==="string",yM=typeof ServiceWorkerGlobalScope<"u"&&qi&&self instanceof ServiceWorkerGlobalScope,bM=()=>{if(typeof navigator>"u")return!1;let e=navigator.userAgent;if(!((navigator.vendor||"").indexOf("Apple")>-1&&!e.match(/CriOS|FxiOS|EdgiOS|OPiOS|mercury|brave/i)&&!e.includes("Chrome")&&!e.includes("Android")))return!1;let r=e.match(/Version\/(\d+)/);return r?parseInt(r[1],10)<26:!1},MM=bM(),pe=Object.freeze({IS_BROWSER_ENV:Hi,IS_WEBWORKER_ENV:Qi,IS_WEB_ENV:pM,IS_SERVICE_WORKER_ENV:yM,IS_DENO_WEB_RUNTIME:Ta,IS_WEB_CACHE_AVAILABLE:ca,IS_WEBGPU_AVAILABLE:mM,IS_WEBNN_AVAILABLE:gM,IS_SAFARI_BELOW_26:MM,IS_PROCESS_AVAILABLE:Np,IS_NODE_ENV:Dp,IS_FS_AVAILABLE:xn,IS_PATH_AVAILABLE:Op,IS_CRYPTO_AVAILABLE:wM,IS_CHROME_AVAILABLE:vM}),Xi=xn&&Op,ua="./";if(Xi){let e=import.meta.url;if(e)ua=rr.dirname(rr.dirname(fM.fileURLToPath(e)));else if(typeof __dirname<"u")ua=rr.dirname(__dirname)}var xM=Xi?rr.join(ua,"/.cache/"):null,A_="/models/",kM=Xi?rr.join(ua,A_):A_,TM=typeof globalThis.fetch==="function"?globalThis.fetch.bind(globalThis):void 0,zt=Object.freeze({DEBUG:10,INFO:20,WARNING:30,ERROR:40,NONE:50}),C_=zt.WARNING,ve={version:hM,backends:{onnx:{}},get logLevel(){return C_},set logLevel(e){C_=e,ve.backends.onnx?.setLogLevel?.(e)},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(Hi||Qi||Ta),localModelPath:kM,useFS:xn,useBrowserCache:ca,useFSCache:xn,cacheDir:xM,useCustomCache:!1,customCache:null,useWasmCache:ca||xn,cacheKey:"transformers-cache",experimental_useCrossOriginStorage:!1,fetch:TM};function zp(e){return Object.keys(e).length===0}var mt=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}_call(...e){throw Error("Must implement _call method in subclass")}};function Pr(e,t){if(e)e(t)}var da=class extends mt{constructor(e,t){super();this.callback=e,this.files_loading=t,this.loads=new Map}_call(e){if(e.status==="progress"){this.files_loading[e.file]={loaded:e.loaded,total:e.total};let t=Object.values(this.files_loading).reduce((s,a)=>s+a.loaded,0),r=Object.values(this.files_loading).reduce((s,a)=>s+a.total,0),n=r>0?t/r*100:0;this.callback({status:"progress_total",name:e.name,progress:n,loaded:t,total:r,files:structuredClone(this.files_loading)})}this.callback(e)}};function EM(e){return Number.isInteger(e)||typeof e==="bigint"}function S_(e){return e===null||e===void 0||e===-1}function P_(e){let t=[],r=e;while(Array.isArray(r))t.push(r.length),r=r[0];return t}function Bt(...e){return Array.prototype.concat.apply([],e)}function AM(...e){return e.reduce((t,r)=>t.flatMap((n)=>r.map((s)=>[n,s])))}function fa(e,t){return Math.abs((e+t)%(2*t)-t)}function et(e,t){return Object.assign({},...t.map((r)=>{if(e[r]!==void 0)return{[r]:e[r]}}))}function CM(e,t){let r=0;for(let n of e)if(n===t)++r;return r}var ce={error(...e){if(ve.logLevel<=zt.ERROR)console.error(...e)},warn(...e){if(ve.logLevel<=zt.WARNING)console.warn(...e)},info(...e){if(ve.logLevel<=zt.INFO)console.log(...e)},debug(...e){if(ve.logLevel<=zt.DEBUG)console.log(...e)},log(...e){this.info(...e)}},SM=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){let t=Object.create(null);for(let r of e){let n=t;for(let s=0;s<r.length;++s){let a=r[s];n=n[a]??=Object.create(null)}n.end=r}return t}split(e){let t=[],r=e.length,n=0,s=0;while(s<r){let a=this.trie,o=null,i=s;while(i<r&&(a=a[e[i]])){if(a.end)o=a.end;++i}if(o){if(s>n)t.push(e.slice(n,s));t.push(o),s+=o.length,n=s}else++s}if(n<r)t.push(e.slice(n));return t}},F_=SM,PM=class{constructor(e){this.content=e.content,this.id=e.id,this.single_word=e.single_word??!1,this.lstrip=e.lstrip??!1,this.rstrip=e.rstrip??!1,this.special=e.special??!1,this.normalized=e.normalized??!this.special}},FM=PM,Bp=(e,t)=>{try{return new RegExp(e,t)}catch(r){if(!(r instanceof SyntaxError))throw r;let n=new Map,s=e.replace(/(\\[pP])\{([^}=]+)\}/g,(a,o,i,l)=>{let c=0;for(let f=l-1;f>=0&&e[f]==="\\";--f)++c;if(c%2===1)return a;let d=n.get(i);if(d===void 0){try{new RegExp(`\\p{${i}}`,"u"),d=i}catch{d=`Script=${i}`}n.set(i,d)}return`${o}{${d}}`});if(s===e)throw r;try{return new RegExp(s,t)}catch{throw r}}},Yi=(e)=>e.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),Ea=(e,t=!0)=>{if(e.Regex!==void 0){let r=QM(WM(e.Regex));return Bp(r,"gu")}else if(e.String!==void 0){let r=XM(e.String);return new RegExp(t?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",e),null},Cn="\\p{Alphabetic}\\p{M}\\p{Nd}\\p{Pc}",Rp=`${Cn}\\u00B2\\u00B3\\u00B9\\u00BC-\\u00BE`,nr=`[${Rp}]`,$p=`[^${Rp}]`,IM=`(?:(?<!${nr})(?=${nr})|(?<=${nr})(?!${nr}))`,LM=`(?:(?<!${nr})(?!${nr})|(?<=${nr})(?=${nr}))`,OM="(?:(?<![\\s\\S])|(?<=\\n))",NM="(?:(?=\\n)|(?![\\s\\S]))",ls="0-9A-Fa-f",DM=new Map([["A","(?<![\\s\\S])"],["z","(?![\\s\\S])"],["Z","(?=\\n?(?![\\s\\S]))"],["h",`[${ls}]`],["H",`[^${ls}]`],["w",nr],["W",$p],["d","\\p{Nd}"],["D","\\P{Nd}"],["s","\\p{White_Space}"],["S","\\P{White_Space}"],["b",IM],["B",LM],["a","\\x07"],["e","\\x1B"]]),zM=new Map([["h",ls],["w",Cn],["d","\\p{Nd}"],["D","\\P{Nd}"],["s","\\p{White_Space}"],["S","\\P{White_Space}"],["a","\\x07"],["e","\\x1B"]]),BM=new Map([["W",`[^${Cn}]`],["H",`[^${ls}]`]]),Gp=new Map([[`
|
|
11
11
|
`,"\\n"],["\r","\\r"],["\t","\\t"],["\f","\\f"],["\v","\\v"]]),RM=new Map([["alpha","\\p{Alphabetic}"],["alnum","\\p{Alphabetic}\\p{Nd}"],["digit","\\p{Nd}"],["lower","\\p{Lowercase}"],["upper","\\p{Uppercase}"],["space","\\p{White_Space}"],["blank","\\t\\p{Zs}"],["punct","\\p{P}\\p{S}"],["cntrl","\\p{Cc}"],["word",Cn],["xdigit",ls]]),Vp="^$\\.*+?()[]{}|/",$M=/^\(\?(?:<[=!]|<[A-Za-z_][A-Za-z0-9_]*>|[:=!>])/,Up=/^\\([pPxu])\{([^}]*)\}/,GM=/^\{(\d+(?:,\d*)?|,\d+)\}/,VM=/^\[:(\^?)(\p{Alphabetic}+):\]/u,UM=/^\[:\^:\]/,jM=/^\[(?:\.[^\]]*\.\]|=[^\]]*=\])/,jp=/^(?:\\x[0-9A-Fa-f]{2}|\\u[0-9A-Fa-f]{4}|\\c[A-Za-z])/,Wp=(e)=>e>="A"&&e<="Z"||e>="a"&&e<="z",ha=(e,t)=>String.fromCodePoint(e.codePointAt(t)),I_=(e)=>{if(!/^[0-9A-Fa-f]{1,8}$/.test(e))return null;let t=Number.parseInt(e,16);if(t>127)return null;let r=String.fromCharCode(t);return Wp(r)?`[${r.toLowerCase()}${r.toUpperCase()}]`:null},WM=(e)=>e.replace(/\[\^\(\\s\|\[([^\]]+)\]\)\]/g,"[^()|\\s$1]"),qp="[\\s\\S]",L_=256,O_=()=>({fragment:"",alternatives:[],tail:null,contains_complex_set:!1}),Ki=(e)=>{throw SyntaxError(`Unsupported range with a set-valued character-class operand at index ${e}`)},_a=(e,t,r,n=!0)=>{if(e.tail==="range")Ki(r);e.alternatives.push(t),e.tail="set",e.contains_complex_set=e.contains_complex_set||n},Fr=(e,t,r=!1,n=-1)=>{if(r&&e.tail==="range")Ki(n);if(e.tail==="range"){e.fragment+=t,e.tail="complete_range";return}e.fragment+=t,e.tail=r?"set":"scalar",e.contains_complex_set=e.contains_complex_set||r},qM=(e,t,r)=>{let n=Up.exec(e.slice(t));if(n){let[_,p,w]=n;if(p==="P"&&w==="Word")_a(r,`[^${Cn}]`,t);else{let v=p==="x"?`\\u{${w}}`:p==="p"&&w==="Word"?Cn:_;Fr(r,v,p==="p"||p==="P",t)}return t+_.length}let s=jp.exec(e.slice(t));if(s)return Fr(r,s[0]),t+s[0].length;if(t+1>=e.length)throw SyntaxError(`Unterminated escape in character class at index ${t}`);let a=ha(e,t+1),o=t+1+a.length,i=Gp.get(a);if(i!==void 0)return Fr(r,i),o;let l=BM.get(a);if(l!==void 0)return _a(r,l,t),o;let c=zM.get(a),d,f=!1;if(c!==void 0)d=c,f=a!=="a"&&a!=="e";else if(/[A-Za-z0-9]/.test(a))d=`\\${a}`;else if(Vp.includes(a)||a==="-")d=`\\${a}`;else d=a;return Fr(r,d,f,t),o},Hp=(e)=>{if(e.length===1)return e[0];return`(?:(?=(?:${e.join("|")}))${qp})`},N_=(e)=>{let t=e.fragment.length===0?e.alternatives:[`[${e.fragment}]`,...e.alternatives];return Hp(t)},HM=(e)=>{let t=Bp(`^(?:${e})$`,"u"),r="";for(let n=0;n<26;++n){let s=String.fromCharCode(65+n),a=String.fromCharCode(97+n),o=t.test(s),i=t.test(a);if(o!==i)r+=o?a:s}return r},Qp=(e,t,r,n=!0,s=1)=>{if(s>L_)throw SyntaxError(`Maximum character-class nesting depth of ${L_} exceeded at index ${t}`);let a=t+1,o=e[a]==="^";if(o)++a;let i=a,l=[O_()],c=l[0],d=!1;while(a<e.length){let f=ha(e,a);if(f==="\\"){a=qM(e,a,c);continue}if(f==="]"){if(a===i){Fr(c,"\\]"),++a;continue}if(c.tail===null){if(l.length>1)throw SyntaxError(`Malformed character-class intersection with an empty operand at index ${a}`);throw SyntaxError(`Empty character class at index ${t}`)}let _=l.some((k)=>k.contains_complex_set);if(o&&l.length>1&&d)throw SyntaxError(`Unsupported outer-negated character-class intersection with a nested negated class containing a Unicode property, POSIX class, or shorthand at index ${t}`);let p=N_(l[0]),w=p;if(l.length>1){let k="";for(let A=1;A<l.length;++A)k+=`(?=${N_(l[A])})`;w=`(?:${k}${p})`}let v=l.length===1&&c.alternatives.length===0,y=c.fragment;if(r&&n){let k=HM(w);if(k.length>0)if(v)y+=k,w=`[${y}]`;else w=Hp([w,`[${k}]`])}return{atom:o?v?`[^${y}]`:`(?:(?!${w})${qp})`:w,end:a+1,negated:o,contains_complex_set:_,contains_nested_negated_complex_set:d}}if(e.startsWith("&&",a)){if(c.tail===null)throw SyntaxError(`Malformed character-class intersection with an empty operand at index ${a}`);c=O_(),l.push(c),a+=2;continue}if(f==="["){let _=e.slice(a);if(UM.test(_))throw SyntaxError(`Malformed empty negated POSIX character class at index ${a}`);let p=VM.exec(_);if(p){let[,v,y]=p,b=RM.get(y);if(b===void 0)throw SyntaxError(`Unsupported POSIX character class "${y}" at index ${a}`);if(r&&v&&(y==="lower"||y==="upper"))throw SyntaxError(`Unsupported negated POSIX ${y} class inside an inline case-insensitive group`);if(v)_a(c,`[^${b}]`,a);else Fr(c,b,!0,a);a+=p[0].length;continue}if(jM.test(_))throw SyntaxError(`Unsupported POSIX collating or equivalence bracket expression at index ${a}`);let w=Qp(e,a,r,!1,s+1);_a(c,w.atom,a,w.contains_complex_set),d||=w.contains_nested_negated_complex_set||w.negated&&w.contains_complex_set,a=w.end;continue}if(f==="-"){let _=e[a+1]==="]"||e.startsWith("&&",a+1);if(c.tail==="set"&&!_)Ki(a);if(c.tail===null||c.tail==="range"||c.tail==="complete_range"||_)Fr(c,"\\-");else c.fragment+="-",c.tail="range";++a;continue}Fr(c,f==="^"&&c.fragment.length===0?"\\^":f),a+=f.length}throw SyntaxError(`${l.length>1?"Unterminated character-class intersection":"Unterminated character class"} at index ${t}`)},QM=(e)=>{let t="",r=-1,n=!1,s=!1,a=[],o=(i)=>{r=t.length,t+=i,n=!1};for(let i=0;i<e.length;){let l=ha(e,i);if(l==="\\"){let c=Up.exec(e.slice(i));if(c){let[v,y,b]=c,k=v;if(y==="x"){let A=`\\u{${b}}`;k=s?I_(b)??A:A}else if(b==="Word")k=y==="p"?nr:$p;o(k),i+=v.length;continue}let d=jp.exec(e.slice(i));if(d){let v=d[0],y=s&&v[1]!=="c"?I_(v.slice(2))??v:v;o(y),i+=v.length;continue}if(i+1>=e.length){t+=l;break}let f=ha(e,i+1);if(i+=1+f.length,f==="G")continue;let _=Gp.get(f);if(_!==void 0){o(_);continue}let p=DM.get(f),w;if(p!==void 0)w=p;else if(/[A-Za-z0-9]/.test(f))w=`\\${f}`;else if(Vp.includes(f))w=`\\${f}`;else w=f;o(w);continue}switch(l){case"[":{let c=Qp(e,i,s);o(c.atom),i=c.end;continue}case"]":o("\\]"),++i;continue;case".":o("[^\\n]"),++i;continue;case"^":o(OM),++i;continue;case"$":o(NM),++i;continue;case"(":{let c=e.startsWith("(?i:",i),d=c?"(?i:":$M.exec(e.slice(i))?.[0]??"(",f=c?"(?:":d==="(?>"?"(?:":d;if(a.push([t.length,s]),c)s=!0;t+=f,n=!1,i+=d.length;continue}case")":t+=l,[r,s]=a.pop()??[-1,!1],n=!1,++i;continue;case"|":t+=l,r=-1,n=!1,++i;continue;case"{":{let c=GM.exec(e.slice(i));if(!c||r<0){o("\\{"),++i;continue}let d=c[1].startsWith(",")?`0${c[1]}`:c[1];i+=c[0].length;let f=e[i];if(f==="+"||f==="*")t=`${t.slice(0,r)}(?:${t.slice(r)}{${d}})${f}`,++i;else t+=`{${d}}`;n=!0;continue}case"}":o("\\}"),++i;continue;case"+":if(n){++i;continue}t+=l,n=!0,++i;continue;case"*":case"?":t+=l,n=!0,++i;continue;default:o(s&&Wp(l)?`[${l.toLowerCase()}${l.toUpperCase()}]`:l),i+=l.length;continue}}return t},XM=(e)=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),YM=(e,t,r)=>{let n=[],s=0;while(s<e.length){if(n.push(e[s]),(t.get(e[s])??r)!==r){++s;continue}while(++s<e.length&&(t.get(e[s])??r)===r)if(t.get(n.at(-1))!==r)n[n.length-1]+=e[s]}return n},KM=(e)=>e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=63744&&e<=64255||e>=194560&&e<=195103,JM=(e)=>Number.isInteger(e)||typeof e==="bigint",ZM=(e)=>{let t=0;for(let r of e)++t;return t},ex=(e)=>Xp(e.toLowerCase()),Rt=(...e)=>Array.prototype.concat.apply([],e),Ji=(e)=>new Map(Object.entries(e)),tx=(e,t)=>{let r=[],n=0;for(let s of e.matchAll(t)){let a=s[0];if(n<s.index)r.push(e.slice(n,s.index));if(a.length>0)r.push(a);n=s.index+a.length}if(n<e.length)r.push(e.slice(n));return r},Xp=(e)=>e.replace(/\p{M}/gu,""),D_=(e,t,r=[])=>{if(!e||Array.isArray(e)||typeof e!=="object")return`${t} must be a valid object`;for(let n of r)if(!(n in e))return`${t} must contain a "${n}" property`;return null},rx=(e)=>e.match(/\S+/g)||[],nx=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}},_s=nx,sx=class extends _s{constructor(e){super();this.config=e}_call(e){return this.normalize(e)}},mr=sx,ax=class extends mr{tokenize_chinese_chars(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r],s=n.charCodeAt(0);if(KM(s))t.push(" "),t.push(n),t.push(" ");else t.push(n)}return t.join("")}strip_accents(e){return e.normalize("NFD").replace(/\p{Mn}/gu,"")}is_control(e){switch(e){case"\t":case`
|
|
12
12
|
`:case"\r":return!1;default:return/^\p{Cc}|\p{Cf}|\p{Co}|\p{Cs}$/u.test(e)}}clean_text(e){let t=[];for(let r of e){let n=r.charCodeAt(0);if(n===0||n===65533||this.is_control(r))continue;if(/^\s$/.test(r))t.push(" ");else t.push(r)}return t.join("")}normalize(e){if(this.config.clean_text)e=this.clean_text(e);if(this.config.handle_chinese_chars)e=this.tokenize_chinese_chars(e);if(this.config.lowercase){if(e=e.toLowerCase(),this.config.strip_accents!==!1)e=this.strip_accents(e)}else if(this.config.strip_accents)e=this.strip_accents(e);return e}},ox=ax,ix=class extends mr{constructor(e){super(e);this.charsmap=e.precompiled_charsmap??null}normalize(e){if(e=e.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),e=e.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),e.includes("~"))e=e.split("~").map((r)=>r.normalize("NFKC")).join("~");else e=e.normalize("NFKC");return e}},lx=ix,cx=class extends mr{constructor(e){super(e);this.normalizers=(e.normalizers??[]).map((t)=>Yp(t))}normalize(e){return this.normalizers.reduce((t,r)=>r?r.normalize(t):t,e)}},ux=cx,dx=class extends mr{constructor(e){super(e);this.pattern=Ea(this.config.pattern??{})}normalize(e){return this.pattern===null?e:e.replaceAll(this.pattern,this.config.content??"")}},fx=dx,hx=class extends mr{constructor(){super(...arguments);this.form="NFC"}normalize(e){return e=e.normalize(this.form),e}},Aa=hx,_x=class extends Aa{constructor(){super(...arguments);this.form="NFC"}},px=_x,mx=class extends Aa{constructor(){super(...arguments);this.form="NFD"}},gx=mx,wx=class extends Aa{constructor(){super(...arguments);this.form="NFKC"}},vx=wx,yx=class extends Aa{constructor(){super(...arguments);this.form="NFKD"}},bx=yx,Mx=class extends mr{normalize(e){if(this.config.strip_left&&this.config.strip_right)e=e.trim();else{if(this.config.strip_left)e=e.trimStart();if(this.config.strip_right)e=e.trimEnd()}return e}},xx=Mx,kx=class extends mr{normalize(e){return Xp(e)}},Tx=kx,Ex=class extends mr{normalize(e){return e.toLowerCase()}},Ax=Ex,Cx=class extends mr{normalize(e){return e=this.config.prepend+e,e}},Sx=Cx;function Px(e){if(e===null)return null;switch(e.type){case"BertNormalizer":return new ox(e);case"Precompiled":return new lx(e);case"Sequence":return new ux(e);case"Replace":return new fx(e);case"NFC":return new px(e);case"NFD":return new gx(e);case"NFKC":return new vx(e);case"NFKD":return new bx(e);case"Strip":return new xx(e);case"StripAccents":return new Tx(e);case"Lowercase":return new Ax(e);case"Prepend":return new Sx(e);default:throw Error(`Unknown Normalizer type: ${e.type}`)}}var Yp=Px,Fx=class extends _s{pre_tokenize(e,t){return(Array.isArray(e)?e.map((r)=>this.pre_tokenize_text(r,t)):this.pre_tokenize_text(e,t)).flat()}_call(e,t){return this.pre_tokenize(e,t)}},jt=Fx,Kp=(()=>{let e=[...Array.from({length:94},(s,a)=>a+33),...Array.from({length:"¬".charCodeAt(0)-"¡".charCodeAt(0)+1},(s,a)=>a+"¡".charCodeAt(0)),...Array.from({length:"ÿ".charCodeAt(0)-"®".charCodeAt(0)+1},(s,a)=>a+"®".charCodeAt(0))],t=e.slice(),r=0;for(let s=0;s<256;++s)if(!e.includes(s))e.push(s),t.push(256+r),r+=1;let n=t.map((s)=>String.fromCharCode(s));return Object.fromEntries(e.map((s,a)=>[s,n[a]]))})(),Ix=(e)=>Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t])),Lx=Ix(Kp),pa="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",Ox=class extends jt{constructor(e){super();this.config=e,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=/'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu,this.byte_encoder=Kp,this.text_encoder=new TextEncoder}pre_tokenize_text(e,t){if(this.add_prefix_space&&!e.startsWith(" "))e=" "+e;return(this.use_regex?e.match(this.pattern)||[]:[e]).map((n)=>Array.from(this.text_encoder.encode(n),(s)=>this.byte_encoder[s]).join(""))}},Nx=Ox,Dx=class extends jt{pre_tokenize_text(e,t){return e.match(/\w+|[^\w\s]+/g)||[]}},zx=Dx,Bx=class extends jt{constructor(e){super();this.replacement=e.replacement??"▁",this.str_rep=e.str_rep||this.replacement,this.prepend_scheme=e.prepend_scheme??"always"}pre_tokenize_text(e,t){let{section_index:r=void 0}=t??{},n=e.replaceAll(" ",this.str_rep);if(!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0))n=this.str_rep+n;return[n]}},Rx=Bx,$x=class extends jt{constructor(e){super();this.config=e,this.pattern=Ea(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(e){if(this.pattern===null)return[];if(this.config.invert)return(e.match(this.pattern)||[]).filter((t)=>t);else if(this.config.behavior?.toLowerCase()==="removed")return e.split(this.pattern).filter((t)=>t);else return tx(e,this.pattern)}},Gx=$x,Vx=class extends jt{constructor(e){super();this.config=e,this.pattern=new RegExp(`[^${pa}]+|[${pa}]+`,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},Ux=Vx,jx=class extends jt{constructor(e){super();this.config=e;let t=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(t,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},Wx=jx,qx=class extends jt{constructor(){super();this.pattern=new RegExp(`[^\\s${pa}]+|[${pa}]`,"gu")}pre_tokenize_text(e,t){return e.trim().match(this.pattern)||[]}},Hx=qx,Qx=class extends jt{constructor(e){super();this.config=e,this.pattern=Ea(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(e){if(this.pattern===null)return[e];return[e.replaceAll(this.pattern,this.config.content??"")]}},Xx=Qx,Yx=class extends jt{constructor(e){super();this.tokenizers=(e.pretokenizers??[]).map((t)=>Jp(t))}pre_tokenize_text(e,t){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,t):r,[e])}},Kx=Yx,Jx=class extends jt{pre_tokenize_text(e){return rx(e)}},Zx=Jx,e1=class extends jt{constructor(e){super();this.config=e,this._length=e.length}pre_tokenize_text(e){let t=[];for(let r=0;r<e.length;r+=this._length)t.push(e.slice(r,r+this._length));return t}},t1=e1;function r1(e){if(e===null)return null;switch(e.type){case"BertPreTokenizer":return new Hx;case"Sequence":return new Kx(e);case"Whitespace":return new zx;case"WhitespaceSplit":return new Zx;case"Metaspace":return new Rx(e);case"ByteLevel":return new Nx(e);case"Split":return new Gx(e);case"Punctuation":return new Ux(e);case"Digits":return new Wx(e);case"Replace":return new Xx(e);case"FixedLength":return new t1(e);default:throw Error(`Unknown PreTokenizer type: ${e.type}`)}}var Jp=r1,n1=class extends _s{constructor(e){super();this.config=e,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(e){let t=this.encode(e);if(this.fuse_unk)t=YM(t,this.tokens_to_ids,this.unk_token_id);return t}},Ca=n1,s1=class extends Ca{constructor(e){super(e);this.max_input_chars_per_word=100,this.tokens_to_ids=Ji(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.max_input_chars_per_word=e.max_input_chars_per_word??100,this.vocab=Array(this.tokens_to_ids.size);for(let[t,r]of this.tokens_to_ids)this.vocab[r]=t}encode(e){let t=[];for(let r of e){let n=[...r];if(n.length>this.max_input_chars_per_word){t.push(this.unk_token);continue}let s=!1,a=0,o=[];while(a<n.length){let i=n.length,l=null;while(a<i){let c=n.slice(a,i).join("");if(a>0)c=this.config.continuing_subword_prefix+c;if(this.tokens_to_ids.has(c)){l=c;break}--i}if(l===null){s=!0;break}o.push(l),a=i}if(s)t.push(this.unk_token);else t.push(...o)}return t}},z_=s1,B_=class e{constructor(t,r){this.is_leaf=t,this.children=r}static default(){return new e(!1,new Map)}},a1=class{constructor(){this.root=B_.default()}extend(e){for(let t of e)this.push(t)}push(e){let t=this.root;for(let r of e){let n=t.children.get(r);if(n===void 0)n=B_.default(),t.children.set(r,n);t=n}t.is_leaf=!0}*common_prefix_search(e,t=0){let r=this.root;if(r===void 0)return;let n="";for(let s=t;s<e.length;++s){let a=e[s];if(n+=a,r=r.children.get(a),r===void 0)return;if(r.is_leaf)yield n}}},o1=a1,wi=class e{constructor(t,r,n,s,a){this.token_id=t,this.node_id=r,this.pos=n,this.length=s,this.score=a,this.prev=null,this.backtrace_score=0}clone(){let t=new e(this.token_id,this.node_id,this.pos,this.length,this.score);return t.prev=this.prev,t.backtrace_score=this.backtrace_score,t}},i1=class{constructor(e,t,r){this.chars=Array.from(e),this.len=this.chars.length,this.bos_token_id=t,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new wi(this.bos_token_id??0,0,0,0,0),s=new wi(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(s.clone()),this.begin_nodes[this.len].push(s),this.end_nodes[0].push(n)}insert(e,t,r,n){let s=this.nodes.length,a=new wi(n,s,e,t,r);this.begin_nodes[e].push(a),this.end_nodes[e+t].push(a),this.nodes.push(a)}viterbi(){let e=this.len,t=0;while(t<=e){if(this.begin_nodes[t].length==0)return[];for(let o of this.begin_nodes[t]){o.prev=null;let i=0,l=null;for(let c of this.end_nodes[t]){let d=c.backtrace_score+o.score;if(l===null||d>i)l=c.clone(),i=d}if(l!==null)o.prev=l,o.backtrace_score=i;else return[]}++t}let r=[],s=this.begin_nodes[e][0].prev;if(s===null)return[];let a=s.clone();while(a.prev!==null)r.push(a.clone()),a=a.clone().prev.clone();return r.reverse(),r}piece(e){return this.chars.slice(e.pos,e.pos+e.length).join("")}tokens(){return this.viterbi().map((t)=>this.piece(t))}token_ids(){return this.viterbi().map((t)=>t.token_id)}},l1=i1;function c1(e){if(e.length===0)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)if(e[n]<t)t=e[n],r=n;return[t,r]}var u1=class extends Ca{constructor(e,t){super(e);let r=e.vocab.length;this.vocab=Array(r),this.scores=Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=e.vocab[n];this.unk_token_id=e.unk_id,this.unk_token=this.vocab[e.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,s)=>[n,s])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=c1(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new o1,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(e){let t=e.chars,r=1,n=0;while(n<t.length){let s=!1,a=this.trie.common_prefix_search(t,n);for(let o of a){let i=this.tokens_to_ids.get(o),l=this.scores[i],c=ZM(o);if(e.insert(n,c,l,i),!s&&c===1)s=!0}if(!s)e.insert(n,1,this.unk_score,this.unk_token_id);n+=1}}tokenize(e){let t=new l1(e,this.bos_token_id,this.eos_token_id);return this.populate_nodes(t),t.tokens()}encode(e){let t=[];for(let r of e){let n=this.tokenize(r);t.push(...n)}return t}},R_=u1,d1=class{constructor(e=(r,n)=>r>n,t=1/0){this._heap=[],this._comparator=e,this._max_size=t}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...e){return this.extend(e)}extend(e){for(let t of e)if(this.size<this._max_size)this._heap.push(t),this._sift_up();else{let r=this._smallest();if(this._comparator(t,this._heap[r]))this._heap[r]=t,this._sift_up_from(r)}return this.size}pop(){let e=this.peek(),t=this.size-1;if(t>0)this._swap(0,t);return this._heap.pop(),this._sift_down(),e}replace(e){let t=this.peek();return this._heap[0]=e,this._sift_down(),t}_parent(e){return(e+1>>>1)-1}_left(e){return(e<<1)+1}_right(e){return e+1<<1}_greater(e,t){return this._comparator(this._heap[e],this._heap[t])}_swap(e,t){let r=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(e){while(e>0&&this._greater(e,this._parent(e)))this._swap(e,this._parent(e)),e=this._parent(e)}_sift_down(){let e=0;while(this._left(e)<this.size&&this._greater(this._left(e),e)||this._right(e)<this.size&&this._greater(this._right(e),e)){let t=this._right(e)<this.size&&this._greater(this._right(e),this._left(e))?this._right(e):this._left(e);this._swap(e,t),e=t}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},f1=d1,h1=class{constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let t=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,t),t}put(e,t){if(this.cache.has(e))this.cache.delete(e);if(this.cache.set(e,t),this.cache.size>this.capacity)this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},_1=h1,p1=class extends Ca{constructor(e){super(e);this.tokens_to_ids=Ji(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.vocab=Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let t=Array.isArray(e.merges[0]);if(this.merges=t?e.merges:e.merges.map((r)=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=e.end_of_word_suffix,this.continuing_subword_suffix=e.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback)this.text_encoder=new TextEncoder;this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new _1(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(e){if(e.length===0)return[];let t=this.cache.get(e);if(t!==void 0)return t;let r=Array.from(e);if(this.end_of_word_suffix)r[r.length-1]+=this.end_of_word_suffix;let n=[];if(r.length>1){let s=new f1((i,l)=>i.score<l.score),a={token:r[0],bias:0,prev:null,next:null},o=a;for(let i=1;i<r.length;++i){let l={bias:i/r.length,token:r[i],prev:o,next:null};o.next=l,this.add_node(s,o),o=l}while(!s.is_empty()){let i=s.pop();if(i.deleted||!i.next||i.next.deleted)continue;if(i.deleted=!0,i.next.deleted=!0,i.prev){let c={...i.prev};if(i.prev.deleted=!0,i.prev=c,c.prev)c.prev.next=c;else a=c}let l={token:i.token+i.next.token,bias:i.bias,prev:i.prev,next:i.next.next};if(l.prev)l.prev.next=l,this.add_node(s,l.prev);else a=l;if(l.next)l.next.prev=l,this.add_node(s,l)}for(let i=a;i!==null;i=i.next)n.push(i.token)}else n=r;if(this.continuing_subword_suffix)for(let s=0;s<n.length-1;++s)n[s]+=this.continuing_subword_suffix;if(e.length<this.max_length_to_cache)this.cache.put(e,n);return n}add_node(e,t){let r=this.bpe_ranks.get(JSON.stringify([t.token,t.next.token]));if(r!==void 0)t.score=r+t.bias,e.push(t)}encode(e){let t=[];for(let r of e){if(this.ignore_merges&&this.tokens_to_ids.has(r)){t.push(r);continue}let n=this.bpe(r);for(let s of n)if(this.tokens_to_ids.has(s))t.push(s);else if(this.byte_fallback){let a=Array.from(this.text_encoder.encode(s)).map((o)=>`<0x${o.toString(16).toUpperCase().padStart(2,"0")}>`);if(a.every((o)=>this.tokens_to_ids.has(o)))t.push(...a);else if(this.unk_token!=null)t.push(this.unk_token)}else if(this.unk_token!=null)t.push(this.unk_token)}return t}},$_=p1,m1=class extends Ca{constructor(e,t){super(e);let r=e.vocab;this.tokens_to_ids=Ji(t.target_lang?r[t.target_lang]:r),this.bos_token=t.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=t.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=t.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=Array(this.tokens_to_ids.size);for(let[n,s]of this.tokens_to_ids)this.vocab[s]=n}encode(e){return e}},g1=m1;function w1(e,t){switch(e.type){case"WordPiece":return new z_(e);case"Unigram":return new R_(e,t.eos_token);case"BPE":return new $_(e);default:if(e.vocab)if(Array.isArray(e.vocab))return new R_(e,t.eos_token);else if(Object.hasOwn(e,"continuing_subword_prefix")&&Object.hasOwn(e,"unk_token"))if(Object.hasOwn(e,"merges"))return new $_(e);else return new z_(e);else return new g1(e,{target_lang:t.target_lang,bos_token:t.bos_token,eos_token:t.eos_token,pad_token:t.pad_token,unk_token:t.unk_token});throw Error(`Unknown TokenizerModel type: ${e?.type}`)}}var v1=w1,y1=class extends _s{constructor(e){super();this.config=e}_call(e,...t){return this.post_process(e,...t)}},ps=y1,b1=class extends ps{post_process(e,t=null,r=!0){let n=t===null?this.config.single:this.config.pair,s=[],a=[];for(let o of n)if("SpecialToken"in o){if(r)s.push(o.SpecialToken.id),a.push(o.SpecialToken.type_id)}else if("Sequence"in o){if(o.Sequence.id==="A")s=Rt(s,e),a=Rt(a,Array(e.length).fill(o.Sequence.type_id));else if(o.Sequence.id==="B")s=Rt(s,t),a=Rt(a,Array(t.length).fill(o.Sequence.type_id))}return{tokens:s,token_type_ids:a}}},M1=b1,x1=class extends ps{post_process(e,t=null){return{tokens:e,tokens_pair:t}}},k1=x1,T1=class extends ps{constructor(e){super(e);this.sep=e.sep,this.cls=e.cls}post_process(e,t=null,r=!0){if(r)e=Rt([this.cls[0]],e,[this.sep[0]]);let n=Array(e.length).fill(0);if(t){let s=[],a=r?[this.sep[0]]:[];e=Rt(e,s,t,a),n=Rt(n,Array(t.length+s.length+a.length).fill(1))}return{tokens:e,token_type_ids:n}}},E1=T1,A1=class extends ps{constructor(e){super(e);this.sep=e.sep,this.cls=e.cls}post_process(e,t,r=!0){if(r)e=Rt([this.cls[0]],e,[this.sep[0]]);let n=Array(e.length).fill(0);if(t){let s=r?[this.sep[0]]:[],a=r?[this.sep[0]]:[];e=Rt(e,s,t,a),n=Rt(n,Array(t.length+s.length+a.length).fill(1))}return{tokens:e,token_type_ids:n}}},C1=A1,S1=class extends ps{constructor(e){super(e);this.processors=(e.processors??[]).map((t)=>Zp(t))}post_process(e,t=null,r=!0){let n={tokens:e,tokens_pair:t};for(let s of this.processors)n=s.post_process(n.tokens,n.tokens_pair,r);return n}},P1=S1;function F1(e){if(e===null)return null;switch(e.type){case"TemplateProcessing":return new M1(e);case"ByteLevel":return new k1(e);case"BertProcessing":return new E1(e);case"RobertaProcessing":return new C1(e);case"Sequence":return new P1(e);default:throw Error(`Unknown PostProcessor type: ${e.type}`)}}var Zp=F1,I1=class extends _s{constructor(e){super();this.config=e,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in e?e.trim_offsets:!1}_call(e){return this.decode(e)}decode(e){return this.decode_chain(e).join("")}},Wt=I1,L1=class extends Wt{constructor(e){super(e);this.byte_decoder=Lx,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(e){let t=e.join(""),r=new Uint8Array([...t].map((n)=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(e){let t=[],r=[];for(let n of e)if(this.added_tokens.find((s)=>s.content===n)!==void 0){if(r.length>0)t.push(this.convert_tokens_to_string(r)),r=[];t.push(n)}else r.push(n);if(r.length>0)t.push(this.convert_tokens_to_string(r));return t}},O1=L1,N1=class extends Wt{constructor(e){super(e);this.cleanup=e.cleanup}decode_chain(e){return e.map((t,r)=>{if(r!==0){let n=this.config.prefix;if(n&&t.startsWith(n))t=t.replace(n,"");else t=" "+t}if(this.cleanup)t=Yi(t);return t})}},D1=N1,z1=class extends Wt{constructor(e){super(e);this.replacement=e.replacement??"▁"}decode_chain(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r].replaceAll(this.replacement," ");if(r==0&&n.startsWith(" "))n=n.substring(1);t.push(n)}return t}},B1=z1,R1=class extends Wt{constructor(e){super(e);this.suffix=e.suffix??""}decode_chain(e){return e.map((t,r)=>t.replaceAll(this.suffix,r===e.length-1?"":" "))}},$1=R1,G1=class extends Wt{constructor(e){super(e);this.pad_token=e.pad_token??"",this.word_delimiter_token=e.word_delimiter_token??"",this.cleanup=e.cleanup}convert_tokens_to_string(e){if(e.length===0)return"";let t=[e[0]];for(let s=1;s<e.length;++s)if(e[s]!==t.at(-1))t.push(e[s]);let n=t.filter((s)=>s!==this.pad_token).join("");if(this.cleanup)n=Yi(n).replaceAll(this.word_delimiter_token," ").trim();return n}decode_chain(e){return[this.convert_tokens_to_string(e)]}},V1=G1,U1=class extends Wt{constructor(e){super(e);this.decoders=(e.decoders??[]).map((t)=>em(t))}decode_chain(e){return this.decoders.reduce((t,r)=>r.decode_chain(t),e)}},j1=U1,W1=class extends Wt{constructor(e){super(e);this.pattern=Ea(this.config.pattern)}decode_chain(e){let t=this.config.content??"",r=this.pattern;return r===null?e:e.map((n)=>n.replaceAll(r,t))}},q1=W1,H1=class extends Wt{decode_chain(e){return[e.join("")]}},Q1=H1,X1=class extends Wt{constructor(e){super(e);this.content=e.content??"",this.start=e.start??0,this.stop=e.stop??0}decode_chain(e){return e.map((t)=>{let r=0;for(let s=0;s<this.start;++s)if(t[s]===this.content){r=s+1;continue}else break;let n=t.length;for(let s=0;s<this.stop;++s){let a=t.length-s-1;if(t[a]===this.content){n=a;continue}else break}return t.slice(r,n)})}},Y1=X1,K1=class extends Wt{constructor(e){super(e);this.text_decoder=new TextDecoder}decode_chain(e){let t=[],r=[];for(let n of e){let s=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let a=parseInt(n.slice(3,5),16);if(!isNaN(a))s=a}if(s!==null)r.push(s);else{if(r.length>0){let a=this.text_decoder.decode(Uint8Array.from(r));t.push(a),r=[]}t.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));t.push(n),r=[]}return t}},J1=K1;function Z1(e){if(e===null)return null;switch(e.type){case"ByteLevel":return new O1(e);case"WordPiece":return new D1(e);case"Metaspace":return new B1(e);case"BPEDecoder":return new $1(e);case"CTC":return new V1(e);case"Sequence":return new j1(e);case"Replace":return new q1(e);case"Fuse":return new Q1(e);case"Strip":return new Y1(e);case"ByteFallback":return new J1(e);default:throw Error(`Unknown Decoder type: ${e.type}`)}}var em=Z1,ek=class{constructor(e,t){let r=D_(e,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw Error(r);let n=D_(t,"Config");if(n)throw Error(n);this.tokenizer=e,this.config=t,this.normalizer=Yp(this.tokenizer.normalizer),this.pre_tokenizer=Jp(this.tokenizer.pre_tokenizer),this.model=v1(this.tokenizer.model,this.config),this.post_processor=Zp(this.tokenizer.post_processor),this.decoder=em(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let s=[],a=[];this.added_tokens_map=new Map;for(let o of this.tokenizer.added_tokens){let i=new FM(o);if(this.added_tokens.push(i),this.model.tokens_to_ids.set(i.content,i.id),this.model.vocab[i.id]=i.content,i.special)this.special_tokens.push(i.content),this.all_special_ids.push(i.id);if(this.added_tokens_map.set(i.content,i),i.normalized&&this.normalizer!==null){let l=this.normalizer(i.content);a.push(l),this.added_tokens_map.set(l,i)}else s.push(i.content)}if((this.config.additional_special_tokens??[]).forEach((o)=>{if(!this.special_tokens.includes(o))this.special_tokens.push(o)}),this.decoder)this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix;this.splitter_unnormalized=new F_(s),this.splitter_normalized=new F_(a),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:s,token_type_ids:a}=this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}),o=s.map((l)=>this.added_tokens_map.get(l)?.id??this.model.tokens_to_ids.get(l)??this.model.unk_token_id),i={ids:o,tokens:s,attention_mask:Array(o.length).fill(1)};if(n&&a)i.token_type_ids=a;return i}decode(e,t={}){if(!Array.isArray(e)||e.length===0||!JM(e[0]))throw Error("token_ids must be a non-empty array of integers.");let r=e.map((s)=>this.model.vocab[Number(s)]??this.model.unk_token);if(t.skip_special_tokens)r=r.filter((s)=>!this.special_tokens.includes(s));let n=this.decoder?this.decoder(r):r.join(" ");if(this.decoder&&this.decoder.end_of_word_suffix){if(n=n.replaceAll(this.decoder.end_of_word_suffix," "),t.skip_special_tokens)n=n.trim()}if(t.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)n=Yi(n);return n}tokenize(e,{text_pair:t=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}).tokens}encode_text(e){if(e===null)return null;let t=this.splitter_unnormalized.split(e);return t.forEach((r,n)=>{let s=this.added_tokens_map.get(r);if(s){if(s.lstrip&&n>0)t[n-1]=t[n-1].trimEnd();if(s.rstrip&&n<t.length-1)t[n+1]=t[n+1].trimStart()}}),t.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0)r=r.trim().split(/\s+/).join(" ");if(this.do_lowercase_and_remove_accent)r=ex(r);if(this.normalizer!==null)r=this.normalizer(r);if(r.length===0)return[];let s=this.splitter_normalized.split(r);return s.forEach((a,o)=>{let i=this.added_tokens_map.get(a);if(i){if(i.lstrip&&o>0)s[o-1]=s[o-1].trimEnd();if(i.rstrip&&o<s.length-1)s[o+1]=s[o+1].trimStart()}}),s.flatMap((a)=>{if(a.length===0)return[];if(this.added_tokens_map.has(a))return[a];let o=this.pre_tokenizer!==null?this.pre_tokenizer(a,{section_index:n}):[a];return this.model(o)})})}tokenize_helper(e,{text_pair:t=null,add_special_tokens:r=!0}){let n=this.encode_text(e),s=this.encode_text(t||null);return this.post_processor?this.post_processor(n,s,r):{tokens:Rt(n??[],s??[])}}token_to_id(e){return this.model.tokens_to_ids.get(e)}id_to_token(e){return this.model.vocab[e]}get_added_tokens_decoder(){let e=new Map;for(let t of this.added_tokens)e.set(t.id,t);return e}get_vocab(e=!0){let t=new Map;for(let r=0;r<this.model.vocab.length;++r){let n=this.model.vocab[r];if(e||!this.added_tokens_map.has(n))t.set(n,r)}return t}},tk=ek,rk=Object.defineProperty,nk=(e,t,r)=>(t in e)?rk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,sk=(e,t,r)=>(nk(e,typeof t!=="symbol"?t+"":t,r),r),z=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ExponentiationBinaryOperator:"ExponentiationBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Comment:"Comment"}),St=class{constructor(e,t){this.value=e,this.type=t}};function G_(e){return/\w/.test(e)}function Jr(e){return/[0-9]/.test(e)}function V_(e){return/\s/.test(e)}var ak=[["{%",z.OpenStatement],["%}",z.CloseStatement],["{{",z.OpenExpression],["}}",z.CloseExpression],["(",z.OpenParen],[")",z.CloseParen],["{",z.OpenCurlyBracket],["}",z.CloseCurlyBracket],["[",z.OpenSquareBracket],["]",z.CloseSquareBracket],[",",z.Comma],[".",z.Dot],[":",z.Colon],["|",z.Pipe],["<=",z.ComparisonBinaryOperator],[">=",z.ComparisonBinaryOperator],["==",z.ComparisonBinaryOperator],["!=",z.ComparisonBinaryOperator],["<",z.ComparisonBinaryOperator],[">",z.ComparisonBinaryOperator],["+",z.AdditiveBinaryOperator],["-",z.AdditiveBinaryOperator],["~",z.AdditiveBinaryOperator],["**",z.ExponentiationBinaryOperator],["*",z.MultiplicativeBinaryOperator],["//",z.MultiplicativeBinaryOperator],["/",z.MultiplicativeBinaryOperator],["%",z.MultiplicativeBinaryOperator],["=",z.Equals]],ok=new Map([["n",`
|
|
13
13
|
`],["t","\t"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function ik(e,t={}){if(e.endsWith(`
|