@kubohiroya/turbowarp-teachable-machine 3.2.1 → 3.3.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.
@@ -1,7 +1,7 @@
1
- /*! @license Includes TensorFlow.js WASM backend 4.22.0 (Apache-2.0). See https://github.com/kubohiroya/turbowarp-teachable-machine/blob/v3.2.1/THIRD_PARTY_NOTICES.md. */
2
- (function(u){"use strict";function Ka(r,a){for(var s=0;s<a.length;s++){const o=a[s];if(typeof o!="string"&&!Array.isArray(o)){for(const n in o)if(n!=="default"&&!(n in r)){const t=Object.getOwnPropertyDescriptor(o,n);t&&Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:()=>o[n]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var V;(function(r){r[r.float32=0]="float32",r[r.int32=1]="int32",r[r.bool=2]="bool",r[r.string=3]="string",r[r.complex64=4]="complex64"})(V||(V={}));var Le;(function(r){r[r.linear=0]="linear",r[r.relu=1]="relu",r[r.relu6=2]="relu6",r[r.prelu=3]="prelu",r[r.leakyrelu=4]="leakyrelu",r[r.sigmoid=5]="sigmoid",r[r.elu=6]="elu"})(Le||(Le={}));let Vt;function Ca(r){Vt=r.wasm.cwrap(u._FusedMatMul,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function Xa(r){const{inputs:a,backend:s,attrs:o}=r,{a:n,b:t,bias:d,preluActivationWeights:c}=a;if(n.dtype!=="float32"||t.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");const{transposeA:l,transposeB:i,activation:e,leakyreluAlpha:m}=o,g=s.dataIdMap.get(n.dataId).id,f=s.dataIdMap.get(t.dataId).id;let h=0;if(d!=null){const L=s.dataIdMap.get(d.dataId);if(L.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${L.shape.length}.`);h=L.id}const b=c==null?0:s.dataIdMap.get(c.dataId).id,k=Le[e];if(k==null)throw new Error(`${e} activation not yet supported for FusedConv2D in the wasm backend.`);const w=l?n.shape[2]:n.shape[1],y=i?t.shape[1]:t.shape[2],I=u.broadcast_util.assertAndGetBroadcastShape(n.shape.slice(0,-2),t.shape.slice(0,-2)),A=s.makeOutput([...I,w,y],n.dtype),E=s.dataIdMap.get(A.dataId).id,P=new Uint8Array(new Int32Array(n.shape).buffer),W=new Uint8Array(new Int32Array(t.shape).buffer);return Vt(g,P,n.shape.length,f,W,t.shape.length,l,i,k,h,b,m||0,E),A}const Qa={kernelName:u._FusedMatMul,backendName:"wasm",setupFunc:Ca,kernelFunc:Xa};function $(r,a){let s;function o(t){s=t.wasm.cwrap(r,null,["number","number","number"])}function n(t){const{backend:d,inputs:{x:c}}=t,l=d.dataIdMap.get(c.dataId).id,i=d.makeOutput(c.shape,a||c.dtype),e=d.dataIdMap.get(i.dataId).id;return u.util.sizeFromShape(i.shape)===0||s(l,V[c.dtype],e),i}return{kernelName:r,backendName:"wasm",setupFunc:o,kernelFunc:n}}const Ja=$(u.Abs);const Ya=$(u.Acos);const Za=$(u.Acosh);function j(r,a,s){let o;function n(d){o=d.wasm.cwrap(r,null,["number","array","number","number","array","number","number","number"])}function t(d){const{backend:c,inputs:l}=d,{a:i,b:e}=l,m=c.dataIdMap.get(i.dataId).id,g=c.dataIdMap.get(e.dataId).id,f=s??i.dtype,h=u.backend_util.assertAndGetBroadcastShape(i.shape,e.shape),b=c.makeOutput(h,f);if(u.util.sizeFromShape(h)===0)return b;const k=new Uint8Array(new Int32Array(i.shape).buffer),w=new Uint8Array(new Int32Array(e.shape).buffer),y=c.dataIdMap.get(b.dataId).id;return o(m,k,i.shape.length,g,w,e.shape.length,V[i.dtype],y),b}return{kernelName:r,backendName:"wasm",setupFunc:n,kernelFunc:t}}const ja=j(u.Add);let Gt;function er(r){Gt=r.wasm.cwrap(u.AddN,null,["array","number","number","number"])}function tr(r){const{inputs:a,backend:s}=r,o=s.makeOutput(a[0].shape,a[0].dtype);if(u.util.sizeFromShape(o.shape)===0)return o;const n=a.map(c=>s.dataIdMap.get(c.dataId).id),t=new Uint8Array(new Int32Array(n).buffer),d=s.dataIdMap.get(o.dataId).id;return Gt(t,n.length,V[o.dtype],d),o}const nr={kernelName:u.AddN,backendName:"wasm",setupFunc:er,kernelFunc:tr};function Ye(r){const{inputs:{x:a},backend:s}=r;if(a.dtype==="string")return u.tensor(s.readSync(a.dataId),a.shape,a.dtype);const o=s.makeOutput(a.shape,a.dtype),n=s.typedArrayFromHeap(a);return s.typedArrayFromHeap(o).set(n),o}const ar={kernelName:u.Identity,backendName:"wasm",kernelFunc:Ye};let Ut;function rr(r){Ut=r.wasm.cwrap(u.Transpose,null,["number","array","number","number","number","array","number"])}function we(r){const{inputs:a,backend:s,attrs:o}=r,[n,t]=ur(a.x.shape,o.perm);let d=!0;for(let h=0;h<t.length;h++)t[h]!==h&&(d=!1);const c=sr(a.x.shape,o.perm),l={dataId:a.x.dataId,shape:n,dtype:a.x.dtype};if(d){const h=Ye({inputs:a,backend:s});return h.shape=c,h}const i=s.makeOutput(c,l.dtype),e=s.dataIdMap.get(l.dataId).id,m=s.dataIdMap.get(i.dataId).id,g=new Uint8Array(new Int32Array(t).buffer),f=new Uint8Array(new Int32Array(l.shape).buffer);return Ut(e,f,l.shape.length,V[l.dtype],m,g,t.length),i}function sr(r,a){const s=new Array(r.length);for(let o=0;o<s.length;o++)s[o]=r[a[o]];return s}function ur(r,a){const s=[],o=[];for(let n=0;n<r.length;++n)r[n]!==1&&s.push(r[n]),r[a[n]]!==1&&o.push(a[n]);for(let n=0;n<o.length;++n){let t=-1;for(let d=0;d<o.length;++d)o[d]>=n&&(t===-1||o[t]>o[d])&&(t=d);o[t]=n}return[s,o]}const ir={kernelName:u.Transpose,backendName:"wasm",kernelFunc:we,setupFunc:rr};function ke(r,a,s){const o=r.shape,n=r.shape.length,t=u.util.parseAxisParam(a,o);let d=t;const c=u.backend_util.getAxesPermutation(d,n);let l=null,i=!1;if(c!=null){const e=new Array(n);for(let f=0;f<e.length;f++)e[f]=o[c[f]];d=u.backend_util.getInnerMostAxes(d.length,n),l=we({inputs:{x:r},attrs:{perm:c},backend:s});const m=s.dataIdMap.get(r.dataId).id;s.dataIdMap.get(l.dataId).id!==m&&(i=!0)}return{transposed:l,originalAxes:t,axes:d,inputWasTransposed:i}}let qt;function or(r){qt=r.wasm.cwrap(u.All,null,["number, number, number"])}function dr(r){const{backend:a,inputs:s,attrs:o}=r,{axis:n,keepDims:t}=o,{x:d}=s;let l=a.dataIdMap.get(d.dataId).id,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);if(f){const I=a.dataIdMap.get(e.dataId).id;i=e,l=I}const h=i.shape.length;u.backend_util.assertAxesAreInnerMostDims("all",m,h);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,m),w=u.util.sizeFromShape(k),y=a.makeOutput(b,d.dtype);if(u.util.sizeFromShape(i.shape)!==0){const I=a.dataIdMap.get(y.dataId).id;qt(l,w,I)}if(f&&a.disposeData(e.dataId),t){const I=u.backend_util.expandShapeToKeepDim(y.shape,g);y.shape=I}return y}const cr={kernelName:u.All,backendName:"wasm",setupFunc:or,kernelFunc:dr};let Kt;function lr(r){Kt=r.wasm.cwrap(u.Any,null,["number, number, number"])}function pr(r){const{backend:a,inputs:s,attrs:o}=r,{axis:n,keepDims:t}=o,{x:d}=s;let l=a.dataIdMap.get(d.dataId).id,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);if(f){const I=a.dataIdMap.get(e.dataId).id;i=e,l=I}const h=i.shape.length;u.backend_util.assertAxesAreInnerMostDims("any",m,h);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,m),w=u.util.sizeFromShape(k),y=a.makeOutput(b,d.dtype);if(u.util.sizeFromShape(i.shape)!==0){const I=a.dataIdMap.get(y.dataId).id;Kt(l,w,I)}if(f&&a.disposeData(e.dataId),t){const I=u.backend_util.expandShapeToKeepDim(y.shape,g);y.shape=I}return y}const mr={kernelName:u.Any,backendName:"wasm",setupFunc:lr,kernelFunc:pr};function Ct(r){let a;function s(n){a=n.wasm.cwrap(r,null,["number","number","number","number","number"])}function o(n){const{backend:t,inputs:d,attrs:c}=n,{axis:l}=c,{x:i}=d,e=t.dataIdMap.get(i.dataId).id;let m=e,g=i;const{transposed:f,axes:h,inputWasTransposed:b}=ke(i,l,t);if(b){const E=t.dataIdMap.get(f.dataId).id;E!==e&&(g=f,m=E)}const k=g.shape.slice(0,-1),w=t.makeOutput(k,"int32"),y=t.dataIdMap.get(w.dataId).id,I=u.util.sizeFromShape(w.shape),A=g.shape[h[0]];return a(m,V[g.dtype],I,A,y),b&&t.disposeData(f.dataId),w}return{kernelName:r,backendName:"wasm",setupFunc:s,kernelFunc:o}}const fr=Ct(u.ArgMax);const hr=Ct(u.ArgMin);const gr=$(u.Asin);const br=$(u.Asinh);const _r=$(u.Atan);const yr=j(u.Atan2);const Ir=$(u.Atanh);let Xt;function wr(r){Xt=r.wasm.cwrap(u.AvgPool,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function kr(r){const{inputs:a,attrs:s,backend:o}=r,n=a.x,t=o.dataIdMap.get(n.dataId).id,{filterSize:d,strides:c,pad:l,dimRoundingMode:i}=s,e=u.backend_util.computePool2DInfo(n.shape,d,c,1,l,i),m=e.filterHeight,g=e.filterWidth,f=e.padInfo.top,h=e.padInfo.right,b=e.padInfo.bottom,k=e.padInfo.left,w=e.strideHeight,y=e.strideWidth,I=e.inChannels;if(e.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${e.dataFormat}'. Please use 'channelsLast'.`);if(e.dilationWidth!==1||e.dilationHeight!==1)throw new Error(`was backend only supports average pooling with dilation = [1, 1], got [${e.dilationHeight}, ${e.dilationWidth}].`);const A=o.makeOutput(e.outShape,"float32"),E=o.dataIdMap.get(A.dataId).id;return Xt(t,n.shape[0],n.shape[1],n.shape[2],m,g,f,h,b,k,w,y,I,E),A}const Sr={kernelName:u.AvgPool,backendName:"wasm",setupFunc:wr,kernelFunc:kr};let Qt;function Mr(r){Qt=r.wasm.cwrap("AvgPool3D",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function vr(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{filterSize:t,strides:d,pad:c,dimRoundingMode:l,dataFormat:i}=o,e=u.backend_util.computePool3DInfo(n.shape,t,d,1,c,l,i),m=s.makeOutput(e.outShape,n.dtype);return Qt(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left),m}const Ar={kernelName:u.AvgPool3D,backendName:"wasm",setupFunc:Mr,kernelFunc:vr};let Jt;function xr(r){Jt=r.wasm.cwrap("AvgPool3DGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Dr(r){const{inputs:a,backend:s,attrs:o}=r,{dy:n,input:t}=a,{filterSize:d,strides:c,pad:l,dimRoundingMode:i}=o,e=u.backend_util.computePool3DInfo(t.shape,d,c,1,l,i),m=s.makeOutput(t.shape,t.dtype);return Jt(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left,e.filterDepth,e.filterHeight,e.filterWidth),m}const Fr={kernelName:u.AvgPool3DGrad,backendName:"wasm",setupFunc:xr,kernelFunc:Dr};let Yt;function Nr(r){Yt=r.wasm.cwrap("AvgPoolGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Rr(r){const{inputs:a,backend:s,attrs:o}=r,{dy:n,input:t}=a,{filterSize:d,strides:c,pad:l}=o,i=u.backend_util.computePool2DInfo(t.shape,d,c,1,l),e=s.makeOutput(t.shape,t.dtype);return Yt(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(e.dataId).id,i.batchSize,i.inChannels,i.inHeight,i.inWidth,i.outHeight,i.outWidth,i.strideHeight,i.strideWidth,i.dilationHeight,i.dilationWidth,i.effectiveFilterHeight,i.effectiveFilterWidth,i.padInfo.top,i.padInfo.left,i.filterHeight,i.filterWidth),e}const Pr={kernelName:u.AvgPoolGrad,backendName:"wasm",setupFunc:Nr,kernelFunc:Rr};function ue(r){const{inputs:a,attrs:s}=r,{x:o}=a,{shape:n}=s,t=u.util.sizeFromShape(o.shape),d=u.util.inferFromImplicitShape(n,t);return u.util.assert(t===u.util.sizeFromShape(d),()=>`new shape: ${d}, old shape: ${o.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(o.dataId),{dataId:o.dataId,shape:d,dtype:o.dtype}}const Er={kernelName:u.Reshape,backendName:"wasm",kernelFunc:ue};let Zt;function Tr(r){Zt=r.wasm.cwrap(u.BatchMatMul,null,["number","array","number","number","array","number","number","number","number"])}function Br(r){const{inputs:a,backend:s,attrs:o}=r,{a:n,b:t}=a,{transposeA:d,transposeB:c}=o;if(n.dtype!=="float32"||t.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");const l=n.shape.length,i=t.shape.length,e=d?n.shape[l-2]:n.shape[l-1],m=c?t.shape[i-1]:t.shape[i-2],g=d?n.shape[l-1]:n.shape[l-2],f=c?t.shape[i-2]:t.shape[i-1],h=n.shape.slice(0,-2),b=t.shape.slice(0,-2),k=u.util.sizeFromShape(h),w=u.util.sizeFromShape(b),I=u.broadcast_util.assertAndGetBroadcastShape(n.shape.slice(0,-2),t.shape.slice(0,-2)).concat([g,f]);u.util.assert(e===m,()=>`Error in matMul: inner shapes (${e}) and (${m}) of Tensors with shapes ${n.shape} and ${t.shape} and transposeA=${d} and transposeB=${c} must match.`);const A=d?[k,e,g]:[k,g,e],E=c?[w,f,m]:[w,m,f],P=ue({inputs:{x:n},backend:s,attrs:{shape:A}}),W=ue({inputs:{x:t},backend:s,attrs:{shape:E}}),L=s.dataIdMap.get(P.dataId).id,G=s.dataIdMap.get(W.dataId).id,H=d?P.shape[2]:P.shape[1],q=c?W.shape[1]:W.shape[2],C=Math.max(k,w),Y=s.makeOutput([C,H,q],P.dtype),ie=s.dataIdMap.get(Y.dataId).id,X=new Uint8Array(new Int32Array(P.shape).buffer),te=new Uint8Array(new Int32Array(W.shape).buffer);return Zt(L,X,P.shape.length,G,te,W.shape.length,d,c,ie),s.disposeData(P.dataId),s.disposeData(W.dataId),Y.shape=I,Y}const Or={kernelName:u.BatchMatMul,backendName:"wasm",setupFunc:Tr,kernelFunc:Br};function Wr(r,a,s,o){const n=u.util.getArrayFromDType(s,u.util.sizeFromShape(a));if(o&&s!=="string"){let t=0;r.forEach(d=>{const c=u.util.sizeFromShape(d.shape);n.set(d.vals,t),t+=c})}else{let t=0;r.forEach(d=>{const c=s==="string"?u.backend_util.fromUint8ToStringArray(d.vals):d.vals;let l=0;for(let i=0;i<d.shape[0];++i){const e=i*a[1]+t;for(let m=0;m<d.shape[1];++m)n[e+m]=c[l++]}t+=d.shape[1]})}return n}function zr(r,a,s,o){const n=r===a,t=r<a&&s<0,d=a<r&&s>1;if(n||t||d)return u.util.makeZerosTypedArray(0,o);const c=Math.abs(Math.ceil((a-r)/s)),l=u.util.makeZerosTypedArray(c,o);a<r&&s===1&&(s=-1),l[0]=r;for(let i=1;i<l.length;i++)l[i]=l[i-1]+s;return l}function jt(r,a,s,o,n){const t=u.slice_util.isSliceContinous(o,a,s),d=u.util.sizeFromShape(s),c=u.util.computeStrides(o);if(t){const m=u.slice_util.computeFlatOffset(a,c);return n==="string"?r.slice(m,m+d):r.subarray(m,m+d)}const l=n==="string"?u.backend_util.fromUint8ToStringArray(r):r,i=u.buffer(o,n,l),e=u.buffer(s,n);for(let m=0;m<e.size;++m){const g=e.indexToLoc(m),f=g.map((h,b)=>h+a[b]);e.set(i.get(...f),...g)}return n==="string"?u.backend_util.fromStringArrayToUint8(e.values):e.values}class Hr{constructor(a,s,o,n,t,d){this.separator=u.util.encodeString(a),this.nGramWidths=s,this.leftPad=u.util.encodeString(o),this.rightPad=u.util.encodeString(n),this.padWidth=t,this.preserveShort=d}getPadWidth(a){return Math.min(this.padWidth<0?a-1:this.padWidth,a-1)}getNumNGrams(a,s){const o=this.getPadWidth(s);return Math.max(0,a+2*o-s+1)}createNGrams(a,s,o,n,t,d){for(let c=0;c<t;++c){const l=this.getPadWidth(d),i=Math.max(0,l-c),e=Math.max(0,l-(t-(c+1))),m=d-(i+e),g=s+(i>0?0:c-l);let f=0;f+=i*this.leftPad.length;for(let y=0;y<m;++y)f+=a[g+y].length;f+=e*this.rightPad.length;const h=i+e+m-1;f+=h*this.separator.length,o[n+c]=new Uint8Array(f);const b=o[n+c];let k=0;const w=y=>y.forEach(I=>b[k++]=I);for(let y=0;y<i;++y)w(this.leftPad),w(this.separator);for(let y=0;y<m-1;++y)w(a[g+y]),w(this.separator);if(m>0){w(a[g+m-1]);for(let y=0;y<e;++y)w(this.separator),w(this.rightPad)}else{for(let y=0;y<e-1;++y)w(this.rightPad),w(this.separator);w(this.rightPad)}}}compute(a,s){const o=a.length,n=s.length;if(n>0){let l=s[0];if(l!==0)throw new Error(`First split value must be 0, got ${l}`);for(let i=1;i<n;++i){let e=s[i]>=l;if(e=e&&s[i]<=o,!e)throw new Error(`Invalid split value ${s[i]}, must be in [${l}, ${o}]`);l=s[i]}if(l!==o)throw new Error(`Last split value must be data size. Expected ${o}, got ${l}`)}const t=n-1,d=u.util.getArrayFromDType("int32",n);if(o===0||n===0){const l=new Array(o);for(let i=0;i<=t;++i)d[i]=0;return[l,d]}d[0]=0;for(let l=1;l<=t;++l){const i=s[l]-s[l-1];let e=0;this.nGramWidths.forEach(m=>{e+=this.getNumNGrams(i,m)}),this.preserveShort&&i>0&&e===0&&(e=1),d[l]=d[l-1]+e}const c=new Array(d[t]);for(let l=0;l<t;++l){const i=s[l];let e=d[l];if(this.nGramWidths.forEach(m=>{const g=s[l+1]-s[l],f=this.getNumNGrams(g,m);this.createNGrams(a,i,c,e,f,m),e+=f}),this.preserveShort&&e===d[l]){const m=s[l+1]-s[l];if(m===0)continue;const g=m+2*this.padWidth;this.createNGrams(a,i,c,e,1,g)}}return[c,d]}}function $r(r,a,s,o,n,t,d,c){return new Hr(s,o,n,t,d,c).compute(r,a)}function Lr(r,a,s,o){if(!r.length)return;if(a.length===0){for(let t=0;t<r.length;++t)o.push(r.subarray(t,t+1));return}if(a.length===1){const t=a[0];let d=r.indexOf(t);for(;d!==-1;){const c=r.subarray(0,d);(!s||c.length!==0)&&o.push(c),r=r.subarray(d+1),d=r.indexOf(t)}(!s||r.length!==0)&&o.push(r);return}let n=0;for(let t=0;t<r.length+1;t++)if(t===r.length||a.indexOf(r[t])!==-1){const d=r.subarray(n,t);(!s||d.length!==0)&&o.push(d),n=t+1}}function Vr(r,a,s){const o=r.length,n=[];let t=0,d=0;const c=new Array(o);for(let g=0;g<o;++g){const f=n.length;Lr(r[g],a,s,n);const h=n.length-f;c[g]=h,t+=h,d=Math.max(d,h)}const l=u.util.getArrayFromDType("int32",t*2),i=new Array(t),e=[o,d];let m=0;for(let g=0;g<o;++g)for(let f=0;f<c[g];++f)l[m*2]=g,l[m*2+1]=f,i[m]=n[m],++m;return[l,i,e]}function Gr(r,a){const s=u.util.getArrayFromDType("int32",r.length);for(let o=0;o<r.length;++o)s[o]=u.util.fingerPrint64(r[o]).modulo(a).getLowBitsUnsigned();return s}function Ur(r,a,s,o){const n=u.util.parseAxisParam(a,s)[0],t=[1,s[0],1];for(let h=0;h<n;h++)t[0]*=s[h];t[1]=s[n];for(let h=n+1;h<s.length;h++)t[2]*=s[h];const d=new Map,c=new Int32Array(s[n]),l=new u.TensorBuffer(t,o,r),i=[],e=t[0]===1&&t[2]===1;for(let h=0;h<s[n];h++){let b;if(e)b=r[h].toString();else{const w=[];for(let y=0;y<t[0];y++)for(let I=0;I<t[2];I++)w.push(l.get(y,h,I));b=w.join(",")}const k=d.get(b);if(k!=null)c[h]=k;else{const w=d.size;d.set(b,w),c[h]=w,i.push(h)}}const m=t.slice();m[1]=d.size;const g=new u.TensorBuffer(m,o);i.forEach((h,b)=>{for(let k=0;k<t[0];k++)for(let w=0;w<t[2];w++)g.set(l.get(k,h,w),k,b,w)});const f=s.slice();return f[n]=m[1],{outputValues:g.values,outputShape:f,indices:c}}function Ae(r){const{inputs:{x:a},attrs:{begin:s,size:o},backend:n}=r,[t,d]=u.slice_util.parseSliceParams(a,s,o),c=u.slice_util.isSliceContinous(a.shape,t,d),l=n.readSync(a.dataId),i=n.makeOutput(d,a.dtype),e=u.util.computeStrides(a.shape),m=n.dataIdMap.get(i.dataId);if(c){const h=u.slice_util.computeFlatOffset(t,e);return a.dtype==="string"?m.stringBytes=l.slice(h,h+u.util.sizeFromShape(d)):n.typedArrayFromHeap(i).set(l.subarray(h,h+u.util.sizeFromShape(d))),i}if(a.dtype==="string"){const h=jt(l,t,d,a.shape,a.dtype);return m.stringBytes=h,i}const g=n.typedArrayFromHeap(i),f=a.shape.length;if(f===2)qr(l,e[0],g,t,d);else if(f===3)Kr(l,e[0],e[1],g,t,d);else if(f===4)Cr(l,e[0],e[1],e[2],g,t,d);else{const h=jt(l,t,d,a.shape,a.dtype);g.set(h)}return i}function qr(r,a,s,o,n){let t=0;const d=o[0],c=o[1],l=d+n[0];for(let i=d;i<l;i++){const e=i*a+c;s.set(r.subarray(e,e+n[1]),t),t+=n[1]}}function Kr(r,a,s,o,n,t){let d=0;const c=n[0],l=n[1],i=n[2],e=c+t[0],m=l+t[1];for(let g=c;g<e;g++)for(let f=l;f<m;f++){const h=g*a+f*s+i;o.set(r.subarray(h,h+t[2]),d),d+=t[2]}}function Cr(r,a,s,o,n,t,d){let c=0;const l=t[0],i=t[1],e=t[2],m=l+d[0],g=i+d[1],f=e+d[2],h=t[3];for(let b=l;b<m;b++)for(let k=i;k<g;k++)for(let w=e;w<f;w++){const y=b*a+k*s+w*o+h;n.set(r.subarray(y,y+d[3]),c),c+=d[3]}}const Xr={kernelName:u.Slice,backendName:"wasm",kernelFunc:Ae};function Qr(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{blockShape:t,crops:d}=o,c=t.reduce((w,y)=>w*y),l=u.backend_util.getReshaped(n.shape,t,c),i=u.backend_util.getPermuted(l.length,t.length),e=u.backend_util.getReshapedPermuted(n.shape,t,c),m=u.backend_util.getSliceBeginCoords(d,t.length),g=u.backend_util.getSliceSize(e,d,t.length),f=ue({inputs:{x:n},backend:s,attrs:{shape:l}}),h=we({inputs:{x:f},backend:s,attrs:{perm:i}}),b=ue({inputs:{x:h},backend:s,attrs:{shape:e}}),k=Ae({inputs:{x:b},backend:s,attrs:{begin:m,size:g}});return s.disposeData(f.dataId),s.disposeData(h.dataId),s.disposeData(b.dataId),k}const Jr={kernelName:u.BatchToSpaceND,backendName:"wasm",kernelFunc:Qr};let en;function Yr(r){en=r.wasm.cwrap(u.Bincount,null,["number","number","boolean","number","number","number"])}function Zr(r){const{backend:a,inputs:s,attrs:o}=r,{x:n,weights:t}=s,{size:d}=o,c=t.shape.reduce((m,g)=>m*g,1)!==0,l=n.shape.length===1?[d]:[n.shape[0],d],i=a.makeOutput(l,t.dtype);function e(m){return a.dataIdMap.get(m.dataId).id}return en(e(n),d,c,e(t),V[t.dtype],e(i)),i}const jr={kernelName:u.Bincount,backendName:"wasm",setupFunc:Yr,kernelFunc:Zr};const es=j(u.BitwiseAnd);function ts(r){const{inputs:a,backend:s}=r,{s0:o,s1:n}=a,t=s.typedArrayFromHeap(o),d=s.typedArrayFromHeap(n),c=u.backend_util.assertAndGetBroadcastShape(Array.from(t),Array.from(d));return s.makeOutput([c.length],"int32",void 0,new Int32Array(c))}const ns={kernelName:u.BroadcastArgs,backendName:"wasm",kernelFunc:ts};function Se(r){const{inputs:{x:a},attrs:{dtype:s},backend:o}=r,n=o.makeOutput(a.shape,s),t=o.typedArrayFromHeap(a);return o.typedArrayFromHeap(n).set(t),n}const as={kernelName:u.Cast,backendName:"wasm",kernelFunc:Se};const rs=$(u.Ceil);let tn;function ss(r){tn=r.wasm.cwrap(u.ClipByValue,null,["number","number","number","number"])}function us(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{clipValueMin:t,clipValueMax:d}=o,c=s.dataIdMap.get(n.dataId).id,l=s.makeOutput(n.shape,n.dtype),i=s.dataIdMap.get(l.dataId).id;return tn(c,t,d,i),l}const is={kernelName:u.ClipByValue,backendName:"wasm",setupFunc:ss,kernelFunc:us};function nn(r){const{inputs:a,backend:s}=r,o=u.util.parseAxisParam(r.attrs.axis,a[0].shape)[0],n=a.map(f=>f.shape);u.backend_util.assertParamsConsistent(n,o);let t=u.backend_util.computeOutShape(a.map(f=>f.shape),o);const d=a.filter(f=>u.util.sizeFromShape(f.shape)>0);if(d.length===1)return Ye({inputs:{x:d[0]},backend:s});const c=s.makeOutput(t,a[0].dtype);if(u.util.sizeFromShape(t)===0)return c;if(d[0].dtype==="string"){const f=d.map(I=>{const E=[-1,u.util.sizeFromShape(I.shape.slice(o))];return ue({inputs:{x:I},backend:s,attrs:{shape:E}})}),h=f.map(I=>({vals:s.readSync(I.dataId),shape:I.shape}));t=u.backend_util.computeOutShape(f.map(I=>I.shape),1);const b=f[0].shape[0]===1,k=Wr(h,t,a[0].dtype,b),w=u.backend_util.computeOutShape(d.map(I=>I.shape),o);c.shape=w;const y=s.dataIdMap.get(c.dataId);return y.stringBytes=u.backend_util.fromStringArrayToUint8(k),f.forEach(I=>s.disposeData(I.dataId)),c}const l=u.util.sizeFromShape(d[0].shape.slice(0,o));let i=0;const e=d.map(f=>{const h=u.util.sizeFromShape(f.shape.slice(o));return i+=h,h}),m=d.map(f=>s.typedArrayFromHeap(f)),g=s.typedArrayFromHeap(c);for(let f=0;f<l;f++){let h=f*i;for(let b=0;b<m.length;b++){const k=e[b],w=f*k,y=m[b].subarray(w,w+k);g.set(y,h),h+=k}}return c}const os={kernelName:u.Concat,backendName:"wasm",kernelFunc:nn};let an;function ds(r){an=r.wasm.cwrap(u.Conv2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function cs(r){const{inputs:a,attrs:s,backend:o}=r,{x:n,filter:t}=a,d=o.dataIdMap.get(n.dataId).id,c=o.dataIdMap.get(t.dataId).id,{strides:l,dilations:i,pad:e,dimRoundingMode:m,dataFormat:g}=s,f=u.backend_util.convertConv2DDataFormat(g),h=u.backend_util.computeConv2DInfo(n.shape,t.shape,l,i,e,m,!1,f),b=h.filterHeight,k=h.filterWidth,w=h.padInfo.top,y=h.padInfo.right,I=h.padInfo.bottom,A=h.padInfo.left,E=h.dilationHeight,P=h.dilationWidth,W=h.strideHeight,L=h.strideWidth,G=h.inChannels,H=h.outChannels,q=h.padInfo.type==="SAME"?1:0;if(h.dataFormat!=="channelsLast")throw new Error(`wasm backend Conv2D does not support dataFormat:'${h.dataFormat}'. Please use 'channelsLast'.`);const C=o.makeOutput(h.outShape,"float32"),Y=o.dataIdMap.get(C.dataId).id;return an(d,n.shape[0],n.shape[1],n.shape[2],c,b,k,w,y,I,A,q,E,P,W,L,G,H,Y),C}const ls={kernelName:u.Conv2D,backendName:"wasm",setupFunc:ds,kernelFunc:cs};let rn;function ps(r){rn=r.wasm.cwrap(u.Conv2DBackpropInput,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ms(r){const{backend:a,inputs:s,attrs:o}=r,{dy:n,filter:t}=s,{strides:d,pad:c,dataFormat:l,dimRoundingMode:i,inputShape:e}=o,m=1,g=u.backend_util.convertConv2DDataFormat(l),f=u.backend_util.computeConv2DInfo(e,t.shape,d,m,c,i,!1,g),{batchSize:h,filterHeight:b,filterWidth:k,inChannels:w,inHeight:y,inWidth:I,outChannels:A,outHeight:E,outWidth:P,strideHeight:W,strideWidth:L}=f,G=b-1-f.padInfo.top,H=k-1-f.padInfo.left,q=f.dataFormat==="channelsLast",C=u.util.computeStrides(f.inShape),Y=u.util.computeStrides(n.shape),[ie,X,te]=u.util.computeStrides(t.shape),le=C[0],U=q?C[1]:C[2],fe=q?C[2]:1,oe=q?1:C[1],de=Y[0],ge=q?Y[1]:Y[2],ne=q?Y[2]:1,Te=q?1:Y[1],Be=a.makeOutput(f.inShape,"float32"),Ue=a.dataIdMap.get(Be.dataId).id,qe=a.dataIdMap.get(n.dataId).id,Z=a.dataIdMap.get(t.dataId).id;return rn(qe,Z,h,b,k,y,I,w,E,P,A,W,L,G,H,ie,X,te,le,U,fe,oe,de,ge,ne,Te,Ue),Be}const fs={kernelName:u.Conv2DBackpropInput,backendName:"wasm",setupFunc:ps,kernelFunc:ms};let sn;function hs(r){sn=r.wasm.cwrap(u.Conv3D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function gs(r){const{inputs:a,backend:s,attrs:o}=r,{x:n,filter:t}=a,{strides:d,pad:c,dilations:l}=o;if(n.dtype!=="float32")throw new Error(`Tensor x must have dtype float32, got ${n.dtype}`);if(t.dtype!=="float32")throw new Error(`Tensor filter must have dtype float32, got ${t.dtype}`);const i=u.backend_util.computeConv3DInfo(n.shape,t.shape,d,l,c),e=s.makeOutput(i.outShape,n.dtype);return sn(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(e.dataId).id,i.batchSize,i.inDepth,i.inHeight,i.inWidth,i.inChannels,i.outDepth,i.outHeight,i.outWidth,i.outChannels,i.strideDepth,i.strideHeight,i.strideWidth,i.dilationDepth,i.dilationHeight,i.dilationWidth,i.filterDepth,i.filterHeight,i.filterWidth,i.padInfo.front,i.padInfo.top,i.padInfo.left),e}const bs={kernelName:u.Conv3D,backendName:"wasm",setupFunc:hs,kernelFunc:gs};let un;function _s(r){un=r.wasm.cwrap(u.Conv3DBackpropFilterV2,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ys(r){const{inputs:a,backend:s,attrs:o}=r,{x:n,dy:t}=a,{strides:d,pad:c,filterShape:l}=o;if(n.dtype!=="float32")throw new Error(`Tensor dy must have dtype float32, got ${n.dtype}`);if(t.dtype!=="float32")throw new Error(`Tensor filter must have dtype float32, got ${t.dtype}`);const i=u.backend_util.computeConv3DInfo(n.shape,l,d,1,c),e=s.makeOutput(i.filterShape,t.dtype);return un(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(e.dataId).id,i.batchSize,i.inDepth,i.inHeight,i.inWidth,i.inChannels,i.outDepth,i.outHeight,i.outWidth,i.outChannels,i.strideDepth,i.strideHeight,i.strideWidth,i.dilationDepth,i.dilationHeight,i.dilationWidth,i.filterDepth,i.filterHeight,i.filterWidth,i.padInfo.front,i.padInfo.top,i.padInfo.left),e}const Is={kernelName:u.Conv3DBackpropFilterV2,backendName:"wasm",setupFunc:_s,kernelFunc:ys};let on;function ws(r){on=r.wasm.cwrap(u.Conv3DBackpropInputV2,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ks(r){const{inputs:a,backend:s,attrs:o}=r,{dy:n,filter:t}=a,{pad:d,strides:c,inputShape:l}=o;if(n.dtype!=="float32")throw new Error(`Tensor dy must have dtype float32, got ${n.dtype}`);if(t.dtype!=="float32")throw new Error(`Tensor filter must have dtype float32, got ${t.dtype}`);const i=u.backend_util.computeConv3DInfo(l,t.shape,c,1,d),e=s.makeOutput(i.inShape,n.dtype);return on(s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(e.dataId).id,i.batchSize,i.inDepth,i.inHeight,i.inWidth,i.inChannels,i.outDepth,i.outHeight,i.outWidth,i.outChannels,i.strideDepth,i.strideHeight,i.strideWidth,i.dilationDepth,i.dilationHeight,i.dilationWidth,i.filterDepth,i.filterHeight,i.filterWidth,i.padInfo.front,i.padInfo.top,i.padInfo.left),e}const Ss={kernelName:u.Conv3DBackpropInputV2,backendName:"wasm",setupFunc:ws,kernelFunc:ks};const Ms=$(u.Cos);const vs=$(u.Cosh);var wt;(function(r){r[r.bilinear=0]="bilinear",r[r.nearest=1]="nearest"})(wt||(wt={}));let dn;function As(r){dn=r.wasm.cwrap(u.CropAndResize,null,["number","number","number","number","array","number","number","number","number","number"])}function xs(r){const{backend:a,inputs:s,attrs:o}=r,{method:n,extrapolationValue:t,cropSize:d}=o,{image:c,boxes:l,boxInd:i}=s,e=l.shape[0],[m,g]=d,f=[e,m,g,c.shape[3]];let h=a.dataIdMap.get(c.dataId),b;c.dtype!=="float32"&&(b=Se({backend:a,inputs:{x:c},attrs:{dtype:"float32"}}),h=a.dataIdMap.get(b.dataId));const k=h.id,w=a.dataIdMap.get(l.dataId).id,y=a.dataIdMap.get(i.dataId).id,I=a.makeOutput(f,"float32"),A=a.dataIdMap.get(I.dataId).id,E=new Uint8Array(new Int32Array(c.shape).buffer);return dn(k,w,y,e,E,m,g,wt[n],t,A),b!=null&&a.disposeData(b.dataId),I}const Ds={kernelName:u.CropAndResize,backendName:"wasm",setupFunc:As,kernelFunc:xs};let cn;function Fs(r){cn=r.wasm.cwrap(u.Cumprod,null,["number","number","number","number","number","number"])}function Ns(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{axis:t,exclusive:d,reverse:c}=o,l=n.shape.length;u.util.assert(n.dtype==="float32"||n.dtype==="int32",()=>`cumprod does not support ${n.dtype} tensors in the WASM backend`);const i=u.backend_util.getAxesPermutation([t],l);let e=n;i!==null&&(e=we({inputs:{x:n},attrs:{perm:i},backend:s}));const m=u.backend_util.getInnerMostAxes(1,l)[0];u.backend_util.assertAxesAreInnerMostDims("cumprod",[m],l);const g=s.makeOutput(e.shape,e.dtype),f=e.shape[m],h=s.dataIdMap.get(e.dataId).id,b=s.dataIdMap.get(g.dataId).id;cn(h,d?1:0,c?1:0,f,b,V[n.dtype]);let k=g;if(i!==null){const w=u.backend_util.getUndoAxesPermutation(i);k=we({inputs:{x:g},attrs:{perm:w},backend:s}),s.disposeData(e.dataId),s.disposeData(g.dataId)}return k}const Rs={kernelName:u.Cumprod,backendName:"wasm",setupFunc:Fs,kernelFunc:Ns};let ln;function Ps(r){ln=r.wasm.cwrap(u.Cumsum,null,["number","number","number","number","number","number"])}function Es(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{axis:t,exclusive:d,reverse:c}=o,l=n.shape.length;u.util.assert(n.dtype==="float32"||n.dtype==="int32",()=>`cumsum does not support ${n.dtype} tensors in the WASM backend`);const i=u.backend_util.getAxesPermutation([t],l);let e=n;i!==null&&(e=we({inputs:{x:n},attrs:{perm:i},backend:s}));const m=u.backend_util.getInnerMostAxes(1,l)[0];u.backend_util.assertAxesAreInnerMostDims("cumsum",[m],l);const g=s.makeOutput(e.shape,e.dtype),f=e.shape[m],h=s.dataIdMap.get(e.dataId).id,b=s.dataIdMap.get(g.dataId).id;ln(h,d?1:0,c?1:0,f,b,V[n.dtype]);let k=g;if(i!==null){const w=u.backend_util.getUndoAxesPermutation(i);k=we({inputs:{x:g},attrs:{perm:w},backend:s}),s.disposeData(e.dataId),s.disposeData(g.dataId)}return k}const Ts={kernelName:u.Cumsum,backendName:"wasm",setupFunc:Ps,kernelFunc:Es};let pn;function Bs(r){pn=r.wasm.cwrap("DenseBincount",null,["number","array","number","number","boolean","number","number","boolean","number"])}function Os(r){const{backend:a,inputs:s,attrs:o}=r,{x:n,weights:t}=s,{size:d,binaryOutput:c}=o,l=t.shape.reduce((g,f)=>g*f,1)!==0,i=n.shape.length===1?[d]:[n.shape[0],d],e=a.makeOutput(i,t.dtype);function m(g){return a.dataIdMap.get(g.dataId).id}return pn(m(n),new Uint8Array(new Int32Array(n.shape).buffer),n.shape.length,d,l,m(t),V[t.dtype],c,m(e)),e}const Ws={kernelName:u.DenseBincount,backendName:"wasm",setupFunc:Bs,kernelFunc:Os};let mn;function zs(r){mn=r.wasm.cwrap(u.DepthToSpace,null,["number","number","number","array","number","array","array","number","number"])}function Hs(r){const{backend:a,inputs:s,attrs:o}=r,{x:n}=s,{blockSize:t,dataFormat:d}=o,c=n.shape[0],l=d==="NHWC"?n.shape[1]:n.shape[2],i=d==="NHWC"?n.shape[2]:n.shape[3],e=d==="NHWC"?n.shape[3]:n.shape[1],m=l*t,g=i*t,f=e/(t*t),h=d==="NHWC"?[c,m,g,f]:[c,f,m,g],b=a.makeOutput(h,"float32"),w=a.dataIdMap.get(n.dataId).id,y=new Uint8Array(new Int32Array(u.util.computeStrides(n.shape)).buffer),I=new Uint8Array(new Int32Array(h).buffer),A=new Uint8Array(new Int32Array(u.util.computeStrides(h)).buffer),E=a.dataIdMap.get(b.dataId).id;return mn(w,t,d==="NHWC"?1:0,y,n.shape.length-1,I,A,h.length,E),b}const $s={kernelName:u.DepthToSpace,backendName:"wasm",setupFunc:zs,kernelFunc:Hs};let fn;function Ls(r){fn=r.wasm.cwrap(u.DepthwiseConv2dNative,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Vs(r){const{inputs:a,attrs:s,backend:o}=r,{x:n,filter:t}=a,d=o.dataIdMap.get(n.dataId).id,c=o.dataIdMap.get(t.dataId).id,{strides:l,dilations:i,pad:e,dimRoundingMode:m}=s,g=i??[1,1],f=u.backend_util.computeConv2DInfo(n.shape,t.shape,l,g,e,m,!0),h=f.filterHeight,b=f.filterWidth,k=f.padInfo.top,w=f.padInfo.right,y=f.padInfo.bottom,I=f.padInfo.left,A=f.dilationHeight,E=f.dilationWidth,P=f.strideHeight,W=f.strideWidth,L=f.inChannels,G=f.outChannels,H=f.padInfo.type==="SAME"?1:0;if(f.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${f.dataFormat}'. Please use 'channelsLast'.`);const q=o.makeOutput(f.outShape,"float32"),C=o.dataIdMap.get(q.dataId).id;return fn(d,n.shape[0],n.shape[1],n.shape[2],c,h,b,k,w,y,I,H,A,E,P,W,L,G,C),q}const Gs={kernelName:u.DepthwiseConv2dNative,backendName:"wasm",setupFunc:Ls,kernelFunc:Vs};let hn;function Us(r){hn=r.wasm.cwrap("Diag",null,["number","number","number","number"])}function qs(r){const{inputs:a,backend:s}=r,{x:o}=a,n=u.util.sizeFromShape(o.shape),t=s.makeOutput([...o.shape,...o.shape],o.dtype);return hn(s.dataIdMap.get(o.dataId).id,V[o.dtype],n,s.dataIdMap.get(t.dataId).id),t}const Ks={kernelName:u.Diag,backendName:"wasm",setupFunc:Us,kernelFunc:qs};let gn;function Cs(r){gn=r.wasm.cwrap(u.Dilation2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Xs(r){const{inputs:a,backend:s,attrs:o}=r,{x:n,filter:t}=a,{strides:d,pad:c,dilations:l}=o;if(n.dtype!==t.dtype)throw new Error(`Dilation2D error: x must have the same dtype as filter. Got ${n.dtype} and ${t.dtype}`);const i=u.backend_util.computeDilation2DInfo(n.shape,t.shape,d,c,"NHWC",l),e=s.makeOutput(i.outShape,n.dtype);return gn(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(e.dataId).id,V[n.dtype],i.batchSize,i.inChannels,i.inHeight,i.inWidth,i.outHeight,i.outWidth,i.strideHeight,i.strideWidth,i.dilationHeight,i.dilationWidth,i.filterHeight,i.filterWidth,i.padInfo.top,i.padInfo.left),e}const Qs={kernelName:u.Dilation2D,backendName:"wasm",setupFunc:Cs,kernelFunc:Xs};let bn;function Js(r){bn=r.wasm.cwrap(u.Dilation2DBackpropFilter,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Ys(r){const{inputs:a,backend:s,attrs:o}=r,{x:n,filter:t,dy:d}=a,{strides:c,pad:l,dilations:i}=o;if(n.dtype!==t.dtype||n.dtype!==d.dtype)throw new Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${n.dtype}, ${t.dtype}, and ${d.dtype}`);const e=u.backend_util.computeDilation2DInfo(n.shape,t.shape,c,l,"NHWC",i),m=s.makeOutput(t.shape,t.dtype);return bn(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(d.dataId).id,s.dataIdMap.get(m.dataId).id,V[n.dtype],e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.filterHeight,e.filterWidth,e.padInfo.top,e.padInfo.left),m}const Zs={kernelName:u.Dilation2DBackpropFilter,backendName:"wasm",setupFunc:Js,kernelFunc:Ys};let _n;function js(r){_n=r.wasm.cwrap(u.Dilation2DBackpropInput,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function eu(r){const{inputs:a,backend:s,attrs:o}=r,{x:n,filter:t,dy:d}=a,{strides:c,pad:l,dilations:i}=o;if(n.dtype!==t.dtype||n.dtype!==d.dtype)throw new Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${n.dtype}, ${t.dtype}, and ${d.dtype}`);const e=u.backend_util.computeDilation2DInfo(n.shape,t.shape,c,l,"NHWC",i),m=s.makeOutput(n.shape,n.dtype);return _n(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(d.dataId).id,s.dataIdMap.get(m.dataId).id,V[n.dtype],e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.filterHeight,e.filterWidth,e.padInfo.top,e.padInfo.left),m}const tu={kernelName:u.Dilation2DBackpropInput,backendName:"wasm",setupFunc:js,kernelFunc:eu};const nu=$(u.Elu);let yn;function au(r){yn=r.wasm.cwrap(u.EluGrad,null,["number","number","number"])}function ru(r){const{inputs:a,backend:s}=r,{dy:o,y:n}=a,t=s.makeOutput(n.shape,"float32"),d=c=>s.dataIdMap.get(c.dataId).id;return yn(d(n),d(o),d(t)),t}const su={kernelName:u.EluGrad,backendName:"wasm",setupFunc:au,kernelFunc:ru};const uu=j(u.Equal,!1,"bool");const iu=$(u.Erf);const ou=$(u.Exp,"float32");function kt(r){const{inputs:a,attrs:s,backend:o}=r,{input:n}=a,{dim:t}=s,d=n.shape.length,c=n.shape.slice();let l=t;return t<0&&(u.util.assert(-(d+1)<=t,()=>`Axis must be in the interval [${-(d+1)}, ${d}]`),l=d+t+1),c.splice(l,0,1),ue({inputs:{x:n},backend:o,attrs:{shape:c}})}const du={kernelName:u.ExpandDims,backendName:"wasm",kernelFunc:kt};const cu=$(u.Expm1,"float32");function In(r){const{attrs:{shape:a,value:s},backend:o}=r;let{attrs:{dtype:n}}=r;n=n||u.util.inferDtype(s);const t=o.makeOutput(a,n);return o.typedArrayFromHeap(t).fill(s),t}const lu={kernelName:u.Fill,backendName:"wasm",kernelFunc:In};let wn;function pu(r){wn=r.wasm.cwrap(u.FlipLeftRight,null,["number","number","number","number","number","number"])}function mu(r){const{inputs:a,backend:s}=r,{image:o}=a,n=s.makeOutput(o.shape,o.dtype),t=s.dataIdMap.get(o.dataId).id,d=s.dataIdMap.get(n.dataId).id,[c,l,i,e]=o.shape;return wn(t,c,l,i,e,d),n}const fu={kernelName:u.FlipLeftRight,backendName:"wasm",kernelFunc:mu,setupFunc:pu};const hu=$(u.Floor);const gu=j(u.FloorDiv);let kn;function bu(r){kn=r.wasm.cwrap(u.FusedBatchNorm,null,["number","number","number","number","number","number","number"])}function _u(r){const{backend:a,inputs:s,attrs:o}=r,{varianceEpsilon:n}=o,{x:t,mean:d,variance:c,offset:l,scale:i}=s,e=a.dataIdMap.get(t.dataId).id,m=a.dataIdMap.get(d.dataId).id,g=a.dataIdMap.get(c.dataId).id,f=l!=null?a.dataIdMap.get(l.dataId).id:0,h=i!=null?a.dataIdMap.get(i.dataId).id:0,b=a.makeOutput(t.shape,t.dtype);if(u.util.sizeFromShape(t.shape)===0)return b;const k=a.dataIdMap.get(b.dataId).id;return kn(e,m,g,f,h,n,k),b}const yu={kernelName:u.FusedBatchNorm,backendName:"wasm",setupFunc:bu,kernelFunc:_u};let Sn;function Iu(r){Sn=r.wasm.cwrap(u.FusedConv2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function wu(r){const{inputs:a,attrs:s,backend:o}=r,{x:n,filter:t,bias:d,preluActivationWeights:c}=a,{strides:l,pad:i,dilations:e,dataFormat:m,dimRoundingMode:g,activation:f,leakyreluAlpha:h}=s,b=u.backend_util.computeConv2DInfo(n.shape,t.shape,l,e,i,g),k=Le[f];if(k==null)throw new Error(`${f} activation not yet supported for FusedConv2D in the wasm backend.`);const w=o.dataIdMap.get(n.dataId).id,y=o.dataIdMap.get(t.dataId).id,I=b.outChannels;let A=0;if(d!=null){const ne=o.dataIdMap.get(d.dataId);if(ne.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${ne.shape.length}.`);if(ne.shape[0]!==I)throw new Error(`FusedConv2D bias shape (${ne.shape}) does not match the number of output channels (${I})`);A=ne.id}const E=b.filterHeight,P=b.filterWidth,W=b.padInfo.top,L=b.padInfo.right,G=b.padInfo.bottom,H=b.padInfo.left,q=b.dilationHeight,C=b.dilationWidth,Y=b.strideHeight,ie=b.strideWidth,X=b.inChannels,te=b.padInfo.type==="SAME"?1:0,le=b.batchSize,U=b.inHeight,fe=b.inWidth;if(m!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${m}'. Please use 'NHWC'.`);const oe=o.makeOutput(b.outShape,"float32"),de=o.dataIdMap.get(oe.dataId).id,ge=c==null?0:o.dataIdMap.get(c.dataId).id;return Sn(w,le,U,fe,y,E,P,A,W,L,G,H,te,q,C,Y,ie,X,I,k,ge,h||0,de),oe}const ku={kernelName:u.FusedConv2D,backendName:"wasm",setupFunc:Iu,kernelFunc:wu};let Mn;function Su(r){Mn=r.wasm.cwrap(u.FusedDepthwiseConv2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Mu(r){const{inputs:a,attrs:s,backend:o}=r,{x:n,filter:t,bias:d,preluActivationWeights:c}=a,{strides:l,pad:i,dilations:e,dataFormat:m,dimRoundingMode:g,activation:f,leakyreluAlpha:h}=s,b=u.backend_util.computeConv2DInfo(n.shape,t.shape,l,e,i,g,!0),k=Le[f];if(k==null)throw new Error(`${f} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);const w=o.dataIdMap.get(n.dataId).id,y=o.dataIdMap.get(t.dataId).id,I=b.outChannels;let A=0;if(d!=null){const ne=o.dataIdMap.get(d.dataId);if(ne.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${ne.shape.length}.`);if(ne.shape[0]!==I)throw new Error(`FusedDepthwiseConv2D bias shape (${ne.shape}) does not match the number of output channels (${I})`);A=ne.id}const E=b.filterHeight,P=b.filterWidth,W=b.padInfo.top,L=b.padInfo.right,G=b.padInfo.bottom,H=b.padInfo.left,q=b.dilationHeight,C=b.dilationWidth,Y=b.strideHeight,ie=b.strideWidth,X=b.inChannels,te=b.padInfo.type==="SAME"?1:0,le=b.batchSize,U=b.inHeight,fe=b.inWidth;if(m!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${m}'. Please use 'NHWC'.`);const oe=o.makeOutput(b.outShape,"float32"),de=o.dataIdMap.get(oe.dataId).id,ge=c==null?0:o.dataIdMap.get(c.dataId).id;return Mn(w,le,U,fe,y,E,P,A,W,L,G,H,te,q,C,Y,ie,X,I,k,ge,h||0,de),oe}const vu={kernelName:u.FusedDepthwiseConv2D,backendName:"wasm",setupFunc:Su,kernelFunc:Mu};let vn;function Au(r){vn=r.wasm.cwrap(u.GatherNd,null,["number","number","number","number","number","number","array","number"])}function xu(r){const{backend:a,inputs:s}=r,{params:o,indices:n}=s,[t,d,c,l]=u.gather_util.prepareAndValidate(o,n),i=a.makeOutput(t,o.dtype);if(d===0)return i;const e=n.shape,m=e[e.length-1],f=a.dataIdMap.get(o.dataId).id,b=a.dataIdMap.get(n.dataId).id,k=new Uint8Array(new Int32Array(l).buffer),w=a.dataIdMap.get(i.dataId).id;return vn(f,V[o.dtype],b,d,m,c,k,w),i}const Du={kernelName:u.GatherNd,backendName:"wasm",setupFunc:Au,kernelFunc:xu};let An;function Fu(r){An=r.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function Nu(r){const{backend:a,inputs:s,attrs:o}=r,{x:n,indices:t}=s,{axis:d,batchDims:c}=o,l=u.util.parseAxisParam(d,n.shape)[0],i=a.readSync(t.dataId),e=n.shape[l];for(let G=0;G<i.length;++G){const H=i[G];u.util.assert(H<=e-1&&H>=0,()=>`GatherV2: the index value ${H} is not in [0, ${e-1}]`)}const m=u.backend_util.segment_util.collectGatherOpShapeInfo(n,t,l,c),g=ue({inputs:{x:n},attrs:{shape:[m.batchSize,m.outerSize,m.dimSize,m.sliceSize]},backend:a}),f=u.util.sizeFromShape(t.shape),h=ue({inputs:{x:t},attrs:{shape:[m.batchSize,f/m.batchSize]},backend:a}),b=[m.batchSize,m.outerSize,f/m.batchSize,m.sliceSize],k=a.makeOutput(b,n.dtype);if(u.util.sizeFromShape(n.shape)===0)return k;const w=g.shape.length-1,I=a.dataIdMap.get(g.dataId).id,E=a.dataIdMap.get(h.dataId).id,P=a.dataIdMap.get(k.dataId).id,W=new Uint8Array(new Int32Array(u.util.computeStrides(g.shape)).buffer),L=new Uint8Array(new Int32Array(u.util.computeStrides(b)).buffer);return An(I,V[n.dtype],W,w,E,m.batchSize,L,P),a.disposeData(g.dataId),a.disposeData(h.dataId),k.shape=m.outputShape,k}const Ru={kernelName:u.GatherV2,backendName:"wasm",setupFunc:Fu,kernelFunc:Nu};const Pu=j(u.Greater,!1,"bool");const Eu=j(u.GreaterEqual,!1,"bool");const Tu=$(u.IsFinite,"bool");const Bu=$(u.IsInf,"bool");const Ou=$(u.IsNan,"bool");let xn;function Wu(r){xn=r.wasm.cwrap(u.LeakyRelu,null,["number","number","number","number"])}function zu(r){const{inputs:{x:a},attrs:{alpha:s},backend:o}=r,n=o.dataIdMap.get(a.dataId).id,t=o.makeOutput(a.shape,"float32");if(u.util.sizeFromShape(a.shape)!==0){const d=o.dataIdMap.get(t.dataId).id;xn(n,V[a.dtype],s,d)}return t}const Hu={kernelName:u.LeakyRelu,backendName:"wasm",setupFunc:Wu,kernelFunc:zu};const $u=j(u.Less,!1,"bool");const Lu=j(u.LessEqual,!1,"bool");let Dn;function Vu(r){Dn=r.wasm.cwrap(u.LinSpace,null,["number","number","number","number"])}function Gu(r){const{attrs:a,backend:s}=r,{start:o,stop:n,num:t}=a,d=Math.floor(t),c=s.makeOutput([d],"float32");return Dn(s.dataIdMap.get(c.dataId).id,o,n,d),c}const Uu={kernelName:u.LinSpace,backendName:"wasm",setupFunc:Vu,kernelFunc:Gu};const qu=$(u.Log);const Ku=$(u.Log1p);const Cu=j(u.LogicalAnd,!1,"bool");const Xu=$(u.LogicalNot);const Qu=j(u.LogicalOr,!1,"bool");const Ju=j(u.LogicalXor,!1,"bool");let Fn;function Yu(r){Fn=r.wasm.cwrap(u.LRN,null,["number","number","number","number","number","number","number"])}function Zu(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{depthRadius:t,bias:d,alpha:c,beta:l}=o;if(n.dtype!=="float32")throw new Error("LRN error: x must have dtype float32");const i=s.makeOutput(n.shape,n.dtype);return Fn(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(i.dataId).id,n.shape[3],t,d,c,l),i}const ju={kernelName:u.LRN,backendName:"wasm",setupFunc:Yu,kernelFunc:Zu};let Nn;function ei(r){Nn=r.wasm.cwrap(u.LRNGrad,null,["number","number","number","number","number","number","number","number","number"])}function ti(r){const{inputs:a,backend:s,attrs:o}=r,{x:n,y:t,dy:d}=a,{depthRadius:c,bias:l,alpha:i,beta:e}=o;if(n.dtype!=="float32"||t.dtype!=="float32"||d.dtype!=="float32")throw new Error("LRNGrad error: x, y, and dy must have dtype float32");const m=s.makeOutput(n.shape,n.dtype);return Nn(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(d.dataId).id,s.dataIdMap.get(m.dataId).id,d.shape[3],c,l,i,e),m}const ni={kernelName:u.LRNGrad,backendName:"wasm",setupFunc:ei,kernelFunc:ti};let Rn;function ai(r){Rn=r.wasm.cwrap(u.Max,null,["number","number","number","number"])}function ri(r){const{backend:a,inputs:s,attrs:o}=r,{reductionIndices:n,keepDims:t}=o,{x:d}=s;let l=a.dataIdMap.get(d.dataId).id,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);if(f){const I=a.dataIdMap.get(e.dataId).id;i=e,l=I}const h=i.shape.length;u.backend_util.assertAxesAreInnerMostDims("max",m,h);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,m),w=u.util.sizeFromShape(k),y=a.makeOutput(b,d.dtype);if(u.util.sizeFromShape(i.shape)!==0){const I=a.dataIdMap.get(y.dataId).id;Rn(l,V[d.dtype],w,I)}if(f&&a.disposeData(e.dataId),t){const I=u.backend_util.expandShapeToKeepDim(y.shape,g);y.shape=I}return y}const si={kernelName:u.Max,backendName:"wasm",setupFunc:ai,kernelFunc:ri};const ui=j(u.Maximum);let Pn;function ii(r){Pn=r.wasm.cwrap(u.MaxPool,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function oi(r){const{inputs:a,attrs:s,backend:o}=r,n=a.x,t=o.dataIdMap.get(n.dataId).id;u.util.assert(n.dtype==="float32",()=>`Error in MaxPool: only float32 input is supported. Got ${n.dtype}.`);const{filterSize:d,strides:c,pad:l,dimRoundingMode:i}=s,e=u.backend_util.computePool2DInfo(n.shape,d,c,1,l,i),m=e.filterHeight,g=e.filterWidth,f=e.padInfo.top,h=e.padInfo.right,b=e.padInfo.bottom,k=e.padInfo.left,w=e.dilationHeight,y=e.dilationWidth,I=e.strideHeight,A=e.strideWidth,E=e.inChannels,P=e.outChannels;if(e.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${e.dataFormat}'. Please use 'channelsLast'.`);const W=o.makeOutput(e.outShape,"float32"),L=o.dataIdMap.get(W.dataId).id;return Pn(t,n.shape[0],n.shape[1],n.shape[2],m,g,f,h,b,k,w,y,I,A,E,P,L),W}const di={kernelName:u.MaxPool,backendName:"wasm",setupFunc:ii,kernelFunc:oi};let En;function ci(r){En=r.wasm.cwrap("MaxPool3D",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function li(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{filterSize:t,strides:d,pad:c,dimRoundingMode:l,dataFormat:i}=o,e=u.backend_util.computePool3DInfo(n.shape,t,d,1,c,l,i),m=s.makeOutput(e.outShape,n.dtype);return En(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left),m}const pi={kernelName:u.MaxPool3D,backendName:"wasm",setupFunc:ci,kernelFunc:li};let Tn;function mi(r){Tn=r.wasm.cwrap("MaxPool3DGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function fi(r){const{inputs:a,backend:s,attrs:o}=r,{dy:n,input:t}=a,{filterSize:d,strides:c,pad:l,dimRoundingMode:i}=o,e=u.backend_util.computePool3DInfo(t.shape,d,c,1,l,i),m=s.makeOutput(t.shape,t.dtype);return Tn(s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left),m}const hi={kernelName:u.MaxPool3DGrad,backendName:"wasm",setupFunc:mi,kernelFunc:fi};let Bn;function gi(r){Bn=r.wasm.cwrap("MaxPoolGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function bi(r){const{inputs:a,backend:s,attrs:o}=r,{dy:n,input:t}=a,{filterSize:d,strides:c,pad:l,dimRoundingMode:i}=o,e=u.backend_util.computePool2DInfo(t.shape,d,c,1,l,i),m=s.makeOutput(t.shape,t.dtype);return Bn(s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.top,e.padInfo.left),m}const _i={kernelName:u.MaxPoolGrad,backendName:"wasm",setupFunc:gi,kernelFunc:bi};let On;function yi(r){On=r.wasm.cwrap("MaxPoolWithArgmax",null,["number","number","number","number","boolean","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Ii(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{filterSize:t,strides:d,pad:c,includeBatchInIndex:l}=o;u.util.assert(n.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${n.shape.length}.`);const i=[1,1];u.util.assert(u.backend_util.eitherStridesOrDilationsAreOne(d,i),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${d} and dilations '${i}'`);const e=u.backend_util.computePool2DInfo(n.shape,t,d,[1,1],c),m=s.makeOutput(e.outShape,n.dtype),g=s.makeOutput(e.outShape,"int32");return On(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(m.dataId).id,s.dataIdMap.get(g.dataId).id,V[n.dtype],l,e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.top,e.padInfo.left),[m,g]}const wi={kernelName:u.MaxPoolWithArgmax,backendName:"wasm",setupFunc:yi,kernelFunc:Ii};let Wn;function ki(r){Wn=r.wasm.cwrap(u.Mean,null,["number, number, number"])}function Si(r){const{backend:a,inputs:s,attrs:o}=r,{axis:n,keepDims:t}=o,{x:d}=s,c=a.dataIdMap.get(d.dataId).id;let l=c,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);let h=m;if(f){const A=a.dataIdMap.get(e.dataId).id;A!==c&&(i=e,l=A,h=u.backend_util.getInnerMostAxes(h.length,i.shape.length))}u.backend_util.assertAxesAreInnerMostDims("mean",h,i.shape.length);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,h),w=u.util.sizeFromShape(k);let y=i;i.dtype!=="float32"&&(y=Se({backend:a,inputs:{x:i},attrs:{dtype:"float32"}}),l=a.dataIdMap.get(y.dataId).id);const I=a.makeOutput(b,"float32");if(u.util.sizeFromShape(i.shape)!==0){const A=a.dataIdMap.get(I.dataId).id;Wn(l,w,A)}if(f&&a.disposeData(e.dataId),t){const A=u.backend_util.expandShapeToKeepDim(I.shape,g);I.shape=A}return i.dtype!=="float32"&&a.disposeData(y.dataId),I}const Mi={kernelName:u.Mean,backendName:"wasm",setupFunc:ki,kernelFunc:Si};let zn;function vi(r){zn=r.wasm.cwrap(u.Min,null,["number","number","number","number"])}function Ai(r){const{backend:a,inputs:s,attrs:o}=r,{axis:n,keepDims:t}=o,{x:d}=s,c=a.dataIdMap.get(d.dataId).id;let l=c,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);if(f){const I=a.dataIdMap.get(e.dataId).id;I!==c&&(i=e,l=I)}const h=i.shape.length;u.backend_util.assertAxesAreInnerMostDims("min",m,h);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,m),w=u.util.sizeFromShape(k),y=a.makeOutput(b,i.dtype);if(u.util.sizeFromShape(i.shape)!==0){const I=a.dataIdMap.get(y.dataId).id;zn(l,V[d.dtype],w,I)}if(f&&a.disposeData(e.dataId),t){const I=u.backend_util.expandShapeToKeepDim(y.shape,g);y.shape=I}return y}const xi={kernelName:u.Min,backendName:"wasm",setupFunc:vi,kernelFunc:Ai};const Di=j(u.Minimum);var St;(function(r){r[r.reflect=0]="reflect",r[r.symmetric=1]="symmetric"})(St||(St={}));let Hn;function Fi(r){Hn=r.wasm.cwrap(u.MirrorPad,null,["number","array","number","number","array","array","number","number"])}function Ni(r){const{inputs:{x:a},backend:s,attrs:{paddings:o,mode:n}}=r,t=o.map((h,b)=>h[0]+a.shape[b]+h[1]),d=s.dataIdMap.get(a.dataId).id,c=s.makeOutput(t,a.dtype),l=s.dataIdMap.get(c.dataId).id,i=new Uint8Array(new Int32Array(a.shape).buffer),e=o.map(h=>h[0]),m=o.map(h=>h[1]),g=new Uint8Array(new Int32Array(e).buffer),f=new Uint8Array(new Int32Array(m).buffer);return Hn(d,i,a.shape.length,V[a.dtype],g,f,St[n],l),c}const Ri={kernelName:u.MirrorPad,backendName:"wasm",kernelFunc:Ni,setupFunc:Fi};let $n;function Pi(r){$n=r.wasm.cwrap(u.Softmax,null,["number","number","number","number"])}function Ln(r){const{backend:a,inputs:{logits:s},attrs:{dim:o}}=r,n=a.dataIdMap.get(s.dataId).id,t=a.makeOutput(s.shape,s.dtype),d=a.dataIdMap.get(t.dataId).id,c=s.shape[o],l=u.util.sizeFromShape(s.shape)/c;return u.util.sizeFromShape(t.shape)===0||$n(n,d,c,l),t}const Ei={kernelName:u.Softmax,backendName:"wasm",setupFunc:Pi,kernelFunc:Ln};let Vn;function Ti(r){Vn=r.wasm.cwrap(u.Multinomial,null,["number","number","number","number","number","number"])}function Bi(r){const{inputs:a,backend:s,attrs:o}=r,{logits:n}=a,{numSamples:t,seed:d,normalized:c}=o;if(n.dtype!=="float32")throw new Error(`Tensor logits must have dtype float32, got ${n.dtype}`);const l=c?n:Ln({inputs:{logits:n},backend:s,attrs:{dim:n.shape.length-1}}),[i,e]=l.shape,m=s.makeOutput([i,t],"int32");return Vn(s.dataIdMap.get(l.dataId).id,i,e,t,d,s.dataIdMap.get(m.dataId).id),c||s.disposeData(l.dataId),m}const Oi={kernelName:u.Multinomial,backendName:"wasm",setupFunc:Ti,kernelFunc:Bi};const Wi=j(u.Mod);const zi=j(u.Multiply);const Hi=$(u.Neg);function Mt(r,a){const s=new Int32Array(r.wasm.HEAPU8.buffer,a,4),o=s[0],n=s[1],t=s[2],d=s[3];return r.wasm._free(a),{pSelectedIndices:o,selectedSize:n,pSelectedScores:t,pValidOutputs:d}}let Gn;function $i(r){Gn=r.wasm.cwrap(u.NonMaxSuppressionV3,"number",["number","number","number","number","number"])}function Li(r){const{backend:a,inputs:s,attrs:o}=r,{iouThreshold:n,maxOutputSize:t,scoreThreshold:d}=o,{boxes:c,scores:l}=s,i=a.dataIdMap.get(c.dataId).id,e=a.dataIdMap.get(l.dataId).id,m=Gn(i,e,t,n,d),{pSelectedIndices:g,selectedSize:f,pSelectedScores:h,pValidOutputs:b}=Mt(a,m);return a.wasm._free(h),a.wasm._free(b),a.makeOutput([f],"int32",g)}const Vi={kernelName:u.NonMaxSuppressionV3,backendName:"wasm",setupFunc:$i,kernelFunc:Li};let Un;function Gi(r){Un=r.wasm.cwrap(u.NonMaxSuppressionV4,"number",["number","number","number","number","number","bool"])}function Ui(r){const{backend:a,inputs:s,attrs:o}=r,{iouThreshold:n,maxOutputSize:t,scoreThreshold:d,padToMaxOutputSize:c}=o,{boxes:l,scores:i}=s,e=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(i.dataId).id,g=Un(e,m,t,n,d,c),{pSelectedIndices:f,selectedSize:h,pSelectedScores:b,pValidOutputs:k}=Mt(a,g);a.wasm._free(b);const w=a.makeOutput([h],"int32",f),y=a.makeOutput([],"int32",k);return[w,y]}const qi={kernelName:u.NonMaxSuppressionV4,backendName:"wasm",setupFunc:Gi,kernelFunc:Ui};let qn;function Ki(r){qn=r.wasm.cwrap(u.NonMaxSuppressionV5,"number",["number","number","number","number","number","number"])}function Ci(r){const{backend:a,inputs:s,attrs:o}=r,{iouThreshold:n,maxOutputSize:t,scoreThreshold:d,softNmsSigma:c}=o,{boxes:l,scores:i}=s,e=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(i.dataId).id,g=qn(e,m,t,n,d,c),{pSelectedIndices:f,selectedSize:h,pSelectedScores:b,pValidOutputs:k}=Mt(a,g);a.wasm._free(k);const w=a.makeOutput([h],"int32",f),y=a.makeOutput([h],"float32",b);return[w,y]}const Xi={kernelName:u.NonMaxSuppressionV5,backendName:"wasm",setupFunc:Ki,kernelFunc:Ci};const Qi=j(u.NotEqual,!1,"bool");let Kn;function Ji(r){Kn=r.wasm.cwrap(u.OneHot,null,["number","number","number","number","number"])}function Yi(r){const{inputs:a,backend:s,attrs:o}=r,{indices:n}=a,{dtype:t,depth:d,onValue:c,offValue:l}=o,i=s.makeOutput([...n.shape,d],t),e=s.dataIdMap.get(i.dataId).id,g=s.dataIdMap.get(n.dataId).id;return Kn(g,d,c,l,e),i}const Zi={kernelName:u.OneHot,backendName:"wasm",setupFunc:Ji,kernelFunc:Yi};function ji(r){const{inputs:{x:a},backend:s}=r,o=s.makeOutput(a.shape,a.dtype);return s.typedArrayFromHeap(o).fill(1),o}const eo={kernelName:u.OnesLike,backendName:"wasm",kernelFunc:ji};function to(r){const{inputs:a,backend:s,attrs:o}=r,{axis:n}=o;if(a.length===1)return kt({inputs:{input:a[0]},backend:s,attrs:{dim:n}});const t=a[0].shape,d=a[0].dtype;a.forEach(e=>{u.util.assertShapesMatch(t,e.shape,"All tensors passed to stack must have matching shapes"),u.util.assert(d===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const c=[],l=a.map(e=>{const m=kt({inputs:{input:e},backend:s,attrs:{dim:n}});return c.push(m),m}),i=nn({inputs:l,backend:s,attrs:{axis:n}});return c.forEach(e=>s.disposeData(e.dataId)),i}const no={kernelName:u.Pack,backendName:"wasm",kernelFunc:to};let Cn;function ao(r){Cn=r.wasm.cwrap(u.PadV2,null,["number","array","number","number","array","array","number","number"])}function ro(r){const{inputs:{x:a},backend:s,attrs:{paddings:o,constantValue:n}}=r,t=o.map((b,k)=>b[0]+a.shape[k]+b[1]);if(u.util.sizeFromShape(a.shape)===0)return In({backend:s,attrs:{shape:t,value:n,dtype:a.dtype}});const d=s.dataIdMap.get(a.dataId).id,c=s.makeOutput(t,a.dtype),i=s.dataIdMap.get(c.dataId).id,e=new Uint8Array(new Int32Array(a.shape).buffer),m=o.map(b=>b[0]),g=o.map(b=>b[1]),f=new Uint8Array(new Int32Array(m).buffer),h=new Uint8Array(new Int32Array(g).buffer);return Cn(d,e,a.shape.length,V[a.dtype],f,h,n,i),c}const Xn={kernelName:u.PadV2,backendName:"wasm",kernelFunc:ro,setupFunc:ao};const so=j(u.Pow);let Qn;function uo(r){Qn=r.wasm.cwrap(u.Prelu,null,["number","number","number"])}function io(r){const{inputs:a,backend:s}=r,{x:o,alpha:n}=a,t=s.dataIdMap.get(o.dataId).id,d=s.dataIdMap.get(n.dataId).id;let c=t;const l=o;let i=l;l.dtype!=="float32"&&(i=Se({backend:s,inputs:{x:o},attrs:{dtype:"float32"}}),c=s.dataIdMap.get(i.dataId).id);const e=s.makeOutput(o.shape,"float32"),m=s.dataIdMap.get(e.dataId).id;return Qn(c,d,m),l.dtype!=="float32"&&s.disposeData(i.dataId),e}const oo={kernelName:u.Prelu,backendName:"wasm",setupFunc:uo,kernelFunc:io};let Jn;function co(r){Jn=r.wasm.cwrap(u.Prod,null,["number","number","number","number"])}function lo(r){const{backend:a,inputs:s,attrs:o}=r,{axis:n,keepDims:t}=o,{x:d}=s,c=a.dataIdMap.get(d.dataId).id;let l=c,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);let h=m;if(f){const I=a.dataIdMap.get(e.dataId).id;I!==c&&(i=e,l=I,h=u.backend_util.getInnerMostAxes(h.length,i.shape.length))}u.backend_util.assertAxesAreInnerMostDims("prod",h,i.shape.length);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,h),w=u.util.sizeFromShape(k),y=a.makeOutput(b,i.dtype);if(u.util.sizeFromShape(i.shape)!==0){const I=a.dataIdMap.get(y.dataId).id;Jn(l,w,V[y.dtype],I)}if(f&&a.disposeData(e.dataId),t){const I=u.backend_util.expandShapeToKeepDim(y.shape,g);y.shape=I}return y}const po={kernelName:u.Prod,backendName:"wasm",setupFunc:co,kernelFunc:lo};const mo=r=>{const{backend:a,attrs:s}=r,{start:o,stop:n,step:t,dtype:d}=s,c=zr(o,n,t,d),l=a.makeOutput([c.length],d);return a.typedArrayFromHeap(l).set(c),l},fo={kernelName:u.Range,backendName:"wasm",kernelFunc:mo};const ho=j(u.RealDiv);const go=$(u.Reciprocal);const bo=$(u.Relu);const _o=$(u.Relu6);let Yn;function yo(r){Yn=r.wasm.cwrap(u.ResizeBilinear,null,["number","number","number","number","number","number","number","number","number","number"])}function Io(r){const{backend:a,inputs:s,attrs:o}=r,{images:n}=s,{alignCorners:t,halfPixelCenters:d,size:c}=o,[l,i]=c,[e,m,g,f]=n.shape,h=[e,l,i,f];let b=a.dataIdMap.get(n.dataId),k;b.dtype!=="float32"&&(k=Se({backend:a,inputs:{x:n},attrs:{dtype:"float32"}}),b=a.dataIdMap.get(k.dataId));const w=b.id,y=a.makeOutput(h,"float32");if(u.util.sizeFromShape(n.shape)===0)return y;const I=a.dataIdMap.get(y.dataId).id;return Yn(w,e,m,g,f,l,i,t?1:0,d?1:0,I),k!=null&&a.disposeData(k.dataId),y}const wo={kernelName:u.ResizeBilinear,backendName:"wasm",setupFunc:yo,kernelFunc:Io};let Zn;function ko(r){Zn=r.wasm.cwrap(u.ResizeBilinearGrad,null,["number","number","number","array","array","boolean"])}function So(r){const{inputs:a,backend:s,attrs:o}=r,{images:n,dy:t}=a,{alignCorners:d}=o,c=s.makeOutput(n.shape,"float32");let l=s.dataIdMap.get(n.dataId),i;return l.dtype!=="float32"&&(i=Se({backend:s,inputs:{x:n},attrs:{dtype:"float32"}}),l=s.dataIdMap.get(i.dataId)),Zn(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(c.dataId).id,new Uint8Array(new Int32Array(n.shape).buffer),new Uint8Array(new Int32Array(t.shape).buffer),d),i!=null&&s.disposeData(i.dataId),c}const Mo={kernelName:u.ResizeBilinearGrad,backendName:"wasm",setupFunc:ko,kernelFunc:So};let jn;function vo(r){jn=r.wasm.cwrap(u.ResizeNearestNeighbor,null,["number","number","number","number","number","number","number","number","number","number"])}function Ao(r){const{backend:a,inputs:s,attrs:o}=r,{images:n}=s,{alignCorners:t,halfPixelCenters:d,size:c}=o,[l,i]=c,[e,m,g,f]=n.shape,h=[e,l,i,f],b=a.makeOutput(h,"float32");if(u.util.sizeFromShape(n.shape)===0)return b;let k=a.dataIdMap.get(n.dataId),w;k.dtype!=="float32"&&(w=Se({backend:a,inputs:{x:n},attrs:{dtype:"float32"}}),k=a.dataIdMap.get(w.dataId));const y=k.id,I=a.dataIdMap.get(b.dataId).id;return jn(y,e,m,g,f,l,i,t?1:0,d?1:0,I),w!=null&&a.disposeData(w.dataId),b}const xo={kernelName:u.ResizeNearestNeighbor,backendName:"wasm",setupFunc:vo,kernelFunc:Ao};let ea;function Do(r){ea=r.wasm.cwrap(u.ResizeNearestNeighborGrad,null,["number","number","number","array","array","boolean"])}function Fo(r){const{inputs:a,backend:s,attrs:o}=r,{images:n,dy:t}=a,{alignCorners:d}=o,c=s.makeOutput(n.shape,"float32");let l=s.dataIdMap.get(n.dataId),i;return l.dtype!=="float32"&&(i=Se({backend:s,inputs:{x:n},attrs:{dtype:"float32"}}),l=s.dataIdMap.get(i.dataId)),ea(s.dataIdMap.get(n.dataId).id,s.dataIdMap.get(t.dataId).id,s.dataIdMap.get(c.dataId).id,new Uint8Array(new Int32Array(n.shape).buffer),new Uint8Array(new Int32Array(t.shape).buffer),d),i!=null&&s.disposeData(i.dataId),c}const No={kernelName:u.ResizeNearestNeighborGrad,backendName:"wasm",setupFunc:Do,kernelFunc:Fo};let ta;function Ro(r){ta=r.wasm.cwrap(u.Reverse,null,["number","array","number","array","number","number"])}function Po(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{dims:t}=o,d=u.util.parseAxisParam(t,n.shape);if(n.shape.length===0)return Ye({inputs:{x:n},backend:s});const c=s.makeOutput(n.shape,n.dtype),l=s.dataIdMap.get(n.dataId).id,i=s.dataIdMap.get(c.dataId).id,e=new Uint8Array(new Int32Array(d).buffer),m=new Uint8Array(new Int32Array(n.shape).buffer);ta(l,e,d.length,m,n.shape.length,i);const g=ue({inputs:{x:c},attrs:{shape:n.shape},backend:s});return s.disposeData(c.dataId),g}const Eo={kernelName:u.Reverse,backendName:"wasm",kernelFunc:Po,setupFunc:Ro};let na;function To(r){na=r.wasm.cwrap(u.RotateWithOffset,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Bo(r){const{inputs:a,backend:s,attrs:o}=r,{image:n}=a,{radians:t,fillValue:d,center:c}=o,l=s.makeOutput(n.shape,n.dtype),i=s.dataIdMap.get(n.dataId).id,e=s.dataIdMap.get(l.dataId).id,[m,g,f,h]=n.shape,[b,k]=u.backend_util.getImageCenter(c,g,f),w=d===0,y=255,I=typeof d=="number"?[d,d,d,w?0:y]:[...d,y],A=new Uint8Array(new Int32Array(I).buffer);return na(i,m,g,f,h,t,b,k,A,I.length,e),l}const Oo={kernelName:u.RotateWithOffset,backendName:"wasm",kernelFunc:Bo,setupFunc:To};const Wo=$(u.Round);const zo=$(u.Rsqrt);let aa;function Ho(r){aa=r.wasm.cwrap(u.ScatterNd,null,["number","number","number","number","number","number","array","number","number"])}function $o(r){const{backend:a,inputs:s,attrs:o}=r,{indices:n,updates:t}=s,{shape:d}=o,c=a.makeOutput(d,t.dtype);if(u.util.sizeFromShape(d)===0)return c;const{sliceRank:l,numUpdates:i,sliceSize:e,strides:m,outputSize:g}=u.scatter_util.calculateShapes(t,n,d),h=a.dataIdMap.get(n.dataId).id,k=a.dataIdMap.get(t.dataId).id,w=new Uint8Array(new Int32Array(m).buffer),y=a.dataIdMap.get(c.dataId).id;return aa(h,k,V[t.dtype],l,i,e,w,g,y),c}const Lo={kernelName:u.ScatterNd,backendName:"wasm",setupFunc:Ho,kernelFunc:$o};let ra;function Vo(r){ra=r.wasm.cwrap(u.SearchSorted,null,["number","number","number","number","number","number","bool","number"])}function Go(r){const{inputs:a,backend:s,attrs:o}=r,{sortedSequence:n,values:t}=a,{side:d}=o;if(n.dtype!==t.dtype)throw new Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${n.dtype} and ${t.dtype}`);const c=s.makeOutput(t.shape,"int32");function l(i){return s.dataIdMap.get(i.dataId).id}return ra(l(n),l(t),n.shape[0],n.shape[1],t.shape[1],V[n.dtype],d==="left",l(c)),c}const Uo={kernelName:u.SearchSorted,backendName:"wasm",setupFunc:Vo,kernelFunc:Go};let sa;function qo(r){sa=r.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function Ko(r){const{inputs:a,backend:s}=r,{condition:o,t:n,e:t}=a,d=s.dataIdMap.get(o.dataId).id,c=s.dataIdMap.get(n.dataId).id,l=s.dataIdMap.get(t.dataId).id,i=s.makeOutput(n.shape,n.dtype),e=s.dataIdMap.get(i.dataId).id,m=o.shape.length,g=n.shape.length,f=m===0||m>1||g===1?1:u.util.sizeFromShape(n.shape.slice(1));return sa(d,c,l,f,e),i}const Co={kernelName:u.Select,backendName:"wasm",kernelFunc:Ko,setupFunc:qo};const Xo=$(u.Selu);let ua;function Qo(r){ua=r.wasm.cwrap(u.Sigmoid,null,["number","number"])}function Jo(r){const{backend:a,inputs:{x:s}}=r,o=a.dataIdMap.get(s.dataId).id,n=a.makeOutput(s.shape,s.dtype),t=a.dataIdMap.get(n.dataId).id;return u.util.sizeFromShape(n.shape)===0||ua(o,t),n}const Yo={kernelName:"Sigmoid",backendName:"wasm",setupFunc:Qo,kernelFunc:Jo};const Zo=$(u.Sign);const jo=$(u.Sin);const ed=$(u.Sinh);const td=$(u.Softplus);function nd(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,{blockShape:t,paddings:d}=o,c=u.util.sizeFromShape(t),l=[[0,0]];l.push(...d);for(let P=1+t.length;P<n.shape.length;++P)l.push([0,0]);const i=Xn.kernelFunc({inputs:{x:n},backend:s,attrs:{paddings:l,constantValue:0}}),e=u.backend_util.getReshaped(i.shape,t,c,!1),m=u.backend_util.getPermuted(e.length,t.length,!1),g=u.backend_util.getReshapedPermuted(i.shape,t,c,!1),b=ue({inputs:{x:i},backend:s,attrs:{shape:e}}),y=we({inputs:{x:b},backend:s,attrs:{perm:m}}),E=ue({inputs:{x:y},backend:s,attrs:{shape:g}});return s.disposeData(i.dataId),s.disposeData(b.dataId),s.disposeData(y.dataId),E}const ad={kernelName:u.SpaceToBatchND,backendName:"wasm",kernelFunc:nd};let ia;function rd(r){ia=r.wasm.cwrap("SparseFillEmptyRows","number",["number","number","number","number","number","number","number","number","number","number","number","number"])}function sd(r){const{backend:a,inputs:s}=r,{indices:o,values:n,denseShape:t,defaultValue:d}=s,c=o.shape[0],l=o.shape[1],i=a.readSync(t.dataId)[0],e=[c+i,l],m=a.dataIdMap.get(o.dataId).id,g=a.dataIdMap.get(n.dataId).id,f=a.dataIdMap.get(d.dataId).id,h=a.makeOutput(e,o.dtype),b=a.dataIdMap.get(h.dataId).id,k=a.makeOutput(e.slice(0,1),n.dtype),w=a.dataIdMap.get(k.dataId).id,y=a.makeOutput([i],"bool"),I=a.dataIdMap.get(y.dataId).id,A=a.makeOutput([c],o.dtype),E=a.dataIdMap.get(A.dataId).id,P=a.makeOutput([4],"int32"),W=a.dataIdMap.get(P.dataId).id,L=ia(m,g,V[n.dtype],c,i,l,f,b,w,I,E,W),G=a.readSync(P.dataId);let H;switch(G[0]){case 1:{H=u.backend_util.getSparseFillEmptyRowsIndicesDenseShapeMismatch(G[1]);break}case 2:{H=u.backend_util.getSparseFillEmptyRowsNegativeIndexErrorMessage(G[1],G[2]);break}case 3:H=u.backend_util.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(G[1],G[2],G[3]);break;default:H=""}if(a.disposeData(P.dataId),H)throw a.disposeData(h.dataId),a.disposeData(k.dataId),a.disposeData(y.dataId),a.disposeData(A.dataId),new Error(H);let q=h,C=k;return L!==e[0]&&(q=Ae({inputs:{x:h},attrs:{begin:0,size:[L,l]},backend:a}),C=Ae({inputs:{x:k},attrs:{begin:0,size:L},backend:a}),a.disposeData(h.dataId),a.disposeData(k.dataId)),[q,C,y,A]}const ud={kernelName:u.SparseFillEmptyRows,backendName:"wasm",setupFunc:rd,kernelFunc:sd};let oa;function id(r){oa=r.wasm.cwrap(u.SparseReshape,null,["number","number","number","number","number","number","number"])}function od(r){const{backend:a,inputs:s}=r,{inputIndices:o,inputShape:n,newShape:t}=s;if(o.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape
3
- ${o.shape}`);if(n.shape.length!==1)throw new Error(`Input shape should be a vector but received shape
4
- ${n.shape}`);if(t.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${t.shape}`);const d=a.dataIdMap.get(o.dataId).id,c=a.dataIdMap.get(n.dataId).id,l=a.dataIdMap.get(t.dataId).id,i=o.shape[0],e=u.util.sizeFromShape(t.shape),m=a.makeOutput([i,e],o.dtype),g=a.dataIdMap.get(m.dataId).id,f=a.makeOutput([e],t.dtype),h=a.dataIdMap.get(f.dataId).id,b=a.makeOutput([3],"int32"),k=a.dataIdMap.get(b.dataId).id;oa(d,c,l,i,g,h,k);const w=a.readSync(b.dataId);let y;switch(w[0]){case 0:{y=u.backend_util.getSparseReshapeMultipleNegativeOneOutputDimErrorMessage(w[1],w[2]);break}case 1:{y=u.backend_util.getSparseReshapeNegativeOutputDimErrorMessage(w[1],w[2]);break}case 2:y=u.backend_util.getSparseReshapeEmptyTensorZeroOutputDimErrorMessage();break;case 3:{const I=Array.from(a.readSync(n.dataId)),A=Array.from(a.readSync(f.dataId));y=u.backend_util.getSparseReshapeInputOutputMultipleErrorMessage(I,A);break}case 4:{const I=Array.from(a.readSync(n.dataId)),A=Array.from(a.readSync(f.dataId));y=u.backend_util.getSparseReshapeInputOutputMismatchErrorMessage(I,A);break}default:y=""}if(a.disposeData(b.dataId),y)throw a.disposeData(m.dataId),a.disposeData(f.dataId),new Error(y);return[m,f]}const dd={kernelName:u.SparseReshape,backendName:"wasm",setupFunc:id,kernelFunc:od};let da;function ca(r){da=r.wasm.cwrap("SparseSegmentReduction",null,["number","number","number","number","number","number","number","number","number"])}function la(r,a){const{backend:s,inputs:o}=r,{data:n,indices:t,segmentIds:d}=o,c=t.shape[0],l=s.readSync(d.dataId,c-1,c)[0],e=c>0?l+1:0;if(e<0)throw new Error(u.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());const m=n.shape.slice();m[0]=e;const g=s.dataIdMap.get(n.dataId).id,f=s.dataIdMap.get(t.dataId).id,h=s.dataIdMap.get(d.dataId).id,b=s.makeOutput(m,n.dtype),k=s.dataIdMap.get(b.dataId).id,w=s.makeOutput([4],"int32"),y=s.dataIdMap.get(w.dataId).id;da(g,V[n.dtype],n.shape[0],f,h,k,y,a,0);const I=s.readSync(w.dataId);let A;switch(I[0]){case 0:{A=u.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{A=u.backend_util.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:A=u.backend_util.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(I[1],I[2]);break;case 3:A=u.backend_util.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(I[1],I[2],I[3]);break;default:A=""}if(s.disposeData(w.dataId),A)throw s.disposeData(b.dataId),new Error(A);return b}function cd(r){return la(r,!0)}const ld={kernelName:u.SparseSegmentMean,backendName:"wasm",setupFunc:ca,kernelFunc:cd};function pd(r){return la(r,!1)}const md={kernelName:u.SparseSegmentSum,backendName:"wasm",setupFunc:ca,kernelFunc:pd};let pa;function fd(r){pa=r.wasm.cwrap(u.SparseToDense,null,["number","number","number","number","number","number","number","number","array","number","number"])}function hd(r){const{backend:a,inputs:s,attrs:o}=r,{sparseIndices:n,sparseValues:t,defaultValue:d}=s,{outputShape:c}=o,l=a.makeOutput(c,d.dtype);if(u.util.sizeFromShape(c)===0)return l;const{sliceRank:i,numUpdates:e,sliceSize:m,strides:g,outputSize:f}=u.backend_util.calculateShapes(t,n,c),h=a.dataIdMap.get(n.dataId).id,b=a.dataIdMap.get(t.dataId).id,k=a.dataIdMap.get(d.dataId).id,w=new Uint8Array(new Int32Array(g).buffer),y=a.dataIdMap.get(l.dataId).id;return pa(h,b,t.shape.length,k,V[d.dtype],i,e,m,w,f,y),l}const gd={kernelName:u.SparseToDense,backendName:"wasm",setupFunc:fd,kernelFunc:hd};function bd(r){const{inputs:a,attrs:s,backend:o}=r,{x:n}=a,{numOrSizeSplits:t,axis:d}=s,c=u.util.parseAxisParam(d,n.shape)[0],l=u.backend_util.prepareSplitSize(n,t,c),i=new Array(n.shape.length).fill(0),e=n.shape.slice();return l.map(m=>{const g=[...e];g[c]=m;const f=Ae({inputs:{x:n},attrs:{begin:i,size:g},backend:o});return i[c]+=m,f})}const _d={kernelName:u.SplitV,backendName:"wasm",kernelFunc:bd};const yd=$(u.Sqrt);const Id=$(u.Square);const wd=j(u.SquaredDifference);let ma;function kd(r){ma=r.wasm.cwrap(u.Step,null,["number","number","number","number"])}function Sd(r){const{backend:a,inputs:s,attrs:o}=r,{alpha:n}=o,{x:t}=s,d=a.dataIdMap.get(t.dataId).id,c=a.makeOutput(t.shape,t.dtype),l=a.dataIdMap.get(c.dataId).id;return ma(d,n,V[t.dtype],l),c}const Md={kernelName:u.Step,backendName:"wasm",setupFunc:kd,kernelFunc:Sd};let fa;function vd(r){fa=r.wasm.cwrap(u.StridedSlice,null,["number","array","number","array","array","array","array","array","number","number"])}function Ad(r){const{backend:a,inputs:s,attrs:o}=r,{x:n}=s,{begin:t,end:d,strides:c,beginMask:l,endMask:i,ellipsisMask:e,newAxisMask:m,shrinkAxisMask:g}=o,{finalShapeSparse:f,finalShape:h,isIdentity:b,sliceDim0:k,isSimpleSlice:w,begin:y,end:I,strides:A}=u.slice_util.sliceInfo(n.shape,t,d,c,l,i,e,m,g);let E;if(b)E=ue({inputs:{x:n},backend:a,attrs:{shape:h}});else if(k||w){u.util.assert(n.shape.length>=1,()=>`Input must have rank at least 1, got: ${n.shape.length}`);const P=u.slice_util.computeOutShape(y,I,A),W=Ae({inputs:{x:n},backend:a,attrs:{begin:y,size:P}});E=ue({inputs:{x:W},backend:a,attrs:{shape:h}}),a.disposeData(W.dataId)}else{const P=a.makeOutput(f,"float32"),W=a.dataIdMap.get(n.dataId).id,L=new Uint8Array(new Int32Array(u.util.computeStrides(n.shape)).buffer),G=new Uint8Array(new Int32Array(y).buffer),H=new Uint8Array(new Int32Array(I).buffer),q=new Uint8Array(new Int32Array(A).buffer),C=new Uint8Array(new Int32Array(f).buffer),Y=new Uint8Array(new Int32Array(u.util.computeStrides(f)).buffer),ie=a.dataIdMap.get(P.dataId).id;fa(W,L,n.shape.length,G,H,q,C,Y,f.length,ie),E=ue({inputs:{x:P},backend:a,attrs:{shape:h}}),a.disposeData(P.dataId)}return E}const xd={kernelName:u.StridedSlice,backendName:"wasm",setupFunc:vd,kernelFunc:Ad};function Dd(r){const{backend:a,inputs:s,attrs:o}=r,{data:n,dataSplits:t}=s,{separator:d,nGramWidths:c,leftPad:l,rightPad:i,padWidth:e,preserveShortSequences:m}=o,g=a.readSync(n.dataId),f=a.readSync(t.dataId),[h,b]=$r(g,f,d,c,l,i,e,m),k=a.makeOutput([h.length],"string"),w=a.dataIdMap.get(k.dataId);w.stringBytes=h;const y=a.makeOutput(t.shape,"int32");return a.typedArrayFromHeap(y).set(b),[k,y]}const Fd={kernelName:u.StringNGrams,backendName:"wasm",kernelFunc:Dd};function Nd(r){const{backend:a,inputs:s,attrs:o}=r,{input:n,delimiter:t}=s,{skipEmpty:d}=o,c=a.readSync(n.dataId),l=a.readSync(t.dataId),[i,e,m]=Vr(c,l[0],d),g=e.length,f=a.makeOutput([g,2],"int32");a.typedArrayFromHeap(f).set(i);const b=a.makeOutput([g],"string"),k=a.dataIdMap.get(b.dataId);k.stringBytes=e;const w=a.makeOutput([2],"int32");return a.typedArrayFromHeap(w).set(m),[f,b,w]}const Rd={kernelName:u.StringSplit,backendName:"wasm",kernelFunc:Nd};function Pd(r){const{backend:a,inputs:s,attrs:o}=r,{input:n}=s,{numBuckets:t}=o,d=a.readSync(n.dataId),c=Gr(d,t),l=a.makeOutput(n.shape,"int32");return a.typedArrayFromHeap(l).set(c),l}const Ed={kernelName:u.StringToHashBucketFast,backendName:"wasm",kernelFunc:Pd};const Td=j(u.Sub);let ha;function Bd(r){ha=r.wasm.cwrap(u.Sum,null,["number","number","number","number"])}function Od(r){const{backend:a,inputs:s,attrs:o}=r,{axis:n,keepDims:t}=o,{x:d}=s,c=a.dataIdMap.get(d.dataId).id;let l=c,i=d;const{transposed:e,axes:m,originalAxes:g,inputWasTransposed:f}=ke(d,n,a);let h=m;if(f){const I=a.dataIdMap.get(e.dataId).id;I!==c&&(i=e,l=I,h=u.backend_util.getInnerMostAxes(h.length,i.shape.length))}u.backend_util.assertAxesAreInnerMostDims("sum",h,i.shape.length);const[b,k]=u.backend_util.computeOutAndReduceShapes(i.shape,h),w=u.util.sizeFromShape(k),y=a.makeOutput(b,i.dtype);if(u.util.sizeFromShape(i.shape)!==0){const I=a.dataIdMap.get(y.dataId).id;ha(l,w,V[y.dtype],I)}if(f&&a.disposeData(e.dataId),t){const I=u.backend_util.expandShapeToKeepDim(y.shape,g);y.shape=I}return y}const Wd={kernelName:u.Sum,backendName:"wasm",setupFunc:Bd,kernelFunc:Od};const zd=$(u.Tan);const Hd=$(u.Tanh);let ga;function $d(r){ga=r.wasm.cwrap(u.TensorScatterUpdate,null,["number","number","number","number","number","number","array","number","number","number"])}function Ld(r){const{backend:a,inputs:s,attrs:o}=r,{tensor:n,indices:t,updates:d}=s,c=a.makeOutput(n.shape,n.dtype);if(u.util.sizeFromShape(n.shape)===0)return c;const{sliceRank:l,numUpdates:i,sliceSize:e,strides:m,outputSize:g}=u.scatter_util.calculateShapes(d,t,n.shape),h=a.dataIdMap.get(t.dataId).id,k=a.dataIdMap.get(d.dataId).id,y=a.dataIdMap.get(n.dataId).id,I=new Uint8Array(new Int32Array(m).buffer),A=a.dataIdMap.get(c.dataId).id;return ga(h,k,V[d.dtype],l,i,e,I,g,A,y),c}const Vd={kernelName:u.TensorScatterUpdate,backendName:"wasm",setupFunc:$d,kernelFunc:Ld};let ba;function Gd(r){ba=r.wasm.cwrap(u.Tile,null,["number","array","number","array","number","number"])}function Ud(r){const{inputs:a,backend:s,attrs:o}=r,{x:n}=a,t=s.dataIdMap.get(n.dataId).id,{reps:d}=o,c=new Array(n.shape.length);for(let g=0;g<c.length;g++)c[g]=n.shape[g]*d[g];const l=new Uint8Array(new Int32Array(n.shape).buffer),i=new Uint8Array(new Int32Array(c).buffer),e=s.makeOutput(c,n.dtype),m=s.dataIdMap.get(e.dataId).id;return ba(t,l,n.shape.length,i,c.length,V[e.dtype],m),e}const qd={kernelName:u.Tile,backendName:"wasm",setupFunc:Gd,kernelFunc:Ud};let _a;function Kd(r){_a=r.wasm.cwrap(u.TopK,null,["number","array","number","number","number","bool","number","number"])}const Cd=({inputs:r,backend:a,attrs:s})=>{const{x:o}=r,{k:n,sorted:t}=s,d=a.dataIdMap.get(o.dataId).id,c=new Uint8Array(new Int32Array(o.shape).buffer),l=o.shape.slice();l[l.length-1]=n;const i=a.makeOutput(l,o.dtype),e=a.dataIdMap.get(i.dataId).id,m=a.makeOutput(l,"int32"),g=a.dataIdMap.get(m.dataId).id;return _a(d,c,o.shape.length,V[o.dtype],n,t,e,g),[i,m]},Xd={kernelName:u.TopK,backendName:"wasm",setupFunc:Kd,kernelFunc:Cd};let ya;function Qd(r){ya=r.wasm.cwrap(u.Transform,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function Jd(r){const{backend:a,inputs:s,attrs:o}=r,{image:n,transforms:t}=s,{interpolation:d,fillMode:c,fillValue:l,outputShape:i}=o,[e,m,g,f]=n.shape,[h,b]=i??[m,g],k=[e,h,b,f],w=new Uint8Array(new Int32Array(u.util.computeStrides(n.shape)).buffer),y=new Uint8Array(new Int32Array(u.util.computeStrides(k)).buffer),I=a.makeOutput(k,n.dtype),A=a.dataIdMap.get(I.dataId).id,P=a.dataIdMap.get(n.dataId).id,L=a.dataIdMap.get(t.dataId).id,G=d==="nearest"?1:2;let H;switch(c){case"constant":H=1;break;case"reflect":H=2;break;case"wrap":H=3;break;case"nearest":H=4;break;default:H=1;break}return ya(P,L,t.shape[0]>1,e,h,b,f,g,m,w,n.shape.length-1,y,k.length-1,G,H,l,A),I}const Yd={kernelName:u.Transform,backendName:"wasm",setupFunc:Qd,kernelFunc:Jd};function Zd(r){const{inputs:a,attrs:s,backend:o}=r,{axis:n}=s,{x:t}=a,{outputValues:d,outputShape:c,indices:l}=Ur(o.readSync(t.dataId),n,t.shape,t.dtype);return[o.makeOutput(c,t.dtype,void 0,d),o.makeOutput([l.length],"int32",void 0,l)]}const jd={kernelName:u.Unique,backendName:"wasm",kernelFunc:Zd};function ec(r){const{inputs:a,backend:s,attrs:o}=r,{value:n}=a;let{axis:t}=o;t<0&&(t+=n.shape.length);const d=n.shape[t],c=n.shape.length,l=new Array(c-1);let i=0;for(let f=0;f<c;f++)f!==t&&(l[i++]=n.shape[f]);const e=new Array(d),m=new Array(c).fill(0),g=n.shape.slice();g[t]=1;for(let f=0;f<e.length;f++)m[t]=f,e[f]=Ae({inputs:{x:n},attrs:{begin:m,size:g},backend:s});return e.map(({dataId:f,dtype:h})=>({dataId:f,dtype:h,shape:l}))}const tc={kernelName:u.Unpack,backendName:"wasm",kernelFunc:ec};function nc(r){const{inputs:{x:a},backend:s}=r,o=s.makeOutput(a.shape,a.dtype);return s.typedArrayFromHeap(o).fill(0),o}const ac={kernelName:u.ZerosLike,backendName:"wasm",kernelFunc:nc};const rc=[Qa,Ja,Ya,Za,ja,nr,cr,mr,fr,hr,gr,br,_r,yr,Ir,Sr,Pr,Ar,Fr,Or,Jr,jr,es,ns,as,rs,is,os,ls,fs,bs,Is,Ss,Ms,vs,Ds,Rs,Ts,Ws,$s,Gs,Ks,Qs,Zs,tu,nu,su,uu,iu,ou,du,cu,lu,fu,hu,gu,yu,ku,vu,Du,Ru,Pu,Eu,ar,Tu,Bu,Ou,Hu,$u,Lu,Uu,Ku,qu,Cu,Xu,Qu,Ju,ju,ni,si,ui,di,pi,hi,_i,wi,Mi,xi,Di,Ri,Oi,Wi,zi,Hi,Vi,qi,Xi,Qi,Zi,eo,no,Xn,so,oo,po,fo,ho,go,bo,_o,Er,wo,Mo,xo,No,Eo,Oo,Wo,zo,Lo,Uo,Co,Xo,Yo,Zo,jo,ed,Xr,Ei,td,ad,ud,dd,ld,md,gd,_d,yd,Id,wd,Md,xd,Fd,Rd,Ed,Td,Wd,zd,Hd,Vd,qd,Xd,Yd,ir,jd,tc,ac];for(const r of rc)u.registerKernel(r);const vt=u.env();vt.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch{return!1}}),vt.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(vt.get("IS_NODE"))return!1;try{return 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}});var Ia=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wa(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function sc(r){if(Object.prototype.hasOwnProperty.call(r,"__esModule"))return r;var a=r.default;if(typeof a=="function"){var s=function o(){var n=!1;try{n=this instanceof o}catch{}return n?Reflect.construct(a,arguments,this.constructor):a.apply(this,arguments)};s.prototype=a.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(r).forEach(function(o){var n=Object.getOwnPropertyDescriptor(r,o);Object.defineProperty(s,o,n.get?n:{enumerable:!0,get:function(){return r[o]}})}),s}var At={exports:{}};const xe=sc(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var ka;function uc(){return ka||(ka=1,(function(r,a){var s=(()=>{var o=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(o=o||__filename),(function(n){n=n||{};function t(){return U.buffer!=Z&&he(U.buffer),Me}function d(){return U.buffer!=Z&&he(U.buffer),je}function c(){return U.buffer!=Z&&he(U.buffer),et}function l(){return U.buffer!=Z&&he(U.buffer),De}function i(){return U.buffer!=Z&&he(U.buffer),tt}var e=typeof n<"u"?n:{},m,g;e.ready=new Promise(function(p,_){m=p,g=_});var f;typeof process<"u"&&process.listeners&&(f={uncaughtException:process.listeners("uncaughtException"),unhandledRejection:process.listeners("unhandledRejection")});var h=Object.assign({},e),b=(p,_)=>{throw _},k=typeof window=="object",w=typeof importScripts=="function",y=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",I=e.ENVIRONMENT_IS_PTHREAD||!1,A="";function E(p){return e.locateFile?e.locateFile(p,A):A+p}var P,W,L;function G(p){if(p instanceof _e)return;X("exiting due to exception: "+p)}if(y){var H=xe,q=xe;w?A=q.dirname(A)+"/":A=__dirname+"/",P=(_,v)=>(_=We(_)?new URL(_):q.normalize(_),H.readFileSync(_,v?void 0:"utf8")),L=_=>{var v=P(_,!0);return v.buffer||(v=new Uint8Array(v)),v},W=(_,v,R)=>{_=We(_)?new URL(_):q.normalize(_),H.readFile(_,function(T,O){T?R(T):v(O.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(_){if(!(_ instanceof _e))throw _}),process.on("unhandledRejection",function(_){throw _}),b=(_,v)=>{if(Oe())throw process.exitCode=_,v;G(v),process.exit(_)},e.inspect=function(){return"[Emscripten Module object]"};let p;try{p=xe}catch(_){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),_}Ia.Worker=p.Worker}else(k||w)&&(w?A=self.location.href:typeof document<"u"&&document.currentScript&&(A=document.currentScript.src),typeof o<"u"&&o&&(A=o),A.indexOf("blob:")!==0?A=A.substr(0,A.replace(/[?#].*/,"").lastIndexOf("/")+1):A="",y||(P=p=>{var _=new XMLHttpRequest;return _.open("GET",p,!1),_.send(null),_.responseText},w&&(L=p=>{var _=new XMLHttpRequest;return _.open("GET",p,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}),W=(p,_,v)=>{var R=new XMLHttpRequest;R.open("GET",p,!0),R.responseType="arraybuffer",R.onload=()=>{if(R.status==200||R.status==0&&R.response){_(R.response);return}v()},R.onerror=v,R.send(null)}));y&&typeof performance>"u"&&(Ia.performance=xe.performance);var C=console.log.bind(console),Y=console.warn.bind(console);y&&(C=p=>H.writeSync(1,p+`
5
- `),Y=p=>H.writeSync(2,p+`
6
- `));var ie=e.print||C,X=e.printErr||Y;Object.assign(e,h),h=null,e.arguments&&e.arguments,e.thisProgram&&e.thisProgram,e.quit&&(b=e.quit);var te;e.wasmBinary&&(te=e.wasmBinary);var le=e.noExitRuntime||!0;typeof WebAssembly!="object"&&Re("no native wasm support detected");var U,fe,oe=!1,de;function ge(p,_){p||Re(_)}var ne=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Te(p,_,v){_>>>=0;for(var R=_+v,T=_;p[T]&&!(T>=R);)++T;if(T-_>16&&p.buffer&&ne)return ne.decode(p.buffer instanceof SharedArrayBuffer?p.slice(_,T):p.subarray(_,T));for(var O="";_<T;){var D=p[_++];if(!(D&128)){O+=String.fromCharCode(D);continue}var F=p[_++]&63;if((D&224)==192){O+=String.fromCharCode((D&31)<<6|F);continue}var J=p[_++]&63;if((D&240)==224?D=(D&15)<<12|F<<6|J:D=(D&7)<<18|F<<12|J<<6|p[_++]&63,D<65536)O+=String.fromCharCode(D);else{var me=D-65536;O+=String.fromCharCode(55296|me>>10,56320|me&1023)}}return O}function Be(p,_){return p>>>=0,p?Te(d(),p,_):""}function Ue(p,_,v,R){if(v>>>=0,!(R>0))return 0;for(var T=v,O=v+R-1,D=0;D<p.length;++D){var F=p.charCodeAt(D);if(F>=55296&&F<=57343){var J=p.charCodeAt(++D);F=65536+((F&1023)<<10)|J&1023}if(F<=127){if(v>=O)break;_[v++>>>0]=F}else if(F<=2047){if(v+1>=O)break;_[v++>>>0]=192|F>>6,_[v++>>>0]=128|F&63}else if(F<=65535){if(v+2>=O)break;_[v++>>>0]=224|F>>12,_[v++>>>0]=128|F>>6&63,_[v++>>>0]=128|F&63}else{if(v+3>=O)break;_[v++>>>0]=240|F>>18,_[v++>>>0]=128|F>>12&63,_[v++>>>0]=128|F>>6&63,_[v++>>>0]=128|F&63}}return _[v>>>0]=0,v-T}function qe(p,_,v){return Ue(p,d(),_,v)}var Z,Me,je,et,De,tt;I&&(Z=e.buffer);function he(p){Z=p,e.HEAP8=Me=new Int8Array(p),e.HEAP16=new Int16Array(p),e.HEAP32=et=new Int32Array(p),e.HEAPU8=je=new Uint8Array(p),e.HEAPU16=new Uint16Array(p),e.HEAPU32=De=new Uint32Array(p),e.HEAPF32=new Float32Array(p),e.HEAPF64=tt=new Float64Array(p)}var Fe=e.INITIAL_MEMORY||16777216;if(I)U=e.wasmMemory,Z=e.buffer;else if(e.wasmMemory)U=e.wasmMemory;else if(U=new WebAssembly.Memory({initial:Fe/65536,maximum:65536,shared:!0}),!(U.buffer instanceof SharedArrayBuffer))throw X("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),y&&X("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");U&&(Z=U.buffer),Fe=Z.byteLength,he(Z);var ae,Ke=[],nt=[],at=[];function Oe(){return le}function Ce(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)Nt(e.preRun.shift());K(Ke)}function rt(){I||K(nt)}function st(){if(!I){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Pt(e.postRun.shift());K(at)}}function Nt(p){Ke.unshift(p)}function Rt(p){nt.unshift(p)}function Pt(p){at.unshift(p)}var be=0,Ne=null;function Et(p){be++,e.monitorRunDependencies&&e.monitorRunDependencies(be)}function Tt(p){if(be--,e.monitorRunDependencies&&e.monitorRunDependencies(be),be==0&&Ne){var _=Ne;Ne=null,_()}}function Re(p){e.onAbort&&e.onAbort(p),p="Aborted("+p+")",X(p),oe=!0,de=1,p+=". Build with -sASSERTIONS for more info.";var _=new WebAssembly.RuntimeError(p);throw g(_),_}var Bt="data:application/octet-stream;base64,";function Xe(p){return p.startsWith(Bt)}function We(p){return p.startsWith("file://")}var se;se="tfjs-backend-wasm-threaded-simd.wasm",Xe(se)||(se=E(se));function ut(p){try{if(p==se&&te)return new Uint8Array(te);if(L)return L(p);throw"both async and sync fetching of the wasm failed"}catch(_){Re(_)}}function it(){if(!te&&(k||w)){if(typeof fetch=="function"&&!We(se))return fetch(se,{credentials:"same-origin"}).then(function(p){if(!p.ok)throw"failed to load wasm binary file at '"+se+"'";return p.arrayBuffer()}).catch(function(){return ut(se)});if(W)return new Promise(function(p,_){W(se,function(v){p(new Uint8Array(v))},_)})}return Promise.resolve().then(function(){return ut(se)})}function ot(){var p={env:Wa,wasi_snapshot_preview1:Wa};function _(D,F){var J=D.exports;if(e.asm=J,ye(e.asm._emscripten_tls_init),ae=e.asm.__indirect_function_table,Rt(e.asm.__wasm_call_ctors),fe=F,!I){var me=x.unusedWorkers.length;x.unusedWorkers.forEach(function(Ie){x.loadWasmModuleToWorker(Ie,function(){--me||Tt()})})}}I||Et();function v(D){_(D.instance,D.module)}function R(D){return it().then(function(F){return WebAssembly.instantiate(F,p)}).then(function(F){return F}).then(D,function(F){X("failed to asynchronously prepare wasm: "+F),Re(F)})}function T(){return!te&&typeof WebAssembly.instantiateStreaming=="function"&&!Xe(se)&&!We(se)&&!y&&typeof fetch=="function"?fetch(se,{credentials:"same-origin"}).then(function(D){var F=WebAssembly.instantiateStreaming(D,p);return F.then(v,function(J){return X("wasm streaming compile failed: "+J),X("falling back to ArrayBuffer instantiation"),R(v)})}):R(v)}if(e.instantiateWasm)try{var O=e.instantiateWasm(p,_);return O}catch(D){X("Module.instantiateWasm callback failed with error: "+D),g(D)}return T().catch(g),{}}var dt={};function _e(p){this.name="ExitStatus",this.message="Program terminated with exit("+p+")",this.status=p}function ze(p){var _=x.pthreads[p];delete x.pthreads[p],_.terminate(),Ht(p),x.runningWorkers.splice(x.runningWorkers.indexOf(_),1),_.pthread_ptr=0}function ct(p){var _=x.pthreads[p];_.postMessage({cmd:"cancel"})}function Pe(p){var _=x.pthreads[p];ge(_),x.returnWorkerToPool(_)}function Ee(p){var _=x.getNewWorker();if(!_)return 6;x.runningWorkers.push(_),x.pthreads[p.pthread_ptr]=_,_.pthread_ptr=p.pthread_ptr;var v={cmd:"run",start_routine:p.startRoutine,arg:p.arg,pthread_ptr:p.pthread_ptr};return _.runPthread=()=>{y&&_.ref(),_.postMessage(v,p.transferList),delete _.runPthread},_.loaded&&_.runPthread(),0}function lt(p){if(I)return He(1,1,p);de=p,Oe()||(x.terminateAllThreads(),e.onExit&&e.onExit(p),oe=!0),b(p,new _e(p))}function S(p,_){if(de=p,!_&&I)throw z(p),"unwind";lt(p)}var M=S;function N(p){if(p instanceof _e||p=="unwind")return de;b(1,p)}var x={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){I?x.initWorker():x.initMainThread()},initMainThread:function(){for(var p=8;p--;)x.allocateUnusedWorker()},initWorker:function(){le=!1},setExitStatus:function(p){de=p},terminateAllThreads:function(){for(var p of Object.values(x.pthreads))x.returnWorkerToPool(p);for(var p of x.unusedWorkers)p.terminate();x.unusedWorkers=[]},returnWorkerToPool:function(p){var _=p.pthread_ptr;delete x.pthreads[_],x.unusedWorkers.push(p),x.runningWorkers.splice(x.runningWorkers.indexOf(p),1),p.pthread_ptr=0,y&&p.unref(),Ht(_)},receiveObjectTransfer:function(p){},threadInitTLS:function(){x.tlsInitFunctions.forEach(p=>p())},loadWasmModuleToWorker:function(p,_){p.onmessage=O=>{var D=O.data,F=D.cmd;if(p.pthread_ptr&&(x.currentProxiedOperationCallerThread=p.pthread_ptr),D.targetThread&&D.targetThread!=ht()){var J=x.pthreads[D.targetThread];J?J.postMessage(D,D.transferList):X('Internal error! Worker sent a message "'+F+'" to target pthread '+D.targetThread+", but that thread no longer exists!"),x.currentProxiedOperationCallerThread=void 0;return}F==="processProxyingQueue"?Ot(D.queue):F==="spawnThread"?Ee(D):F==="cleanupThread"?Pe(D.thread):F==="killThread"?ze(D.thread):F==="cancelThread"?ct(D.thread):F==="loaded"?(p.loaded=!0,y&&p.unref(),_&&_(p),p.runPthread&&p.runPthread()):F==="print"?ie("Thread "+D.threadId+": "+D.text):F==="printErr"?X("Thread "+D.threadId+": "+D.text):F==="alert"?alert("Thread "+D.threadId+": "+D.text):D.target==="setimmediate"?p.postMessage(D):F==="callHandler"?e[D.handler](...D.args):F&&X("worker sent an unknown command "+F),x.currentProxiedOperationCallerThread=void 0},p.onerror=O=>{var D="worker sent an error!";throw X(D+" "+O.filename+":"+O.lineno+": "+O.message),O},y&&(p.on("message",function(O){p.onmessage({data:O})}),p.on("error",function(O){p.onerror(O)}),p.on("detachedExit",function(){}));var v=[],R=["onExit","onAbort","print","printErr"];for(var T of R)e.hasOwnProperty(T)&&v.push(T);p.postMessage({cmd:"load",handlers:v,urlOrBlob:e.mainScriptUrlOrBlob||o,wasmMemory:U,wasmModule:fe})},allocateUnusedWorker:function(){var p,_=E("tfjs-backend-wasm-threaded-simd.worker.js");p=new Worker(_),x.unusedWorkers.push(p)},getNewWorker:function(){return x.unusedWorkers.length==0&&(x.allocateUnusedWorker(),x.loadWasmModuleToWorker(x.unusedWorkers[0])),x.unusedWorkers.pop()}};e.PThread=x;function K(p){for(;p.length>0;)p.shift()(e)}function Q(){var p=ht(),_=c()[p+52>>>2],v=c()[p+56>>>2],R=_-v;Va(_,R),gt(_)}e.establishStackSpace=Q;function z(p){if(I)return He(2,0,p);try{M(p)}catch(_){N(_)}}var B=[];function ee(p){var _=B[p];return _||(p>=B.length&&(B.length=p+1),B[p]=_=ae.get(p)),_}function pe(p,_){var v=ee(p)(_);Oe()?x.setExitStatus(v):La(v)}e.invokeEntryPoint=pe;function ye(p){x.tlsInitFunctions.push(p)}function pt(p){za(p,!w,1,!k),x.threadInitTLS()}function Qe(p){I?postMessage({cmd:"cleanupThread",thread:p}):Pe(p)}function mt(p,_,v,R){return I?He(3,1,p,_,v,R):re(p,_,v,R)}function re(p,_,v,R){if(typeof SharedArrayBuffer>"u")return X("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var T=[],O=0;if(I&&(T.length===0||O))return mt(p,_,v,R);var D={startRoutine:v,pthread_ptr:p,arg:R,transferList:T};return I?(D.cmd="spawnThread",postMessage(D,T),0):Ee(D)}function ve(){return 65536}var ft=!0;function vc(){return ft}function Ot(p){Atomics.store(c(),p>>2,1),ht()&&$a(p),Atomics.compareExchange(c(),p>>2,1,0)}e.executeNotifiedProxyingQueue=Ot;function Ac(p,_,v,R){if(p==_)setTimeout(()=>Ot(R));else if(I)postMessage({targetThread:p,cmd:"processProxyingQueue",queue:R});else{var T=x.pthreads[p];if(!T)return;T.postMessage({cmd:"processProxyingQueue",queue:R})}return 1}function xc(p,_,v){return-1}function Dc(){Re("")}function Je(p){Je.shown||(Je.shown={}),Je.shown[p]||(Je.shown[p]=1,y&&(p="warning: "+p),X(p))}function Fc(){y||w||Je("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function Nc(){return Date.now()}function Pa(){return 4294901760}function Rc(){return Pa()}var Wt;y?Wt=()=>{var p=process.hrtime();return p[0]*1e3+p[1]/1e6}:Wt=()=>performance.timeOrigin+performance.now();function Pc(p,_,v){d().copyWithin(p>>>0,_>>>0,_+v>>>0)}function Ec(){return y?xe.cpus().length:navigator.hardwareConcurrency}function Tc(p){var _=$t(),v=p();return gt(_),v}function He(p,_){var v=arguments.length-2,R=arguments;return Tc(()=>{for(var T=v,O=bt(T*8),D=O>>3,F=0;F<v;F++){var J=R[2+F];i()[D+F>>>0]=J}return Ha(p,T,O,_)})}var zt=[];function Bc(p,_,v){zt.length=_;for(var R=v>>3,T=0;T<_;T++)zt[T]=i()[R+T>>>0];var O=p<0,D=O?dt[-p-1]:Uc[p];return D.apply(null,zt)}function Oc(p){try{return U.grow(p-Z.byteLength+65535>>>16),he(U.buffer),1}catch{}}function Wc(p){var _=d().length;if(p=p>>>0,p<=_)return!1;var v=Pa();if(p>v)return!1;let R=(J,me)=>J+(me-J%me)%me;for(var T=1;T<=4;T*=2){var O=_*(1+.2/T);O=Math.min(O,p+100663296);var D=Math.min(v,R(Math.max(p,O),65536)),F=Oc(D);if(F)return!0}return!1}function zc(){throw"unwind"}function Ea(p){return I?He(4,1,p):52}function Ta(p,_,v,R,T){return I?He(5,1,p,_,v,R,T):70}var Hc=[null,[],[]];function $c(p,_){var v=Hc[p];_===0||_===10?((p===1?ie:X)(Te(v,0)),v.length=0):v.push(_)}function Ba(p,_,v,R){if(I)return He(6,1,p,_,v,R);for(var T=0,O=0;O<v;O++){var D=l()[_>>>2],F=l()[_+4>>>2];_+=8;for(var J=0;J<F;J++)$c(p,d()[D+J>>>0]);T+=F}return l()[R>>>2]=T,0}function Oa(p){var _=e["_"+p];return _}function Lc(p,_){t().set(p,_>>>0)}function Vc(p,_,v,R,T){var O={string:ce=>{var $e=0;if(ce!=null&&ce!==0){var qa=(ce.length<<2)+1;$e=bt(qa),qe(ce,$e,qa)}return $e},array:ce=>{var $e=bt(ce.length);return Lc(ce,$e),$e}};function D(ce){return _==="string"?Be(ce):_==="boolean"?!!ce:ce}var F=Oa(p),J=[],me=0;if(R)for(var Ie=0;Ie<R.length;Ie++){var Ua=O[v[Ie]];Ua?(me===0&&(me=$t()),J[Ie]=Ua(R[Ie])):J[Ie]=R[Ie]}var Lt=F.apply(null,J);function Kc(ce){return me!==0&&gt(me),D(ce)}return Lt=Kc(Lt),Lt}function Gc(p,_,v,R){v=v||[];var T=v.every(D=>D==="number"||D==="boolean"),O=_!=="string";return O&&T&&!R?Oa(p):function(){return Vc(p,_,v,arguments)}}x.init();var Uc=[null,lt,z,mt,Ea,Ta,Ba],Wa={__emscripten_init_main_thread_js:pt,__emscripten_thread_cleanup:Qe,__pthread_create_js:re,_emscripten_default_pthread_stack_size:ve,_emscripten_get_now_is_monotonic:vc,_emscripten_notify_task_queue:Ac,_emscripten_set_offscreencanvas_size:xc,abort:Dc,emscripten_check_blocking_allowed:Fc,emscripten_date_now:Nc,emscripten_get_heap_max:Rc,emscripten_get_now:Wt,emscripten_memcpy_big:Pc,emscripten_num_logical_cores:Ec,emscripten_receive_on_main_thread_js:Bc,emscripten_resize_heap:Wc,emscripten_unwind_to_js_event_loop:zc,exit:M,fd_close:Ea,fd_seek:Ta,fd_write:Ba,memory:U||e.wasmMemory};ot(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.__wasm_call_ctors).apply(null,arguments)},e._init=function(){return(e._init=e.asm.init).apply(null,arguments)},e._init_with_threads_count=function(){return(e._init_with_threads_count=e.asm.init_with_threads_count).apply(null,arguments)},e._get_threads_count=function(){return(e._get_threads_count=e.asm.get_threads_count).apply(null,arguments)},e._register_tensor=function(){return(e._register_tensor=e.asm.register_tensor).apply(null,arguments)},e._dispose_data=function(){return(e._dispose_data=e.asm.dispose_data).apply(null,arguments)},e._dispose=function(){return(e._dispose=e.asm.dispose).apply(null,arguments)},e._Abs=function(){return(e._Abs=e.asm.Abs).apply(null,arguments)},e._Acos=function(){return(e._Acos=e.asm.Acos).apply(null,arguments)},e._Acosh=function(){return(e._Acosh=e.asm.Acosh).apply(null,arguments)},e._Add=function(){return(e._Add=e.asm.Add).apply(null,arguments)},e._AddN=function(){return(e._AddN=e.asm.AddN).apply(null,arguments)},e._All=function(){return(e._All=e.asm.All).apply(null,arguments)},e._Any=function(){return(e._Any=e.asm.Any).apply(null,arguments)},e._ArgMax=function(){return(e._ArgMax=e.asm.ArgMax).apply(null,arguments)},e._ArgMin=function(){return(e._ArgMin=e.asm.ArgMin).apply(null,arguments)},e._Asin=function(){return(e._Asin=e.asm.Asin).apply(null,arguments)},e._Asinh=function(){return(e._Asinh=e.asm.Asinh).apply(null,arguments)},e._Atan=function(){return(e._Atan=e.asm.Atan).apply(null,arguments)},e._Atan2=function(){return(e._Atan2=e.asm.Atan2).apply(null,arguments)},e._Atanh=function(){return(e._Atanh=e.asm.Atanh).apply(null,arguments)},e._AvgPool=function(){return(e._AvgPool=e.asm.AvgPool).apply(null,arguments)},e._AvgPool3D=function(){return(e._AvgPool3D=e.asm.AvgPool3D).apply(null,arguments)},e._AvgPool3DGrad=function(){return(e._AvgPool3DGrad=e.asm.AvgPool3DGrad).apply(null,arguments)},e._AvgPoolGrad=function(){return(e._AvgPoolGrad=e.asm.AvgPoolGrad).apply(null,arguments)},e._BatchMatMul=function(){return(e._BatchMatMul=e.asm.BatchMatMul).apply(null,arguments)},e._Bincount=function(){return(e._Bincount=e.asm.Bincount).apply(null,arguments)},e._BitwiseAnd=function(){return(e._BitwiseAnd=e.asm.BitwiseAnd).apply(null,arguments)},e._Ceil=function(){return(e._Ceil=e.asm.Ceil).apply(null,arguments)},e._ClipByValue=function(){return(e._ClipByValue=e.asm.ClipByValue).apply(null,arguments)},e._Conv2D=function(){return(e._Conv2D=e.asm.Conv2D).apply(null,arguments)},e._Conv2DBackpropInput=function(){return(e._Conv2DBackpropInput=e.asm.Conv2DBackpropInput).apply(null,arguments)},e._Conv3D=function(){return(e._Conv3D=e.asm.Conv3D).apply(null,arguments)},e._Conv3DBackpropFilterV2=function(){return(e._Conv3DBackpropFilterV2=e.asm.Conv3DBackpropFilterV2).apply(null,arguments)},e._Conv3DBackpropInputV2=function(){return(e._Conv3DBackpropInputV2=e.asm.Conv3DBackpropInputV2).apply(null,arguments)},e._Cos=function(){return(e._Cos=e.asm.Cos).apply(null,arguments)},e._Cosh=function(){return(e._Cosh=e.asm.Cosh).apply(null,arguments)},e._CropAndResize=function(){return(e._CropAndResize=e.asm.CropAndResize).apply(null,arguments)},e._Cumprod=function(){return(e._Cumprod=e.asm.Cumprod).apply(null,arguments)},e._Cumsum=function(){return(e._Cumsum=e.asm.Cumsum).apply(null,arguments)},e._DenseBincount=function(){return(e._DenseBincount=e.asm.DenseBincount).apply(null,arguments)},e._DepthToSpace=function(){return(e._DepthToSpace=e.asm.DepthToSpace).apply(null,arguments)},e._DepthwiseConv2dNative=function(){return(e._DepthwiseConv2dNative=e.asm.DepthwiseConv2dNative).apply(null,arguments)},e._Diag=function(){return(e._Diag=e.asm.Diag).apply(null,arguments)},e._Dilation2D=function(){return(e._Dilation2D=e.asm.Dilation2D).apply(null,arguments)},e._Dilation2DBackpropFilter=function(){return(e._Dilation2DBackpropFilter=e.asm.Dilation2DBackpropFilter).apply(null,arguments)},e._Dilation2DBackpropInput=function(){return(e._Dilation2DBackpropInput=e.asm.Dilation2DBackpropInput).apply(null,arguments)},e._Elu=function(){return(e._Elu=e.asm.Elu).apply(null,arguments)},e._EluGrad=function(){return(e._EluGrad=e.asm.EluGrad).apply(null,arguments)},e._Equal=function(){return(e._Equal=e.asm.Equal).apply(null,arguments)},e._Erf=function(){return(e._Erf=e.asm.Erf).apply(null,arguments)},e._Exp=function(){return(e._Exp=e.asm.Exp).apply(null,arguments)},e._Expm1=function(){return(e._Expm1=e.asm.Expm1).apply(null,arguments)},e._FlipLeftRight=function(){return(e._FlipLeftRight=e.asm.FlipLeftRight).apply(null,arguments)},e._Floor=function(){return(e._Floor=e.asm.Floor).apply(null,arguments)},e._FloorDiv=function(){return(e._FloorDiv=e.asm.FloorDiv).apply(null,arguments)},e._FusedBatchNorm=function(){return(e._FusedBatchNorm=e.asm.FusedBatchNorm).apply(null,arguments)},e._FusedConv2D=function(){return(e._FusedConv2D=e.asm.FusedConv2D).apply(null,arguments)},e._FusedDepthwiseConv2D=function(){return(e._FusedDepthwiseConv2D=e.asm.FusedDepthwiseConv2D).apply(null,arguments)},e._Gather=function(){return(e._Gather=e.asm.Gather).apply(null,arguments)},e._GatherNd=function(){return(e._GatherNd=e.asm.GatherNd).apply(null,arguments)},e._Greater=function(){return(e._Greater=e.asm.Greater).apply(null,arguments)},e._GreaterEqual=function(){return(e._GreaterEqual=e.asm.GreaterEqual).apply(null,arguments)},e._IsFinite=function(){return(e._IsFinite=e.asm.IsFinite).apply(null,arguments)},e._IsInf=function(){return(e._IsInf=e.asm.IsInf).apply(null,arguments)},e._IsNan=function(){return(e._IsNan=e.asm.IsNan).apply(null,arguments)},e._LRN=function(){return(e._LRN=e.asm.LRN).apply(null,arguments)},e._LRNGrad=function(){return(e._LRNGrad=e.asm.LRNGrad).apply(null,arguments)},e._LeakyRelu=function(){return(e._LeakyRelu=e.asm.LeakyRelu).apply(null,arguments)},e._Less=function(){return(e._Less=e.asm.Less).apply(null,arguments)},e._LessEqual=function(){return(e._LessEqual=e.asm.LessEqual).apply(null,arguments)},e._LinSpace=function(){return(e._LinSpace=e.asm.LinSpace).apply(null,arguments)},e._Log=function(){return(e._Log=e.asm.Log).apply(null,arguments)},e._Log1p=function(){return(e._Log1p=e.asm.Log1p).apply(null,arguments)},e._LogicalAnd=function(){return(e._LogicalAnd=e.asm.LogicalAnd).apply(null,arguments)},e._LogicalNot=function(){return(e._LogicalNot=e.asm.LogicalNot).apply(null,arguments)},e._LogicalOr=function(){return(e._LogicalOr=e.asm.LogicalOr).apply(null,arguments)},e._LogicalXor=function(){return(e._LogicalXor=e.asm.LogicalXor).apply(null,arguments)},e._Max=function(){return(e._Max=e.asm.Max).apply(null,arguments)},e._MaxPool=function(){return(e._MaxPool=e.asm.MaxPool).apply(null,arguments)},e._MaxPool3D=function(){return(e._MaxPool3D=e.asm.MaxPool3D).apply(null,arguments)},e._MaxPool3DGrad=function(){return(e._MaxPool3DGrad=e.asm.MaxPool3DGrad).apply(null,arguments)},e._MaxPoolGrad=function(){return(e._MaxPoolGrad=e.asm.MaxPoolGrad).apply(null,arguments)},e._MaxPoolWithArgmax=function(){return(e._MaxPoolWithArgmax=e.asm.MaxPoolWithArgmax).apply(null,arguments)},e._Maximum=function(){return(e._Maximum=e.asm.Maximum).apply(null,arguments)},e._Mean=function(){return(e._Mean=e.asm.Mean).apply(null,arguments)},e._Min=function(){return(e._Min=e.asm.Min).apply(null,arguments)},e._Minimum=function(){return(e._Minimum=e.asm.Minimum).apply(null,arguments)},e._MirrorPad=function(){return(e._MirrorPad=e.asm.MirrorPad).apply(null,arguments)},e._Mod=function(){return(e._Mod=e.asm.Mod).apply(null,arguments)},e._Multinomial=function(){return(e._Multinomial=e.asm.Multinomial).apply(null,arguments)},e._Multiply=function(){return(e._Multiply=e.asm.Multiply).apply(null,arguments)},e._Neg=function(){return(e._Neg=e.asm.Neg).apply(null,arguments)},e._NonMaxSuppressionV3=function(){return(e._NonMaxSuppressionV3=e.asm.NonMaxSuppressionV3).apply(null,arguments)},e._NonMaxSuppressionV4=function(){return(e._NonMaxSuppressionV4=e.asm.NonMaxSuppressionV4).apply(null,arguments)},e._NonMaxSuppressionV5=function(){return(e._NonMaxSuppressionV5=e.asm.NonMaxSuppressionV5).apply(null,arguments)},e._NotEqual=function(){return(e._NotEqual=e.asm.NotEqual).apply(null,arguments)},e._OneHot=function(){return(e._OneHot=e.asm.OneHot).apply(null,arguments)},e._PadV2=function(){return(e._PadV2=e.asm.PadV2).apply(null,arguments)},e._Pow=function(){return(e._Pow=e.asm.Pow).apply(null,arguments)},e._Prelu=function(){return(e._Prelu=e.asm.Prelu).apply(null,arguments)},e._Prod=function(){return(e._Prod=e.asm.Prod).apply(null,arguments)},e._RealDiv=function(){return(e._RealDiv=e.asm.RealDiv).apply(null,arguments)},e._Reciprocal=function(){return(e._Reciprocal=e.asm.Reciprocal).apply(null,arguments)},e._Relu=function(){return(e._Relu=e.asm.Relu).apply(null,arguments)},e._Relu6=function(){return(e._Relu6=e.asm.Relu6).apply(null,arguments)},e._ResizeBilinear=function(){return(e._ResizeBilinear=e.asm.ResizeBilinear).apply(null,arguments)},e._ResizeBilinearGrad=function(){return(e._ResizeBilinearGrad=e.asm.ResizeBilinearGrad).apply(null,arguments)},e._ResizeNearestNeighbor=function(){return(e._ResizeNearestNeighbor=e.asm.ResizeNearestNeighbor).apply(null,arguments)},e._ResizeNearestNeighborGrad=function(){return(e._ResizeNearestNeighborGrad=e.asm.ResizeNearestNeighborGrad).apply(null,arguments)},e._Reverse=function(){return(e._Reverse=e.asm.Reverse).apply(null,arguments)},e._RotateWithOffset=function(){return(e._RotateWithOffset=e.asm.RotateWithOffset).apply(null,arguments)},e._Round=function(){return(e._Round=e.asm.Round).apply(null,arguments)},e._Rsqrt=function(){return(e._Rsqrt=e.asm.Rsqrt).apply(null,arguments)},e._ScatterNd=function(){return(e._ScatterNd=e.asm.ScatterNd).apply(null,arguments)},e._SearchSorted=function(){return(e._SearchSorted=e.asm.SearchSorted).apply(null,arguments)},e._SelectV2=function(){return(e._SelectV2=e.asm.SelectV2).apply(null,arguments)},e._Selu=function(){return(e._Selu=e.asm.Selu).apply(null,arguments)},e._Sigmoid=function(){return(e._Sigmoid=e.asm.Sigmoid).apply(null,arguments)},e._Sign=function(){return(e._Sign=e.asm.Sign).apply(null,arguments)},e._Sin=function(){return(e._Sin=e.asm.Sin).apply(null,arguments)},e._Sinh=function(){return(e._Sinh=e.asm.Sinh).apply(null,arguments)},e._Softmax=function(){return(e._Softmax=e.asm.Softmax).apply(null,arguments)},e._Softplus=function(){return(e._Softplus=e.asm.Softplus).apply(null,arguments)},e._SparseFillEmptyRows=function(){return(e._SparseFillEmptyRows=e.asm.SparseFillEmptyRows).apply(null,arguments)},e._SparseReshape=function(){return(e._SparseReshape=e.asm.SparseReshape).apply(null,arguments)},e._SparseSegmentReduction=function(){return(e._SparseSegmentReduction=e.asm.SparseSegmentReduction).apply(null,arguments)},e._SparseToDense=function(){return(e._SparseToDense=e.asm.SparseToDense).apply(null,arguments)},e._Sqrt=function(){return(e._Sqrt=e.asm.Sqrt).apply(null,arguments)},e._Square=function(){return(e._Square=e.asm.Square).apply(null,arguments)},e._SquaredDifference=function(){return(e._SquaredDifference=e.asm.SquaredDifference).apply(null,arguments)},e._Step=function(){return(e._Step=e.asm.Step).apply(null,arguments)},e._StridedSlice=function(){return(e._StridedSlice=e.asm.StridedSlice).apply(null,arguments)},e._Sub=function(){return(e._Sub=e.asm.Sub).apply(null,arguments)},e._Sum=function(){return(e._Sum=e.asm.Sum).apply(null,arguments)},e._Tan=function(){return(e._Tan=e.asm.Tan).apply(null,arguments)},e._Tanh=function(){return(e._Tanh=e.asm.Tanh).apply(null,arguments)},e._TensorScatterUpdate=function(){return(e._TensorScatterUpdate=e.asm.TensorScatterUpdate).apply(null,arguments)},e._Tile=function(){return(e._Tile=e.asm.Tile).apply(null,arguments)},e._TopK=function(){return(e._TopK=e.asm.TopK).apply(null,arguments)},e._Transform=function(){return(e._Transform=e.asm.Transform).apply(null,arguments)},e._Transpose=function(){return(e._Transpose=e.asm.Transpose).apply(null,arguments)},e.__FusedMatMul=function(){return(e.__FusedMatMul=e.asm._FusedMatMul).apply(null,arguments)},e._malloc=function(){return(e._malloc=e.asm.malloc).apply(null,arguments)},e._free=function(){return(e._free=e.asm.free).apply(null,arguments)},e.__emscripten_tls_init=function(){return(e.__emscripten_tls_init=e.asm._emscripten_tls_init).apply(null,arguments)};var ht=e._pthread_self=function(){return(ht=e._pthread_self=e.asm.pthread_self).apply(null,arguments)};e.___errno_location=function(){return(e.___errno_location=e.asm.__errno_location).apply(null,arguments)};var za=e.__emscripten_thread_init=function(){return(za=e.__emscripten_thread_init=e.asm._emscripten_thread_init).apply(null,arguments)};e.__emscripten_thread_crashed=function(){return(e.__emscripten_thread_crashed=e.asm._emscripten_thread_crashed).apply(null,arguments)},e._emscripten_main_thread_process_queued_calls=function(){return(e._emscripten_main_thread_process_queued_calls=e.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},e._emscripten_main_browser_thread_id=function(){return(e._emscripten_main_browser_thread_id=e.asm.emscripten_main_browser_thread_id).apply(null,arguments)};var Ha=e._emscripten_run_in_main_runtime_thread_js=function(){return(Ha=e._emscripten_run_in_main_runtime_thread_js=e.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)};e._emscripten_dispatch_to_thread_=function(){return(e._emscripten_dispatch_to_thread_=e.asm.emscripten_dispatch_to_thread_).apply(null,arguments)};var $a=e.__emscripten_proxy_execute_task_queue=function(){return($a=e.__emscripten_proxy_execute_task_queue=e.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},Ht=e.__emscripten_thread_free_data=function(){return(Ht=e.__emscripten_thread_free_data=e.asm._emscripten_thread_free_data).apply(null,arguments)},La=e.__emscripten_thread_exit=function(){return(La=e.__emscripten_thread_exit=e.asm._emscripten_thread_exit).apply(null,arguments)},Va=e._emscripten_stack_set_limits=function(){return(Va=e._emscripten_stack_set_limits=e.asm.emscripten_stack_set_limits).apply(null,arguments)},$t=e.stackSave=function(){return($t=e.stackSave=e.asm.stackSave).apply(null,arguments)},gt=e.stackRestore=function(){return(gt=e.stackRestore=e.asm.stackRestore).apply(null,arguments)},bt=e.stackAlloc=function(){return(bt=e.stackAlloc=e.asm.stackAlloc).apply(null,arguments)};e.dynCall_iijjiiii=function(){return(e.dynCall_iijjiiii=e.asm.dynCall_iijjiiii).apply(null,arguments)},e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.dynCall_jiji).apply(null,arguments)},e.keepRuntimeAlive=Oe,e.wasmMemory=U,e.cwrap=Gc,e.ExitStatus=_e,e.PThread=x;var _t;Ne=function p(){_t||Ga(),_t||(Ne=p)};function Ga(p){if(be>0)return;if(I){m(e),rt(),startWorker(e);return}if(Ce(),be>0)return;function _(){_t||(_t=!0,e.calledRun=!0,!oe&&(rt(),m(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),st()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),_()},1)):_()}if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();Ga();var yt;f&&(yt={uncaughtException:process.listeners("uncaughtException").filter(function(p){return!f.uncaughtException.indexOf(p)>-1}),unhandledRejection:process.listeners("unhandledRejection").filter(function(p){return!f.unhandledRejection.indexOf(p)>-1})});var It;if(typeof WasmBackendModule<"u")It=WasmBackendModule;else if(typeof n<"u")It=n;else throw new Error("Could not find wasm module in post.js");if(yt){var qc=It._dispose;It._dispose=function(){qc(),yt.uncaughtException.forEach(function(p){process.removeListener("uncaughtException",p)}),yt.unhandledRejection.forEach(function(p){process.removeListener("unhandledRejection",p)})}}return n.ready})})();r.exports=s})(At)),At.exports}var Sa=uc();const Ma=wa(Sa),ic=Ka({__proto__:null,default:Ma},[Sa]);var xt={},va;function oc(){return va||(va=1,xt.wasmWorkerContents=`"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"
7
- ");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"})};self.onmessage=e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:"callHandler",handler:handler,args:[...arguments]})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module)}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}};`),xt}var dc=oc(),Dt={exports:{}},Aa;function cc(){return Aa||(Aa=1,(function(r,a){var s=(()=>{var o=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(o=o||__filename),(function(n){n=n||{};var t=typeof n<"u"?n:{},d,c;t.ready=new Promise(function(S,M){d=S,c=M});var l;typeof process<"u"&&process.listeners&&(l={uncaughtException:process.listeners("uncaughtException"),unhandledRejection:process.listeners("unhandledRejection")});var i=Object.assign({},t),e=typeof window=="object",m=typeof importScripts=="function",g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",f="";function h(S){return t.locateFile?t.locateFile(S,f):f+S}var b,k,w;if(g){var y=xe,I=xe;m?f=I.dirname(f)+"/":f=__dirname+"/",b=(S,M)=>(S=Fe(S)?new URL(S):I.normalize(S),y.readFileSync(S,M?void 0:"utf8")),w=S=>{var M=b(S,!0);return M.buffer||(M=new Uint8Array(M)),M},k=(S,M,N)=>{S=Fe(S)?new URL(S):I.normalize(S),y.readFile(S,function(x,K){x?N(x):M(K.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(S){if(!(S instanceof Oe))throw S}),process.on("unhandledRejection",function(S){throw S}),t.inspect=function(){return"[Emscripten Module object]"}}else(e||m)&&(m?f=self.location.href:typeof document<"u"&&document.currentScript&&(f=document.currentScript.src),o&&(f=o),f.indexOf("blob:")!==0?f=f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):f="",b=S=>{var M=new XMLHttpRequest;return M.open("GET",S,!1),M.send(null),M.responseText},m&&(w=S=>{var M=new XMLHttpRequest;return M.open("GET",S,!1),M.responseType="arraybuffer",M.send(null),new Uint8Array(M.response)}),k=(S,M,N)=>{var x=new XMLHttpRequest;x.open("GET",S,!0),x.responseType="arraybuffer",x.onload=()=>{if(x.status==200||x.status==0&&x.response){M(x.response);return}N()},x.onerror=N,x.send(null)});var A=t.print||console.log.bind(console),E=t.printErr||console.warn.bind(console);Object.assign(t,i),i=null,t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.quit&&t.quit;var P;t.wasmBinary&&(P=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&De("no native wasm support detected");var W,L=!1,G=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function H(S,M,N){M>>>=0;for(var x=M+N,K=M;S[K]&&!(K>=x);)++K;if(K-M>16&&S.buffer&&G)return G.decode(S.subarray(M,K));for(var Q="";M<K;){var z=S[M++];if(!(z&128)){Q+=String.fromCharCode(z);continue}var B=S[M++]&63;if((z&224)==192){Q+=String.fromCharCode((z&31)<<6|B);continue}var ee=S[M++]&63;if((z&240)==224?z=(z&15)<<12|B<<6|ee:z=(z&7)<<18|B<<12|ee<<6|S[M++]&63,z<65536)Q+=String.fromCharCode(z);else{var pe=z-65536;Q+=String.fromCharCode(55296|pe>>10,56320|pe&1023)}}return Q}function q(S,M){return S>>>=0,S?H(te,S,M):""}function C(S,M,N,x){if(N>>>=0,!(x>0))return 0;for(var K=N,Q=N+x-1,z=0;z<S.length;++z){var B=S.charCodeAt(z);if(B>=55296&&B<=57343){var ee=S.charCodeAt(++z);B=65536+((B&1023)<<10)|ee&1023}if(B<=127){if(N>=Q)break;M[N++>>>0]=B}else if(B<=2047){if(N+1>=Q)break;M[N++>>>0]=192|B>>6,M[N++>>>0]=128|B&63}else if(B<=65535){if(N+2>=Q)break;M[N++>>>0]=224|B>>12,M[N++>>>0]=128|B>>6&63,M[N++>>>0]=128|B&63}else{if(N+3>=Q)break;M[N++>>>0]=240|B>>18,M[N++>>>0]=128|B>>12&63,M[N++>>>0]=128|B>>6&63,M[N++>>>0]=128|B&63}}return M[N>>>0]=0,N-K}function Y(S,M,N){return C(S,te,M,N)}var ie,X,te,le;function U(S){ie=S,t.HEAP8=X=new Int8Array(S),t.HEAP16=new Int16Array(S),t.HEAP32=new Int32Array(S),t.HEAPU8=te=new Uint8Array(S),t.HEAPU16=new Uint16Array(S),t.HEAPU32=le=new Uint32Array(S),t.HEAPF32=new Float32Array(S),t.HEAPF64=new Float64Array(S)}t.INITIAL_MEMORY;var fe=[],oe=[],de=[];function ge(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)Be(t.preRun.shift());Ce(fe)}function ne(){Ce(oe)}function Te(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)qe(t.postRun.shift());Ce(de)}function Be(S){fe.unshift(S)}function Ue(S){oe.unshift(S)}function qe(S){de.unshift(S)}var Z=0,Me=null;function je(S){Z++,t.monitorRunDependencies&&t.monitorRunDependencies(Z)}function et(S){if(Z--,t.monitorRunDependencies&&t.monitorRunDependencies(Z),Z==0&&Me){var M=Me;Me=null,M()}}function De(S){t.onAbort&&t.onAbort(S),S="Aborted("+S+")",E(S),L=!0,S+=". Build with -sASSERTIONS for more info.";var M=new WebAssembly.RuntimeError(S);throw c(M),M}var tt="data:application/octet-stream;base64,";function he(S){return S.startsWith(tt)}function Fe(S){return S.startsWith("file://")}var ae;ae="tfjs-backend-wasm.wasm",he(ae)||(ae=h(ae));function Ke(S){try{if(S==ae&&P)return new Uint8Array(P);if(w)return w(S);throw"both async and sync fetching of the wasm failed"}catch(M){De(M)}}function nt(){if(!P&&(e||m)){if(typeof fetch=="function"&&!Fe(ae))return fetch(ae,{credentials:"same-origin"}).then(function(S){if(!S.ok)throw"failed to load wasm binary file at '"+ae+"'";return S.arrayBuffer()}).catch(function(){return Ke(ae)});if(k)return new Promise(function(S,M){k(ae,function(N){S(new Uint8Array(N))},M)})}return Promise.resolve().then(function(){return Ke(ae)})}function at(){var S={env:it,wasi_snapshot_preview1:it};function M(z,B){var ee=z.exports;t.asm=ee,W=t.asm.memory,U(W.buffer),t.asm.__indirect_function_table,Ue(t.asm.__wasm_call_ctors),et()}je();function N(z){M(z.instance)}function x(z){return nt().then(function(B){return WebAssembly.instantiate(B,S)}).then(function(B){return B}).then(z,function(B){E("failed to asynchronously prepare wasm: "+B),De(B)})}function K(){return!P&&typeof WebAssembly.instantiateStreaming=="function"&&!he(ae)&&!Fe(ae)&&!g&&typeof fetch=="function"?fetch(ae,{credentials:"same-origin"}).then(function(z){var B=WebAssembly.instantiateStreaming(z,S);return B.then(N,function(ee){return E("wasm streaming compile failed: "+ee),E("falling back to ArrayBuffer instantiation"),x(N)})}):x(N)}if(t.instantiateWasm)try{var Q=t.instantiateWasm(S,M);return Q}catch(z){E("Module.instantiateWasm callback failed with error: "+z),c(z)}return K().catch(c),{}}function Oe(S){this.name="ExitStatus",this.message="Program terminated with exit("+S+")",this.status=S}function Ce(S){for(;S.length>0;)S.shift()(t)}function rt(){De("")}function st(){return 4294901760}function Nt(){return st()}function Rt(S,M,N){te.copyWithin(S>>>0,M>>>0,M+N>>>0)}function Pt(S){try{return W.grow(S-ie.byteLength+65535>>>16),U(W.buffer),1}catch{}}function be(S){var M=te.length;S=S>>>0;var N=st();if(S>N)return!1;let x=(ee,pe)=>ee+(pe-ee%pe)%pe;for(var K=1;K<=4;K*=2){var Q=M*(1+.2/K);Q=Math.min(Q,S+100663296);var z=Math.min(N,x(Math.max(S,Q),65536)),B=Pt(z);if(B)return!0}return!1}function Ne(S){return 52}function Et(S,M,N,x,K){return 70}var Tt=[null,[],[]];function Re(S,M){var N=Tt[S];M===0||M===10?((S===1?A:E)(H(N,0)),N.length=0):N.push(M)}function Bt(S,M,N,x){for(var K=0,Q=0;Q<N;Q++){var z=le[M>>>2],B=le[M+4>>>2];M+=8;for(var ee=0;ee<B;ee++)Re(S,te[z+ee>>>0]);K+=B}return le[x>>>2]=K,0}function Xe(S){var M=t["_"+S];return M}function We(S,M){X.set(S,M>>>0)}function se(S,M,N,x,K){var Q={string:re=>{var ve=0;if(re!=null&&re!==0){var ft=(re.length<<2)+1;ve=_e(ft),Y(re,ve,ft)}return ve},array:re=>{var ve=_e(re.length);return We(re,ve),ve}};function z(re){return M==="string"?q(re):M==="boolean"?!!re:re}var B=Xe(S),ee=[],pe=0;if(x)for(var ye=0;ye<x.length;ye++){var pt=Q[N[ye]];pt?(pe===0&&(pe=ot()),ee[ye]=pt(x[ye])):ee[ye]=x[ye]}var Qe=B.apply(null,ee);function mt(re){return pe!==0&&dt(pe),z(re)}return Qe=mt(Qe),Qe}function ut(S,M,N,x){N=N||[];var K=N.every(z=>z==="number"||z==="boolean"),Q=M!=="string";return Q&&K&&!x?Xe(S):function(){return se(S,M,N,arguments)}}var it={abort:rt,emscripten_get_heap_max:Nt,emscripten_memcpy_big:Rt,emscripten_resize_heap:be,fd_close:Ne,fd_seek:Et,fd_write:Bt};at(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.__wasm_call_ctors).apply(null,arguments)},t._init=function(){return(t._init=t.asm.init).apply(null,arguments)},t._init_with_threads_count=function(){return(t._init_with_threads_count=t.asm.init_with_threads_count).apply(null,arguments)},t._get_threads_count=function(){return(t._get_threads_count=t.asm.get_threads_count).apply(null,arguments)},t._register_tensor=function(){return(t._register_tensor=t.asm.register_tensor).apply(null,arguments)},t._dispose_data=function(){return(t._dispose_data=t.asm.dispose_data).apply(null,arguments)},t._dispose=function(){return(t._dispose=t.asm.dispose).apply(null,arguments)},t._Abs=function(){return(t._Abs=t.asm.Abs).apply(null,arguments)},t._Acos=function(){return(t._Acos=t.asm.Acos).apply(null,arguments)},t._Acosh=function(){return(t._Acosh=t.asm.Acosh).apply(null,arguments)},t._Add=function(){return(t._Add=t.asm.Add).apply(null,arguments)},t._AddN=function(){return(t._AddN=t.asm.AddN).apply(null,arguments)},t._All=function(){return(t._All=t.asm.All).apply(null,arguments)},t._Any=function(){return(t._Any=t.asm.Any).apply(null,arguments)},t._ArgMax=function(){return(t._ArgMax=t.asm.ArgMax).apply(null,arguments)},t._ArgMin=function(){return(t._ArgMin=t.asm.ArgMin).apply(null,arguments)},t._Asin=function(){return(t._Asin=t.asm.Asin).apply(null,arguments)},t._Asinh=function(){return(t._Asinh=t.asm.Asinh).apply(null,arguments)},t._Atan=function(){return(t._Atan=t.asm.Atan).apply(null,arguments)},t._Atan2=function(){return(t._Atan2=t.asm.Atan2).apply(null,arguments)},t._Atanh=function(){return(t._Atanh=t.asm.Atanh).apply(null,arguments)},t._AvgPool=function(){return(t._AvgPool=t.asm.AvgPool).apply(null,arguments)},t._AvgPool3D=function(){return(t._AvgPool3D=t.asm.AvgPool3D).apply(null,arguments)},t._AvgPool3DGrad=function(){return(t._AvgPool3DGrad=t.asm.AvgPool3DGrad).apply(null,arguments)},t._AvgPoolGrad=function(){return(t._AvgPoolGrad=t.asm.AvgPoolGrad).apply(null,arguments)},t._BatchMatMul=function(){return(t._BatchMatMul=t.asm.BatchMatMul).apply(null,arguments)},t._Bincount=function(){return(t._Bincount=t.asm.Bincount).apply(null,arguments)},t._BitwiseAnd=function(){return(t._BitwiseAnd=t.asm.BitwiseAnd).apply(null,arguments)},t._Ceil=function(){return(t._Ceil=t.asm.Ceil).apply(null,arguments)},t._ClipByValue=function(){return(t._ClipByValue=t.asm.ClipByValue).apply(null,arguments)},t._Conv2D=function(){return(t._Conv2D=t.asm.Conv2D).apply(null,arguments)},t._Conv2DBackpropInput=function(){return(t._Conv2DBackpropInput=t.asm.Conv2DBackpropInput).apply(null,arguments)},t._Conv3D=function(){return(t._Conv3D=t.asm.Conv3D).apply(null,arguments)},t._Conv3DBackpropFilterV2=function(){return(t._Conv3DBackpropFilterV2=t.asm.Conv3DBackpropFilterV2).apply(null,arguments)},t._Conv3DBackpropInputV2=function(){return(t._Conv3DBackpropInputV2=t.asm.Conv3DBackpropInputV2).apply(null,arguments)},t._Cos=function(){return(t._Cos=t.asm.Cos).apply(null,arguments)},t._Cosh=function(){return(t._Cosh=t.asm.Cosh).apply(null,arguments)},t._CropAndResize=function(){return(t._CropAndResize=t.asm.CropAndResize).apply(null,arguments)},t._Cumprod=function(){return(t._Cumprod=t.asm.Cumprod).apply(null,arguments)},t._Cumsum=function(){return(t._Cumsum=t.asm.Cumsum).apply(null,arguments)},t._DenseBincount=function(){return(t._DenseBincount=t.asm.DenseBincount).apply(null,arguments)},t._DepthToSpace=function(){return(t._DepthToSpace=t.asm.DepthToSpace).apply(null,arguments)},t._DepthwiseConv2dNative=function(){return(t._DepthwiseConv2dNative=t.asm.DepthwiseConv2dNative).apply(null,arguments)},t._Diag=function(){return(t._Diag=t.asm.Diag).apply(null,arguments)},t._Dilation2D=function(){return(t._Dilation2D=t.asm.Dilation2D).apply(null,arguments)},t._Dilation2DBackpropFilter=function(){return(t._Dilation2DBackpropFilter=t.asm.Dilation2DBackpropFilter).apply(null,arguments)},t._Dilation2DBackpropInput=function(){return(t._Dilation2DBackpropInput=t.asm.Dilation2DBackpropInput).apply(null,arguments)},t._Elu=function(){return(t._Elu=t.asm.Elu).apply(null,arguments)},t._EluGrad=function(){return(t._EluGrad=t.asm.EluGrad).apply(null,arguments)},t._Equal=function(){return(t._Equal=t.asm.Equal).apply(null,arguments)},t._Erf=function(){return(t._Erf=t.asm.Erf).apply(null,arguments)},t._Exp=function(){return(t._Exp=t.asm.Exp).apply(null,arguments)},t._Expm1=function(){return(t._Expm1=t.asm.Expm1).apply(null,arguments)},t._FlipLeftRight=function(){return(t._FlipLeftRight=t.asm.FlipLeftRight).apply(null,arguments)},t._Floor=function(){return(t._Floor=t.asm.Floor).apply(null,arguments)},t._FloorDiv=function(){return(t._FloorDiv=t.asm.FloorDiv).apply(null,arguments)},t._FusedBatchNorm=function(){return(t._FusedBatchNorm=t.asm.FusedBatchNorm).apply(null,arguments)},t._FusedConv2D=function(){return(t._FusedConv2D=t.asm.FusedConv2D).apply(null,arguments)},t._FusedDepthwiseConv2D=function(){return(t._FusedDepthwiseConv2D=t.asm.FusedDepthwiseConv2D).apply(null,arguments)},t._Gather=function(){return(t._Gather=t.asm.Gather).apply(null,arguments)},t._GatherNd=function(){return(t._GatherNd=t.asm.GatherNd).apply(null,arguments)},t._Greater=function(){return(t._Greater=t.asm.Greater).apply(null,arguments)},t._GreaterEqual=function(){return(t._GreaterEqual=t.asm.GreaterEqual).apply(null,arguments)},t._IsFinite=function(){return(t._IsFinite=t.asm.IsFinite).apply(null,arguments)},t._IsInf=function(){return(t._IsInf=t.asm.IsInf).apply(null,arguments)},t._IsNan=function(){return(t._IsNan=t.asm.IsNan).apply(null,arguments)},t._LRN=function(){return(t._LRN=t.asm.LRN).apply(null,arguments)},t._LRNGrad=function(){return(t._LRNGrad=t.asm.LRNGrad).apply(null,arguments)},t._LeakyRelu=function(){return(t._LeakyRelu=t.asm.LeakyRelu).apply(null,arguments)},t._Less=function(){return(t._Less=t.asm.Less).apply(null,arguments)},t._LessEqual=function(){return(t._LessEqual=t.asm.LessEqual).apply(null,arguments)},t._LinSpace=function(){return(t._LinSpace=t.asm.LinSpace).apply(null,arguments)},t._Log=function(){return(t._Log=t.asm.Log).apply(null,arguments)},t._Log1p=function(){return(t._Log1p=t.asm.Log1p).apply(null,arguments)},t._LogicalAnd=function(){return(t._LogicalAnd=t.asm.LogicalAnd).apply(null,arguments)},t._LogicalNot=function(){return(t._LogicalNot=t.asm.LogicalNot).apply(null,arguments)},t._LogicalOr=function(){return(t._LogicalOr=t.asm.LogicalOr).apply(null,arguments)},t._LogicalXor=function(){return(t._LogicalXor=t.asm.LogicalXor).apply(null,arguments)},t._Max=function(){return(t._Max=t.asm.Max).apply(null,arguments)},t._MaxPool=function(){return(t._MaxPool=t.asm.MaxPool).apply(null,arguments)},t._MaxPool3D=function(){return(t._MaxPool3D=t.asm.MaxPool3D).apply(null,arguments)},t._MaxPool3DGrad=function(){return(t._MaxPool3DGrad=t.asm.MaxPool3DGrad).apply(null,arguments)},t._MaxPoolGrad=function(){return(t._MaxPoolGrad=t.asm.MaxPoolGrad).apply(null,arguments)},t._MaxPoolWithArgmax=function(){return(t._MaxPoolWithArgmax=t.asm.MaxPoolWithArgmax).apply(null,arguments)},t._Maximum=function(){return(t._Maximum=t.asm.Maximum).apply(null,arguments)},t._Mean=function(){return(t._Mean=t.asm.Mean).apply(null,arguments)},t._Min=function(){return(t._Min=t.asm.Min).apply(null,arguments)},t._Minimum=function(){return(t._Minimum=t.asm.Minimum).apply(null,arguments)},t._MirrorPad=function(){return(t._MirrorPad=t.asm.MirrorPad).apply(null,arguments)},t._Mod=function(){return(t._Mod=t.asm.Mod).apply(null,arguments)},t._Multinomial=function(){return(t._Multinomial=t.asm.Multinomial).apply(null,arguments)},t._Multiply=function(){return(t._Multiply=t.asm.Multiply).apply(null,arguments)},t._Neg=function(){return(t._Neg=t.asm.Neg).apply(null,arguments)},t._NonMaxSuppressionV3=function(){return(t._NonMaxSuppressionV3=t.asm.NonMaxSuppressionV3).apply(null,arguments)},t._NonMaxSuppressionV4=function(){return(t._NonMaxSuppressionV4=t.asm.NonMaxSuppressionV4).apply(null,arguments)},t._NonMaxSuppressionV5=function(){return(t._NonMaxSuppressionV5=t.asm.NonMaxSuppressionV5).apply(null,arguments)},t._NotEqual=function(){return(t._NotEqual=t.asm.NotEqual).apply(null,arguments)},t._OneHot=function(){return(t._OneHot=t.asm.OneHot).apply(null,arguments)},t._PadV2=function(){return(t._PadV2=t.asm.PadV2).apply(null,arguments)},t._Pow=function(){return(t._Pow=t.asm.Pow).apply(null,arguments)},t._Prelu=function(){return(t._Prelu=t.asm.Prelu).apply(null,arguments)},t._Prod=function(){return(t._Prod=t.asm.Prod).apply(null,arguments)},t._RealDiv=function(){return(t._RealDiv=t.asm.RealDiv).apply(null,arguments)},t._Reciprocal=function(){return(t._Reciprocal=t.asm.Reciprocal).apply(null,arguments)},t._Relu=function(){return(t._Relu=t.asm.Relu).apply(null,arguments)},t._Relu6=function(){return(t._Relu6=t.asm.Relu6).apply(null,arguments)},t._ResizeBilinear=function(){return(t._ResizeBilinear=t.asm.ResizeBilinear).apply(null,arguments)},t._ResizeBilinearGrad=function(){return(t._ResizeBilinearGrad=t.asm.ResizeBilinearGrad).apply(null,arguments)},t._ResizeNearestNeighbor=function(){return(t._ResizeNearestNeighbor=t.asm.ResizeNearestNeighbor).apply(null,arguments)},t._ResizeNearestNeighborGrad=function(){return(t._ResizeNearestNeighborGrad=t.asm.ResizeNearestNeighborGrad).apply(null,arguments)},t._Reverse=function(){return(t._Reverse=t.asm.Reverse).apply(null,arguments)},t._RotateWithOffset=function(){return(t._RotateWithOffset=t.asm.RotateWithOffset).apply(null,arguments)},t._Round=function(){return(t._Round=t.asm.Round).apply(null,arguments)},t._Rsqrt=function(){return(t._Rsqrt=t.asm.Rsqrt).apply(null,arguments)},t._ScatterNd=function(){return(t._ScatterNd=t.asm.ScatterNd).apply(null,arguments)},t._SearchSorted=function(){return(t._SearchSorted=t.asm.SearchSorted).apply(null,arguments)},t._SelectV2=function(){return(t._SelectV2=t.asm.SelectV2).apply(null,arguments)},t._Selu=function(){return(t._Selu=t.asm.Selu).apply(null,arguments)},t._Sigmoid=function(){return(t._Sigmoid=t.asm.Sigmoid).apply(null,arguments)},t._Sign=function(){return(t._Sign=t.asm.Sign).apply(null,arguments)},t._Sin=function(){return(t._Sin=t.asm.Sin).apply(null,arguments)},t._Sinh=function(){return(t._Sinh=t.asm.Sinh).apply(null,arguments)},t._Softmax=function(){return(t._Softmax=t.asm.Softmax).apply(null,arguments)},t._Softplus=function(){return(t._Softplus=t.asm.Softplus).apply(null,arguments)},t._SparseFillEmptyRows=function(){return(t._SparseFillEmptyRows=t.asm.SparseFillEmptyRows).apply(null,arguments)},t._SparseReshape=function(){return(t._SparseReshape=t.asm.SparseReshape).apply(null,arguments)},t._SparseSegmentReduction=function(){return(t._SparseSegmentReduction=t.asm.SparseSegmentReduction).apply(null,arguments)},t._SparseToDense=function(){return(t._SparseToDense=t.asm.SparseToDense).apply(null,arguments)},t._Sqrt=function(){return(t._Sqrt=t.asm.Sqrt).apply(null,arguments)},t._Square=function(){return(t._Square=t.asm.Square).apply(null,arguments)},t._SquaredDifference=function(){return(t._SquaredDifference=t.asm.SquaredDifference).apply(null,arguments)},t._Step=function(){return(t._Step=t.asm.Step).apply(null,arguments)},t._StridedSlice=function(){return(t._StridedSlice=t.asm.StridedSlice).apply(null,arguments)},t._Sub=function(){return(t._Sub=t.asm.Sub).apply(null,arguments)},t._Sum=function(){return(t._Sum=t.asm.Sum).apply(null,arguments)},t._Tan=function(){return(t._Tan=t.asm.Tan).apply(null,arguments)},t._Tanh=function(){return(t._Tanh=t.asm.Tanh).apply(null,arguments)},t._TensorScatterUpdate=function(){return(t._TensorScatterUpdate=t.asm.TensorScatterUpdate).apply(null,arguments)},t._Tile=function(){return(t._Tile=t.asm.Tile).apply(null,arguments)},t._TopK=function(){return(t._TopK=t.asm.TopK).apply(null,arguments)},t._Transform=function(){return(t._Transform=t.asm.Transform).apply(null,arguments)},t._Transpose=function(){return(t._Transpose=t.asm.Transpose).apply(null,arguments)},t.__FusedMatMul=function(){return(t.__FusedMatMul=t.asm._FusedMatMul).apply(null,arguments)},t._malloc=function(){return(t._malloc=t.asm.malloc).apply(null,arguments)},t._free=function(){return(t._free=t.asm.free).apply(null,arguments)},t.___errno_location=function(){return(t.___errno_location=t.asm.__errno_location).apply(null,arguments)};var ot=t.stackSave=function(){return(ot=t.stackSave=t.asm.stackSave).apply(null,arguments)},dt=t.stackRestore=function(){return(dt=t.stackRestore=t.asm.stackRestore).apply(null,arguments)},_e=t.stackAlloc=function(){return(_e=t.stackAlloc=t.asm.stackAlloc).apply(null,arguments)};t.dynCall_iijjiiii=function(){return(t.dynCall_iijjiiii=t.asm.dynCall_iijjiiii).apply(null,arguments)},t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.dynCall_jiji).apply(null,arguments)},t.cwrap=ut;var ze;Me=function S(){ze||ct(),ze||(Me=S)};function ct(S){if(Z>0||(ge(),Z>0))return;function M(){ze||(ze=!0,t.calledRun=!0,!L&&(ne(),d(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),Te()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),M()},1)):M()}if(t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();ct();var Pe;l&&(Pe={uncaughtException:process.listeners("uncaughtException").filter(function(S){return!l.uncaughtException.indexOf(S)>-1}),unhandledRejection:process.listeners("unhandledRejection").filter(function(S){return!l.unhandledRejection.indexOf(S)>-1})});var Ee;if(typeof n<"u")Ee=n;else if(typeof WasmBackendModuleThreadedSimd<"u")Ee=WasmBackendModuleThreadedSimd;else throw new Error("Could not find wasm module in post.js");if(Pe){var lt=Ee._dispose;Ee._dispose=function(){lt(),Pe.uncaughtException.forEach(function(S){process.removeListener("uncaughtException",S)}),Pe.unhandledRejection.forEach(function(S){process.removeListener("unhandledRejection",S)})}}return n.ready})})();r.exports=s})(Dt)),Dt.exports}var lc=cc();const xa=wa(lc),pc=Object.freeze(Object.defineProperty({__proto__:null,default:xa},Symbol.toStringTag,{value:"Module"}));const Da=Ma||ic,mc=xa||pc;class fc extends u.KernelBackend{constructor(a){super(),this.wasm=a,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(Ra),Ft=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new u.DataStorage(this,u.engine())}write(a,s,o){const n={id:this.dataIdNextNumber++};return this.move(n,a,s,o,1),n}numDataIds(){return this.dataIdMap.numDataIds()}async time(a){const s=u.util.now();return a(),{kernelMs:u.util.now()-s}}move(a,s,o,n,t){const d=this.dataIdNextNumber++;if(n==="string"){const e=s;this.dataIdMap.set(a,{id:d,stringBytes:e,shape:o,dtype:n,memoryOffset:null,refCount:t});return}const c=u.util.sizeFromShape(o),l=c*u.util.bytesPerElement(n),i=this.wasm._malloc(l)>>>0;this.dataIdMap.set(a,{id:d,memoryOffset:i,shape:o,dtype:n,refCount:t}),this.wasm.tfjs.registerTensor(d,c,i),s!=null&&this.wasm.HEAPU8.set(new Uint8Array(s.buffer,s.byteOffset,l),i)}async read(a){return this.readSync(a)}readSync(a,s,o){const{memoryOffset:n,dtype:t,shape:d,stringBytes:c}=this.dataIdMap.get(a);if(t==="string")return(s==null||s===0)&&(o==null||o>=c.length)?c:c.slice(s,o);s=s||0,o=o||u.util.sizeFromShape(d);const l=u.util.bytesPerElement(t),i=this.wasm.HEAPU8.slice(n+s*l,n+o*l);return bc(i.buffer,t)}disposeData(a,s=!1){if(this.dataIdMap.has(a)){const o=this.dataIdMap.get(a);if(o.refCount--,!s&&o.refCount>0)return!1;this.wasm._free(o.memoryOffset),this.wasm.tfjs.disposeData(o.id),this.dataIdMap.delete(a)}return!0}refCount(a){return this.dataIdMap.has(a)?this.dataIdMap.get(a).refCount:0}incRef(a){const s=this.dataIdMap.get(a);s!=null&&s.refCount++}floatPrecision(){return 32}getMemoryOffset(a){return this.dataIdMap.get(a).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(a,s,o,n){let t;if(o==null)t=this.write(n??null,a,s);else{const d=this.dataIdNextNumber++;t={id:d},this.dataIdMap.set(t,{id:d,memoryOffset:o,shape:a,dtype:s,refCount:1});const c=u.util.sizeFromShape(a);this.wasm.tfjs.registerTensor(d,c,o)}return{dataId:t,shape:a,dtype:s}}typedArrayFromHeap({shape:a,dtype:s,dataId:o}){const n=this.wasm.HEAPU8.buffer,{memoryOffset:t}=this.dataIdMap.get(o),d=u.util.sizeFromShape(a);switch(s){case"float32":return new Float32Array(n,t,d);case"int32":return new Int32Array(n,t,d);case"bool":return new Uint8Array(n,t,d);default:throw new Error(`Unknown dtype ${s}`)}}}function hc(r){return(a,s)=>(u.util.fetch(r,{credentials:"same-origin"}).then(o=>{o.ok||a.env.a(`failed to load wasm binary file at '${r}'`),o.arrayBuffer().then(n=>{WebAssembly.instantiate(n,a).then(t=>{s(t.instance,t.module)})})}),{})}function Fa(r,a,s){let o="tfjs-backend-wasm.wasm";return r&&a?o="tfjs-backend-wasm-threaded-simd.wasm":r&&(o="tfjs-backend-wasm-simd.wasm"),Ge!=null&&Ge[o]!=null?Ge[o]:s+o}async function gc(){const[r,a]=await Promise.all([u.env().getAsync("WASM_HAS_SIMD_SUPPORT"),u.env().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((s,o)=>{const n={};n.locateFile=(c,l)=>{if(c.endsWith(".worker.js")){const i=dc.wasmWorkerContents.replace(/\n/g,"\\n"),e=new Blob([i],{type:"application/javascript"});return URL.createObjectURL(e)}return c.endsWith(".wasm")?Fa(r,a,Ve??l):l+c},Na&&(n.instantiateWasm=hc(Fa(r,a,Ve??"")));let t=!1;n.onAbort=()=>{if(t||Ze)return;Ze=!0,o({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"})};let d;a&&r&&yc==null?(n.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+Da.toString()],{type:"text/javascript"}),d=Da(n)):d=mc(n),d.then(c=>{t=!0,Ze=!1;const l=null;c.tfjs={init:c.cwrap("init",null,[]),initWithThreadsCount:c.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:c.cwrap("get_threads_count","number",[]),registerTensor:c.cwrap("register_tensor",null,["number","number","number"]),disposeData:c.cwrap("dispose_data",l,["number"]),dispose:c.cwrap("dispose",l,[])},s({wasm:c})}).catch(o)})}function bc(r,a){switch(a){case"float32":return new Float32Array(r);case"int32":return new Int32Array(r);case"bool":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${a}`)}}const _c=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"];let yc=null,Ve=null,Ge={},Ze=!1,Na=!1;function Ic(r,a=!1){if(Ze)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof r=="string")Ve=r;else{Ge=r;const s=_c.filter(o=>Ge[o]==null);if(s.length>0)throw new Error(`There were no entries found for the following binaries: ${s.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}Na=a}let Ra=-1,Ft=-1;function wc(r){Ra=r}function kc(){if(Ft===-1)throw new Error("WASM backend not initialized.");return Ft}const Sc="4.22.0";u.registerBackend("wasm",async()=>{const{wasm:r}=await gc();return new fc(r)},2);const Mc=globalThis;Mc.tmBackendWasm=Object.freeze({version:Sc,setWasmPaths:Ic,setThreadsCount:wc,getThreadsCount:kc})})(tf);
1
+ /*! @license Includes TensorFlow.js WASM backend 4.22.0 (Apache-2.0). See https://github.com/kubohiroya/turbowarp-teachable-machine/blob/v3.3.0/THIRD_PARTY_NOTICES.md. */
2
+ (function(i){var ki=Object.create,wr=Object.defineProperty,Si=Object.getOwnPropertyDescriptor,Mi=Object.getOwnPropertyNames,Ai=Object.getPrototypeOf,Fr=Object.prototype.hasOwnProperty,dn=(t,a)=>()=>(a||(t((a={exports:{}}).exports,a),t=null),a.exports),xi=(t,a,u,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(var r=Mi(a),n=0,o=r.length,p;n<o;n++)p=r[n],!Fr.call(t,p)&&p!==u&&wr(t,p,{get:(l=>a[l]).bind(null,p),enumerable:!(d=Si(a,p))||d.enumerable});return t},Nr=(t,a,u)=>(u=t!=null?ki(Ai(t)):{},xi(a||!t||!t.__esModule||!Fr.call(t,"default")?wr(u,"default",{value:t,enumerable:!0}):u,t)),G;(function(t){t[t.float32=0]="float32",t[t.int32=1]="int32",t[t.bool=2]="bool",t[t.string=3]="string",t[t.complex64=4]="complex64"})(G||(G={}));var qe;(function(t){t[t.linear=0]="linear",t[t.relu=1]="relu",t[t.relu6=2]="relu6",t[t.prelu=3]="prelu",t[t.leakyrelu=4]="leakyrelu",t[t.sigmoid=5]="sigmoid",t[t.elu=6]="elu"})(qe||(qe={}));var Cr;function Di(t){Cr=t.wasm.cwrap(i._FusedMatMul,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function wi(t){const{inputs:a,backend:u,attrs:d}=t,{a:r,b:n,bias:o,preluActivationWeights:p}=a;if(r.dtype!=="float32"||n.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");const{transposeA:l,transposeB:s,activation:e,leakyreluAlpha:m}=d,f=u.dataIdMap.get(r.dataId).id,g=u.dataIdMap.get(n.dataId).id;let h=0;if(o!=null){const B=u.dataIdMap.get(o.dataId);if(B.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${B.shape.length}.`);h=B.id}const b=p==null?0:u.dataIdMap.get(p.dataId).id,y=qe[e];if(y==null)throw new Error(`${e} activation not yet supported for FusedConv2D in the wasm backend.`);const k=l?r.shape[2]:r.shape[1],I=s?n.shape[1]:n.shape[2],M=i.broadcast_util.assertAndGetBroadcastShape(r.shape.slice(0,-2),n.shape.slice(0,-2)),D=u.makeOutput([...M,k,I],r.dtype),F=u.dataIdMap.get(D.dataId).id,E=new Uint8Array(new Int32Array(r.shape).buffer),O=new Uint8Array(new Int32Array(n.shape).buffer);return Cr(f,E,r.shape.length,g,O,n.shape.length,l,s,y,h,b,m||0,F),D}var Fi={kernelName:i._FusedMatMul,backendName:"wasm",setupFunc:Di,kernelFunc:wi};function W(t,a){let u;function d(n){u=n.wasm.cwrap(t,null,["number","number","number"])}function r(n){const{backend:o,inputs:{x:p}}=n,l=o.dataIdMap.get(p.dataId).id,s=o.makeOutput(p.shape,a||p.dtype),e=o.dataIdMap.get(s.dataId).id;return i.util.sizeFromShape(s.shape)===0||u(l,G[p.dtype],e),s}return{kernelName:t,backendName:"wasm",setupFunc:d,kernelFunc:r}}var Ni=W(i.Abs),Ci=W(i.Acos),Ri=W(i.Acosh);function Y(t,a,u){let d;function r(o){d=o.wasm.cwrap(t,null,["number","array","number","number","array","number","number","number"])}function n(o){const{backend:p,inputs:l}=o,{a:s,b:e}=l,m=p.dataIdMap.get(s.dataId).id,f=p.dataIdMap.get(e.dataId).id,g=u??s.dtype,h=i.backend_util.assertAndGetBroadcastShape(s.shape,e.shape),b=p.makeOutput(h,g);if(i.util.sizeFromShape(h)===0)return b;const y=new Uint8Array(new Int32Array(s.shape).buffer),k=new Uint8Array(new Int32Array(e.shape).buffer),I=p.dataIdMap.get(b.dataId).id;return d(m,y,s.shape.length,f,k,e.shape.length,G[s.dtype],I),b}return{kernelName:t,backendName:"wasm",setupFunc:r,kernelFunc:n}}var _i=!0,Pi=Y(i.Add,_i),Rr;function Ei(t){Rr=t.wasm.cwrap(i.AddN,null,["array","number","number","number"])}function Bi(t){const{inputs:a,backend:u}=t,d=u.makeOutput(a[0].shape,a[0].dtype);if(i.util.sizeFromShape(d.shape)===0)return d;const r=a.map(p=>u.dataIdMap.get(p.dataId).id),n=new Uint8Array(new Int32Array(r).buffer),o=u.dataIdMap.get(d.dataId).id;return Rr(n,r.length,G[d.dtype],o),d}var Ti={kernelName:i.AddN,backendName:"wasm",setupFunc:Ei,kernelFunc:Bi};function on(t){const{inputs:{x:a},backend:u}=t;if(a.dtype==="string")return(0,i.tensor)(u.readSync(a.dataId),a.shape,a.dtype);const d=u.makeOutput(a.shape,a.dtype),r=u.typedArrayFromHeap(a);return u.typedArrayFromHeap(d).set(r),d}var Oi={kernelName:i.Identity,backendName:"wasm",kernelFunc:on},_r;function Wi(t){_r=t.wasm.cwrap(i.Transpose,null,["number","array","number","number","number","array","number"])}function Ie(t){const{inputs:a,backend:u,attrs:d}=t,[r,n]=Hi(a.x.shape,d.perm);let o=!0;for(let h=0;h<n.length;h++)n[h]!==h&&(o=!1);const p=zi(a.x.shape,d.perm),l={dataId:a.x.dataId,shape:r,dtype:a.x.dtype};if(o){const h=on({inputs:a,backend:u});return h.shape=p,h}const s=u.makeOutput(p,l.dtype),e=u.dataIdMap.get(l.dataId).id,m=u.dataIdMap.get(s.dataId).id,f=new Uint8Array(new Int32Array(n).buffer),g=new Uint8Array(new Int32Array(l.shape).buffer);return _r(e,g,l.shape.length,G[l.dtype],m,f,n.length),s}function zi(t,a){const u=new Array(t.length);for(let d=0;d<u.length;d++)u[d]=t[a[d]];return u}function Hi(t,a){const u=[],d=[];for(let r=0;r<t.length;++r)t[r]!==1&&u.push(t[r]),t[a[r]]!==1&&d.push(a[r]);for(let r=0;r<d.length;++r){let n=-1;for(let o=0;o<d.length;++o)d[o]>=r&&(n===-1||d[n]>d[o])&&(n=o);d[n]=r}return[u,d]}var Li={kernelName:i.Transpose,backendName:"wasm",kernelFunc:Ie,setupFunc:Wi};function ke(t,a,u){const d=t.shape,r=t.shape.length,n=i.util.parseAxisParam(a,d);let o=n;const p=i.backend_util.getAxesPermutation(o,r);let l=null,s=!1;if(p!=null){const e=new Array(r);for(let f=0;f<e.length;f++)e[f]=d[p[f]];o=i.backend_util.getInnerMostAxes(o.length,r),l=Ie({inputs:{x:t},attrs:{perm:p},backend:u});const m=u.dataIdMap.get(t.dataId).id;u.dataIdMap.get(l.dataId).id!==m&&(s=!0)}return{transposed:l,originalAxes:n,axes:o,inputWasTransposed:s}}var Pr;function Gi(t){Pr=t.wasm.cwrap(i.All,null,["number, number, number"])}function $i(t){const{backend:a,inputs:u,attrs:d}=t,{axis:r,keepDims:n}=d,{x:o}=u;let p=a.dataIdMap.get(o.dataId).id,l=o;const{transposed:s,axes:e,originalAxes:m,inputWasTransposed:f}=ke(o,r,a);if(f){const I=a.dataIdMap.get(s.dataId).id;l=s,p=I}const g=l.shape.length;i.backend_util.assertAxesAreInnerMostDims("all",e,g);const[h,b]=i.backend_util.computeOutAndReduceShapes(l.shape,e),y=i.util.sizeFromShape(b),k=a.makeOutput(h,o.dtype);if(i.util.sizeFromShape(l.shape)!==0){const I=a.dataIdMap.get(k.dataId).id;Pr(p,y,I)}return f&&a.disposeData(s.dataId),n&&(k.shape=i.backend_util.expandShapeToKeepDim(k.shape,m)),k}var Vi={kernelName:i.All,backendName:"wasm",setupFunc:Gi,kernelFunc:$i},Er;function Ui(t){Er=t.wasm.cwrap(i.Any,null,["number, number, number"])}function qi(t){const{backend:a,inputs:u,attrs:d}=t,{axis:r,keepDims:n}=d,{x:o}=u;let p=a.dataIdMap.get(o.dataId).id,l=o;const{transposed:s,axes:e,originalAxes:m,inputWasTransposed:f}=ke(o,r,a);if(f){const I=a.dataIdMap.get(s.dataId).id;l=s,p=I}const g=l.shape.length;i.backend_util.assertAxesAreInnerMostDims("any",e,g);const[h,b]=i.backend_util.computeOutAndReduceShapes(l.shape,e),y=i.util.sizeFromShape(b),k=a.makeOutput(h,o.dtype);if(i.util.sizeFromShape(l.shape)!==0){const I=a.dataIdMap.get(k.dataId).id;Er(p,y,I)}return f&&a.disposeData(s.dataId),n&&(k.shape=i.backend_util.expandShapeToKeepDim(k.shape,m)),k}var Ki={kernelName:i.Any,backendName:"wasm",setupFunc:Ui,kernelFunc:qi};function Br(t){let a;function u(r){a=r.wasm.cwrap(t,null,["number","number","number","number","number"])}function d(r){const{backend:n,inputs:o,attrs:p}=r,{axis:l}=p,{x:s}=o,e=n.dataIdMap.get(s.dataId).id;let m=e,f=s;const{transposed:g,axes:h,inputWasTransposed:b}=ke(s,l,n);if(b){const F=n.dataIdMap.get(g.dataId).id;F!==e&&(f=g,m=F)}const y=f.shape.slice(0,-1),k=n.makeOutput(y,"int32"),I=n.dataIdMap.get(k.dataId).id,M=i.util.sizeFromShape(k.shape),D=f.shape[h[0]];return a(m,G[f.dtype],M,D,I),b&&n.disposeData(g.dataId),k}return{kernelName:t,backendName:"wasm",setupFunc:u,kernelFunc:d}}var Xi=Br(i.ArgMax),Ji=Br(i.ArgMin),Qi=W(i.Asin),Yi=W(i.Asinh),Zi=W(i.Atan),ji=Y(i.Atan2,!1),es=W(i.Atanh),Tr;function ns(t){Tr=t.wasm.cwrap(i.AvgPool,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ts(t){const{inputs:a,attrs:u,backend:d}=t,r=a.x,n=d.dataIdMap.get(r.dataId).id,{filterSize:o,strides:p,pad:l,dimRoundingMode:s}=u,e=i.backend_util.computePool2DInfo(r.shape,o,p,1,l,s),m=e.filterHeight,f=e.filterWidth,g=e.padInfo.top,h=e.padInfo.right,b=e.padInfo.bottom,y=e.padInfo.left,k=e.strideHeight,I=e.strideWidth,M=e.inChannels;if(e.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${e.dataFormat}'. Please use 'channelsLast'.`);if(e.dilationWidth!==1||e.dilationHeight!==1)throw new Error(`was backend only supports average pooling with dilation = [1, 1], got [${e.dilationHeight}, ${e.dilationWidth}].`);const D=d.makeOutput(e.outShape,"float32"),F=d.dataIdMap.get(D.dataId).id;return Tr(n,r.shape[0],r.shape[1],r.shape[2],m,f,g,h,b,y,k,I,M,F),D}var as={kernelName:i.AvgPool,backendName:"wasm",setupFunc:ns,kernelFunc:ts},Or;function rs(t){Or=t.wasm.cwrap("AvgPool3D",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function us(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{filterSize:n,strides:o,pad:p,dimRoundingMode:l,dataFormat:s}=d,e=i.backend_util.computePool3DInfo(r.shape,n,o,1,p,l,s),m=u.makeOutput(e.outShape,r.dtype);return Or(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left),m}var is={kernelName:i.AvgPool3D,backendName:"wasm",setupFunc:rs,kernelFunc:us},Wr;function ss(t){Wr=t.wasm.cwrap("AvgPool3DGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ds(t){const{inputs:a,backend:u,attrs:d}=t,{dy:r,input:n}=a,{filterSize:o,strides:p,pad:l,dimRoundingMode:s}=d,e=i.backend_util.computePool3DInfo(n.shape,o,p,1,l,s),m=u.makeOutput(n.shape,n.dtype);return Wr(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left,e.filterDepth,e.filterHeight,e.filterWidth),m}var os={kernelName:i.AvgPool3DGrad,backendName:"wasm",setupFunc:ss,kernelFunc:ds},zr;function ps(t){zr=t.wasm.cwrap("AvgPoolGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ls(t){const{inputs:a,backend:u,attrs:d}=t,{dy:r,input:n}=a,{filterSize:o,strides:p,pad:l}=d,s=i.backend_util.computePool2DInfo(n.shape,o,p,1,l),e=u.makeOutput(n.shape,n.dtype);return zr(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(e.dataId).id,s.batchSize,s.inChannels,s.inHeight,s.inWidth,s.outHeight,s.outWidth,s.strideHeight,s.strideWidth,s.dilationHeight,s.dilationWidth,s.effectiveFilterHeight,s.effectiveFilterWidth,s.padInfo.top,s.padInfo.left,s.filterHeight,s.filterWidth),e}var cs={kernelName:i.AvgPoolGrad,backendName:"wasm",setupFunc:ps,kernelFunc:ls};function ue(t){const{inputs:a,attrs:u}=t,{x:d}=a,{shape:r}=u,n=i.util.sizeFromShape(d.shape),o=i.util.inferFromImplicitShape(r,n);return i.util.assert(n===i.util.sizeFromShape(o),()=>`new shape: ${o}, old shape: ${d.shape}. New shape and old shape must have the same number of elements.`),t.backend.incRef(d.dataId),{dataId:d.dataId,shape:o,dtype:d.dtype}}var ms={kernelName:i.Reshape,backendName:"wasm",kernelFunc:ue},Hr;function hs(t){Hr=t.wasm.cwrap(i.BatchMatMul,null,["number","array","number","number","array","number","number","number","number"])}function gs(t){const{inputs:a,backend:u,attrs:d}=t,{a:r,b:n}=a,{transposeA:o,transposeB:p}=d;if(r.dtype!=="float32"||n.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");const l=r.shape.length,s=n.shape.length,e=o?r.shape[l-2]:r.shape[l-1],m=p?n.shape[s-1]:n.shape[s-2],f=o?r.shape[l-1]:r.shape[l-2],g=p?n.shape[s-2]:n.shape[s-1],h=r.shape.slice(0,-2),b=n.shape.slice(0,-2),y=i.util.sizeFromShape(h),k=i.util.sizeFromShape(b),I=i.broadcast_util.assertAndGetBroadcastShape(r.shape.slice(0,-2),n.shape.slice(0,-2)).concat([f,g]);i.util.assert(e===m,()=>`Error in matMul: inner shapes (${e}) and (${m}) of Tensors with shapes ${r.shape} and ${n.shape} and transposeA=${o} and transposeB=${p} must match.`);const M=o?[y,e,f]:[y,f,e],D=p?[k,g,m]:[k,m,g],F=ue({inputs:{x:r},backend:u,attrs:{shape:M}}),E=ue({inputs:{x:n},backend:u,attrs:{shape:D}}),O=u.dataIdMap.get(F.dataId).id,B=u.dataIdMap.get(E.dataId).id,K=o?F.shape[2]:F.shape[1],X=p?E.shape[1]:E.shape[2],U=Math.max(y,k),q=u.makeOutput([U,K,X],F.dtype),Z=u.dataIdMap.get(q.dataId).id,ie=new Uint8Array(new Int32Array(F.shape).buffer),le=new Uint8Array(new Int32Array(E.shape).buffer);return Hr(O,ie,F.shape.length,B,le,E.shape.length,o,p,Z),u.disposeData(F.dataId),u.disposeData(E.dataId),q.shape=I,q}var fs={kernelName:i.BatchMatMul,backendName:"wasm",setupFunc:hs,kernelFunc:gs};function bs(t,a,u,d){const r=i.util.getArrayFromDType(u,i.util.sizeFromShape(a));if(d&&u!=="string"){let n=0;t.forEach(o=>{const p=i.util.sizeFromShape(o.shape);r.set(o.vals,n),n+=p})}else{let n=0;t.forEach(o=>{const p=u==="string"?i.backend_util.fromUint8ToStringArray(o.vals):o.vals;let l=0;for(let s=0;s<o.shape[0];++s){const e=s*a[1]+n;for(let m=0;m<o.shape[1];++m)r[e+m]=p[l++]}n+=o.shape[1]})}return r}function vs(t,a,u,d){if(t===a||t<a&&u<0||a<t&&u>1)return i.util.makeZerosTypedArray(0,d);const r=Math.abs(Math.ceil((a-t)/u)),n=i.util.makeZerosTypedArray(r,d);a<t&&u===1&&(u=-1),n[0]=t;for(let o=1;o<n.length;o++)n[o]=n[o-1]+u;return n}function Lr(t,a,u,d,r){const n=i.slice_util.isSliceContinous(d,a,u),o=i.util.sizeFromShape(u),p=i.util.computeStrides(d);if(n){const m=i.slice_util.computeFlatOffset(a,p);return r==="string"?t.slice(m,m+o):t.subarray(m,m+o)}const l=r==="string"?i.backend_util.fromUint8ToStringArray(t):t,s=(0,i.buffer)(d,r,l),e=(0,i.buffer)(u,r);for(let m=0;m<e.size;++m){const f=e.indexToLoc(m),g=f.map((h,b)=>h+a[b]);e.set(s.get(...g),...f)}return r==="string"?i.backend_util.fromStringArrayToUint8(e.values):e.values}var ys=class{constructor(t,a,u,d,r,n){this.separator=i.util.encodeString(t),this.nGramWidths=a,this.leftPad=i.util.encodeString(u),this.rightPad=i.util.encodeString(d),this.padWidth=r,this.preserveShort=n}getPadWidth(t){return Math.min(this.padWidth<0?t-1:this.padWidth,t-1)}getNumNGrams(t,a){const u=this.getPadWidth(a);return Math.max(0,t+2*u-a+1)}createNGrams(t,a,u,d,r,n){for(let o=0;o<r;++o){const p=this.getPadWidth(n),l=Math.max(0,p-o),s=Math.max(0,p-(r-(o+1))),e=n-(l+s),m=a+(l>0?0:o-p);let f=0;f+=l*this.leftPad.length;for(let k=0;k<e;++k)f+=t[m+k].length;f+=s*this.rightPad.length;const g=l+s+e-1;f+=g*this.separator.length,u[d+o]=new Uint8Array(f);const h=u[d+o];let b=0;const y=k=>k.forEach(I=>h[b++]=I);for(let k=0;k<l;++k)y(this.leftPad),y(this.separator);for(let k=0;k<e-1;++k)y(t[m+k]),y(this.separator);if(e>0){y(t[m+e-1]);for(let k=0;k<s;++k)y(this.separator),y(this.rightPad)}else{for(let k=0;k<s-1;++k)y(this.rightPad),y(this.separator);y(this.rightPad)}}}compute(t,a){const u=t.length,d=a.length;if(d>0){let p=a[0];if(p!==0)throw new Error(`First split value must be 0, got ${p}`);for(let l=1;l<d;++l){let s=a[l]>=p;if(s=s&&a[l]<=u,!s)throw new Error(`Invalid split value ${a[l]}, must be in [${p}, ${u}]`);p=a[l]}if(p!==u)throw new Error(`Last split value must be data size. Expected ${u}, got ${p}`)}const r=d-1,n=i.util.getArrayFromDType("int32",d);if(u===0||d===0){const p=new Array(u);for(let l=0;l<=r;++l)n[l]=0;return[p,n]}n[0]=0;for(let p=1;p<=r;++p){const l=a[p]-a[p-1];let s=0;this.nGramWidths.forEach(e=>{s+=this.getNumNGrams(l,e)}),this.preserveShort&&l>0&&s===0&&(s=1),n[p]=n[p-1]+s}const o=new Array(n[r]);for(let p=0;p<r;++p){const l=a[p];let s=n[p];if(this.nGramWidths.forEach(e=>{const m=a[p+1]-a[p],f=this.getNumNGrams(m,e);this.createNGrams(t,l,o,s,f,e),s+=f}),this.preserveShort&&s===n[p]){const e=a[p+1]-a[p];if(e===0)continue;const m=e+2*this.padWidth;this.createNGrams(t,l,o,s,1,m)}}return[o,n]}};function Is(t,a,u,d,r,n,o,p){return new ys(u,d,r,n,o,p).compute(t,a)}function ks(t,a,u,d){if(!t.length)return;if(a.length===0){for(let n=0;n<t.length;++n)d.push(t.subarray(n,n+1));return}if(a.length===1){const n=a[0];let o=t.indexOf(n);for(;o!==-1;){const p=t.subarray(0,o);(!u||p.length!==0)&&d.push(p),t=t.subarray(o+1),o=t.indexOf(n)}(!u||t.length!==0)&&d.push(t);return}let r=0;for(let n=0;n<t.length+1;n++)if(n===t.length||a.indexOf(t[n])!==-1){const o=t.subarray(r,n);(!u||o.length!==0)&&d.push(o),r=n+1}}function Ss(t,a,u){const d=t.length,r=[];let n=0,o=0;const p=new Array(d);for(let f=0;f<d;++f){const g=r.length;ks(t[f],a,u,r);const h=r.length-g;p[f]=h,n+=h,o=Math.max(o,h)}const l=i.util.getArrayFromDType("int32",n*2),s=new Array(n),e=[d,o];let m=0;for(let f=0;f<d;++f)for(let g=0;g<p[f];++g)l[m*2]=f,l[m*2+1]=g,s[m]=r[m],++m;return[l,s,e]}function Ms(t,a){const u=i.util.getArrayFromDType("int32",t.length);for(let d=0;d<t.length;++d)u[d]=i.util.fingerPrint64(t[d]).modulo(a).getLowBitsUnsigned();return u}function As(t,a,u,d){const r=i.util.parseAxisParam(a,u)[0],n=[1,u[0],1];for(let h=0;h<r;h++)n[0]*=u[h];n[1]=u[r];for(let h=r+1;h<u.length;h++)n[2]*=u[h];const o=new Map,p=new Int32Array(u[r]),l=new i.TensorBuffer(n,d,t),s=[],e=n[0]===1&&n[2]===1;for(let h=0;h<u[r];h++){let b;if(e)b=t[h].toString();else{const k=[];for(let I=0;I<n[0];I++)for(let M=0;M<n[2];M++)k.push(l.get(I,h,M));b=k.join(",")}const y=o.get(b);if(y!=null)p[h]=y;else{const k=o.size;o.set(b,k),p[h]=k,s.push(h)}}const m=n.slice();m[1]=o.size;const f=new i.TensorBuffer(m,d);s.forEach((h,b)=>{for(let y=0;y<n[0];y++)for(let k=0;k<n[2];k++)f.set(l.get(y,h,k),y,b,k)});const g=u.slice();return g[r]=m[1],{outputValues:f.values,outputShape:g,indices:p}}function De(t){const{inputs:{x:a},attrs:{begin:u,size:d},backend:r}=t,[n,o]=i.slice_util.parseSliceParams(a,u,d),p=i.slice_util.isSliceContinous(a.shape,n,o),l=r.readSync(a.dataId),s=r.makeOutput(o,a.dtype),e=i.util.computeStrides(a.shape),m=r.dataIdMap.get(s.dataId);if(p){const h=i.slice_util.computeFlatOffset(n,e);return a.dtype==="string"?m.stringBytes=l.slice(h,h+i.util.sizeFromShape(o)):r.typedArrayFromHeap(s).set(l.subarray(h,h+i.util.sizeFromShape(o))),s}if(a.dtype==="string")return m.stringBytes=Lr(l,n,o,a.shape,a.dtype),s;const f=r.typedArrayFromHeap(s),g=a.shape.length;if(g===2)xs(l,e[0],f,n,o);else if(g===3)Ds(l,e[0],e[1],f,n,o);else if(g===4)ws(l,e[0],e[1],e[2],f,n,o);else{const h=Lr(l,n,o,a.shape,a.dtype);f.set(h)}return s}function xs(t,a,u,d,r){let n=0;const o=d[0],p=d[1],l=o+r[0];for(let s=o;s<l;s++){const e=s*a+p;u.set(t.subarray(e,e+r[1]),n),n+=r[1]}}function Ds(t,a,u,d,r,n){let o=0;const p=r[0],l=r[1],s=r[2],e=p+n[0],m=l+n[1];for(let f=p;f<e;f++)for(let g=l;g<m;g++){const h=f*a+g*u+s;d.set(t.subarray(h,h+n[2]),o),o+=n[2]}}function ws(t,a,u,d,r,n,o){let p=0;const l=n[0],s=n[1],e=n[2],m=l+o[0],f=s+o[1],g=e+o[2],h=n[3];for(let b=l;b<m;b++)for(let y=s;y<f;y++)for(let k=e;k<g;k++){const I=b*a+y*u+k*d+h;r.set(t.subarray(I,I+o[3]),p),p+=o[3]}}var Fs={kernelName:i.Slice,backendName:"wasm",kernelFunc:De};function Ns(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{blockShape:n,crops:o}=d,p=n.reduce((k,I)=>k*I),l=i.backend_util.getReshaped(r.shape,n,p),s=i.backend_util.getPermuted(l.length,n.length),e=i.backend_util.getReshapedPermuted(r.shape,n,p),m=i.backend_util.getSliceBeginCoords(o,n.length),f=i.backend_util.getSliceSize(e,o,n.length),g=ue({inputs:{x:r},backend:u,attrs:{shape:l}}),h=Ie({inputs:{x:g},backend:u,attrs:{perm:s}}),b=ue({inputs:{x:h},backend:u,attrs:{shape:e}}),y=De({inputs:{x:b},backend:u,attrs:{begin:m,size:f}});return u.disposeData(g.dataId),u.disposeData(h.dataId),u.disposeData(b.dataId),y}var Cs={kernelName:i.BatchToSpaceND,backendName:"wasm",kernelFunc:Ns},Gr;function Rs(t){Gr=t.wasm.cwrap(i.Bincount,null,["number","number","boolean","number","number","number"])}function _s(t){const{backend:a,inputs:u,attrs:d}=t,{x:r,weights:n}=u,{size:o}=d,p=n.shape.reduce((m,f)=>m*f,1)!==0,l=r.shape.length===1?[o]:[r.shape[0],o],s=a.makeOutput(l,n.dtype);function e(m){return a.dataIdMap.get(m.dataId).id}return Gr(e(r),o,p,e(n),G[n.dtype],e(s)),s}var Ps={kernelName:i.Bincount,backendName:"wasm",setupFunc:Rs,kernelFunc:_s},Es=!0,Bs=Y(i.BitwiseAnd,Es);function Ts(t){const{inputs:a,backend:u}=t,{s0:d,s1:r}=a,n=u.typedArrayFromHeap(d),o=u.typedArrayFromHeap(r),p=i.backend_util.assertAndGetBroadcastShape(Array.from(n),Array.from(o));return u.makeOutput([p.length],"int32",void 0,new Int32Array(p))}var Os={kernelName:i.BroadcastArgs,backendName:"wasm",kernelFunc:Ts};function Se(t){const{inputs:{x:a},attrs:{dtype:u},backend:d}=t,r=d.makeOutput(a.shape,u),n=d.typedArrayFromHeap(a);return d.typedArrayFromHeap(r).set(n),r}var Ws={kernelName:i.Cast,backendName:"wasm",kernelFunc:Se},zs=W(i.Ceil),$r;function Hs(t){$r=t.wasm.cwrap(i.ClipByValue,null,["number","number","number","number"])}function Ls(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{clipValueMin:n,clipValueMax:o}=d,p=u.dataIdMap.get(r.dataId).id,l=u.makeOutput(r.shape,r.dtype),s=u.dataIdMap.get(l.dataId).id;return $r(p,n,o,s),l}var Gs={kernelName:i.ClipByValue,backendName:"wasm",setupFunc:Hs,kernelFunc:Ls};function Vr(t){const{inputs:a,backend:u}=t,d=i.util.parseAxisParam(t.attrs.axis,a[0].shape)[0],r=a.map(g=>g.shape);i.backend_util.assertParamsConsistent(r,d);let n=i.backend_util.computeOutShape(a.map(g=>g.shape),d);const o=a.filter(g=>i.util.sizeFromShape(g.shape)>0);if(o.length===1)return on({inputs:{x:o[0]},backend:u});const p=u.makeOutput(n,a[0].dtype);if(i.util.sizeFromShape(n)===0)return p;if(o[0].dtype==="string"){const g=o.map(I=>{const M=[-1,i.util.sizeFromShape(I.shape.slice(d))];return ue({inputs:{x:I},backend:u,attrs:{shape:M}})}),h=g.map(I=>({vals:u.readSync(I.dataId),shape:I.shape}));n=i.backend_util.computeOutShape(g.map(I=>I.shape),1);const b=g[0].shape[0]===1,y=bs(h,n,a[0].dtype,b);p.shape=i.backend_util.computeOutShape(o.map(I=>I.shape),d);const k=u.dataIdMap.get(p.dataId);return k.stringBytes=i.backend_util.fromStringArrayToUint8(y),g.forEach(I=>u.disposeData(I.dataId)),p}const l=i.util.sizeFromShape(o[0].shape.slice(0,d));let s=0;const e=o.map(g=>{const h=i.util.sizeFromShape(g.shape.slice(d));return s+=h,h}),m=o.map(g=>u.typedArrayFromHeap(g)),f=u.typedArrayFromHeap(p);for(let g=0;g<l;g++){let h=g*s;for(let b=0;b<m.length;b++){const y=e[b],k=g*y,I=m[b].subarray(k,k+y);f.set(I,h),h+=y}}return p}var $s={kernelName:i.Concat,backendName:"wasm",kernelFunc:Vr},Ur;function Vs(t){Ur=t.wasm.cwrap(i.Conv2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Us(t){const{inputs:a,attrs:u,backend:d}=t,{x:r,filter:n}=a,o=d.dataIdMap.get(r.dataId).id,p=d.dataIdMap.get(n.dataId).id,{strides:l,dilations:s,pad:e,dimRoundingMode:m,dataFormat:f}=u,g=i.backend_util.convertConv2DDataFormat(f),h=i.backend_util.computeConv2DInfo(r.shape,n.shape,l,s,e,m,!1,g),b=h.filterHeight,y=h.filterWidth,k=h.padInfo.top,I=h.padInfo.right,M=h.padInfo.bottom,D=h.padInfo.left,F=h.dilationHeight,E=h.dilationWidth,O=h.strideHeight,B=h.strideWidth,K=h.inChannels,X=h.outChannels,U=h.padInfo.type==="SAME"?1:0;if(h.dataFormat!=="channelsLast")throw new Error(`wasm backend Conv2D does not support dataFormat:'${h.dataFormat}'. Please use 'channelsLast'.`);const q=d.makeOutput(h.outShape,"float32"),Z=d.dataIdMap.get(q.dataId).id;return Ur(o,r.shape[0],r.shape[1],r.shape[2],p,b,y,k,I,M,D,U,F,E,O,B,K,X,Z),q}var qs={kernelName:i.Conv2D,backendName:"wasm",setupFunc:Vs,kernelFunc:Us},qr;function Ks(t){qr=t.wasm.cwrap(i.Conv2DBackpropInput,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Xs(t){const{backend:a,inputs:u,attrs:d}=t,{dy:r,filter:n}=u,{strides:o,pad:p,dataFormat:l,dimRoundingMode:s,inputShape:e}=d,m=1,f=i.backend_util.convertConv2DDataFormat(l),g=i.backend_util.computeConv2DInfo(e,n.shape,o,m,p,s,!1,f),{batchSize:h,filterHeight:b,filterWidth:y,inChannels:k,inHeight:I,inWidth:M,outChannels:D,outHeight:F,outWidth:E,strideHeight:O,strideWidth:B}=g,K=b-1-g.padInfo.top,X=y-1-g.padInfo.left,U=g.dataFormat==="channelsLast",q=i.util.computeStrides(g.inShape),Z=i.util.computeStrides(r.shape),[ie,le,Q]=i.util.computeStrides(n.shape),j=q[0],ge=U?q[1]:q[2],$=U?q[2]:1,ce=U?1:q[1],me=Z[0],se=U?Z[1]:Z[2],ee=U?Z[2]:1,Te=U?1:Z[1],Fe=a.makeOutput(g.inShape,"float32"),Oe=a.dataIdMap.get(Fe.dataId).id,Je=a.dataIdMap.get(r.dataId).id,Qe=a.dataIdMap.get(n.dataId).id;return qr(Je,Qe,h,b,y,I,M,k,F,E,D,O,B,K,X,ie,le,Q,j,ge,$,ce,me,se,ee,Te,Oe),Fe}var Js={kernelName:i.Conv2DBackpropInput,backendName:"wasm",setupFunc:Ks,kernelFunc:Xs},Kr;function Qs(t){Kr=t.wasm.cwrap(i.Conv3D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Ys(t){const{inputs:a,backend:u,attrs:d}=t,{x:r,filter:n}=a,{strides:o,pad:p,dilations:l}=d;if(r.dtype!=="float32")throw new Error(`Tensor x must have dtype float32, got ${r.dtype}`);if(n.dtype!=="float32")throw new Error(`Tensor filter must have dtype float32, got ${n.dtype}`);const s=i.backend_util.computeConv3DInfo(r.shape,n.shape,o,l,p),e=u.makeOutput(s.outShape,r.dtype);return Kr(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(e.dataId).id,s.batchSize,s.inDepth,s.inHeight,s.inWidth,s.inChannels,s.outDepth,s.outHeight,s.outWidth,s.outChannels,s.strideDepth,s.strideHeight,s.strideWidth,s.dilationDepth,s.dilationHeight,s.dilationWidth,s.filterDepth,s.filterHeight,s.filterWidth,s.padInfo.front,s.padInfo.top,s.padInfo.left),e}var Zs={kernelName:i.Conv3D,backendName:"wasm",setupFunc:Qs,kernelFunc:Ys},Xr;function js(t){Xr=t.wasm.cwrap(i.Conv3DBackpropFilterV2,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ed(t){const{inputs:a,backend:u,attrs:d}=t,{x:r,dy:n}=a,{strides:o,pad:p,filterShape:l}=d;if(r.dtype!=="float32")throw new Error(`Tensor dy must have dtype float32, got ${r.dtype}`);if(n.dtype!=="float32")throw new Error(`Tensor filter must have dtype float32, got ${n.dtype}`);const s=i.backend_util.computeConv3DInfo(r.shape,l,o,1,p),e=u.makeOutput(s.filterShape,n.dtype);return Xr(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(e.dataId).id,s.batchSize,s.inDepth,s.inHeight,s.inWidth,s.inChannels,s.outDepth,s.outHeight,s.outWidth,s.outChannels,s.strideDepth,s.strideHeight,s.strideWidth,s.dilationDepth,s.dilationHeight,s.dilationWidth,s.filterDepth,s.filterHeight,s.filterWidth,s.padInfo.front,s.padInfo.top,s.padInfo.left),e}var nd={kernelName:i.Conv3DBackpropFilterV2,backendName:"wasm",setupFunc:js,kernelFunc:ed},Jr;function td(t){Jr=t.wasm.cwrap(i.Conv3DBackpropInputV2,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ad(t){const{inputs:a,backend:u,attrs:d}=t,{dy:r,filter:n}=a,{pad:o,strides:p,inputShape:l}=d;if(r.dtype!=="float32")throw new Error(`Tensor dy must have dtype float32, got ${r.dtype}`);if(n.dtype!=="float32")throw new Error(`Tensor filter must have dtype float32, got ${n.dtype}`);const s=i.backend_util.computeConv3DInfo(l,n.shape,p,1,o),e=u.makeOutput(s.inShape,r.dtype);return Jr(u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(e.dataId).id,s.batchSize,s.inDepth,s.inHeight,s.inWidth,s.inChannels,s.outDepth,s.outHeight,s.outWidth,s.outChannels,s.strideDepth,s.strideHeight,s.strideWidth,s.dilationDepth,s.dilationHeight,s.dilationWidth,s.filterDepth,s.filterHeight,s.filterWidth,s.padInfo.front,s.padInfo.top,s.padInfo.left),e}var rd={kernelName:i.Conv3DBackpropInputV2,backendName:"wasm",setupFunc:td,kernelFunc:ad},ud=W(i.Cos),id=W(i.Cosh),Un;(function(t){t[t.bilinear=0]="bilinear",t[t.nearest=1]="nearest"})(Un||(Un={}));var Qr;function sd(t){Qr=t.wasm.cwrap(i.CropAndResize,null,["number","number","number","number","array","number","number","number","number","number"])}function dd(t){const{backend:a,inputs:u,attrs:d}=t,{method:r,extrapolationValue:n,cropSize:o}=d,{image:p,boxes:l,boxInd:s}=u,e=l.shape[0],[m,f]=o,g=[e,m,f,p.shape[3]];let h=a.dataIdMap.get(p.dataId),b;p.dtype!=="float32"&&(b=Se({backend:a,inputs:{x:p},attrs:{dtype:"float32"}}),h=a.dataIdMap.get(b.dataId));const y=h.id,k=a.dataIdMap.get(l.dataId).id,I=a.dataIdMap.get(s.dataId).id,M=a.makeOutput(g,"float32"),D=a.dataIdMap.get(M.dataId).id,F=new Uint8Array(new Int32Array(p.shape).buffer);return Qr(y,k,I,e,F,m,f,Un[r],n,D),b!=null&&a.disposeData(b.dataId),M}var od={kernelName:i.CropAndResize,backendName:"wasm",setupFunc:sd,kernelFunc:dd},Yr;function pd(t){Yr=t.wasm.cwrap(i.Cumprod,null,["number","number","number","number","number","number"])}function ld(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{axis:n,exclusive:o,reverse:p}=d,l=r.shape.length;i.util.assert(r.dtype==="float32"||r.dtype==="int32",()=>`cumprod does not support ${r.dtype} tensors in the WASM backend`);const s=i.backend_util.getAxesPermutation([n],l);let e=r;s!==null&&(e=Ie({inputs:{x:r},attrs:{perm:s},backend:u}));const m=i.backend_util.getInnerMostAxes(1,l)[0];i.backend_util.assertAxesAreInnerMostDims("cumprod",[m],l);const f=u.makeOutput(e.shape,e.dtype),g=e.shape[m],h=u.dataIdMap.get(e.dataId).id,b=u.dataIdMap.get(f.dataId).id;Yr(h,o?1:0,p?1:0,g,b,G[r.dtype]);let y=f;if(s!==null){const k=i.backend_util.getUndoAxesPermutation(s);y=Ie({inputs:{x:f},attrs:{perm:k},backend:u}),u.disposeData(e.dataId),u.disposeData(f.dataId)}return y}var cd={kernelName:i.Cumprod,backendName:"wasm",setupFunc:pd,kernelFunc:ld},Zr;function md(t){Zr=t.wasm.cwrap(i.Cumsum,null,["number","number","number","number","number","number"])}function hd(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{axis:n,exclusive:o,reverse:p}=d,l=r.shape.length;i.util.assert(r.dtype==="float32"||r.dtype==="int32",()=>`cumsum does not support ${r.dtype} tensors in the WASM backend`);const s=i.backend_util.getAxesPermutation([n],l);let e=r;s!==null&&(e=Ie({inputs:{x:r},attrs:{perm:s},backend:u}));const m=i.backend_util.getInnerMostAxes(1,l)[0];i.backend_util.assertAxesAreInnerMostDims("cumsum",[m],l);const f=u.makeOutput(e.shape,e.dtype),g=e.shape[m],h=u.dataIdMap.get(e.dataId).id,b=u.dataIdMap.get(f.dataId).id;Zr(h,o?1:0,p?1:0,g,b,G[r.dtype]);let y=f;if(s!==null){const k=i.backend_util.getUndoAxesPermutation(s);y=Ie({inputs:{x:f},attrs:{perm:k},backend:u}),u.disposeData(e.dataId),u.disposeData(f.dataId)}return y}var gd={kernelName:i.Cumsum,backendName:"wasm",setupFunc:md,kernelFunc:hd},jr;function fd(t){jr=t.wasm.cwrap("DenseBincount",null,["number","array","number","number","boolean","number","number","boolean","number"])}function bd(t){const{backend:a,inputs:u,attrs:d}=t,{x:r,weights:n}=u,{size:o,binaryOutput:p}=d,l=n.shape.reduce((f,g)=>f*g,1)!==0,s=r.shape.length===1?[o]:[r.shape[0],o],e=a.makeOutput(s,n.dtype);function m(f){return a.dataIdMap.get(f.dataId).id}return jr(m(r),new Uint8Array(new Int32Array(r.shape).buffer),r.shape.length,o,l,m(n),G[n.dtype],p,m(e)),e}var vd={kernelName:i.DenseBincount,backendName:"wasm",setupFunc:fd,kernelFunc:bd},eu;function yd(t){eu=t.wasm.cwrap(i.DepthToSpace,null,["number","number","number","array","number","array","array","number","number"])}function Id(t){const{backend:a,inputs:u,attrs:d}=t,{x:r}=u,{blockSize:n,dataFormat:o}=d,p=r.shape[0],l=o==="NHWC"?r.shape[1]:r.shape[2],s=o==="NHWC"?r.shape[2]:r.shape[3],e=o==="NHWC"?r.shape[3]:r.shape[1],m=l*n,f=s*n,g=e/(n*n),h=o==="NHWC"?[p,m,f,g]:[p,g,m,f],b=a.makeOutput(h,"float32"),y=a.dataIdMap.get(r.dataId).id,k=new Uint8Array(new Int32Array(i.util.computeStrides(r.shape)).buffer),I=new Uint8Array(new Int32Array(h).buffer),M=new Uint8Array(new Int32Array(i.util.computeStrides(h)).buffer),D=a.dataIdMap.get(b.dataId).id;return eu(y,n,o==="NHWC"?1:0,k,r.shape.length-1,I,M,h.length,D),b}var kd={kernelName:i.DepthToSpace,backendName:"wasm",setupFunc:yd,kernelFunc:Id},nu;function Sd(t){nu=t.wasm.cwrap(i.DepthwiseConv2dNative,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Md(t){const{inputs:a,attrs:u,backend:d}=t,{x:r,filter:n}=a,o=d.dataIdMap.get(r.dataId).id,p=d.dataIdMap.get(n.dataId).id,{strides:l,dilations:s,pad:e,dimRoundingMode:m}=u,f=s??[1,1],g=i.backend_util.computeConv2DInfo(r.shape,n.shape,l,f,e,m,!0),h=g.filterHeight,b=g.filterWidth,y=g.padInfo.top,k=g.padInfo.right,I=g.padInfo.bottom,M=g.padInfo.left,D=g.dilationHeight,F=g.dilationWidth,E=g.strideHeight,O=g.strideWidth,B=g.inChannels,K=g.outChannels,X=g.padInfo.type==="SAME"?1:0;if(g.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${g.dataFormat}'. Please use 'channelsLast'.`);const U=d.makeOutput(g.outShape,"float32"),q=d.dataIdMap.get(U.dataId).id;return nu(o,r.shape[0],r.shape[1],r.shape[2],p,h,b,y,k,I,M,X,D,F,E,O,B,K,q),U}var Ad={kernelName:i.DepthwiseConv2dNative,backendName:"wasm",setupFunc:Sd,kernelFunc:Md},tu;function xd(t){tu=t.wasm.cwrap("Diag",null,["number","number","number","number"])}function Dd(t){const{inputs:a,backend:u}=t,{x:d}=a,r=i.util.sizeFromShape(d.shape),n=u.makeOutput([...d.shape,...d.shape],d.dtype);return tu(u.dataIdMap.get(d.dataId).id,G[d.dtype],r,u.dataIdMap.get(n.dataId).id),n}var wd={kernelName:i.Diag,backendName:"wasm",setupFunc:xd,kernelFunc:Dd},au;function Fd(t){au=t.wasm.cwrap(i.Dilation2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Nd(t){const{inputs:a,backend:u,attrs:d}=t,{x:r,filter:n}=a,{strides:o,pad:p,dilations:l}=d;if(r.dtype!==n.dtype)throw new Error(`Dilation2D error: x must have the same dtype as filter. Got ${r.dtype} and ${n.dtype}`);const s=i.backend_util.computeDilation2DInfo(r.shape,n.shape,o,p,"NHWC",l),e=u.makeOutput(s.outShape,r.dtype);return au(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(e.dataId).id,G[r.dtype],s.batchSize,s.inChannels,s.inHeight,s.inWidth,s.outHeight,s.outWidth,s.strideHeight,s.strideWidth,s.dilationHeight,s.dilationWidth,s.filterHeight,s.filterWidth,s.padInfo.top,s.padInfo.left),e}var Cd={kernelName:i.Dilation2D,backendName:"wasm",setupFunc:Fd,kernelFunc:Nd},ru;function Rd(t){ru=t.wasm.cwrap(i.Dilation2DBackpropFilter,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function _d(t){const{inputs:a,backend:u,attrs:d}=t,{x:r,filter:n,dy:o}=a,{strides:p,pad:l,dilations:s}=d;if(r.dtype!==n.dtype||r.dtype!==o.dtype)throw new Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${r.dtype}, ${n.dtype}, and ${o.dtype}`);const e=i.backend_util.computeDilation2DInfo(r.shape,n.shape,p,l,"NHWC",s),m=u.makeOutput(n.shape,n.dtype);return ru(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(o.dataId).id,u.dataIdMap.get(m.dataId).id,G[r.dtype],e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.filterHeight,e.filterWidth,e.padInfo.top,e.padInfo.left),m}var Pd={kernelName:i.Dilation2DBackpropFilter,backendName:"wasm",setupFunc:Rd,kernelFunc:_d},uu;function Ed(t){uu=t.wasm.cwrap(i.Dilation2DBackpropInput,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Bd(t){const{inputs:a,backend:u,attrs:d}=t,{x:r,filter:n,dy:o}=a,{strides:p,pad:l,dilations:s}=d;if(r.dtype!==n.dtype||r.dtype!==o.dtype)throw new Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${r.dtype}, ${n.dtype}, and ${o.dtype}`);const e=i.backend_util.computeDilation2DInfo(r.shape,n.shape,p,l,"NHWC",s),m=u.makeOutput(r.shape,r.dtype);return uu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(o.dataId).id,u.dataIdMap.get(m.dataId).id,G[r.dtype],e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.filterHeight,e.filterWidth,e.padInfo.top,e.padInfo.left),m}var Td={kernelName:i.Dilation2DBackpropInput,backendName:"wasm",setupFunc:Ed,kernelFunc:Bd},Od=W(i.Elu),iu;function Wd(t){iu=t.wasm.cwrap(i.EluGrad,null,["number","number","number"])}function zd(t){const{inputs:a,backend:u}=t,{dy:d,y:r}=a,n=u.makeOutput(r.shape,"float32"),o=p=>u.dataIdMap.get(p.dataId).id;return iu(o(r),o(d),o(n)),n}var Hd={kernelName:i.EluGrad,backendName:"wasm",setupFunc:Wd,kernelFunc:zd},Ld=!1,Gd=Y(i.Equal,Ld,"bool"),$d=W(i.Erf),Vd=W(i.Exp,"float32");function qn(t){const{inputs:a,attrs:u,backend:d}=t,{input:r}=a,{dim:n}=u,o=r.shape.length,p=r.shape.slice();let l=n;return n<0&&(i.util.assert(-(o+1)<=n,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+n+1),p.splice(l,0,1),ue({inputs:{x:r},backend:d,attrs:{shape:p}})}var Ud={kernelName:i.ExpandDims,backendName:"wasm",kernelFunc:qn},qd=W(i.Expm1,"float32");function su(t){const{attrs:{shape:a,value:u},backend:d}=t;let{attrs:{dtype:r}}=t;r=r||i.util.inferDtype(u);const n=d.makeOutput(a,r);return d.typedArrayFromHeap(n).fill(u),n}var Kd={kernelName:i.Fill,backendName:"wasm",kernelFunc:su},du;function Xd(t){du=t.wasm.cwrap(i.FlipLeftRight,null,["number","number","number","number","number","number"])}function Jd(t){const{inputs:a,backend:u}=t,{image:d}=a,r=u.makeOutput(d.shape,d.dtype),n=u.dataIdMap.get(d.dataId).id,o=u.dataIdMap.get(r.dataId).id,[p,l,s,e]=d.shape;return du(n,p,l,s,e,o),r}var Qd={kernelName:i.FlipLeftRight,backendName:"wasm",kernelFunc:Jd,setupFunc:Xd},Yd=W(i.Floor),Zd=!1,jd=Y(i.FloorDiv,Zd),ou;function eo(t){ou=t.wasm.cwrap(i.FusedBatchNorm,null,["number","number","number","number","number","number","number"])}function no(t){const{backend:a,inputs:u,attrs:d}=t,{varianceEpsilon:r}=d,{x:n,mean:o,variance:p,offset:l,scale:s}=u,e=a.dataIdMap.get(n.dataId).id,m=a.dataIdMap.get(o.dataId).id,f=a.dataIdMap.get(p.dataId).id,g=l!=null?a.dataIdMap.get(l.dataId).id:0,h=s!=null?a.dataIdMap.get(s.dataId).id:0,b=a.makeOutput(n.shape,n.dtype);if(i.util.sizeFromShape(n.shape)===0)return b;const y=a.dataIdMap.get(b.dataId).id;return ou(e,m,f,g,h,r,y),b}var to={kernelName:i.FusedBatchNorm,backendName:"wasm",setupFunc:eo,kernelFunc:no},pu;function ao(t){pu=t.wasm.cwrap(i.FusedConv2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ro(t){const{inputs:a,attrs:u,backend:d}=t,{x:r,filter:n,bias:o,preluActivationWeights:p}=a,{strides:l,pad:s,dilations:e,dataFormat:m,dimRoundingMode:f,activation:g,leakyreluAlpha:h}=u,b=i.backend_util.computeConv2DInfo(r.shape,n.shape,l,e,s,f),y=qe[g];if(y==null)throw new Error(`${g} activation not yet supported for FusedConv2D in the wasm backend.`);const k=d.dataIdMap.get(r.dataId).id,I=d.dataIdMap.get(n.dataId).id,M=b.outChannels;let D=0;if(o!=null){const ee=d.dataIdMap.get(o.dataId);if(ee.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${ee.shape.length}.`);if(ee.shape[0]!==M)throw new Error(`FusedConv2D bias shape (${ee.shape}) does not match the number of output channels (${M})`);D=ee.id}const F=b.filterHeight,E=b.filterWidth,O=b.padInfo.top,B=b.padInfo.right,K=b.padInfo.bottom,X=b.padInfo.left,U=b.dilationHeight,q=b.dilationWidth,Z=b.strideHeight,ie=b.strideWidth,le=b.inChannels,Q=b.padInfo.type==="SAME"?1:0,j=b.batchSize,ge=b.inHeight,$=b.inWidth;if(m!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${m}'. Please use 'NHWC'.`);const ce=d.makeOutput(b.outShape,"float32"),me=d.dataIdMap.get(ce.dataId).id,se=p==null?0:d.dataIdMap.get(p.dataId).id;return pu(k,j,ge,$,I,F,E,D,O,B,K,X,Q,U,q,Z,ie,le,M,y,se,h||0,me),ce}var uo={kernelName:i.FusedConv2D,backendName:"wasm",setupFunc:ao,kernelFunc:ro},lu;function io(t){lu=t.wasm.cwrap(i.FusedDepthwiseConv2D,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function so(t){const{inputs:a,attrs:u,backend:d}=t,{x:r,filter:n,bias:o,preluActivationWeights:p}=a,{strides:l,pad:s,dilations:e,dataFormat:m,dimRoundingMode:f,activation:g,leakyreluAlpha:h}=u,b=i.backend_util.computeConv2DInfo(r.shape,n.shape,l,e,s,f,!0),y=qe[g];if(y==null)throw new Error(`${g} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);const k=d.dataIdMap.get(r.dataId).id,I=d.dataIdMap.get(n.dataId).id,M=b.outChannels;let D=0;if(o!=null){const ee=d.dataIdMap.get(o.dataId);if(ee.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${ee.shape.length}.`);if(ee.shape[0]!==M)throw new Error(`FusedDepthwiseConv2D bias shape (${ee.shape}) does not match the number of output channels (${M})`);D=ee.id}const F=b.filterHeight,E=b.filterWidth,O=b.padInfo.top,B=b.padInfo.right,K=b.padInfo.bottom,X=b.padInfo.left,U=b.dilationHeight,q=b.dilationWidth,Z=b.strideHeight,ie=b.strideWidth,le=b.inChannels,Q=b.padInfo.type==="SAME"?1:0,j=b.batchSize,ge=b.inHeight,$=b.inWidth;if(m!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${m}'. Please use 'NHWC'.`);const ce=d.makeOutput(b.outShape,"float32"),me=d.dataIdMap.get(ce.dataId).id,se=p==null?0:d.dataIdMap.get(p.dataId).id;return lu(k,j,ge,$,I,F,E,D,O,B,K,X,Q,U,q,Z,ie,le,M,y,se,h||0,me),ce}var oo={kernelName:i.FusedDepthwiseConv2D,backendName:"wasm",setupFunc:io,kernelFunc:so},cu;function po(t){cu=t.wasm.cwrap(i.GatherNd,null,["number","number","number","number","number","number","array","number"])}function lo(t){const{backend:a,inputs:u}=t,{params:d,indices:r}=u,[n,o,p,l]=i.gather_util.prepareAndValidate(d,r),s=a.makeOutput(n,d.dtype);if(o===0)return s;const e=r.shape,m=e[e.length-1],f=a.dataIdMap.get(d.dataId).id,g=a.dataIdMap.get(r.dataId).id,h=new Uint8Array(new Int32Array(l).buffer),b=a.dataIdMap.get(s.dataId).id;return cu(f,G[d.dtype],g,o,m,p,h,b),s}var co={kernelName:i.GatherNd,backendName:"wasm",setupFunc:po,kernelFunc:lo},mu;function mo(t){mu=t.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function ho(t){const{backend:a,inputs:u,attrs:d}=t,{x:r,indices:n}=u,{axis:o,batchDims:p}=d,l=i.util.parseAxisParam(o,r.shape)[0],s=a.readSync(n.dataId),e=r.shape[l];for(let O=0;O<s.length;++O){const B=s[O];i.util.assert(B<=e-1&&B>=0,()=>`GatherV2: the index value ${B} is not in [0, ${e-1}]`)}const m=i.backend_util.segment_util.collectGatherOpShapeInfo(r,n,l,p),f=ue({inputs:{x:r},attrs:{shape:[m.batchSize,m.outerSize,m.dimSize,m.sliceSize]},backend:a}),g=i.util.sizeFromShape(n.shape),h=ue({inputs:{x:n},attrs:{shape:[m.batchSize,g/m.batchSize]},backend:a}),b=[m.batchSize,m.outerSize,g/m.batchSize,m.sliceSize],y=a.makeOutput(b,r.dtype);if(i.util.sizeFromShape(r.shape)===0)return y;const k=f.shape.length-1,I=a.dataIdMap.get(f.dataId).id,M=a.dataIdMap.get(h.dataId).id,D=a.dataIdMap.get(y.dataId).id,F=new Uint8Array(new Int32Array(i.util.computeStrides(f.shape)).buffer),E=new Uint8Array(new Int32Array(i.util.computeStrides(b)).buffer);return mu(I,G[r.dtype],F,k,M,m.batchSize,E,D),a.disposeData(f.dataId),a.disposeData(h.dataId),y.shape=m.outputShape,y}var go={kernelName:i.GatherV2,backendName:"wasm",setupFunc:mo,kernelFunc:ho},fo=!1,bo=Y(i.Greater,fo,"bool"),vo=!1,yo=Y(i.GreaterEqual,vo,"bool"),Io=W(i.IsFinite,"bool"),ko=W(i.IsInf,"bool"),So=W(i.IsNan,"bool"),hu;function Mo(t){hu=t.wasm.cwrap(i.LeakyRelu,null,["number","number","number","number"])}function Ao(t){const{inputs:{x:a},attrs:{alpha:u},backend:d}=t,r=d.dataIdMap.get(a.dataId).id,n=d.makeOutput(a.shape,"float32");if(i.util.sizeFromShape(a.shape)!==0){const o=d.dataIdMap.get(n.dataId).id;hu(r,G[a.dtype],u,o)}return n}var xo={kernelName:i.LeakyRelu,backendName:"wasm",setupFunc:Mo,kernelFunc:Ao},Do=!1,wo=Y(i.Less,Do,"bool"),Fo=!1,No=Y(i.LessEqual,Fo,"bool"),gu;function Co(t){gu=t.wasm.cwrap(i.LinSpace,null,["number","number","number","number"])}function Ro(t){const{attrs:a,backend:u}=t,{start:d,stop:r,num:n}=a,o=Math.floor(n),p=u.makeOutput([o],"float32");return gu(u.dataIdMap.get(p.dataId).id,d,r,o),p}var _o={kernelName:i.LinSpace,backendName:"wasm",setupFunc:Co,kernelFunc:Ro},Po=W(i.Log),Eo=W(i.Log1p),Bo=!1,To=Y(i.LogicalAnd,Bo,"bool"),Oo=W(i.LogicalNot),Wo=!1,zo=Y(i.LogicalOr,Wo,"bool"),Ho=!1,Lo=Y(i.LogicalXor,Ho,"bool"),fu;function Go(t){fu=t.wasm.cwrap(i.LRN,null,["number","number","number","number","number","number","number"])}function $o(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{depthRadius:n,bias:o,alpha:p,beta:l}=d;if(r.dtype!=="float32")throw new Error("LRN error: x must have dtype float32");const s=u.makeOutput(r.shape,r.dtype);return fu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(s.dataId).id,r.shape[3],n,o,p,l),s}var Vo={kernelName:i.LRN,backendName:"wasm",setupFunc:Go,kernelFunc:$o},bu;function Uo(t){bu=t.wasm.cwrap(i.LRNGrad,null,["number","number","number","number","number","number","number","number","number"])}function qo(t){const{inputs:a,backend:u,attrs:d}=t,{x:r,y:n,dy:o}=a,{depthRadius:p,bias:l,alpha:s,beta:e}=d;if(r.dtype!=="float32"||n.dtype!=="float32"||o.dtype!=="float32")throw new Error("LRNGrad error: x, y, and dy must have dtype float32");const m=u.makeOutput(r.shape,r.dtype);return bu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(o.dataId).id,u.dataIdMap.get(m.dataId).id,o.shape[3],p,l,s,e),m}var Ko={kernelName:i.LRNGrad,backendName:"wasm",setupFunc:Uo,kernelFunc:qo},vu;function Xo(t){vu=t.wasm.cwrap(i.Max,null,["number","number","number","number"])}function Jo(t){const{backend:a,inputs:u,attrs:d}=t,{reductionIndices:r,keepDims:n}=d,{x:o}=u;let p=a.dataIdMap.get(o.dataId).id,l=o;const{transposed:s,axes:e,originalAxes:m,inputWasTransposed:f}=ke(o,r,a);if(f){const I=a.dataIdMap.get(s.dataId).id;l=s,p=I}const g=l.shape.length;i.backend_util.assertAxesAreInnerMostDims("max",e,g);const[h,b]=i.backend_util.computeOutAndReduceShapes(l.shape,e),y=i.util.sizeFromShape(b),k=a.makeOutput(h,o.dtype);if(i.util.sizeFromShape(l.shape)!==0){const I=a.dataIdMap.get(k.dataId).id;vu(p,G[o.dtype],y,I)}return f&&a.disposeData(s.dataId),n&&(k.shape=i.backend_util.expandShapeToKeepDim(k.shape,m)),k}var Qo={kernelName:i.Max,backendName:"wasm",setupFunc:Xo,kernelFunc:Jo},Yo=!1,Zo=Y(i.Maximum,Yo),yu;function jo(t){yu=t.wasm.cwrap(i.MaxPool,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ep(t){const{inputs:a,attrs:u,backend:d}=t,r=a.x,n=d.dataIdMap.get(r.dataId).id;i.util.assert(r.dtype==="float32",()=>`Error in MaxPool: only float32 input is supported. Got ${r.dtype}.`);const{filterSize:o,strides:p,pad:l,dimRoundingMode:s}=u,e=i.backend_util.computePool2DInfo(r.shape,o,p,1,l,s),m=e.filterHeight,f=e.filterWidth,g=e.padInfo.top,h=e.padInfo.right,b=e.padInfo.bottom,y=e.padInfo.left,k=e.dilationHeight,I=e.dilationWidth,M=e.strideHeight,D=e.strideWidth,F=e.inChannels,E=e.outChannels;if(e.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${e.dataFormat}'. Please use 'channelsLast'.`);const O=d.makeOutput(e.outShape,"float32"),B=d.dataIdMap.get(O.dataId).id;return yu(n,r.shape[0],r.shape[1],r.shape[2],m,f,g,h,b,y,k,I,M,D,F,E,B),O}var np={kernelName:i.MaxPool,backendName:"wasm",setupFunc:jo,kernelFunc:ep},Iu;function tp(t){Iu=t.wasm.cwrap("MaxPool3D",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ap(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{filterSize:n,strides:o,pad:p,dimRoundingMode:l,dataFormat:s}=d,e=i.backend_util.computePool3DInfo(r.shape,n,o,1,p,l,s),m=u.makeOutput(e.outShape,r.dtype);return Iu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left),m}var rp={kernelName:i.MaxPool3D,backendName:"wasm",setupFunc:tp,kernelFunc:ap},ku;function up(t){ku=t.wasm.cwrap("MaxPool3DGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ip(t){const{inputs:a,backend:u,attrs:d}=t,{dy:r,input:n}=a,{filterSize:o,strides:p,pad:l,dimRoundingMode:s}=d,e=i.backend_util.computePool3DInfo(n.shape,o,p,1,l,s),m=u.makeOutput(n.shape,n.dtype);return ku(u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inDepth,e.inHeight,e.inWidth,e.outDepth,e.outHeight,e.outWidth,e.strideDepth,e.strideHeight,e.strideWidth,e.dilationDepth,e.dilationHeight,e.dilationWidth,e.effectiveFilterDepth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.front,e.padInfo.top,e.padInfo.left),m}var sp={kernelName:i.MaxPool3DGrad,backendName:"wasm",setupFunc:up,kernelFunc:ip},Su;function dp(t){Su=t.wasm.cwrap("MaxPoolGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function op(t){const{inputs:a,backend:u,attrs:d}=t,{dy:r,input:n}=a,{filterSize:o,strides:p,pad:l,dimRoundingMode:s}=d,e=i.backend_util.computePool2DInfo(n.shape,o,p,1,l,s),m=u.makeOutput(n.shape,n.dtype);return Su(u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(m.dataId).id,e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.top,e.padInfo.left),m}var pp={kernelName:i.MaxPoolGrad,backendName:"wasm",setupFunc:dp,kernelFunc:op},Mu;function lp(t){Mu=t.wasm.cwrap("MaxPoolWithArgmax",null,["number","number","number","number","boolean","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function cp(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{filterSize:n,strides:o,pad:p,includeBatchInIndex:l}=d;i.util.assert(r.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`);const s=[1,1];i.util.assert(i.backend_util.eitherStridesOrDilationsAreOne(o,s),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '${s}'`);const e=i.backend_util.computePool2DInfo(r.shape,n,o,[1,1],p),m=u.makeOutput(e.outShape,r.dtype),f=u.makeOutput(e.outShape,"int32");return Mu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(m.dataId).id,u.dataIdMap.get(f.dataId).id,G[r.dtype],l,e.batchSize,e.inChannels,e.inHeight,e.inWidth,e.outHeight,e.outWidth,e.strideHeight,e.strideWidth,e.dilationHeight,e.dilationWidth,e.effectiveFilterHeight,e.effectiveFilterWidth,e.padInfo.top,e.padInfo.left),[m,f]}var mp={kernelName:i.MaxPoolWithArgmax,backendName:"wasm",setupFunc:lp,kernelFunc:cp},Au;function hp(t){Au=t.wasm.cwrap(i.Mean,null,["number, number, number"])}function gp(t){const{backend:a,inputs:u,attrs:d}=t,{axis:r,keepDims:n}=d,{x:o}=u,p=a.dataIdMap.get(o.dataId).id;let l=p,s=o;const{transposed:e,axes:m,originalAxes:f,inputWasTransposed:g}=ke(o,r,a);let h=m;if(g){const D=a.dataIdMap.get(e.dataId).id;D!==p&&(s=e,l=D,h=i.backend_util.getInnerMostAxes(h.length,s.shape.length))}i.backend_util.assertAxesAreInnerMostDims("mean",h,s.shape.length);const[b,y]=i.backend_util.computeOutAndReduceShapes(s.shape,h),k=i.util.sizeFromShape(y);let I=s;s.dtype!=="float32"&&(I=Se({backend:a,inputs:{x:s},attrs:{dtype:"float32"}}),l=a.dataIdMap.get(I.dataId).id);const M=a.makeOutput(b,"float32");if(i.util.sizeFromShape(s.shape)!==0){const D=a.dataIdMap.get(M.dataId).id;Au(l,k,D)}return g&&a.disposeData(e.dataId),n&&(M.shape=i.backend_util.expandShapeToKeepDim(M.shape,f)),s.dtype!=="float32"&&a.disposeData(I.dataId),M}var fp={kernelName:i.Mean,backendName:"wasm",setupFunc:hp,kernelFunc:gp},xu;function bp(t){xu=t.wasm.cwrap(i.Min,null,["number","number","number","number"])}function vp(t){const{backend:a,inputs:u,attrs:d}=t,{axis:r,keepDims:n}=d,{x:o}=u,p=a.dataIdMap.get(o.dataId).id;let l=p,s=o;const{transposed:e,axes:m,originalAxes:f,inputWasTransposed:g}=ke(o,r,a);if(g){const M=a.dataIdMap.get(e.dataId).id;M!==p&&(s=e,l=M)}const h=s.shape.length;i.backend_util.assertAxesAreInnerMostDims("min",m,h);const[b,y]=i.backend_util.computeOutAndReduceShapes(s.shape,m),k=i.util.sizeFromShape(y),I=a.makeOutput(b,s.dtype);if(i.util.sizeFromShape(s.shape)!==0){const M=a.dataIdMap.get(I.dataId).id;xu(l,G[o.dtype],k,M)}return g&&a.disposeData(e.dataId),n&&(I.shape=i.backend_util.expandShapeToKeepDim(I.shape,f)),I}var yp={kernelName:i.Min,backendName:"wasm",setupFunc:bp,kernelFunc:vp},Ip=!1,kp=Y(i.Minimum,Ip),Kn;(function(t){t[t.reflect=0]="reflect",t[t.symmetric=1]="symmetric"})(Kn||(Kn={}));var Du;function Sp(t){Du=t.wasm.cwrap(i.MirrorPad,null,["number","array","number","number","array","array","number","number"])}function Mp(t){const{inputs:{x:a},backend:u,attrs:{paddings:d,mode:r}}=t,n=d.map((h,b)=>h[0]+a.shape[b]+h[1]),o=u.dataIdMap.get(a.dataId).id,p=u.makeOutput(n,a.dtype),l=u.dataIdMap.get(p.dataId).id,s=new Uint8Array(new Int32Array(a.shape).buffer),e=d.map(h=>h[0]),m=d.map(h=>h[1]),f=new Uint8Array(new Int32Array(e).buffer),g=new Uint8Array(new Int32Array(m).buffer);return Du(o,s,a.shape.length,G[a.dtype],f,g,Kn[r],l),p}var Ap={kernelName:i.MirrorPad,backendName:"wasm",kernelFunc:Mp,setupFunc:Sp},wu;function xp(t){wu=t.wasm.cwrap(i.Softmax,null,["number","number","number","number"])}function Fu(t){const{backend:a,inputs:{logits:u},attrs:{dim:d}}=t,r=a.dataIdMap.get(u.dataId).id,n=a.makeOutput(u.shape,u.dtype),o=a.dataIdMap.get(n.dataId).id,p=u.shape[d],l=i.util.sizeFromShape(u.shape)/p;return i.util.sizeFromShape(n.shape)===0||wu(r,o,p,l),n}var Dp={kernelName:i.Softmax,backendName:"wasm",setupFunc:xp,kernelFunc:Fu},Nu;function wp(t){Nu=t.wasm.cwrap(i.Multinomial,null,["number","number","number","number","number","number"])}function Fp(t){const{inputs:a,backend:u,attrs:d}=t,{logits:r}=a,{numSamples:n,seed:o,normalized:p}=d;if(r.dtype!=="float32")throw new Error(`Tensor logits must have dtype float32, got ${r.dtype}`);const l=p?r:Fu({inputs:{logits:r},backend:u,attrs:{dim:r.shape.length-1}}),[s,e]=l.shape,m=u.makeOutput([s,n],"int32");return Nu(u.dataIdMap.get(l.dataId).id,s,e,n,o,u.dataIdMap.get(m.dataId).id),p||u.disposeData(l.dataId),m}var Np={kernelName:i.Multinomial,backendName:"wasm",setupFunc:wp,kernelFunc:Fp},Cp=Y(i.Mod,!0),Rp=!0,_p=Y(i.Multiply,Rp),Pp=W(i.Neg);function Xn(t,a){const u=new Int32Array(t.wasm.HEAPU8.buffer,a,4),d=u[0],r=u[1],n=u[2],o=u[3];return t.wasm._free(a),{pSelectedIndices:d,selectedSize:r,pSelectedScores:n,pValidOutputs:o}}var Cu;function Ep(t){Cu=t.wasm.cwrap(i.NonMaxSuppressionV3,"number",["number","number","number","number","number"])}function Bp(t){const{backend:a,inputs:u,attrs:d}=t,{iouThreshold:r,maxOutputSize:n,scoreThreshold:o}=d,{boxes:p,scores:l}=u,s=a.dataIdMap.get(p.dataId).id,e=a.dataIdMap.get(l.dataId).id,m=Cu(s,e,n,r,o),{pSelectedIndices:f,selectedSize:g,pSelectedScores:h,pValidOutputs:b}=Xn(a,m);return a.wasm._free(h),a.wasm._free(b),a.makeOutput([g],"int32",f)}var Tp={kernelName:i.NonMaxSuppressionV3,backendName:"wasm",setupFunc:Ep,kernelFunc:Bp},Ru;function Op(t){Ru=t.wasm.cwrap(i.NonMaxSuppressionV4,"number",["number","number","number","number","number","bool"])}function Wp(t){const{backend:a,inputs:u,attrs:d}=t,{iouThreshold:r,maxOutputSize:n,scoreThreshold:o,padToMaxOutputSize:p}=d,{boxes:l,scores:s}=u,e=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(s.dataId).id,f=Ru(e,m,n,r,o,p),{pSelectedIndices:g,selectedSize:h,pSelectedScores:b,pValidOutputs:y}=Xn(a,f);return a.wasm._free(b),[a.makeOutput([h],"int32",g),a.makeOutput([],"int32",y)]}var zp={kernelName:i.NonMaxSuppressionV4,backendName:"wasm",setupFunc:Op,kernelFunc:Wp},_u;function Hp(t){_u=t.wasm.cwrap(i.NonMaxSuppressionV5,"number",["number","number","number","number","number","number"])}function Lp(t){const{backend:a,inputs:u,attrs:d}=t,{iouThreshold:r,maxOutputSize:n,scoreThreshold:o,softNmsSigma:p}=d,{boxes:l,scores:s}=u,e=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(s.dataId).id,f=_u(e,m,n,r,o,p),{pSelectedIndices:g,selectedSize:h,pSelectedScores:b,pValidOutputs:y}=Xn(a,f);return a.wasm._free(y),[a.makeOutput([h],"int32",g),a.makeOutput([h],"float32",b)]}var Gp={kernelName:i.NonMaxSuppressionV5,backendName:"wasm",setupFunc:Hp,kernelFunc:Lp},$p=!1,Vp=Y(i.NotEqual,$p,"bool"),Pu;function Up(t){Pu=t.wasm.cwrap(i.OneHot,null,["number","number","number","number","number"])}function qp(t){const{inputs:a,backend:u,attrs:d}=t,{indices:r}=a,{dtype:n,depth:o,onValue:p,offValue:l}=d,s=u.makeOutput([...r.shape,o],n),e=u.dataIdMap.get(s.dataId).id,m=u.dataIdMap.get(r.dataId).id;return Pu(m,o,p,l,e),s}var Kp={kernelName:i.OneHot,backendName:"wasm",setupFunc:Up,kernelFunc:qp};function Xp(t){const{inputs:{x:a},backend:u}=t,d=u.makeOutput(a.shape,a.dtype);return u.typedArrayFromHeap(d).fill(1),d}var Jp={kernelName:i.OnesLike,backendName:"wasm",kernelFunc:Xp};function Qp(t){const{inputs:a,backend:u,attrs:d}=t,{axis:r}=d;if(a.length===1)return qn({inputs:{input:a[0]},backend:u,attrs:{dim:r}});const n=a[0].shape,o=a[0].dtype;a.forEach(e=>{i.util.assertShapesMatch(n,e.shape,"All tensors passed to stack must have matching shapes"),i.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const p=[],l=a.map(e=>{const m=qn({inputs:{input:e},backend:u,attrs:{dim:r}});return p.push(m),m}),s=Vr({inputs:l,backend:u,attrs:{axis:r}});return p.forEach(e=>u.disposeData(e.dataId)),s}var Yp={kernelName:i.Pack,backendName:"wasm",kernelFunc:Qp},Eu;function Zp(t){Eu=t.wasm.cwrap(i.PadV2,null,["number","array","number","number","array","array","number","number"])}function jp(t){const{inputs:{x:a},backend:u,attrs:{paddings:d,constantValue:r}}=t,n=d.map((h,b)=>h[0]+a.shape[b]+h[1]);if(i.util.sizeFromShape(a.shape)===0)return su({backend:u,attrs:{shape:n,value:r,dtype:a.dtype}});const o=u.dataIdMap.get(a.dataId).id,p=u.makeOutput(n,a.dtype),l=u.dataIdMap.get(p.dataId).id,s=new Uint8Array(new Int32Array(a.shape).buffer),e=d.map(h=>h[0]),m=d.map(h=>h[1]),f=new Uint8Array(new Int32Array(e).buffer),g=new Uint8Array(new Int32Array(m).buffer);return Eu(o,s,a.shape.length,G[a.dtype],f,g,r,l),p}var Bu={kernelName:i.PadV2,backendName:"wasm",kernelFunc:jp,setupFunc:Zp},el=!1,nl=Y(i.Pow,el),Tu;function tl(t){Tu=t.wasm.cwrap(i.Prelu,null,["number","number","number"])}function al(t){const{inputs:a,backend:u}=t,{x:d,alpha:r}=a,n=u.dataIdMap.get(d.dataId).id,o=u.dataIdMap.get(r.dataId).id;let p=n;const l=d;let s=l;l.dtype!=="float32"&&(s=Se({backend:u,inputs:{x:d},attrs:{dtype:"float32"}}),p=u.dataIdMap.get(s.dataId).id);const e=u.makeOutput(d.shape,"float32"),m=u.dataIdMap.get(e.dataId).id;return Tu(p,o,m),l.dtype!=="float32"&&u.disposeData(s.dataId),e}var rl={kernelName:i.Prelu,backendName:"wasm",setupFunc:tl,kernelFunc:al},Ou;function ul(t){Ou=t.wasm.cwrap(i.Prod,null,["number","number","number","number"])}function il(t){const{backend:a,inputs:u,attrs:d}=t,{axis:r,keepDims:n}=d,{x:o}=u,p=a.dataIdMap.get(o.dataId).id;let l=p,s=o;const{transposed:e,axes:m,originalAxes:f,inputWasTransposed:g}=ke(o,r,a);let h=m;if(g){const M=a.dataIdMap.get(e.dataId).id;M!==p&&(s=e,l=M,h=i.backend_util.getInnerMostAxes(h.length,s.shape.length))}i.backend_util.assertAxesAreInnerMostDims("prod",h,s.shape.length);const[b,y]=i.backend_util.computeOutAndReduceShapes(s.shape,h),k=i.util.sizeFromShape(y),I=a.makeOutput(b,s.dtype);if(i.util.sizeFromShape(s.shape)!==0){const M=a.dataIdMap.get(I.dataId).id;Ou(l,k,G[I.dtype],M)}return g&&a.disposeData(e.dataId),n&&(I.shape=i.backend_util.expandShapeToKeepDim(I.shape,f)),I}var sl={kernelName:i.Prod,backendName:"wasm",setupFunc:ul,kernelFunc:il},dl=t=>{const{backend:a,attrs:u}=t,{start:d,stop:r,step:n,dtype:o}=u,p=vs(d,r,n,o),l=a.makeOutput([p.length],o);return a.typedArrayFromHeap(l).set(p),l},ol={kernelName:i.Range,backendName:"wasm",kernelFunc:dl},pl=!0,ll=Y(i.RealDiv,pl),cl=W(i.Reciprocal),ml=W(i.Relu),hl=W(i.Relu6),Wu;function gl(t){Wu=t.wasm.cwrap(i.ResizeBilinear,null,["number","number","number","number","number","number","number","number","number","number"])}function fl(t){const{backend:a,inputs:u,attrs:d}=t,{images:r}=u,{alignCorners:n,halfPixelCenters:o,size:p}=d,[l,s]=p,[e,m,f,g]=r.shape,h=[e,l,s,g];let b=a.dataIdMap.get(r.dataId),y;b.dtype!=="float32"&&(y=Se({backend:a,inputs:{x:r},attrs:{dtype:"float32"}}),b=a.dataIdMap.get(y.dataId));const k=b.id,I=a.makeOutput(h,"float32");if(i.util.sizeFromShape(r.shape)===0)return I;const M=a.dataIdMap.get(I.dataId).id;return Wu(k,e,m,f,g,l,s,n?1:0,o?1:0,M),y!=null&&a.disposeData(y.dataId),I}var bl={kernelName:i.ResizeBilinear,backendName:"wasm",setupFunc:gl,kernelFunc:fl},zu;function vl(t){zu=t.wasm.cwrap(i.ResizeBilinearGrad,null,["number","number","number","array","array","boolean"])}function yl(t){const{inputs:a,backend:u,attrs:d}=t,{images:r,dy:n}=a,{alignCorners:o}=d,p=u.makeOutput(r.shape,"float32");let l=u.dataIdMap.get(r.dataId),s;return l.dtype!=="float32"&&(s=Se({backend:u,inputs:{x:r},attrs:{dtype:"float32"}}),l=u.dataIdMap.get(s.dataId)),zu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(p.dataId).id,new Uint8Array(new Int32Array(r.shape).buffer),new Uint8Array(new Int32Array(n.shape).buffer),o),s!=null&&u.disposeData(s.dataId),p}var Il={kernelName:i.ResizeBilinearGrad,backendName:"wasm",setupFunc:vl,kernelFunc:yl},Hu;function kl(t){Hu=t.wasm.cwrap(i.ResizeNearestNeighbor,null,["number","number","number","number","number","number","number","number","number","number"])}function Sl(t){const{backend:a,inputs:u,attrs:d}=t,{images:r}=u,{alignCorners:n,halfPixelCenters:o,size:p}=d,[l,s]=p,[e,m,f,g]=r.shape,h=[e,l,s,g],b=a.makeOutput(h,"float32");if(i.util.sizeFromShape(r.shape)===0)return b;let y=a.dataIdMap.get(r.dataId),k;y.dtype!=="float32"&&(k=Se({backend:a,inputs:{x:r},attrs:{dtype:"float32"}}),y=a.dataIdMap.get(k.dataId));const I=y.id,M=a.dataIdMap.get(b.dataId).id;return Hu(I,e,m,f,g,l,s,n?1:0,o?1:0,M),k!=null&&a.disposeData(k.dataId),b}var Ml={kernelName:i.ResizeNearestNeighbor,backendName:"wasm",setupFunc:kl,kernelFunc:Sl},Lu;function Al(t){Lu=t.wasm.cwrap(i.ResizeNearestNeighborGrad,null,["number","number","number","array","array","boolean"])}function xl(t){const{inputs:a,backend:u,attrs:d}=t,{images:r,dy:n}=a,{alignCorners:o}=d,p=u.makeOutput(r.shape,"float32");let l=u.dataIdMap.get(r.dataId),s;return l.dtype!=="float32"&&(s=Se({backend:u,inputs:{x:r},attrs:{dtype:"float32"}}),l=u.dataIdMap.get(s.dataId)),Lu(u.dataIdMap.get(r.dataId).id,u.dataIdMap.get(n.dataId).id,u.dataIdMap.get(p.dataId).id,new Uint8Array(new Int32Array(r.shape).buffer),new Uint8Array(new Int32Array(n.shape).buffer),o),s!=null&&u.disposeData(s.dataId),p}var Dl={kernelName:i.ResizeNearestNeighborGrad,backendName:"wasm",setupFunc:Al,kernelFunc:xl},Gu;function wl(t){Gu=t.wasm.cwrap(i.Reverse,null,["number","array","number","array","number","number"])}function Fl(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{dims:n}=d,o=i.util.parseAxisParam(n,r.shape);if(r.shape.length===0)return on({inputs:{x:r},backend:u});const p=u.makeOutput(r.shape,r.dtype),l=u.dataIdMap.get(r.dataId).id,s=u.dataIdMap.get(p.dataId).id,e=new Uint8Array(new Int32Array(o).buffer),m=new Uint8Array(new Int32Array(r.shape).buffer);Gu(l,e,o.length,m,r.shape.length,s);const f=ue({inputs:{x:p},attrs:{shape:r.shape},backend:u});return u.disposeData(p.dataId),f}var Nl={kernelName:i.Reverse,backendName:"wasm",kernelFunc:Fl,setupFunc:wl},$u;function Cl(t){$u=t.wasm.cwrap(i.RotateWithOffset,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Rl(t){const{inputs:a,backend:u,attrs:d}=t,{image:r}=a,{radians:n,fillValue:o,center:p}=d,l=u.makeOutput(r.shape,r.dtype),s=u.dataIdMap.get(r.dataId).id,e=u.dataIdMap.get(l.dataId).id,[m,f,g,h]=r.shape,[b,y]=i.backend_util.getImageCenter(p,f,g),k=o===0,I=255,M=typeof o=="number"?[o,o,o,k?0:I]:[...o,I],D=new Uint8Array(new Int32Array(M).buffer);return $u(s,m,f,g,h,n,b,y,D,M.length,e),l}var _l={kernelName:i.RotateWithOffset,backendName:"wasm",kernelFunc:Rl,setupFunc:Cl},Pl=W(i.Round),El=W(i.Rsqrt),Vu;function Bl(t){Vu=t.wasm.cwrap(i.ScatterNd,null,["number","number","number","number","number","number","array","number","number"])}function Tl(t){const{backend:a,inputs:u,attrs:d}=t,{indices:r,updates:n}=u,{shape:o}=d,p=a.makeOutput(o,n.dtype);if(i.util.sizeFromShape(o)===0)return p;const{sliceRank:l,numUpdates:s,sliceSize:e,strides:m,outputSize:f}=i.scatter_util.calculateShapes(n,r,o),g=a.dataIdMap.get(r.dataId).id,h=a.dataIdMap.get(n.dataId).id,b=new Uint8Array(new Int32Array(m).buffer),y=a.dataIdMap.get(p.dataId).id;return Vu(g,h,G[n.dtype],l,s,e,b,f,y),p}var Ol={kernelName:i.ScatterNd,backendName:"wasm",setupFunc:Bl,kernelFunc:Tl},Uu;function Wl(t){Uu=t.wasm.cwrap(i.SearchSorted,null,["number","number","number","number","number","number","bool","number"])}function zl(t){const{inputs:a,backend:u,attrs:d}=t,{sortedSequence:r,values:n}=a,{side:o}=d;if(r.dtype!==n.dtype)throw new Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${r.dtype} and ${n.dtype}`);const p=u.makeOutput(n.shape,"int32");function l(s){return u.dataIdMap.get(s.dataId).id}return Uu(l(r),l(n),r.shape[0],r.shape[1],n.shape[1],G[r.dtype],o==="left",l(p)),p}var Hl={kernelName:i.SearchSorted,backendName:"wasm",setupFunc:Wl,kernelFunc:zl},qu;function Ll(t){qu=t.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function Gl(t){const{inputs:a,backend:u}=t,{condition:d,t:r,e:n}=a,o=u.dataIdMap.get(d.dataId).id,p=u.dataIdMap.get(r.dataId).id,l=u.dataIdMap.get(n.dataId).id,s=u.makeOutput(r.shape,r.dtype),e=u.dataIdMap.get(s.dataId).id,m=d.shape.length,f=r.shape.length,g=m===0||m>1||f===1?1:i.util.sizeFromShape(r.shape.slice(1));return qu(o,p,l,g,e),s}var $l={kernelName:i.Select,backendName:"wasm",kernelFunc:Gl,setupFunc:Ll},Vl=W(i.Selu),Ku;function Ul(t){Ku=t.wasm.cwrap(i.Sigmoid,null,["number","number"])}function ql(t){const{backend:a,inputs:{x:u}}=t,d=a.dataIdMap.get(u.dataId).id,r=a.makeOutput(u.shape,u.dtype),n=a.dataIdMap.get(r.dataId).id;return i.util.sizeFromShape(r.shape)===0||Ku(d,n),r}var Kl={kernelName:"Sigmoid",backendName:"wasm",setupFunc:Ul,kernelFunc:ql},Xl=W(i.Sign),Jl=W(i.Sin),Ql=W(i.Sinh),Yl=W(i.Softplus);function Zl(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,{blockShape:n,paddings:o}=d,p=i.util.sizeFromShape(n),l=[[0,0]];l.push(...o);for(let y=1+n.length;y<r.shape.length;++y)l.push([0,0]);const s=Bu.kernelFunc({inputs:{x:r},backend:u,attrs:{paddings:l,constantValue:0}}),e=i.backend_util.getReshaped(s.shape,n,p,!1),m=i.backend_util.getPermuted(e.length,n.length,!1),f=i.backend_util.getReshapedPermuted(s.shape,n,p,!1),g=ue({inputs:{x:s},backend:u,attrs:{shape:e}}),h=Ie({inputs:{x:g},backend:u,attrs:{perm:m}}),b=ue({inputs:{x:h},backend:u,attrs:{shape:f}});return u.disposeData(s.dataId),u.disposeData(g.dataId),u.disposeData(h.dataId),b}var jl={kernelName:i.SpaceToBatchND,backendName:"wasm",kernelFunc:Zl},Xu;function ec(t){Xu=t.wasm.cwrap("SparseFillEmptyRows","number",["number","number","number","number","number","number","number","number","number","number","number","number"])}function nc(t){const{backend:a,inputs:u}=t,{indices:d,values:r,denseShape:n,defaultValue:o}=u,p=d.shape[0],l=d.shape[1],s=a.readSync(n.dataId)[0],e=[p+s,l],m=a.dataIdMap.get(d.dataId).id,f=a.dataIdMap.get(r.dataId).id,g=a.dataIdMap.get(o.dataId).id,h=a.makeOutput(e,d.dtype),b=a.dataIdMap.get(h.dataId).id,y=a.makeOutput(e.slice(0,1),r.dtype),k=a.dataIdMap.get(y.dataId).id,I=a.makeOutput([s],"bool"),M=a.dataIdMap.get(I.dataId).id,D=a.makeOutput([p],d.dtype),F=a.dataIdMap.get(D.dataId).id,E=a.makeOutput([4],"int32"),O=a.dataIdMap.get(E.dataId).id,B=Xu(m,f,G[r.dtype],p,s,l,g,b,k,M,F,O),K=a.readSync(E.dataId);let X;switch(K[0]){case 1:X=i.backend_util.getSparseFillEmptyRowsIndicesDenseShapeMismatch(K[1]);break;case 2:X=i.backend_util.getSparseFillEmptyRowsNegativeIndexErrorMessage(K[1],K[2]);break;case 3:X=i.backend_util.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(K[1],K[2],K[3]);break;default:X=""}if(a.disposeData(E.dataId),X)throw a.disposeData(h.dataId),a.disposeData(y.dataId),a.disposeData(I.dataId),a.disposeData(D.dataId),new Error(X);let U=h,q=y;return B!==e[0]&&(U=De({inputs:{x:h},attrs:{begin:0,size:[B,l]},backend:a}),q=De({inputs:{x:y},attrs:{begin:0,size:B},backend:a}),a.disposeData(h.dataId),a.disposeData(y.dataId)),[U,q,I,D]}var tc={kernelName:i.SparseFillEmptyRows,backendName:"wasm",setupFunc:ec,kernelFunc:nc},Ju;function ac(t){Ju=t.wasm.cwrap(i.SparseReshape,null,["number","number","number","number","number","number","number"])}function rc(t){const{backend:a,inputs:u}=t,{inputIndices:d,inputShape:r,newShape:n}=u;if(d.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape
3
+ ${d.shape}`);if(r.shape.length!==1)throw new Error(`Input shape should be a vector but received shape
4
+ ${r.shape}`);if(n.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${n.shape}`);const o=a.dataIdMap.get(d.dataId).id,p=a.dataIdMap.get(r.dataId).id,l=a.dataIdMap.get(n.dataId).id,s=d.shape[0],e=i.util.sizeFromShape(n.shape),m=a.makeOutput([s,e],d.dtype),f=a.dataIdMap.get(m.dataId).id,g=a.makeOutput([e],n.dtype),h=a.dataIdMap.get(g.dataId).id,b=a.makeOutput([3],"int32"),y=a.dataIdMap.get(b.dataId).id;Ju(o,p,l,s,f,h,y);const k=a.readSync(b.dataId);let I;switch(k[0]){case 0:I=i.backend_util.getSparseReshapeMultipleNegativeOneOutputDimErrorMessage(k[1],k[2]);break;case 1:I=i.backend_util.getSparseReshapeNegativeOutputDimErrorMessage(k[1],k[2]);break;case 2:I=i.backend_util.getSparseReshapeEmptyTensorZeroOutputDimErrorMessage();break;case 3:{const M=Array.from(a.readSync(r.dataId)),D=Array.from(a.readSync(g.dataId));I=i.backend_util.getSparseReshapeInputOutputMultipleErrorMessage(M,D);break}case 4:{const M=Array.from(a.readSync(r.dataId)),D=Array.from(a.readSync(g.dataId));I=i.backend_util.getSparseReshapeInputOutputMismatchErrorMessage(M,D);break}default:I=""}if(a.disposeData(b.dataId),I)throw a.disposeData(m.dataId),a.disposeData(g.dataId),new Error(I);return[m,g]}var uc={kernelName:i.SparseReshape,backendName:"wasm",setupFunc:ac,kernelFunc:rc},Qu;function Yu(t){Qu=t.wasm.cwrap("SparseSegmentReduction",null,["number","number","number","number","number","number","number","number","number"])}function Zu(t,a){const{backend:u,inputs:d}=t,{data:r,indices:n,segmentIds:o}=d,p=n.shape[0],l=u.readSync(o.dataId,p-1,p)[0],s=p>0?l+1:0;if(s<0)throw new Error(i.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());const e=r.shape.slice();e[0]=s;const m=u.dataIdMap.get(r.dataId).id,f=u.dataIdMap.get(n.dataId).id,g=u.dataIdMap.get(o.dataId).id,h=u.makeOutput(e,r.dtype),b=u.dataIdMap.get(h.dataId).id,y=u.makeOutput([4],"int32"),k=u.dataIdMap.get(y.dataId).id;Qu(m,G[r.dtype],r.shape[0],f,g,b,k,a,0);const I=u.readSync(y.dataId);let M;switch(I[0]){case 0:M=i.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break;case 1:M=i.backend_util.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break;case 2:M=i.backend_util.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(I[1],I[2]);break;case 3:M=i.backend_util.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(I[1],I[2],I[3]);break;default:M=""}if(u.disposeData(y.dataId),M)throw u.disposeData(h.dataId),new Error(M);return h}function ic(t){return Zu(t,!0)}var sc={kernelName:i.SparseSegmentMean,backendName:"wasm",setupFunc:Yu,kernelFunc:ic};function dc(t){return Zu(t,!1)}var oc={kernelName:i.SparseSegmentSum,backendName:"wasm",setupFunc:Yu,kernelFunc:dc},ju;function pc(t){ju=t.wasm.cwrap(i.SparseToDense,null,["number","number","number","number","number","number","number","number","array","number","number"])}function lc(t){const{backend:a,inputs:u,attrs:d}=t,{sparseIndices:r,sparseValues:n,defaultValue:o}=u,{outputShape:p}=d,l=a.makeOutput(p,o.dtype);if(i.util.sizeFromShape(p)===0)return l;const{sliceRank:s,numUpdates:e,sliceSize:m,strides:f,outputSize:g}=i.backend_util.calculateShapes(n,r,p),h=a.dataIdMap.get(r.dataId).id,b=a.dataIdMap.get(n.dataId).id,y=a.dataIdMap.get(o.dataId).id,k=new Uint8Array(new Int32Array(f).buffer),I=a.dataIdMap.get(l.dataId).id;return ju(h,b,n.shape.length,y,G[o.dtype],s,e,m,k,g,I),l}var cc={kernelName:i.SparseToDense,backendName:"wasm",setupFunc:pc,kernelFunc:lc};function mc(t){const{inputs:a,attrs:u,backend:d}=t,{x:r}=a,{numOrSizeSplits:n,axis:o}=u,p=i.util.parseAxisParam(o,r.shape)[0],l=i.backend_util.prepareSplitSize(r,n,p),s=new Array(r.shape.length).fill(0),e=r.shape.slice();return l.map(m=>{const f=[...e];f[p]=m;const g=De({inputs:{x:r},attrs:{begin:s,size:f},backend:d});return s[p]+=m,g})}var hc={kernelName:i.SplitV,backendName:"wasm",kernelFunc:mc},gc=W(i.Sqrt),fc=W(i.Square),bc=!0,vc=Y(i.SquaredDifference,bc),ei;function yc(t){ei=t.wasm.cwrap(i.Step,null,["number","number","number","number"])}function Ic(t){const{backend:a,inputs:u,attrs:d}=t,{alpha:r}=d,{x:n}=u,o=a.dataIdMap.get(n.dataId).id,p=a.makeOutput(n.shape,n.dtype),l=a.dataIdMap.get(p.dataId).id;return ei(o,r,G[n.dtype],l),p}var kc={kernelName:i.Step,backendName:"wasm",setupFunc:yc,kernelFunc:Ic},ni;function Sc(t){ni=t.wasm.cwrap(i.StridedSlice,null,["number","array","number","array","array","array","array","array","number","number"])}function Mc(t){const{backend:a,inputs:u,attrs:d}=t,{x:r}=u,{begin:n,end:o,strides:p,beginMask:l,endMask:s,ellipsisMask:e,newAxisMask:m,shrinkAxisMask:f}=d,{finalShapeSparse:g,finalShape:h,isIdentity:b,sliceDim0:y,isSimpleSlice:k,begin:I,end:M,strides:D}=i.slice_util.sliceInfo(r.shape,n,o,p,l,s,e,m,f);let F;if(b)F=ue({inputs:{x:r},backend:a,attrs:{shape:h}});else if(y||k){i.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const E=i.slice_util.computeOutShape(I,M,D),O=De({inputs:{x:r},backend:a,attrs:{begin:I,size:E}});F=ue({inputs:{x:O},backend:a,attrs:{shape:h}}),a.disposeData(O.dataId)}else{const E=a.makeOutput(g,"float32"),O=a.dataIdMap.get(r.dataId).id,B=new Uint8Array(new Int32Array(i.util.computeStrides(r.shape)).buffer),K=new Uint8Array(new Int32Array(I).buffer),X=new Uint8Array(new Int32Array(M).buffer),U=new Uint8Array(new Int32Array(D).buffer),q=new Uint8Array(new Int32Array(g).buffer),Z=new Uint8Array(new Int32Array(i.util.computeStrides(g)).buffer),ie=a.dataIdMap.get(E.dataId).id;ni(O,B,r.shape.length,K,X,U,q,Z,g.length,ie),F=ue({inputs:{x:E},backend:a,attrs:{shape:h}}),a.disposeData(E.dataId)}return F}var Ac={kernelName:i.StridedSlice,backendName:"wasm",setupFunc:Sc,kernelFunc:Mc};function xc(t){const{backend:a,inputs:u,attrs:d}=t,{data:r,dataSplits:n}=u,{separator:o,nGramWidths:p,leftPad:l,rightPad:s,padWidth:e,preserveShortSequences:m}=d,f=a.readSync(r.dataId),g=a.readSync(n.dataId),[h,b]=Is(f,g,o,p,l,s,e,m),y=a.makeOutput([h.length],"string"),k=a.dataIdMap.get(y.dataId);k.stringBytes=h;const I=a.makeOutput(n.shape,"int32");return a.typedArrayFromHeap(I).set(b),[y,I]}var Dc={kernelName:i.StringNGrams,backendName:"wasm",kernelFunc:xc};function wc(t){const{backend:a,inputs:u,attrs:d}=t,{input:r,delimiter:n}=u,{skipEmpty:o}=d,p=a.readSync(r.dataId),l=a.readSync(n.dataId),[s,e,m]=Ss(p,l[0],o),f=e.length,g=a.makeOutput([f,2],"int32");a.typedArrayFromHeap(g).set(s);const h=a.makeOutput([f],"string"),b=a.dataIdMap.get(h.dataId);b.stringBytes=e;const y=a.makeOutput([2],"int32");return a.typedArrayFromHeap(y).set(m),[g,h,y]}var Fc={kernelName:i.StringSplit,backendName:"wasm",kernelFunc:wc};function Nc(t){const{backend:a,inputs:u,attrs:d}=t,{input:r}=u,{numBuckets:n}=d,o=a.readSync(r.dataId),p=Ms(o,n),l=a.makeOutput(r.shape,"int32");return a.typedArrayFromHeap(l).set(p),l}var Cc={kernelName:i.StringToHashBucketFast,backendName:"wasm",kernelFunc:Nc},Rc=!0,_c=Y(i.Sub,Rc),ti;function Pc(t){ti=t.wasm.cwrap(i.Sum,null,["number","number","number","number"])}function Ec(t){const{backend:a,inputs:u,attrs:d}=t,{axis:r,keepDims:n}=d,{x:o}=u,p=a.dataIdMap.get(o.dataId).id;let l=p,s=o;const{transposed:e,axes:m,originalAxes:f,inputWasTransposed:g}=ke(o,r,a);let h=m;if(g){const M=a.dataIdMap.get(e.dataId).id;M!==p&&(s=e,l=M,h=i.backend_util.getInnerMostAxes(h.length,s.shape.length))}i.backend_util.assertAxesAreInnerMostDims("sum",h,s.shape.length);const[b,y]=i.backend_util.computeOutAndReduceShapes(s.shape,h),k=i.util.sizeFromShape(y),I=a.makeOutput(b,s.dtype);if(i.util.sizeFromShape(s.shape)!==0){const M=a.dataIdMap.get(I.dataId).id;ti(l,k,G[I.dtype],M)}return g&&a.disposeData(e.dataId),n&&(I.shape=i.backend_util.expandShapeToKeepDim(I.shape,f)),I}var Bc={kernelName:i.Sum,backendName:"wasm",setupFunc:Pc,kernelFunc:Ec},Tc=W(i.Tan),Oc=W(i.Tanh),ai;function Wc(t){ai=t.wasm.cwrap(i.TensorScatterUpdate,null,["number","number","number","number","number","number","array","number","number","number"])}function zc(t){const{backend:a,inputs:u,attrs:d}=t,{tensor:r,indices:n,updates:o}=u,{}=d,p=a.makeOutput(r.shape,r.dtype);if(i.util.sizeFromShape(r.shape)===0)return p;const{sliceRank:l,numUpdates:s,sliceSize:e,strides:m,outputSize:f}=i.scatter_util.calculateShapes(o,n,r.shape),g=a.dataIdMap.get(n.dataId).id,h=a.dataIdMap.get(o.dataId).id,b=a.dataIdMap.get(r.dataId).id,y=new Uint8Array(new Int32Array(m).buffer),k=a.dataIdMap.get(p.dataId).id;return ai(g,h,G[o.dtype],l,s,e,y,f,k,b),p}var Hc={kernelName:i.TensorScatterUpdate,backendName:"wasm",setupFunc:Wc,kernelFunc:zc},ri;function Lc(t){ri=t.wasm.cwrap(i.Tile,null,["number","array","number","array","number","number"])}function Gc(t){const{inputs:a,backend:u,attrs:d}=t,{x:r}=a,n=u.dataIdMap.get(r.dataId).id,{reps:o}=d,p=new Array(r.shape.length);for(let f=0;f<p.length;f++)p[f]=r.shape[f]*o[f];const l=new Uint8Array(new Int32Array(r.shape).buffer),s=new Uint8Array(new Int32Array(p).buffer),e=u.makeOutput(p,r.dtype),m=u.dataIdMap.get(e.dataId).id;return ri(n,l,r.shape.length,s,p.length,G[e.dtype],m),e}var $c={kernelName:i.Tile,backendName:"wasm",setupFunc:Lc,kernelFunc:Gc},ui;function Vc(t){ui=t.wasm.cwrap(i.TopK,null,["number","array","number","number","number","bool","number","number"])}var Uc=({inputs:t,backend:a,attrs:u})=>{const{x:d}=t,{k:r,sorted:n}=u,o=a.dataIdMap.get(d.dataId).id,p=new Uint8Array(new Int32Array(d.shape).buffer),l=d.shape.slice();l[l.length-1]=r;const s=a.makeOutput(l,d.dtype),e=a.dataIdMap.get(s.dataId).id,m=a.makeOutput(l,"int32"),f=a.dataIdMap.get(m.dataId).id;return ui(o,p,d.shape.length,G[d.dtype],r,n,e,f),[s,m]},qc={kernelName:i.TopK,backendName:"wasm",setupFunc:Vc,kernelFunc:Uc},ii;function Kc(t){ii=t.wasm.cwrap(i.Transform,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function Xc(t){const{backend:a,inputs:u,attrs:d}=t,{image:r,transforms:n}=u,{interpolation:o,fillMode:p,fillValue:l,outputShape:s}=d,[e,m,f,g]=r.shape,[h,b]=s??[m,f],y=[e,h,b,g],k=new Uint8Array(new Int32Array(i.util.computeStrides(r.shape)).buffer),I=new Uint8Array(new Int32Array(i.util.computeStrides(y)).buffer),M=a.makeOutput(y,r.dtype),D=a.dataIdMap.get(M.dataId).id,F=a.dataIdMap.get(r.dataId).id,E=a.dataIdMap.get(n.dataId).id,O=o==="nearest"?1:2;let B;switch(p){case"constant":B=1;break;case"reflect":B=2;break;case"wrap":B=3;break;case"nearest":B=4;break;default:B=1}return ii(F,E,n.shape[0]>1,e,h,b,g,f,m,k,r.shape.length-1,I,y.length-1,O,B,l,D),M}var Jc={kernelName:i.Transform,backendName:"wasm",setupFunc:Kc,kernelFunc:Xc};function Qc(t){const{inputs:a,attrs:u,backend:d}=t,{axis:r}=u,{x:n}=a,{outputValues:o,outputShape:p,indices:l}=As(d.readSync(n.dataId),r,n.shape,n.dtype);return[d.makeOutput(p,n.dtype,void 0,o),d.makeOutput([l.length],"int32",void 0,l)]}var Yc={kernelName:i.Unique,backendName:"wasm",kernelFunc:Qc};function Zc(t){const{inputs:a,backend:u,attrs:d}=t,{value:r}=a;let{axis:n}=d;n<0&&(n+=r.shape.length);const o=r.shape[n],p=r.shape.length,l=new Array(p-1);let s=0;for(let g=0;g<p;g++)g!==n&&(l[s++]=r.shape[g]);const e=new Array(o),m=new Array(p).fill(0),f=r.shape.slice();f[n]=1;for(let g=0;g<e.length;g++)m[n]=g,e[g]=De({inputs:{x:r},attrs:{begin:m,size:f},backend:u});return e.map(({dataId:g,dtype:h})=>({dataId:g,dtype:h,shape:l}))}var jc={kernelName:i.Unpack,backendName:"wasm",kernelFunc:Zc};function em(t){const{inputs:{x:a},backend:u}=t,d=u.makeOutput(a.shape,a.dtype);return u.typedArrayFromHeap(d).fill(0),d}var nm={kernelName:i.ZerosLike,backendName:"wasm",kernelFunc:em},tm=[Fi,Ni,Ci,Ri,Pi,Ti,Vi,Ki,Xi,Ji,Qi,Yi,Zi,ji,es,as,cs,is,os,fs,Cs,Ps,Bs,Os,Ws,zs,Gs,$s,qs,Js,Zs,nd,rd,ud,id,od,cd,gd,vd,kd,Ad,wd,Cd,Pd,Td,Od,Hd,Gd,$d,Vd,Ud,qd,Kd,Qd,Yd,jd,to,uo,oo,co,go,bo,yo,Oi,Io,ko,So,xo,wo,No,_o,Eo,Po,To,Oo,zo,Lo,Vo,Ko,Qo,Zo,np,rp,sp,pp,mp,fp,yp,kp,Ap,Np,Cp,_p,Pp,Tp,zp,Gp,Vp,Kp,Jp,Yp,Bu,nl,rl,sl,ol,ll,cl,ml,hl,ms,bl,Il,Ml,Dl,Nl,_l,Pl,El,Ol,Hl,$l,Vl,Kl,Xl,Jl,Ql,Fs,Dp,Yl,jl,tc,uc,sc,oc,cc,hc,gc,fc,vc,kc,Ac,Dc,Fc,Cc,_c,Bc,Tc,Oc,Hc,$c,qc,Jc,Li,Yc,jc,nm];for(const t of tm)(0,i.registerKernel)(t);var Jn=(0,i.env)();Jn.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch{return!1}}),Jn.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Jn.get("IS_NODE"))return!1;try{return 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}});var we=dn(((t,a)=>{a.exports={}})),am=dn(((t,a)=>{var u=(()=>{var d=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(d=d||__filename),(function(r){r=r||{};function n(){return $.buffer!=de&&he($.buffer),fe}function o(){return $.buffer!=de&&he($.buffer),We}function p(){return $.buffer!=de&&he($.buffer),Me}function l(){return $.buffer!=de&&he($.buffer),ln}function s(){return $.buffer!=de&&he($.buffer),cn}var e=typeof r<"u"?r:{},m,f;e.ready=new Promise(function(c,v){m=c,f=v});var g;typeof process<"u"&&process.listeners&&(g={uncaughtException:process.listeners("uncaughtException"),unhandledRejection:process.listeners("unhandledRejection")});var h=Object.assign({},e),b=[],y=(c,v)=>{throw v},k=typeof window=="object",I=typeof importScripts=="function",M=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",D=e.ENVIRONMENT_IS_PTHREAD||!1,F="";function E(c){return e.locateFile?e.locateFile(c,F):F+c}var O,B,K;function X(c){c instanceof _e||Q("exiting due to exception: "+c)}if(M){var U=we(),q=we();I?F=q.dirname(F)+"/":F=__dirname+"/",O=(v,A)=>(v=He(v)?new URL(v):q.normalize(v),U.readFileSync(v,A?void 0:"utf8")),K=v=>{var A=O(v,!0);return A.buffer||(A=new Uint8Array(A)),A},B=(v,A,_)=>{v=He(v)?new URL(v):q.normalize(v),U.readFile(v,function(R,w){R?_(R):A(w.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),b=process.argv.slice(2),process.on("uncaughtException",function(v){if(!(v instanceof _e))throw v}),process.on("unhandledRejection",function(v){throw v}),y=(v,A)=>{if(ze())throw process.exitCode=v,A;X(A),process.exit(v)},e.inspect=function(){return"[Emscripten Module object]"};let c;try{c=we()}catch(v){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),v}global.Worker=c.Worker}else(k||I)&&(I?F=self.location.href:typeof document<"u"&&document.currentScript&&(F=document.currentScript.src),typeof d<"u"&&d&&(F=d),F.indexOf("blob:")!==0?F=F.substr(0,F.replace(/[?#].*/,"").lastIndexOf("/")+1):F="",M||(O=c=>{var v=new XMLHttpRequest;return v.open("GET",c,!1),v.send(null),v.responseText},I&&(K=c=>{var v=new XMLHttpRequest;return v.open("GET",c,!1),v.responseType="arraybuffer",v.send(null),new Uint8Array(v.response)}),B=(c,v,A)=>{var _=new XMLHttpRequest;_.open("GET",c,!0),_.responseType="arraybuffer",_.onload=()=>{if(_.status==200||_.status==0&&_.response){v(_.response);return}A()},_.onerror=A,_.send(null)}));M&&typeof performance>"u"&&(global.performance=we().performance);var Z=console.log.bind(console),ie=console.warn.bind(console);M&&(Z=c=>U.writeSync(1,c+`
5
+ `),ie=c=>U.writeSync(2,c+`
6
+ `));var le=e.print||Z,Q=e.printErr||ie;Object.assign(e,h),h=null,e.arguments&&(b=e.arguments),e.thisProgram&&e.thisProgram,e.quit&&(y=e.quit),Atomics.load,Atomics.store,Atomics.compareExchange;var j;e.wasmBinary&&(j=e.wasmBinary);var ge=e.noExitRuntime||!0;typeof WebAssembly!="object"&&Re("no native wasm support detected");var $,ce,me=!1,se;function ee(c,v){c||Re(v)}var Te=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Fe(c,v,A){v>>>=0;for(var _=v+A,R=v;c[R]&&!(R>=_);)++R;if(R-v>16&&c.buffer&&Te)return Te.decode(c.buffer instanceof SharedArrayBuffer?c.slice(v,R):c.subarray(v,R));for(var w="";v<R;){var C=c[v++];if(!(C&128)){w+=String.fromCharCode(C);continue}var T=c[v++]&63;if((C&224)==192){w+=String.fromCharCode((C&31)<<6|T);continue}var re=c[v++]&63;if((C&240)==224?C=(C&15)<<12|T<<6|re:C=(C&7)<<18|T<<12|re<<6|c[v++]&63,C<65536)w+=String.fromCharCode(C);else{var Ee=C-65536;w+=String.fromCharCode(55296|Ee>>10,56320|Ee&1023)}}return w}function Oe(c,v){return c>>>=0,c?Fe(o(),c,v):""}function Je(c,v,A,_){if(A>>>=0,!(_>0))return 0;for(var R=A,w=A+_-1,C=0;C<c.length;++C){var T=c.charCodeAt(C);if(T>=55296&&T<=57343){var re=c.charCodeAt(++C);T=65536+((T&1023)<<10)|re&1023}if(T<=127){if(A>=w)break;v[A++>>>0]=T}else if(T<=2047){if(A+1>=w)break;v[A++>>>0]=192|T>>6,v[A++>>>0]=128|T&63}else if(T<=65535){if(A+2>=w)break;v[A++>>>0]=224|T>>12,v[A++>>>0]=128|T>>6&63,v[A++>>>0]=128|T&63}else{if(A+3>=w)break;v[A++>>>0]=240|T>>18,v[A++>>>0]=128|T>>12&63,v[A++>>>0]=128|T>>6&63,v[A++>>>0]=128|T&63}}return v[A>>>0]=0,A-R}function Qe(c,v,A){return Je(c,o(),v,A)}var de,fe,We,Me,ln,cn;D&&(de=e.buffer);function he(c){de=c,e.HEAP8=fe=new Int8Array(c),e.HEAP16=new Int16Array(c),e.HEAP32=Me=new Int32Array(c),e.HEAPU8=We=new Uint8Array(c),e.HEAPU16=new Uint16Array(c),e.HEAPU32=ln=new Uint32Array(c),e.HEAPF32=new Float32Array(c),e.HEAPF64=cn=new Float64Array(c)}var mn=e.INITIAL_MEMORY||16777216;if(D)$=e.wasmMemory,de=e.buffer;else if(e.wasmMemory)$=e.wasmMemory;else if($=new WebAssembly.Memory({initial:mn/65536,maximum:65536,shared:!0}),!($.buffer instanceof SharedArrayBuffer))throw Q("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),M&&Q("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");$&&(de=$.buffer),mn=de.byteLength,he(de);var Ye,Ne=[],ne=[],Ze=[];function ze(){return ge}function Zn(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)jn(e.preRun.shift());nn(Ne)}function hn(){D||nn(ne)}function je(){if(!D){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)et(e.postRun.shift());nn(Ze)}}function jn(c){Ne.unshift(c)}function gn(c){ne.unshift(c)}function et(c){Ze.unshift(c)}var be=0,en=null,Ce=null;function fn(c){be++,e.monitorRunDependencies&&e.monitorRunDependencies(be)}function nt(c){if(be--,e.monitorRunDependencies&&e.monitorRunDependencies(be),be==0&&(en!==null&&(clearInterval(en),en=null),Ce)){var v=Ce;Ce=null,v()}}function Re(c){e.onAbort&&e.onAbort(c),c="Aborted("+c+")",Q(c),me=!0,se=1,c+=". Build with -sASSERTIONS for more info.";var v=new WebAssembly.RuntimeError(c);throw f(v),v}var tt="data:application/octet-stream;base64,";function bn(c){return c.startsWith(tt)}function He(c){return c.startsWith("file://")}var te="tfjs-backend-wasm-threaded-simd.wasm";bn(te)||(te=E(te));function vn(c){try{if(c==te&&j)return new Uint8Array(j);if(K)return K(c);throw"both async and sync fetching of the wasm failed"}catch(v){Re(v)}}function at(){if(!j&&(k||I)){if(typeof fetch=="function"&&!He(te))return fetch(te,{credentials:"same-origin"}).then(function(c){if(!c.ok)throw"failed to load wasm binary file at '"+te+"'";return c.arrayBuffer()}).catch(function(){return vn(te)});if(B)return new Promise(function(c,v){B(te,function(A){c(new Uint8Array(A))},v)})}return Promise.resolve().then(function(){return vn(te)})}function rt(){var c={env:Pn,wasi_snapshot_preview1:Pn};function v(w,C){if(e.asm=w.exports,ct(e.asm._emscripten_tls_init),Ye=e.asm.__indirect_function_table,gn(e.asm.__wasm_call_ctors),ce=C,!D){var T=P.unusedWorkers.length;P.unusedWorkers.forEach(function(re){P.loadWasmModuleToWorker(re,function(){--T||nt("wasm-instantiate")})})}}D||fn("wasm-instantiate");function A(w){v(w.instance,w.module)}function _(w){return at().then(function(C){return WebAssembly.instantiate(C,c)}).then(function(C){return C}).then(w,function(C){Q("failed to asynchronously prepare wasm: "+C),Re(C)})}function R(){return!j&&typeof WebAssembly.instantiateStreaming=="function"&&!bn(te)&&!He(te)&&!M&&typeof fetch=="function"?fetch(te,{credentials:"same-origin"}).then(function(w){return WebAssembly.instantiateStreaming(w,c).then(A,function(C){return Q("wasm streaming compile failed: "+C),Q("falling back to ArrayBuffer instantiation"),_(A)})}):_(A)}if(e.instantiateWasm)try{return e.instantiateWasm(c,v)}catch(w){Q("Module.instantiateWasm callback failed with error: "+w),f(w)}return R().catch(f),{}}var yn={};function _e(c){this.name="ExitStatus",this.message="Program terminated with exit("+c+")",this.status=c}function ut(c){var v=P.pthreads[c];delete P.pthreads[c],v.terminate(),Ar(c),P.runningWorkers.splice(P.runningWorkers.indexOf(v),1),v.pthread_ptr=0}function it(c){P.pthreads[c].postMessage({cmd:"cancel"})}function In(c){var v=P.pthreads[c];ee(v),P.returnWorkerToPool(v)}function kn(c){var v=P.getNewWorker();if(!v)return 6;P.runningWorkers.push(v),P.pthreads[c.pthread_ptr]=v,v.pthread_ptr=c.pthread_ptr;var A={cmd:"run",start_routine:c.startRoutine,arg:c.arg,pthread_ptr:c.pthread_ptr};return v.runPthread=()=>{M&&v.ref(),v.postMessage(A,c.transferList),delete v.runPthread},v.loaded&&v.runPthread(),0}var Sn={varargs:void 0,get:function(){return Sn.varargs+=4,p()[Sn.varargs-4>>>2]},getStr:function(c){return Oe(c)}};function Mn(c){if(D)return Ae(1,1,c);se=c,ze()||(P.terminateAllThreads(),e.onExit&&e.onExit(c),me=!0),y(c,new _e(c))}function st(c,v){if(se=c,!v&&D)throw xn(c),"unwind";Mn(c)}var An=st;function dt(c){if(c instanceof _e||c=="unwind")return se;y(1,c)}var P={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){D?P.initWorker():P.initMainThread()},initMainThread:function(){for(var c=8;c--;)P.allocateUnusedWorker()},initWorker:function(){ge=!1},setExitStatus:function(c){se=c},terminateAllThreads:function(){for(var c of Object.values(P.pthreads))P.returnWorkerToPool(c);for(var c of P.unusedWorkers)c.terminate();P.unusedWorkers=[]},returnWorkerToPool:function(c){var v=c.pthread_ptr;delete P.pthreads[v],P.unusedWorkers.push(c),P.runningWorkers.splice(P.runningWorkers.indexOf(c),1),c.pthread_ptr=0,M&&c.unref(),Ar(v)},receiveObjectTransfer:function(c){},threadInitTLS:function(){P.tlsInitFunctions.forEach(c=>c())},loadWasmModuleToWorker:function(c,v){c.onmessage=R=>{var w=R.data,C=w.cmd;if(c.pthread_ptr&&(P.currentProxiedOperationCallerThread=c.pthread_ptr),w.targetThread&&w.targetThread!=zn()){var T=P.pthreads[w.targetThread];T?T.postMessage(w,w.transferList):Q('Internal error! Worker sent a message "'+C+'" to target pthread '+w.targetThread+", but that thread no longer exists!"),P.currentProxiedOperationCallerThread=void 0;return}C==="processProxyingQueue"?tn(w.queue):C==="spawnThread"?kn(w):C==="cleanupThread"?In(w.thread):C==="killThread"?ut(w.thread):C==="cancelThread"?it(w.thread):C==="loaded"?(c.loaded=!0,M&&c.unref(),v&&v(c),c.runPthread&&c.runPthread()):C==="print"?le("Thread "+w.threadId+": "+w.text):C==="printErr"?Q("Thread "+w.threadId+": "+w.text):C==="alert"?alert("Thread "+w.threadId+": "+w.text):w.target==="setimmediate"?c.postMessage(w):C==="callHandler"?e[w.handler](...w.args):C&&Q("worker sent an unknown command "+C),P.currentProxiedOperationCallerThread=void 0},c.onerror=R=>{throw Q("worker sent an error! "+R.filename+":"+R.lineno+": "+R.message),R},M&&(c.on("message",function(R){c.onmessage({data:R})}),c.on("error",function(R){c.onerror(R)}),c.on("detachedExit",function(){}));var A=[];for(var _ of["onExit","onAbort","print","printErr"])e.hasOwnProperty(_)&&A.push(_);c.postMessage({cmd:"load",handlers:A,urlOrBlob:e.mainScriptUrlOrBlob||d,wasmMemory:$,wasmModule:ce})},allocateUnusedWorker:function(){var c,v=E("tfjs-backend-wasm-threaded-simd.worker.js");c=new Worker(v),P.unusedWorkers.push(c)},getNewWorker:function(){return P.unusedWorkers.length==0&&(P.allocateUnusedWorker(),P.loadWasmModuleToWorker(P.unusedWorkers[0])),P.unusedWorkers.pop()}};e.PThread=P;function nn(c){for(;c.length>0;)c.shift()(e)}function ot(){var c=zn(),v=p()[c+52>>>2],A=v-p()[c+56>>>2];bi(v,A),Hn(v)}e.establishStackSpace=ot;function xn(c){if(D)return Ae(2,0,c);try{An(c)}catch(v){dt(v)}}var Le=[];function pt(c){var v=Le[c];return v||(c>=Le.length&&(Le.length=c+1),Le[c]=v=Ye.get(c)),v}function lt(c,v){var A=pt(c)(v);ze()?P.setExitStatus(A):fi(A)}e.invokeEntryPoint=lt;function ct(c){P.tlsInitFunctions.push(c)}function mt(c){mi(c,!I,1,!k),P.threadInitTLS()}function ht(c){D?postMessage({cmd:"cleanupThread",thread:c}):In(c)}function Dn(c,v,A,_){return D?Ae(3,1,c,v,A,_):wn(c,v,A,_)}function wn(c,v,A,_){if(typeof SharedArrayBuffer>"u")return Q("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var R=[],w=0;if(D&&(R.length===0||w))return Dn(c,v,A,_);if(w)return w;var C={startRoutine:A,pthread_ptr:c,arg:_,transferList:R};return D?(C.cmd="spawnThread",postMessage(C,R),0):kn(C)}function gt(){return 65536}var ft=!0;function bt(){return ft}function tn(c){Atomics.store(p(),c>>2,1),zn()&&gi(c),Atomics.compareExchange(p(),c>>2,1,0)}e.executeNotifiedProxyingQueue=tn;function vt(c,v,A,_){if(c==v)setTimeout(()=>tn(_));else if(D)postMessage({targetThread:c,cmd:"processProxyingQueue",queue:_});else{var R=P.pthreads[c];if(!R)return;R.postMessage({cmd:"processProxyingQueue",queue:_})}return 1}function yt(c,v,A){return-1}function It(){Re("")}function Pe(c){Pe.shown||(Pe.shown={}),Pe.shown[c]||(Pe.shown[c]=1,M&&(c="warning: "+c),Q(c))}function kt(){M||I||Pe("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function St(){return Date.now()}function Fn(){return 4294901760}function Mt(){return Fn()}var an;M?an=()=>{var c=process.hrtime();return c[0]*1e3+c[1]/1e6}:an=()=>performance.timeOrigin+performance.now();function At(c,v,A){o().copyWithin(c>>>0,v>>>0,v+A>>>0)}function xt(){return M?we().cpus().length:navigator.hardwareConcurrency}function Dt(c){var v=xr(),A=c();return Hn(v),A}function Ae(c,v){var A=arguments.length-2,_=arguments;return Dt(()=>{for(var R=A,w=Ln(R*8),C=w>>3,T=0;T<A;T++){var re=_[2+T];s()[C+T>>>0]=re}return hi(c,R,w,v)})}var rn=[];function wt(c,v,A){rn.length=v;for(var _=A>>3,R=0;R<v;R++)rn[R]=s()[_+R>>>0];return(c<0?yn[-c-1]:Tt[c]).apply(null,rn)}function Ft(c){try{return $.grow(c-de.byteLength+65535>>>16),he($.buffer),1}catch{}}function Nt(c){var v=o().length;if(c=c>>>0,c<=v)return!1;var A=Fn();if(c>A)return!1;let _=(C,T)=>C+(T-C%T)%T;for(var R=1;R<=4;R*=2){var w=v*(1+.2/R);if(w=Math.min(w,c+100663296),Ft(Math.min(A,_(Math.max(c,w),65536))))return!0}return!1}function Ct(){throw"unwind"}function Nn(c){return D?Ae(4,1,c):52}function Cn(c,v,A,_,R){return D?Ae(5,1,c,v,A,_,R):70}var Rt=[null,[],[]];function _t(c,v){var A=Rt[c];v===0||v===10?((c===1?le:Q)(Fe(A,0)),A.length=0):A.push(v)}function Rn(c,v,A,_){if(D)return Ae(6,1,c,v,A,_);for(var R=0,w=0;w<A;w++){var C=l()[v>>>2],T=l()[v+4>>>2];v+=8;for(var re=0;re<T;re++)_t(c,o()[C+re>>>0]);R+=T}return l()[_>>>2]=R,0}function _n(c){return e["_"+c]}function Pt(c,v){n().set(c,v>>>0)}function Et(c,v,A,_,R){var w={string:pe=>{var Ue=0;if(pe!=null&&pe!==0){var Ii=(pe.length<<2)+1;Ue=Ln(Ii),Qe(pe,Ue,Ii)}return Ue},array:pe=>{var Ue=Ln(pe.length);return Pt(pe,Ue),Ue}};function C(pe){return v==="string"?Oe(pe):v==="boolean"?!!pe:pe}var T=_n(c),re=[],Ee=0;if(_)for(var Be=0;Be<_.length;Be++){var yi=w[A[Be]];yi?(Ee===0&&(Ee=xr()),re[Be]=yi(_[Be])):re[Be]=_[Be]}var Dr=T.apply(null,re);function eh(pe){return Ee!==0&&Hn(Ee),C(pe)}return Dr=eh(Dr),Dr}function Bt(c,v,A,_){A=A||[];var R=A.every(w=>w==="number"||w==="boolean");return v!=="string"&&R&&!_?_n(c):function(){return Et(c,v,A,arguments,_)}}P.init();var Tt=[null,Mn,xn,Dn,Nn,Cn,Rn],Pn={__emscripten_init_main_thread_js:mt,__emscripten_thread_cleanup:ht,__pthread_create_js:wn,_emscripten_default_pthread_stack_size:gt,_emscripten_get_now_is_monotonic:bt,_emscripten_notify_task_queue:vt,_emscripten_set_offscreencanvas_size:yt,abort:It,emscripten_check_blocking_allowed:kt,emscripten_date_now:St,emscripten_get_heap_max:Mt,emscripten_get_now:an,emscripten_memcpy_big:At,emscripten_num_logical_cores:xt,emscripten_receive_on_main_thread_js:wt,emscripten_resize_heap:Nt,emscripten_unwind_to_js_event_loop:Ct,exit:An,fd_close:Nn,fd_seek:Cn,fd_write:Rn,memory:$||e.wasmMemory};rt();var Ot=e.___wasm_call_ctors=function(){return(Ot=e.___wasm_call_ctors=e.asm.__wasm_call_ctors).apply(null,arguments)},Wt=e._init=function(){return(Wt=e._init=e.asm.init).apply(null,arguments)},zt=e._init_with_threads_count=function(){return(zt=e._init_with_threads_count=e.asm.init_with_threads_count).apply(null,arguments)},Ht=e._get_threads_count=function(){return(Ht=e._get_threads_count=e.asm.get_threads_count).apply(null,arguments)},Lt=e._register_tensor=function(){return(Lt=e._register_tensor=e.asm.register_tensor).apply(null,arguments)},Gt=e._dispose_data=function(){return(Gt=e._dispose_data=e.asm.dispose_data).apply(null,arguments)},$t=e._dispose=function(){return($t=e._dispose=e.asm.dispose).apply(null,arguments)},Vt=e._Abs=function(){return(Vt=e._Abs=e.asm.Abs).apply(null,arguments)},Ut=e._Acos=function(){return(Ut=e._Acos=e.asm.Acos).apply(null,arguments)},qt=e._Acosh=function(){return(qt=e._Acosh=e.asm.Acosh).apply(null,arguments)},Kt=e._Add=function(){return(Kt=e._Add=e.asm.Add).apply(null,arguments)},Xt=e._AddN=function(){return(Xt=e._AddN=e.asm.AddN).apply(null,arguments)},Jt=e._All=function(){return(Jt=e._All=e.asm.All).apply(null,arguments)},Qt=e._Any=function(){return(Qt=e._Any=e.asm.Any).apply(null,arguments)},Yt=e._ArgMax=function(){return(Yt=e._ArgMax=e.asm.ArgMax).apply(null,arguments)},Zt=e._ArgMin=function(){return(Zt=e._ArgMin=e.asm.ArgMin).apply(null,arguments)},jt=e._Asin=function(){return(jt=e._Asin=e.asm.Asin).apply(null,arguments)},ea=e._Asinh=function(){return(ea=e._Asinh=e.asm.Asinh).apply(null,arguments)},na=e._Atan=function(){return(na=e._Atan=e.asm.Atan).apply(null,arguments)},ta=e._Atan2=function(){return(ta=e._Atan2=e.asm.Atan2).apply(null,arguments)},aa=e._Atanh=function(){return(aa=e._Atanh=e.asm.Atanh).apply(null,arguments)},ra=e._AvgPool=function(){return(ra=e._AvgPool=e.asm.AvgPool).apply(null,arguments)},ua=e._AvgPool3D=function(){return(ua=e._AvgPool3D=e.asm.AvgPool3D).apply(null,arguments)},ia=e._AvgPool3DGrad=function(){return(ia=e._AvgPool3DGrad=e.asm.AvgPool3DGrad).apply(null,arguments)},sa=e._AvgPoolGrad=function(){return(sa=e._AvgPoolGrad=e.asm.AvgPoolGrad).apply(null,arguments)},da=e._BatchMatMul=function(){return(da=e._BatchMatMul=e.asm.BatchMatMul).apply(null,arguments)},oa=e._Bincount=function(){return(oa=e._Bincount=e.asm.Bincount).apply(null,arguments)},pa=e._BitwiseAnd=function(){return(pa=e._BitwiseAnd=e.asm.BitwiseAnd).apply(null,arguments)},la=e._Ceil=function(){return(la=e._Ceil=e.asm.Ceil).apply(null,arguments)},ca=e._ClipByValue=function(){return(ca=e._ClipByValue=e.asm.ClipByValue).apply(null,arguments)},ma=e._Conv2D=function(){return(ma=e._Conv2D=e.asm.Conv2D).apply(null,arguments)},ha=e._Conv2DBackpropInput=function(){return(ha=e._Conv2DBackpropInput=e.asm.Conv2DBackpropInput).apply(null,arguments)},ga=e._Conv3D=function(){return(ga=e._Conv3D=e.asm.Conv3D).apply(null,arguments)},fa=e._Conv3DBackpropFilterV2=function(){return(fa=e._Conv3DBackpropFilterV2=e.asm.Conv3DBackpropFilterV2).apply(null,arguments)},ba=e._Conv3DBackpropInputV2=function(){return(ba=e._Conv3DBackpropInputV2=e.asm.Conv3DBackpropInputV2).apply(null,arguments)},va=e._Cos=function(){return(va=e._Cos=e.asm.Cos).apply(null,arguments)},ya=e._Cosh=function(){return(ya=e._Cosh=e.asm.Cosh).apply(null,arguments)},Ia=e._CropAndResize=function(){return(Ia=e._CropAndResize=e.asm.CropAndResize).apply(null,arguments)},ka=e._Cumprod=function(){return(ka=e._Cumprod=e.asm.Cumprod).apply(null,arguments)},Sa=e._Cumsum=function(){return(Sa=e._Cumsum=e.asm.Cumsum).apply(null,arguments)},Ma=e._DenseBincount=function(){return(Ma=e._DenseBincount=e.asm.DenseBincount).apply(null,arguments)},Aa=e._DepthToSpace=function(){return(Aa=e._DepthToSpace=e.asm.DepthToSpace).apply(null,arguments)},xa=e._DepthwiseConv2dNative=function(){return(xa=e._DepthwiseConv2dNative=e.asm.DepthwiseConv2dNative).apply(null,arguments)},Da=e._Diag=function(){return(Da=e._Diag=e.asm.Diag).apply(null,arguments)},wa=e._Dilation2D=function(){return(wa=e._Dilation2D=e.asm.Dilation2D).apply(null,arguments)},Fa=e._Dilation2DBackpropFilter=function(){return(Fa=e._Dilation2DBackpropFilter=e.asm.Dilation2DBackpropFilter).apply(null,arguments)},Na=e._Dilation2DBackpropInput=function(){return(Na=e._Dilation2DBackpropInput=e.asm.Dilation2DBackpropInput).apply(null,arguments)},Ca=e._Elu=function(){return(Ca=e._Elu=e.asm.Elu).apply(null,arguments)},Ra=e._EluGrad=function(){return(Ra=e._EluGrad=e.asm.EluGrad).apply(null,arguments)},_a=e._Equal=function(){return(_a=e._Equal=e.asm.Equal).apply(null,arguments)},Pa=e._Erf=function(){return(Pa=e._Erf=e.asm.Erf).apply(null,arguments)},Ea=e._Exp=function(){return(Ea=e._Exp=e.asm.Exp).apply(null,arguments)},Ba=e._Expm1=function(){return(Ba=e._Expm1=e.asm.Expm1).apply(null,arguments)},Ta=e._FlipLeftRight=function(){return(Ta=e._FlipLeftRight=e.asm.FlipLeftRight).apply(null,arguments)},Oa=e._Floor=function(){return(Oa=e._Floor=e.asm.Floor).apply(null,arguments)},Wa=e._FloorDiv=function(){return(Wa=e._FloorDiv=e.asm.FloorDiv).apply(null,arguments)},za=e._FusedBatchNorm=function(){return(za=e._FusedBatchNorm=e.asm.FusedBatchNorm).apply(null,arguments)},Ha=e._FusedConv2D=function(){return(Ha=e._FusedConv2D=e.asm.FusedConv2D).apply(null,arguments)},La=e._FusedDepthwiseConv2D=function(){return(La=e._FusedDepthwiseConv2D=e.asm.FusedDepthwiseConv2D).apply(null,arguments)},Ga=e._Gather=function(){return(Ga=e._Gather=e.asm.Gather).apply(null,arguments)},$a=e._GatherNd=function(){return($a=e._GatherNd=e.asm.GatherNd).apply(null,arguments)},Va=e._Greater=function(){return(Va=e._Greater=e.asm.Greater).apply(null,arguments)},Ua=e._GreaterEqual=function(){return(Ua=e._GreaterEqual=e.asm.GreaterEqual).apply(null,arguments)},qa=e._IsFinite=function(){return(qa=e._IsFinite=e.asm.IsFinite).apply(null,arguments)},Ka=e._IsInf=function(){return(Ka=e._IsInf=e.asm.IsInf).apply(null,arguments)},Xa=e._IsNan=function(){return(Xa=e._IsNan=e.asm.IsNan).apply(null,arguments)},Ja=e._LRN=function(){return(Ja=e._LRN=e.asm.LRN).apply(null,arguments)},Qa=e._LRNGrad=function(){return(Qa=e._LRNGrad=e.asm.LRNGrad).apply(null,arguments)},Ya=e._LeakyRelu=function(){return(Ya=e._LeakyRelu=e.asm.LeakyRelu).apply(null,arguments)},Za=e._Less=function(){return(Za=e._Less=e.asm.Less).apply(null,arguments)},ja=e._LessEqual=function(){return(ja=e._LessEqual=e.asm.LessEqual).apply(null,arguments)},er=e._LinSpace=function(){return(er=e._LinSpace=e.asm.LinSpace).apply(null,arguments)},nr=e._Log=function(){return(nr=e._Log=e.asm.Log).apply(null,arguments)},tr=e._Log1p=function(){return(tr=e._Log1p=e.asm.Log1p).apply(null,arguments)},ar=e._LogicalAnd=function(){return(ar=e._LogicalAnd=e.asm.LogicalAnd).apply(null,arguments)},rr=e._LogicalNot=function(){return(rr=e._LogicalNot=e.asm.LogicalNot).apply(null,arguments)},ur=e._LogicalOr=function(){return(ur=e._LogicalOr=e.asm.LogicalOr).apply(null,arguments)},ir=e._LogicalXor=function(){return(ir=e._LogicalXor=e.asm.LogicalXor).apply(null,arguments)},sr=e._Max=function(){return(sr=e._Max=e.asm.Max).apply(null,arguments)},dr=e._MaxPool=function(){return(dr=e._MaxPool=e.asm.MaxPool).apply(null,arguments)},or=e._MaxPool3D=function(){return(or=e._MaxPool3D=e.asm.MaxPool3D).apply(null,arguments)},pr=e._MaxPool3DGrad=function(){return(pr=e._MaxPool3DGrad=e.asm.MaxPool3DGrad).apply(null,arguments)},lr=e._MaxPoolGrad=function(){return(lr=e._MaxPoolGrad=e.asm.MaxPoolGrad).apply(null,arguments)},cr=e._MaxPoolWithArgmax=function(){return(cr=e._MaxPoolWithArgmax=e.asm.MaxPoolWithArgmax).apply(null,arguments)},mr=e._Maximum=function(){return(mr=e._Maximum=e.asm.Maximum).apply(null,arguments)},hr=e._Mean=function(){return(hr=e._Mean=e.asm.Mean).apply(null,arguments)},gr=e._Min=function(){return(gr=e._Min=e.asm.Min).apply(null,arguments)},fr=e._Minimum=function(){return(fr=e._Minimum=e.asm.Minimum).apply(null,arguments)},br=e._MirrorPad=function(){return(br=e._MirrorPad=e.asm.MirrorPad).apply(null,arguments)},vr=e._Mod=function(){return(vr=e._Mod=e.asm.Mod).apply(null,arguments)},yr=e._Multinomial=function(){return(yr=e._Multinomial=e.asm.Multinomial).apply(null,arguments)},En=e._Multiply=function(){return(En=e._Multiply=e.asm.Multiply).apply(null,arguments)},Bn=e._Neg=function(){return(Bn=e._Neg=e.asm.Neg).apply(null,arguments)},un=e._NonMaxSuppressionV3=function(){return(un=e._NonMaxSuppressionV3=e.asm.NonMaxSuppressionV3).apply(null,arguments)},Ir=e._NonMaxSuppressionV4=function(){return(Ir=e._NonMaxSuppressionV4=e.asm.NonMaxSuppressionV4).apply(null,arguments)},kr=e._NonMaxSuppressionV5=function(){return(kr=e._NonMaxSuppressionV5=e.asm.NonMaxSuppressionV5).apply(null,arguments)},Ge=e._NotEqual=function(){return(Ge=e._NotEqual=e.asm.NotEqual).apply(null,arguments)},Tn=e._OneHot=function(){return(Tn=e._OneHot=e.asm.OneHot).apply(null,arguments)},$e=e._PadV2=function(){return($e=e._PadV2=e.asm.PadV2).apply(null,arguments)},Ve=e._Pow=function(){return(Ve=e._Pow=e.asm.Pow).apply(null,arguments)},Sr=e._Prelu=function(){return(Sr=e._Prelu=e.asm.Prelu).apply(null,arguments)},S=e._Prod=function(){return(S=e._Prod=e.asm.Prod).apply(null,arguments)},x=e._RealDiv=function(){return(x=e._RealDiv=e.asm.RealDiv).apply(null,arguments)},N=e._Reciprocal=function(){return(N=e._Reciprocal=e.asm.Reciprocal).apply(null,arguments)},H=e._Relu=function(){return(H=e._Relu=e.asm.Relu).apply(null,arguments)},J=e._Relu6=function(){return(J=e._Relu6=e.asm.Relu6).apply(null,arguments)},L=e._ResizeBilinear=function(){return(L=e._ResizeBilinear=e.asm.ResizeBilinear).apply(null,arguments)},z=e._ResizeBilinearGrad=function(){return(z=e._ResizeBilinearGrad=e.asm.ResizeBilinearGrad).apply(null,arguments)},V=e._ResizeNearestNeighbor=function(){return(V=e._ResizeNearestNeighbor=e.asm.ResizeNearestNeighbor).apply(null,arguments)},oe=e._ResizeNearestNeighborGrad=function(){return(oe=e._ResizeNearestNeighborGrad=e.asm.ResizeNearestNeighborGrad).apply(null,arguments)},ve=e._Reverse=function(){return(ve=e._Reverse=e.asm.Reverse).apply(null,arguments)},ye=e._RotateWithOffset=function(){return(ye=e._RotateWithOffset=e.asm.RotateWithOffset).apply(null,arguments)},On=e._Round=function(){return(On=e._Round=e.asm.Round).apply(null,arguments)},sn=e._Rsqrt=function(){return(sn=e._Rsqrt=e.asm.Rsqrt).apply(null,arguments)},Mr=e._ScatterNd=function(){return(Mr=e._ScatterNd=e.asm.ScatterNd).apply(null,arguments)},ae=e._SearchSorted=function(){return(ae=e._SearchSorted=e.asm.SearchSorted).apply(null,arguments)},xe=e._SelectV2=function(){return(xe=e._SelectV2=e.asm.SelectV2).apply(null,arguments)},Wn=e._Selu=function(){return(Wn=e._Selu=e.asm.Selu).apply(null,arguments)},vm=e._Sigmoid=function(){return(vm=e._Sigmoid=e.asm.Sigmoid).apply(null,arguments)},ym=e._Sign=function(){return(ym=e._Sign=e.asm.Sign).apply(null,arguments)},Im=e._Sin=function(){return(Im=e._Sin=e.asm.Sin).apply(null,arguments)},km=e._Sinh=function(){return(km=e._Sinh=e.asm.Sinh).apply(null,arguments)},Sm=e._Softmax=function(){return(Sm=e._Softmax=e.asm.Softmax).apply(null,arguments)},Mm=e._Softplus=function(){return(Mm=e._Softplus=e.asm.Softplus).apply(null,arguments)},Am=e._SparseFillEmptyRows=function(){return(Am=e._SparseFillEmptyRows=e.asm.SparseFillEmptyRows).apply(null,arguments)},xm=e._SparseReshape=function(){return(xm=e._SparseReshape=e.asm.SparseReshape).apply(null,arguments)},Dm=e._SparseSegmentReduction=function(){return(Dm=e._SparseSegmentReduction=e.asm.SparseSegmentReduction).apply(null,arguments)},wm=e._SparseToDense=function(){return(wm=e._SparseToDense=e.asm.SparseToDense).apply(null,arguments)},Fm=e._Sqrt=function(){return(Fm=e._Sqrt=e.asm.Sqrt).apply(null,arguments)},Nm=e._Square=function(){return(Nm=e._Square=e.asm.Square).apply(null,arguments)},Cm=e._SquaredDifference=function(){return(Cm=e._SquaredDifference=e.asm.SquaredDifference).apply(null,arguments)},Rm=e._Step=function(){return(Rm=e._Step=e.asm.Step).apply(null,arguments)},_m=e._StridedSlice=function(){return(_m=e._StridedSlice=e.asm.StridedSlice).apply(null,arguments)},Pm=e._Sub=function(){return(Pm=e._Sub=e.asm.Sub).apply(null,arguments)},Em=e._Sum=function(){return(Em=e._Sum=e.asm.Sum).apply(null,arguments)},Bm=e._Tan=function(){return(Bm=e._Tan=e.asm.Tan).apply(null,arguments)},Tm=e._Tanh=function(){return(Tm=e._Tanh=e.asm.Tanh).apply(null,arguments)},Om=e._TensorScatterUpdate=function(){return(Om=e._TensorScatterUpdate=e.asm.TensorScatterUpdate).apply(null,arguments)},Wm=e._Tile=function(){return(Wm=e._Tile=e.asm.Tile).apply(null,arguments)},zm=e._TopK=function(){return(zm=e._TopK=e.asm.TopK).apply(null,arguments)},Hm=e._Transform=function(){return(Hm=e._Transform=e.asm.Transform).apply(null,arguments)},Lm=e._Transpose=function(){return(Lm=e._Transpose=e.asm.Transpose).apply(null,arguments)},Gm=e.__FusedMatMul=function(){return(Gm=e.__FusedMatMul=e.asm._FusedMatMul).apply(null,arguments)},$m=e._malloc=function(){return($m=e._malloc=e.asm.malloc).apply(null,arguments)},Vm=e._free=function(){return(Vm=e._free=e.asm.free).apply(null,arguments)},Um=e.__emscripten_tls_init=function(){return(Um=e.__emscripten_tls_init=e.asm._emscripten_tls_init).apply(null,arguments)},zn=e._pthread_self=function(){return(zn=e._pthread_self=e.asm.pthread_self).apply(null,arguments)},qm=e.___errno_location=function(){return(qm=e.___errno_location=e.asm.__errno_location).apply(null,arguments)},mi=e.__emscripten_thread_init=function(){return(mi=e.__emscripten_thread_init=e.asm._emscripten_thread_init).apply(null,arguments)},Km=e.__emscripten_thread_crashed=function(){return(Km=e.__emscripten_thread_crashed=e.asm._emscripten_thread_crashed).apply(null,arguments)},Xm=e._emscripten_main_thread_process_queued_calls=function(){return(Xm=e._emscripten_main_thread_process_queued_calls=e.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Jm=e._emscripten_main_browser_thread_id=function(){return(Jm=e._emscripten_main_browser_thread_id=e.asm.emscripten_main_browser_thread_id).apply(null,arguments)},hi=e._emscripten_run_in_main_runtime_thread_js=function(){return(hi=e._emscripten_run_in_main_runtime_thread_js=e.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},Qm=e._emscripten_dispatch_to_thread_=function(){return(Qm=e._emscripten_dispatch_to_thread_=e.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},gi=e.__emscripten_proxy_execute_task_queue=function(){return(gi=e.__emscripten_proxy_execute_task_queue=e.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},Ar=e.__emscripten_thread_free_data=function(){return(Ar=e.__emscripten_thread_free_data=e.asm._emscripten_thread_free_data).apply(null,arguments)},fi=e.__emscripten_thread_exit=function(){return(fi=e.__emscripten_thread_exit=e.asm._emscripten_thread_exit).apply(null,arguments)},bi=e._emscripten_stack_set_limits=function(){return(bi=e._emscripten_stack_set_limits=e.asm.emscripten_stack_set_limits).apply(null,arguments)},xr=e.stackSave=function(){return(xr=e.stackSave=e.asm.stackSave).apply(null,arguments)},Hn=e.stackRestore=function(){return(Hn=e.stackRestore=e.asm.stackRestore).apply(null,arguments)},Ln=e.stackAlloc=function(){return(Ln=e.stackAlloc=e.asm.stackAlloc).apply(null,arguments)},Ym=e.dynCall_iijjiiii=function(){return(Ym=e.dynCall_iijjiiii=e.asm.dynCall_iijjiiii).apply(null,arguments)},Zm=e.dynCall_jiji=function(){return(Zm=e.dynCall_jiji=e.asm.dynCall_jiji).apply(null,arguments)};e.keepRuntimeAlive=ze,e.wasmMemory=$,e.cwrap=Bt,e.ExitStatus=_e,e.PThread=P;var Gn;Ce=function c(){Gn||vi(),Gn||(Ce=c)};function vi(c){if(c=c||b,be>0)return;if(D){m(e),hn(),startWorker(e);return}if(Zn(),be>0)return;function v(){Gn||(Gn=!0,e.calledRun=!0,!me&&(hn(),m(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),je()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),v()},1)):v()}if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();vi();var $n;g&&($n={uncaughtException:process.listeners("uncaughtException").filter(function(c){return!g.uncaughtException.indexOf(c)>-1}),unhandledRejection:process.listeners("unhandledRejection").filter(function(c){return!g.unhandledRejection.indexOf(c)>-1})});var Vn;if(typeof WasmBackendModule<"u")Vn=WasmBackendModule;else if(typeof r<"u")Vn=r;else throw new Error("Could not find wasm module in post.js");if($n){var jm=Vn._dispose;Vn._dispose=function(){jm(),$n.uncaughtException.forEach(function(c){process.removeListener("uncaughtException",c)}),$n.unhandledRejection.forEach(function(c){process.removeListener("unhandledRejection",c)})}}return r.ready})})();typeof t=="object"&&typeof a=="object"?a.exports=u:typeof define=="function"&&define.amd?define([],function(){return u}):typeof t=="object"&&(t.WasmBackendModuleThreadedSimd=u)})),rm=dn(((t,a)=>{a.exports.wasmWorkerContents=`"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"
7
+ ");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"})};self.onmessage=e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:"callHandler",handler:handler,args:[...arguments]})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module)}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}};`})),um=dn(((t,a)=>{var u=(()=>{var d=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(d=d||__filename),(function(r){r=r||{};var n=typeof r<"u"?r:{},o,p;n.ready=new Promise(function(S,x){o=S,p=x});var l;typeof process<"u"&&process.listeners&&(l={uncaughtException:process.listeners("uncaughtException"),unhandledRejection:process.listeners("unhandledRejection")});var s=Object.assign({},n),e=[],m=typeof window=="object",f=typeof importScripts=="function",g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",h="";function b(S){return n.locateFile?n.locateFile(S,h):h+S}var y,k,I;if(g){var M=we(),D=we();f?h=D.dirname(h)+"/":h=__dirname+"/",y=(S,x)=>(S=Ne(S)?new URL(S):D.normalize(S),M.readFileSync(S,x?void 0:"utf8")),I=S=>{var x=y(S,!0);return x.buffer||(x=new Uint8Array(x)),x},k=(S,x,N)=>{S=Ne(S)?new URL(S):D.normalize(S),M.readFile(S,function(H,J){H?N(H):x(J.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),e=process.argv.slice(2),process.on("uncaughtException",function(S){if(!(S instanceof hn))throw S}),process.on("unhandledRejection",function(S){throw S}),n.inspect=function(){return"[Emscripten Module object]"}}else(m||f)&&(f?h=self.location.href:typeof document<"u"&&document.currentScript&&(h=document.currentScript.src),d&&(h=d),h.indexOf("blob:")!==0?h=h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):h="",y=S=>{var x=new XMLHttpRequest;return x.open("GET",S,!1),x.send(null),x.responseText},f&&(I=S=>{var x=new XMLHttpRequest;return x.open("GET",S,!1),x.responseType="arraybuffer",x.send(null),new Uint8Array(x.response)}),k=(S,x,N)=>{var H=new XMLHttpRequest;H.open("GET",S,!0),H.responseType="arraybuffer",H.onload=()=>{if(H.status==200||H.status==0&&H.response){x(H.response);return}N()},H.onerror=N,H.send(null)});var F=n.print||console.log.bind(console),E=n.printErr||console.warn.bind(console);Object.assign(n,s),s=null,n.arguments&&(e=n.arguments),n.thisProgram&&n.thisProgram,n.quit&&n.quit;var O;n.wasmBinary&&(O=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!="object"&&he("no native wasm support detected");var B,K=!1,X=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function U(S,x,N){x>>>=0;for(var H=x+N,J=x;S[J]&&!(J>=H);)++J;if(J-x>16&&S.buffer&&X)return X.decode(S.subarray(x,J));for(var L="";x<J;){var z=S[x++];if(!(z&128)){L+=String.fromCharCode(z);continue}var V=S[x++]&63;if((z&224)==192){L+=String.fromCharCode((z&31)<<6|V);continue}var oe=S[x++]&63;if((z&240)==224?z=(z&15)<<12|V<<6|oe:z=(z&7)<<18|V<<12|oe<<6|S[x++]&63,z<65536)L+=String.fromCharCode(z);else{var ve=z-65536;L+=String.fromCharCode(55296|ve>>10,56320|ve&1023)}}return L}function q(S,x){return S>>>=0,S?U(j,S,x):""}function Z(S,x,N,H){if(N>>>=0,!(H>0))return 0;for(var J=N,L=N+H-1,z=0;z<S.length;++z){var V=S.charCodeAt(z);if(V>=55296&&V<=57343){var oe=S.charCodeAt(++z);V=65536+((V&1023)<<10)|oe&1023}if(V<=127){if(N>=L)break;x[N++>>>0]=V}else if(V<=2047){if(N+1>=L)break;x[N++>>>0]=192|V>>6,x[N++>>>0]=128|V&63}else if(V<=65535){if(N+2>=L)break;x[N++>>>0]=224|V>>12,x[N++>>>0]=128|V>>6&63,x[N++>>>0]=128|V&63}else{if(N+3>=L)break;x[N++>>>0]=240|V>>18,x[N++>>>0]=128|V>>12&63,x[N++>>>0]=128|V>>6&63,x[N++>>>0]=128|V&63}}return x[N>>>0]=0,N-J}function ie(S,x,N){return Z(S,j,x,N)}var le,Q,j,ge,$;function ce(S){le=S,n.HEAP8=Q=new Int8Array(S),n.HEAP16=new Int16Array(S),n.HEAP32=ge=new Int32Array(S),n.HEAPU8=j=new Uint8Array(S),n.HEAPU16=new Uint16Array(S),n.HEAPU32=$=new Uint32Array(S),n.HEAPF32=new Float32Array(S),n.HEAPF64=new Float64Array(S)}n.INITIAL_MEMORY;var me=[],se=[],ee=[];function Te(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Je(n.preRun.shift());je(me)}function Fe(){je(se)}function Oe(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)de(n.postRun.shift());je(ee)}function Je(S){me.unshift(S)}function Qe(S){se.unshift(S)}function de(S){ee.unshift(S)}var fe=0,We=null,Me=null;function ln(S){fe++,n.monitorRunDependencies&&n.monitorRunDependencies(fe)}function cn(S){if(fe--,n.monitorRunDependencies&&n.monitorRunDependencies(fe),fe==0&&(We!==null&&(clearInterval(We),We=null),Me)){var x=Me;Me=null,x()}}function he(S){n.onAbort&&n.onAbort(S),S="Aborted("+S+")",E(S),K=!0,S+=". Build with -sASSERTIONS for more info.";var x=new WebAssembly.RuntimeError(S);throw p(x),x}var mn="data:application/octet-stream;base64,";function Ye(S){return S.startsWith(mn)}function Ne(S){return S.startsWith("file://")}var ne="tfjs-backend-wasm.wasm";Ye(ne)||(ne=b(ne));function Ze(S){try{if(S==ne&&O)return new Uint8Array(O);if(I)return I(S);throw"both async and sync fetching of the wasm failed"}catch(x){he(x)}}function ze(){if(!O&&(m||f)){if(typeof fetch=="function"&&!Ne(ne))return fetch(ne,{credentials:"same-origin"}).then(function(S){if(!S.ok)throw"failed to load wasm binary file at '"+ne+"'";return S.arrayBuffer()}).catch(function(){return Ze(ne)});if(k)return new Promise(function(S,x){k(ne,function(N){S(new Uint8Array(N))},x)})}return Promise.resolve().then(function(){return Ze(ne)})}function Zn(){var S={env:yn,wasi_snapshot_preview1:yn};function x(L,z){n.asm=L.exports,B=n.asm.memory,ce(B.buffer),n.asm.__indirect_function_table,Qe(n.asm.__wasm_call_ctors),cn("wasm-instantiate")}ln("wasm-instantiate");function N(L){x(L.instance)}function H(L){return ze().then(function(z){return WebAssembly.instantiate(z,S)}).then(function(z){return z}).then(L,function(z){E("failed to asynchronously prepare wasm: "+z),he(z)})}function J(){return!O&&typeof WebAssembly.instantiateStreaming=="function"&&!Ye(ne)&&!Ne(ne)&&!g&&typeof fetch=="function"?fetch(ne,{credentials:"same-origin"}).then(function(L){return WebAssembly.instantiateStreaming(L,S).then(N,function(z){return E("wasm streaming compile failed: "+z),E("falling back to ArrayBuffer instantiation"),H(N)})}):H(N)}if(n.instantiateWasm)try{return n.instantiateWasm(S,x)}catch(L){E("Module.instantiateWasm callback failed with error: "+L),p(L)}return J().catch(p),{}}function hn(S){this.name="ExitStatus",this.message="Program terminated with exit("+S+")",this.status=S}function je(S){for(;S.length>0;)S.shift()(n)}function jn(){he("")}function gn(){return 4294901760}function et(){return gn()}function be(S,x,N){j.copyWithin(S>>>0,x>>>0,x+N>>>0)}function en(S){try{return B.grow(S-le.byteLength+65535>>>16),ce(B.buffer),1}catch{}}function Ce(S){var x=j.length;S=S>>>0;var N=gn();if(S>N)return!1;let H=(z,V)=>z+(V-z%V)%V;for(var J=1;J<=4;J*=2){var L=x*(1+.2/J);if(L=Math.min(L,S+100663296),en(Math.min(N,H(Math.max(S,L),65536))))return!0}return!1}var fn={varargs:void 0,get:function(){return fn.varargs+=4,ge[fn.varargs-4>>>2]},getStr:function(S){return q(S)}};function nt(S){return 52}function Re(S,x,N,H,J){return 70}var tt=[null,[],[]];function bn(S,x){var N=tt[S];x===0||x===10?((S===1?F:E)(U(N,0)),N.length=0):N.push(x)}function He(S,x,N,H){for(var J=0,L=0;L<N;L++){var z=$[x>>>2],V=$[x+4>>>2];x+=8;for(var oe=0;oe<V;oe++)bn(S,j[z+oe>>>0]);J+=V}return $[H>>>2]=J,0}function te(S){return n["_"+S]}function vn(S,x){Q.set(S,x>>>0)}function at(S,x,N,H,J){var L={string:ae=>{var xe=0;if(ae!=null&&ae!==0){var Wn=(ae.length<<2)+1;xe=un(Wn),ie(ae,xe,Wn)}return xe},array:ae=>{var xe=un(ae.length);return vn(ae,xe),xe}};function z(ae){return x==="string"?q(ae):x==="boolean"?!!ae:ae}var V=te(S),oe=[],ve=0;if(H)for(var ye=0;ye<H.length;ye++){var On=L[N[ye]];On?(ve===0&&(ve=En()),oe[ye]=On(H[ye])):oe[ye]=H[ye]}var sn=V.apply(null,oe);function Mr(ae){return ve!==0&&Bn(ve),z(ae)}return sn=Mr(sn),sn}function rt(S,x,N,H){N=N||[];var J=N.every(L=>L==="number"||L==="boolean");return x!=="string"&&J&&!H?te(S):function(){return at(S,x,N,arguments,H)}}var yn={abort:jn,emscripten_get_heap_max:et,emscripten_memcpy_big:be,emscripten_resize_heap:Ce,fd_close:nt,fd_seek:Re,fd_write:He};Zn();var _e=n.___wasm_call_ctors=function(){return(_e=n.___wasm_call_ctors=n.asm.__wasm_call_ctors).apply(null,arguments)},ut=n._init=function(){return(ut=n._init=n.asm.init).apply(null,arguments)},it=n._init_with_threads_count=function(){return(it=n._init_with_threads_count=n.asm.init_with_threads_count).apply(null,arguments)},In=n._get_threads_count=function(){return(In=n._get_threads_count=n.asm.get_threads_count).apply(null,arguments)},kn=n._register_tensor=function(){return(kn=n._register_tensor=n.asm.register_tensor).apply(null,arguments)},Sn=n._dispose_data=function(){return(Sn=n._dispose_data=n.asm.dispose_data).apply(null,arguments)},Mn=n._dispose=function(){return(Mn=n._dispose=n.asm.dispose).apply(null,arguments)},st=n._Abs=function(){return(st=n._Abs=n.asm.Abs).apply(null,arguments)},An=n._Acos=function(){return(An=n._Acos=n.asm.Acos).apply(null,arguments)},dt=n._Acosh=function(){return(dt=n._Acosh=n.asm.Acosh).apply(null,arguments)},P=n._Add=function(){return(P=n._Add=n.asm.Add).apply(null,arguments)},nn=n._AddN=function(){return(nn=n._AddN=n.asm.AddN).apply(null,arguments)},ot=n._All=function(){return(ot=n._All=n.asm.All).apply(null,arguments)},xn=n._Any=function(){return(xn=n._Any=n.asm.Any).apply(null,arguments)},Le=n._ArgMax=function(){return(Le=n._ArgMax=n.asm.ArgMax).apply(null,arguments)},pt=n._ArgMin=function(){return(pt=n._ArgMin=n.asm.ArgMin).apply(null,arguments)},lt=n._Asin=function(){return(lt=n._Asin=n.asm.Asin).apply(null,arguments)},ct=n._Asinh=function(){return(ct=n._Asinh=n.asm.Asinh).apply(null,arguments)},mt=n._Atan=function(){return(mt=n._Atan=n.asm.Atan).apply(null,arguments)},ht=n._Atan2=function(){return(ht=n._Atan2=n.asm.Atan2).apply(null,arguments)},Dn=n._Atanh=function(){return(Dn=n._Atanh=n.asm.Atanh).apply(null,arguments)},wn=n._AvgPool=function(){return(wn=n._AvgPool=n.asm.AvgPool).apply(null,arguments)},gt=n._AvgPool3D=function(){return(gt=n._AvgPool3D=n.asm.AvgPool3D).apply(null,arguments)},ft=n._AvgPool3DGrad=function(){return(ft=n._AvgPool3DGrad=n.asm.AvgPool3DGrad).apply(null,arguments)},bt=n._AvgPoolGrad=function(){return(bt=n._AvgPoolGrad=n.asm.AvgPoolGrad).apply(null,arguments)},tn=n._BatchMatMul=function(){return(tn=n._BatchMatMul=n.asm.BatchMatMul).apply(null,arguments)},vt=n._Bincount=function(){return(vt=n._Bincount=n.asm.Bincount).apply(null,arguments)},yt=n._BitwiseAnd=function(){return(yt=n._BitwiseAnd=n.asm.BitwiseAnd).apply(null,arguments)},It=n._Ceil=function(){return(It=n._Ceil=n.asm.Ceil).apply(null,arguments)},Pe=n._ClipByValue=function(){return(Pe=n._ClipByValue=n.asm.ClipByValue).apply(null,arguments)},kt=n._Conv2D=function(){return(kt=n._Conv2D=n.asm.Conv2D).apply(null,arguments)},St=n._Conv2DBackpropInput=function(){return(St=n._Conv2DBackpropInput=n.asm.Conv2DBackpropInput).apply(null,arguments)},Fn=n._Conv3D=function(){return(Fn=n._Conv3D=n.asm.Conv3D).apply(null,arguments)},Mt=n._Conv3DBackpropFilterV2=function(){return(Mt=n._Conv3DBackpropFilterV2=n.asm.Conv3DBackpropFilterV2).apply(null,arguments)},an=n._Conv3DBackpropInputV2=function(){return(an=n._Conv3DBackpropInputV2=n.asm.Conv3DBackpropInputV2).apply(null,arguments)},At=n._Cos=function(){return(At=n._Cos=n.asm.Cos).apply(null,arguments)},xt=n._Cosh=function(){return(xt=n._Cosh=n.asm.Cosh).apply(null,arguments)},Dt=n._CropAndResize=function(){return(Dt=n._CropAndResize=n.asm.CropAndResize).apply(null,arguments)},Ae=n._Cumprod=function(){return(Ae=n._Cumprod=n.asm.Cumprod).apply(null,arguments)},rn=n._Cumsum=function(){return(rn=n._Cumsum=n.asm.Cumsum).apply(null,arguments)},wt=n._DenseBincount=function(){return(wt=n._DenseBincount=n.asm.DenseBincount).apply(null,arguments)},Ft=n._DepthToSpace=function(){return(Ft=n._DepthToSpace=n.asm.DepthToSpace).apply(null,arguments)},Nt=n._DepthwiseConv2dNative=function(){return(Nt=n._DepthwiseConv2dNative=n.asm.DepthwiseConv2dNative).apply(null,arguments)},Ct=n._Diag=function(){return(Ct=n._Diag=n.asm.Diag).apply(null,arguments)},Nn=n._Dilation2D=function(){return(Nn=n._Dilation2D=n.asm.Dilation2D).apply(null,arguments)},Cn=n._Dilation2DBackpropFilter=function(){return(Cn=n._Dilation2DBackpropFilter=n.asm.Dilation2DBackpropFilter).apply(null,arguments)},Rt=n._Dilation2DBackpropInput=function(){return(Rt=n._Dilation2DBackpropInput=n.asm.Dilation2DBackpropInput).apply(null,arguments)},_t=n._Elu=function(){return(_t=n._Elu=n.asm.Elu).apply(null,arguments)},Rn=n._EluGrad=function(){return(Rn=n._EluGrad=n.asm.EluGrad).apply(null,arguments)},_n=n._Equal=function(){return(_n=n._Equal=n.asm.Equal).apply(null,arguments)},Pt=n._Erf=function(){return(Pt=n._Erf=n.asm.Erf).apply(null,arguments)},Et=n._Exp=function(){return(Et=n._Exp=n.asm.Exp).apply(null,arguments)},Bt=n._Expm1=function(){return(Bt=n._Expm1=n.asm.Expm1).apply(null,arguments)},Tt=n._FlipLeftRight=function(){return(Tt=n._FlipLeftRight=n.asm.FlipLeftRight).apply(null,arguments)},Pn=n._Floor=function(){return(Pn=n._Floor=n.asm.Floor).apply(null,arguments)},Ot=n._FloorDiv=function(){return(Ot=n._FloorDiv=n.asm.FloorDiv).apply(null,arguments)},Wt=n._FusedBatchNorm=function(){return(Wt=n._FusedBatchNorm=n.asm.FusedBatchNorm).apply(null,arguments)},zt=n._FusedConv2D=function(){return(zt=n._FusedConv2D=n.asm.FusedConv2D).apply(null,arguments)},Ht=n._FusedDepthwiseConv2D=function(){return(Ht=n._FusedDepthwiseConv2D=n.asm.FusedDepthwiseConv2D).apply(null,arguments)},Lt=n._Gather=function(){return(Lt=n._Gather=n.asm.Gather).apply(null,arguments)},Gt=n._GatherNd=function(){return(Gt=n._GatherNd=n.asm.GatherNd).apply(null,arguments)},$t=n._Greater=function(){return($t=n._Greater=n.asm.Greater).apply(null,arguments)},Vt=n._GreaterEqual=function(){return(Vt=n._GreaterEqual=n.asm.GreaterEqual).apply(null,arguments)},Ut=n._IsFinite=function(){return(Ut=n._IsFinite=n.asm.IsFinite).apply(null,arguments)},qt=n._IsInf=function(){return(qt=n._IsInf=n.asm.IsInf).apply(null,arguments)},Kt=n._IsNan=function(){return(Kt=n._IsNan=n.asm.IsNan).apply(null,arguments)},Xt=n._LRN=function(){return(Xt=n._LRN=n.asm.LRN).apply(null,arguments)},Jt=n._LRNGrad=function(){return(Jt=n._LRNGrad=n.asm.LRNGrad).apply(null,arguments)},Qt=n._LeakyRelu=function(){return(Qt=n._LeakyRelu=n.asm.LeakyRelu).apply(null,arguments)},Yt=n._Less=function(){return(Yt=n._Less=n.asm.Less).apply(null,arguments)},Zt=n._LessEqual=function(){return(Zt=n._LessEqual=n.asm.LessEqual).apply(null,arguments)},jt=n._LinSpace=function(){return(jt=n._LinSpace=n.asm.LinSpace).apply(null,arguments)},ea=n._Log=function(){return(ea=n._Log=n.asm.Log).apply(null,arguments)},na=n._Log1p=function(){return(na=n._Log1p=n.asm.Log1p).apply(null,arguments)},ta=n._LogicalAnd=function(){return(ta=n._LogicalAnd=n.asm.LogicalAnd).apply(null,arguments)},aa=n._LogicalNot=function(){return(aa=n._LogicalNot=n.asm.LogicalNot).apply(null,arguments)},ra=n._LogicalOr=function(){return(ra=n._LogicalOr=n.asm.LogicalOr).apply(null,arguments)},ua=n._LogicalXor=function(){return(ua=n._LogicalXor=n.asm.LogicalXor).apply(null,arguments)},ia=n._Max=function(){return(ia=n._Max=n.asm.Max).apply(null,arguments)},sa=n._MaxPool=function(){return(sa=n._MaxPool=n.asm.MaxPool).apply(null,arguments)},da=n._MaxPool3D=function(){return(da=n._MaxPool3D=n.asm.MaxPool3D).apply(null,arguments)},oa=n._MaxPool3DGrad=function(){return(oa=n._MaxPool3DGrad=n.asm.MaxPool3DGrad).apply(null,arguments)},pa=n._MaxPoolGrad=function(){return(pa=n._MaxPoolGrad=n.asm.MaxPoolGrad).apply(null,arguments)},la=n._MaxPoolWithArgmax=function(){return(la=n._MaxPoolWithArgmax=n.asm.MaxPoolWithArgmax).apply(null,arguments)},ca=n._Maximum=function(){return(ca=n._Maximum=n.asm.Maximum).apply(null,arguments)},ma=n._Mean=function(){return(ma=n._Mean=n.asm.Mean).apply(null,arguments)},ha=n._Min=function(){return(ha=n._Min=n.asm.Min).apply(null,arguments)},ga=n._Minimum=function(){return(ga=n._Minimum=n.asm.Minimum).apply(null,arguments)},fa=n._MirrorPad=function(){return(fa=n._MirrorPad=n.asm.MirrorPad).apply(null,arguments)},ba=n._Mod=function(){return(ba=n._Mod=n.asm.Mod).apply(null,arguments)},va=n._Multinomial=function(){return(va=n._Multinomial=n.asm.Multinomial).apply(null,arguments)},ya=n._Multiply=function(){return(ya=n._Multiply=n.asm.Multiply).apply(null,arguments)},Ia=n._Neg=function(){return(Ia=n._Neg=n.asm.Neg).apply(null,arguments)},ka=n._NonMaxSuppressionV3=function(){return(ka=n._NonMaxSuppressionV3=n.asm.NonMaxSuppressionV3).apply(null,arguments)},Sa=n._NonMaxSuppressionV4=function(){return(Sa=n._NonMaxSuppressionV4=n.asm.NonMaxSuppressionV4).apply(null,arguments)},Ma=n._NonMaxSuppressionV5=function(){return(Ma=n._NonMaxSuppressionV5=n.asm.NonMaxSuppressionV5).apply(null,arguments)},Aa=n._NotEqual=function(){return(Aa=n._NotEqual=n.asm.NotEqual).apply(null,arguments)},xa=n._OneHot=function(){return(xa=n._OneHot=n.asm.OneHot).apply(null,arguments)},Da=n._PadV2=function(){return(Da=n._PadV2=n.asm.PadV2).apply(null,arguments)},wa=n._Pow=function(){return(wa=n._Pow=n.asm.Pow).apply(null,arguments)},Fa=n._Prelu=function(){return(Fa=n._Prelu=n.asm.Prelu).apply(null,arguments)},Na=n._Prod=function(){return(Na=n._Prod=n.asm.Prod).apply(null,arguments)},Ca=n._RealDiv=function(){return(Ca=n._RealDiv=n.asm.RealDiv).apply(null,arguments)},Ra=n._Reciprocal=function(){return(Ra=n._Reciprocal=n.asm.Reciprocal).apply(null,arguments)},_a=n._Relu=function(){return(_a=n._Relu=n.asm.Relu).apply(null,arguments)},Pa=n._Relu6=function(){return(Pa=n._Relu6=n.asm.Relu6).apply(null,arguments)},Ea=n._ResizeBilinear=function(){return(Ea=n._ResizeBilinear=n.asm.ResizeBilinear).apply(null,arguments)},Ba=n._ResizeBilinearGrad=function(){return(Ba=n._ResizeBilinearGrad=n.asm.ResizeBilinearGrad).apply(null,arguments)},Ta=n._ResizeNearestNeighbor=function(){return(Ta=n._ResizeNearestNeighbor=n.asm.ResizeNearestNeighbor).apply(null,arguments)},Oa=n._ResizeNearestNeighborGrad=function(){return(Oa=n._ResizeNearestNeighborGrad=n.asm.ResizeNearestNeighborGrad).apply(null,arguments)},Wa=n._Reverse=function(){return(Wa=n._Reverse=n.asm.Reverse).apply(null,arguments)},za=n._RotateWithOffset=function(){return(za=n._RotateWithOffset=n.asm.RotateWithOffset).apply(null,arguments)},Ha=n._Round=function(){return(Ha=n._Round=n.asm.Round).apply(null,arguments)},La=n._Rsqrt=function(){return(La=n._Rsqrt=n.asm.Rsqrt).apply(null,arguments)},Ga=n._ScatterNd=function(){return(Ga=n._ScatterNd=n.asm.ScatterNd).apply(null,arguments)},$a=n._SearchSorted=function(){return($a=n._SearchSorted=n.asm.SearchSorted).apply(null,arguments)},Va=n._SelectV2=function(){return(Va=n._SelectV2=n.asm.SelectV2).apply(null,arguments)},Ua=n._Selu=function(){return(Ua=n._Selu=n.asm.Selu).apply(null,arguments)},qa=n._Sigmoid=function(){return(qa=n._Sigmoid=n.asm.Sigmoid).apply(null,arguments)},Ka=n._Sign=function(){return(Ka=n._Sign=n.asm.Sign).apply(null,arguments)},Xa=n._Sin=function(){return(Xa=n._Sin=n.asm.Sin).apply(null,arguments)},Ja=n._Sinh=function(){return(Ja=n._Sinh=n.asm.Sinh).apply(null,arguments)},Qa=n._Softmax=function(){return(Qa=n._Softmax=n.asm.Softmax).apply(null,arguments)},Ya=n._Softplus=function(){return(Ya=n._Softplus=n.asm.Softplus).apply(null,arguments)},Za=n._SparseFillEmptyRows=function(){return(Za=n._SparseFillEmptyRows=n.asm.SparseFillEmptyRows).apply(null,arguments)},ja=n._SparseReshape=function(){return(ja=n._SparseReshape=n.asm.SparseReshape).apply(null,arguments)},er=n._SparseSegmentReduction=function(){return(er=n._SparseSegmentReduction=n.asm.SparseSegmentReduction).apply(null,arguments)},nr=n._SparseToDense=function(){return(nr=n._SparseToDense=n.asm.SparseToDense).apply(null,arguments)},tr=n._Sqrt=function(){return(tr=n._Sqrt=n.asm.Sqrt).apply(null,arguments)},ar=n._Square=function(){return(ar=n._Square=n.asm.Square).apply(null,arguments)},rr=n._SquaredDifference=function(){return(rr=n._SquaredDifference=n.asm.SquaredDifference).apply(null,arguments)},ur=n._Step=function(){return(ur=n._Step=n.asm.Step).apply(null,arguments)},ir=n._StridedSlice=function(){return(ir=n._StridedSlice=n.asm.StridedSlice).apply(null,arguments)},sr=n._Sub=function(){return(sr=n._Sub=n.asm.Sub).apply(null,arguments)},dr=n._Sum=function(){return(dr=n._Sum=n.asm.Sum).apply(null,arguments)},or=n._Tan=function(){return(or=n._Tan=n.asm.Tan).apply(null,arguments)},pr=n._Tanh=function(){return(pr=n._Tanh=n.asm.Tanh).apply(null,arguments)},lr=n._TensorScatterUpdate=function(){return(lr=n._TensorScatterUpdate=n.asm.TensorScatterUpdate).apply(null,arguments)},cr=n._Tile=function(){return(cr=n._Tile=n.asm.Tile).apply(null,arguments)},mr=n._TopK=function(){return(mr=n._TopK=n.asm.TopK).apply(null,arguments)},hr=n._Transform=function(){return(hr=n._Transform=n.asm.Transform).apply(null,arguments)},gr=n._Transpose=function(){return(gr=n._Transpose=n.asm.Transpose).apply(null,arguments)},fr=n.__FusedMatMul=function(){return(fr=n.__FusedMatMul=n.asm._FusedMatMul).apply(null,arguments)},br=n._malloc=function(){return(br=n._malloc=n.asm.malloc).apply(null,arguments)},vr=n._free=function(){return(vr=n._free=n.asm.free).apply(null,arguments)},yr=n.___errno_location=function(){return(yr=n.___errno_location=n.asm.__errno_location).apply(null,arguments)},En=n.stackSave=function(){return(En=n.stackSave=n.asm.stackSave).apply(null,arguments)},Bn=n.stackRestore=function(){return(Bn=n.stackRestore=n.asm.stackRestore).apply(null,arguments)},un=n.stackAlloc=function(){return(un=n.stackAlloc=n.asm.stackAlloc).apply(null,arguments)},Ir=n.dynCall_iijjiiii=function(){return(Ir=n.dynCall_iijjiiii=n.asm.dynCall_iijjiiii).apply(null,arguments)},kr=n.dynCall_jiji=function(){return(kr=n.dynCall_jiji=n.asm.dynCall_jiji).apply(null,arguments)};n.cwrap=rt;var Ge;Me=function S(){Ge||Tn(),Ge||(Me=S)};function Tn(S){if(S=S||e,fe>0||(Te(),fe>0))return;function x(){Ge||(Ge=!0,n.calledRun=!0,!K&&(Fe(),o(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),Oe()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),x()},1)):x()}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();Tn();var $e;l&&($e={uncaughtException:process.listeners("uncaughtException").filter(function(S){return!l.uncaughtException.indexOf(S)>-1}),unhandledRejection:process.listeners("unhandledRejection").filter(function(S){return!l.unhandledRejection.indexOf(S)>-1})});var Ve;if(typeof r<"u")Ve=r;else if(typeof WasmBackendModuleThreadedSimd<"u")Ve=WasmBackendModuleThreadedSimd;else throw new Error("Could not find wasm module in post.js");if($e){var Sr=Ve._dispose;Ve._dispose=function(){Sr(),$e.uncaughtException.forEach(function(S){process.removeListener("uncaughtException",S)}),$e.unhandledRejection.forEach(function(S){process.removeListener("unhandledRejection",S)})}}return r.ready})})();typeof t=="object"&&typeof a=="object"?a.exports=u:typeof define=="function"&&define.amd?define([],function(){return u}):typeof t=="object"&&(t.WasmBackendModule=u)})),si=Nr(am()),im=rm(),di=Nr(um()),oi=si.default||si,sm=di.default||di,dm=class extends i.KernelBackend{constructor(t){super(),this.wasm=t,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(ci),Yn=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new i.DataStorage(this,(0,i.engine)())}write(t,a,u){const d={id:this.dataIdNextNumber++};return this.move(d,t,a,u,1),d}numDataIds(){return this.dataIdMap.numDataIds()}async time(t){const a=i.util.now();return t(),{kernelMs:i.util.now()-a}}move(t,a,u,d,r){const n=this.dataIdNextNumber++;if(d==="string"){const s=a;this.dataIdMap.set(t,{id:n,stringBytes:s,shape:u,dtype:d,memoryOffset:null,refCount:r});return}const o=i.util.sizeFromShape(u),p=o*i.util.bytesPerElement(d),l=this.wasm._malloc(p)>>>0;this.dataIdMap.set(t,{id:n,memoryOffset:l,shape:u,dtype:d,refCount:r}),this.wasm.tfjs.registerTensor(n,o,l),a!=null&&this.wasm.HEAPU8.set(new Uint8Array(a.buffer,a.byteOffset,p),l)}async read(t){return this.readSync(t)}readSync(t,a,u){const{memoryOffset:d,dtype:r,shape:n,stringBytes:o}=this.dataIdMap.get(t);if(r==="string")return(a==null||a===0)&&(u==null||u>=o.length)?o:o.slice(a,u);a=a||0,u=u||i.util.sizeFromShape(n);const p=i.util.bytesPerElement(r);return lm(this.wasm.HEAPU8.slice(d+a*p,d+u*p).buffer,r)}disposeData(t,a=!1){if(this.dataIdMap.has(t)){const u=this.dataIdMap.get(t);if(u.refCount--,!a&&u.refCount>0)return!1;this.wasm._free(u.memoryOffset),this.wasm.tfjs.disposeData(u.id),this.dataIdMap.delete(t)}return!0}refCount(t){return this.dataIdMap.has(t)?this.dataIdMap.get(t).refCount:0}incRef(t){const a=this.dataIdMap.get(t);a!=null&&a.refCount++}floatPrecision(){return 32}getMemoryOffset(t){return this.dataIdMap.get(t).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(t,a,u,d){let r;if(u==null)r=this.write(d??null,t,a);else{const n=this.dataIdNextNumber++;r={id:n},this.dataIdMap.set(r,{id:n,memoryOffset:u,shape:t,dtype:a,refCount:1});const o=i.util.sizeFromShape(t);this.wasm.tfjs.registerTensor(n,o,u)}return{dataId:r,shape:t,dtype:a}}typedArrayFromHeap({shape:t,dtype:a,dataId:u}){const d=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(u),n=i.util.sizeFromShape(t);switch(a){case"float32":return new Float32Array(d,r,n);case"int32":return new Int32Array(d,r,n);case"bool":return new Uint8Array(d,r,n);default:throw new Error(`Unknown dtype ${a}`)}}};function om(t){return(a,u)=>(i.util.fetch(t,{credentials:"same-origin"}).then(d=>{d.ok||a.env.a(`failed to load wasm binary file at '${t}'`),d.arrayBuffer().then(r=>{WebAssembly.instantiate(r,a).then(n=>{u(n.instance,n.module)})})}),{})}function pi(t,a,u){if(Qn!=null)return Qn;let d="tfjs-backend-wasm.wasm";return t&&a?d="tfjs-backend-wasm-threaded-simd.wasm":t&&(d="tfjs-backend-wasm-simd.wasm"),Xe!=null&&Xe[d]!=null?Xe[d]:u+d}async function pm(){const[t,a]=await Promise.all([(0,i.env)().getAsync("WASM_HAS_SIMD_SUPPORT"),(0,i.env)().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((u,d)=>{const r={};r.locateFile=(p,l)=>{if(p.endsWith(".worker.js")){const s=im.wasmWorkerContents.replace(/\n/g,"\\n"),e=new Blob([s],{type:"application/javascript"});return URL.createObjectURL(e)}return p.endsWith(".wasm")?pi(t,a,Ke??l):l+p},li&&(r.instantiateWasm=om(pi(t,a,Ke??"")));let n=!1;r.onAbort=()=>{n||pn||(pn=!0,d({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"}))};let o;a&&t&&Qn==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+oi.toString()],{type:"text/javascript"}),o=oi(r)):o=sm(r),o.then(p=>{n=!0,pn=!1;const l=null;p.tfjs={init:p.cwrap("init",null,[]),initWithThreadsCount:p.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:p.cwrap("get_threads_count","number",[]),registerTensor:p.cwrap("register_tensor",null,["number","number","number"]),disposeData:p.cwrap("dispose_data",l,["number"]),dispose:p.cwrap("dispose",l,[])},u({wasm:p})}).catch(d)})}function lm(t,a){switch(a){case"float32":return new Float32Array(t);case"int32":return new Int32Array(t);case"bool":return new Uint8Array(t);default:throw new Error(`Unknown dtype ${a}`)}}var cm=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],Qn=null,Ke=null,Xe={},pn=!1,li=!1;function mm(t,a=!1){if(pn)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof t=="string")Ke=t;else{Xe=t;const u=cm.filter(d=>Xe[d]==null);if(u.length>0)throw new Error(`There were no entries found for the following binaries: ${u.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}li=a}var ci=-1,Yn=-1;function hm(t){ci=t}function gm(){if(Yn===-1)throw new Error("WASM backend not initialized.");return Yn}var fm="4.22.0";(0,i.registerBackend)("wasm",async()=>{const{wasm:t}=await pm();return new dm(t)},2);var bm=globalThis;bm.tmBackendWasm=Object.freeze({version:fm,setWasmPaths:mm,setThreadsCount:hm,getThreadsCount:gm})})(tf);