Spaces:
Running
Running
Initial build: jina v5 omni cross-modal search demo on WebGPU
Browse files- .gitattributes +13 -0
- assets/index-3NibUn_u.js +0 -0
- assets/index-kAw59yxl.css +1 -0
- assets/ort-wasm-simd-threaded.asyncify-DMmc6YqF.wasm +3 -0
- assets/ort-wasm-simd-threaded.jsep-CyqnNavA.wasm +3 -0
- corpus/audio/drums.wav +3 -0
- corpus/audio/flute.wav +3 -0
- corpus/audio/guitar.wav +3 -0
- corpus/corpus.json +0 -0
- corpus/images/cello.jpg +3 -0
- corpus/images/drums.jpg +3 -0
- corpus/images/electric_guitar.jpg +3 -0
- corpus/images/flute.jpg +3 -0
- corpus/images/piano.jpg +3 -0
- corpus/images/saxophone.jpg +3 -0
- corpus/images/sitar.jpg +3 -0
- corpus/images/tabla.jpg +3 -0
- corpus/images/trumpet.jpg +3 -0
- corpus/images/violin.jpg +3 -0
- index.html +16 -17
- ort-wasm/ort-wasm-simd-threaded.asyncify.mjs +112 -0
- ort-wasm/ort-wasm-simd-threaded.asyncify.wasm +3 -0
- ort-wasm/ort-wasm-simd-threaded.jsep.mjs +106 -0
- ort-wasm/ort-wasm-simd-threaded.jsep.wasm +3 -0
- ort-wasm/ort-wasm-simd-threaded.jspi.mjs +107 -0
- ort-wasm/ort-wasm-simd-threaded.jspi.wasm +3 -0
- ort-wasm/ort-wasm-simd-threaded.mjs +59 -0
- ort-wasm/ort-wasm-simd-threaded.wasm +3 -0
- ort-wasm/ort.all.bundle.min.mjs +0 -0
- ort-wasm/ort.all.min.mjs +0 -0
- ort-wasm/ort.all.mjs +0 -0
- ort-wasm/ort.bundle.min.mjs +0 -0
- ort-wasm/ort.jspi.bundle.min.mjs +0 -0
- ort-wasm/ort.jspi.min.mjs +8 -0
- ort-wasm/ort.jspi.mjs +0 -0
- ort-wasm/ort.min.mjs +0 -0
- ort-wasm/ort.mjs +0 -0
- ort-wasm/ort.node.min.mjs +8 -0
- ort-wasm/ort.wasm.bundle.min.mjs +9 -0
- ort-wasm/ort.wasm.min.mjs +7 -0
- ort-wasm/ort.wasm.mjs +0 -0
- ort-wasm/ort.webgl.min.mjs +0 -0
- ort-wasm/ort.webgl.mjs +0 -0
- ort-wasm/ort.webgpu.bundle.min.mjs +0 -0
- ort-wasm/ort.webgpu.min.mjs +8 -0
- ort-wasm/ort.webgpu.mjs +0 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,16 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
corpus/audio/drums.wav filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
corpus/audio/flute.wav filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
corpus/audio/guitar.wav filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
corpus/images/cello.jpg filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
corpus/images/drums.jpg filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
corpus/images/electric_guitar.jpg filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
corpus/images/flute.jpg filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
corpus/images/piano.jpg filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
corpus/images/saxophone.jpg filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
corpus/images/sitar.jpg filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
corpus/images/tabla.jpg filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
corpus/images/trumpet.jpg filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
corpus/images/violin.jpg filter=lfs diff=lfs merge=lfs -text
|
assets/index-3NibUn_u.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/index-kAw59yxl.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgb(56 14 124 / .35),transparent 50%),radial-gradient(circle at 85% 90%,rgb(8 145 178 / .25),transparent 50%),#0a0a0a}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-24{height:6rem}.h-32{height:8rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-\[70vh\]{max-height:70vh}.max-h-\[90vh\]{max-height:90vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-28{width:7rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-2{row-gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-700\/60{border-color:#b4530999}.border-neutral-300{--tw-border-opacity: 1;border-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.border-neutral-800{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-neutral-900{--tw-border-opacity: 1;border-color:rgb(23 23 23 / var(--tw-border-opacity, 1))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.border-red-900{--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.border-sky-700\/60{border-color:#0369a199}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-neutral-100{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.bg-neutral-900\/40{background-color:#17171766}.bg-neutral-900\/60{background-color:#17171799}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-neutral-950\/40{background-color:#0a0a0a66}.bg-neutral-950\/60{background-color:#0a0a0a99}.bg-red-950\/40{background-color:#450a0a66}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-violet-400{--tw-gradient-to: #a78bfa var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,ui-monospace,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-neutral-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity, 1))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.text-neutral-300{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.decoration-neutral-700{text-decoration-color:#404040}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.hover\:border-neutral-500:hover{--tw-border-opacity: 1;border-color:rgb(115 115 115 / var(--tw-border-opacity, 1))}.hover\:border-neutral-600:hover{--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.hover\:border-neutral-700:hover{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-800:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-900\/70:hover{background-color:#171717b3}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-neutral-100:hover{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity, 1))}.hover\:text-neutral-200:hover{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.hover\:text-neutral-300:hover{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.hover\:text-neutral-400:hover{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.hover\:decoration-neutral-400:hover{text-decoration-color:#a3a3a3}.focus\:border-neutral-600:focus{--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:opacity-30:disabled{opacity:.3}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
assets/ort-wasm-simd-threaded.asyncify-DMmc6YqF.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e0c0c6d3e73d43b8a249972f8358f845b08cc16fec3c80efafdf8bed40366786
|
| 3 |
+
size 23567050
|
assets/ort-wasm-simd-threaded.jsep-CyqnNavA.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:411b39a77bb006ce0cf17b30c978c66a130ebb2ba39c8dfdbdc9c1c5a251ae76
|
| 3 |
+
size 26239907
|
corpus/audio/drums.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:267a42cf0baf17132bb685b03fde593afd283a279ddf608e9cae6b2233c232e4
|
| 3 |
+
size 1284894
|
corpus/audio/flute.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b8122335c50ce628318dbaebe25fbcbc79da147cdbb2258dffceb51857d7677d
|
| 3 |
+
size 29716558
|
corpus/audio/guitar.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:815976ebce49b84d2742bd1190b4ed8ccfa28217532364a4dd336f78bb58f721
|
| 3 |
+
size 4578560
|
corpus/corpus.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
corpus/images/cello.jpg
ADDED
|
Git LFS Details
|
corpus/images/drums.jpg
ADDED
|
Git LFS Details
|
corpus/images/electric_guitar.jpg
ADDED
|
Git LFS Details
|
corpus/images/flute.jpg
ADDED
|
Git LFS Details
|
corpus/images/piano.jpg
ADDED
|
Git LFS Details
|
corpus/images/saxophone.jpg
ADDED
|
Git LFS Details
|
corpus/images/sitar.jpg
ADDED
|
Git LFS Details
|
corpus/images/tabla.jpg
ADDED
|
Git LFS Details
|
corpus/images/trumpet.jpg
ADDED
|
Git LFS Details
|
corpus/images/violin.jpg
ADDED
|
Git LFS Details
|
index.html
CHANGED
|
@@ -1,19 +1,18 @@
|
|
| 1 |
<!doctype html>
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
</body>
|
| 19 |
</html>
|
|
|
|
| 1 |
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
| 6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 7 |
+
<title>Jina v5 Omni · WebGPU</title>
|
| 8 |
+
<meta
|
| 9 |
+
name="description"
|
| 10 |
+
content="In-browser multimodal search across text, images, audio, and video with jina-embeddings-v5-omni-nano. Runs entirely on WebGPU."
|
| 11 |
+
/>
|
| 12 |
+
<script type="module" crossorigin src="./assets/index-3NibUn_u.js"></script>
|
| 13 |
+
<link rel="stylesheet" crossorigin href="./assets/index-kAw59yxl.css">
|
| 14 |
+
</head>
|
| 15 |
+
<body class="bg-neutral-950 text-neutral-100 antialiased">
|
| 16 |
+
<div id="root"></div>
|
| 17 |
+
</body>
|
|
|
|
| 18 |
</html>
|
ort-wasm/ort-wasm-simd-threaded.asyncify.mjs
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var g=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,l=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=ba&&self.name?.startsWith("em-pthread");if(l){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;n=(ba=!ca.me)&&"em-pthread"==ca.workerData}g.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(g.Uc||(g.Uc=new Map)).set(a,b)};
|
| 2 |
+
g.unmountExternalData=()=>{delete g.Uc};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor;
|
| 3 |
+
let ea=()=>{const a=b=>(...c)=>{const d=q;c=b(...c);return q!=d?da():c};(b=>{for(const c of b)g[c]=a(g[c])})(["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"]);"undefined"!==typeof jsepRunAsync&&(g._OrtRun=jsepRunAsync(g._OrtRun),g._OrtRunWithBinding=jsepRunAsync(g._OrtRunWithBinding));ea=void 0};g.asyncInit=()=>{ea?.()};var fa="./this.program",ha=(a,b)=>{throw b;},ia=import.meta.url,ja="",ka,la;
|
| 4 |
+
if(l){var fs=require("fs");ia.startsWith("file:")&&(ja=require("path").dirname(require("url").fileURLToPath(ia))+"/");la=a=>{a=ma(a)?new URL(a):a;return fs.readFileSync(a)};ka=async a=>{a=ma(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(fa=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ha=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ja=(new URL(".",ia)).href}catch{}l||(ba&&(la=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 5 |
+
b.send(null);return new Uint8Array(b.response)}),ka=async a=>{if(ma(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var na=console.log.bind(console),oa=console.error.bind(console);
|
| 6 |
+
if(l){var pa=require("util"),qa=a=>"object"==typeof a?pa.inspect(a):a;na=(...a)=>fs.writeSync(1,a.map(qa).join(" ")+"\n");oa=(...a)=>fs.writeSync(2,a.map(qa).join(" ")+"\n")}var ra=na,t=oa,sa,ta,ua=!1,va,ma=a=>a.startsWith("file://");function u(){v.buffer!=w.buffer&&wa()}var xa,ya;
|
| 7 |
+
if(l&&n){var Aa=ca.parentPort;Aa.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>Aa.postMessage(a)});process.on("uncaughtException",a=>{postMessage({Oc:"uncaughtException",error:a});process.exit(1)})}var Ba;
|
| 8 |
+
if(n){var Ca=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var c=b.data,d=c.Oc;if("load"===d){let e=[];self.onmessage=f=>e.push(f);Ba=()=>{postMessage({Oc:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of c.ce)if(!g[f]||g[f].proxy)g[f]=(...h)=>{postMessage({Oc:"callHandler",be:f,args:h})},"print"==f&&(ra=g[f]),"printErr"==f&&(t=g[f]);v=c.ie;wa();ta=c.je;Da();Ea()}else if("run"===d){Fa(c.Nc);Ga(c.Nc,0,0,1,0,0);Ha();Ia(c.Nc);Ca||(Ja(),Ca=!0);try{Ka(c.ge,c.Wc)}catch(e){if("unwind"!=
|
| 9 |
+
e)throw e;}}else"setimmediate"!==c.target&&("checkMailbox"===d?Ca&&La():d&&(t(`worker: received unknown command ${d}`),t(c)))}catch(e){throw Ma(),e;}}self.onmessage=a}var w,x,Na,Oa,A,B,Pa,E,F,Qa,Ra=!1;function wa(){var a=v.buffer;g.HEAP8=w=new Int8Array(a);Na=new Int16Array(a);g.HEAPU8=x=new Uint8Array(a);Oa=new Uint16Array(a);g.HEAP32=A=new Int32Array(a);g.HEAPU32=B=new Uint32Array(a);Pa=new Float32Array(a);E=new Float64Array(a);F=new BigInt64Array(a);Qa=new BigUint64Array(a)}
|
| 10 |
+
function Sa(){Ra=!0;n?Ba():G._b()}function Ta(a){a="Aborted("+a+")";t(a);ua=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ya?.(a);throw a;}var Ua;async function Va(a){if(!sa)try{var b=await ka(a);return new Uint8Array(b)}catch{}if(a==Ua&&sa)a=new Uint8Array(sa);else if(la)a=la(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 11 |
+
async function Wa(a,b){try{var c=await Va(a);return await WebAssembly.instantiate(c,b)}catch(d){t(`failed to asynchronously prepare wasm: ${d}`),Ta(d)}}async function Xa(a){var b=Ua;if(!sa&&!ma(b)&&!l)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){t(`wasm streaming compile failed: ${d}`),t("falling back to ArrayBuffer instantiation")}return Wa(b,a)}
|
| 12 |
+
function Ya(){Za={f:$a,J:ab,k:bb,p:cb,l:db,sa:eb,b:fb,ca:gb,Ja:hb,q:ib,da:jb,Za:kb,Fa:lb,Ha:mb,_a:nb,Xa:ob,Qa:pb,Wa:qb,oa:rb,Ga:sb,Xb:tb,Ya:ub,Yb:vb,db:wb,Da:xb,Sb:zb,Qb:Ab,Ca:Cb,M:Db,I:Eb,Rb:Fb,ja:Gb,Tb:Hb,Ta:Ib,Vb:Jb,Ka:Kb,Ob:Lb,ka:Mb,Sa:Ia,ab:Nb,U:Ob,n:Pb,c:Qb,rb:Rb,w:Sb,L:Tb,z:Ub,j:Vb,o:Wb,sb:Xb,G:Yb,T:Zb,h:$b,u:ac,m:bc,i:cc,Na:dc,Oa:ec,Pa:fc,La:gc,Ma:hc,Pb:ic,eb:jc,cb:kc,Y:lc,qb:mc,la:nc,bb:oc,fb:pc,$a:qc,Wb:rc,N:sc,gb:tc,X:uc,Ub:vc,nb:wc,C:xc,ra:yc,qa:zc,pb:Ac,W:Bc,v:Cc,mb:Dc,lb:Ec,kb:Fc,ob:Gc,
|
| 13 |
+
jb:Hc,ib:Ic,hb:Jc,Ua:Kc,Va:Lc,Ia:Mc,V:Nc,na:Oc,Ra:Pc,ma:Qc,Cb:Rc,xa:Sc,Db:Tc,ya:Uc,F:Vc,e:Wc,s:Xc,x:Yc,B:Zc,Fb:$c,ba:ad,D:bd,za:cd,$:dd,ga:ed,Gb:fd,Hb:gd,Ba:hd,Aa:jd,Ib:kd,wa:ld,aa:md,d:nd,A:od,r:pd,Bb:qd,t:rd,y:sd,H:td,E:ud,K:vd,R:wd,ia:xd,_:yd,Jb:zd,Kb:Ad,g:Bd,a:v,Nb:Cd,Eb:Dd,ha:Ed,O:Fd,pa:Gd,Lb:Hd,ta:Id,Q:Jd,yb:Kd,zb:Ld,ua:Md,ea:Nd,P:Od,Ea:Pd,va:Qd,Z:Rd,wb:Sd,Zb:Td,S:Ud,Ab:Vd,tb:Wd,ub:Xd,vb:Yd,fa:Zd,xb:$d,Mb:ae};return{a:Za}}
|
| 14 |
+
async function Da(){function a(d,e){var f=G=d.exports;d={};for(let [h,k]of Object.entries(f))"function"==typeof k?(f=be(k),d[h]=f):d[h]=k;G=d;G=ce();de.push(G.id);d=G;ee=d.$b;Ja=d.ac;g._OrtInit=d.bc;g._OrtGetLastError=d.cc;g._OrtCreateSessionOptions=d.dc;g._OrtAppendExecutionProvider=d.ec;g._OrtAddFreeDimensionOverride=d.fc;g._OrtAddSessionConfigEntry=d.gc;g._OrtReleaseSessionOptions=d.hc;g._OrtCreateSession=d.ic;g._OrtReleaseSession=d.jc;g._OrtGetInputOutputCount=d.kc;g._OrtGetInputOutputMetadata=
|
| 15 |
+
d.lc;g._OrtFree=d.mc;g._OrtCreateTensor=d.nc;g._OrtGetTensorData=d.oc;g._OrtReleaseTensor=d.pc;g._OrtCreateRunOptions=d.qc;g._OrtAddRunConfigEntry=d.rc;g._OrtReleaseRunOptions=d.sc;g._OrtCreateBinding=d.tc;g._OrtBindInput=d.uc;g._OrtBindOutput=d.vc;g._OrtClearBoundOutputs=d.wc;g._OrtReleaseBinding=d.xc;g._OrtRunWithBinding=d.yc;g._OrtRun=d.zc;g._OrtEndProfiling=d.Ac;fe=g._OrtGetWebGpuDevice=d.Bc;ge=d.Cc;H=g._free=d.Dc;he=g._malloc=d.Ec;ie=g._wgpuBufferRelease=d.Fc;je=g._wgpuCreateInstance=d.Gc;ke=
|
| 16 |
+
d.Hc;le=d.Ic;me=d.Jc;ne=d.Kc;oe=d.Lc;pe=d.Pc;qe=d.Zc;re=d._c;se=d.$c;te=d.bd;ue=d.cd;ve=d.dd;we=d.ed;xe=d.fd;ye=d.gd;ze=d.hd;Ga=d.kd;Ma=d.ld;Ae=d.md;Be=d.nd;Ce=d.od;De=d.pd;Ee=d.qd;Fe=d.rd;I=d.sd;Ge=d.td;He=d.ud;J=d.vd;Ie=d.wd;K=d.xd;Je=d.yd;Ke=d.zd;Le=d.Ad;Me=d.Bd;dynCall_vii=d.Cd;Ne=d.Dd;dynCall_v=d.Ed;Oe=d.Fd;Pe=d.Gd;Qe=d.Hd;dynCall_iii=d.Id;Re=d.Jd;Se=d.Kd;Te=d.Ld;dynCall_vi=d.Md;Ue=d.Nd;Ve=d.Od;We=d.Pd;Xe=d.Qd;Ye=d.Rd;Ze=d.Td;$e=d.Ud;af=d.Vd;bf=d.Wd;cf=d.Yd;df=d.Zd;ef=d._d;ff=d.$d;gf=d.ae;hf=
|
| 17 |
+
d.oe;jf=d.pe;kf=d.qe;lf=d.re;mf=d.se;nf=d.te;of=d.ue;pf=d.ve;qf=d.we;rf=d.xe;sf=d.ye;tf=d.Ye;uf=d.Ze;vf=d._e;wf=d.$e;ta=e;return G}var b=Ya();if(g.instantiateWasm)return new Promise(d=>{g.instantiateWasm(b,(e,f)=>{d(a(e,f))})});if(n){var c=new WebAssembly.Instance(ta,Ya());return a(c,ta)}Ua??=g.locateFile?g.locateFile?g.locateFile("ort-wasm-simd-threaded.asyncify.wasm",ja):ja+"ort-wasm-simd-threaded.asyncify.wasm":(new URL("ort-wasm-simd-threaded.asyncify.wasm",import.meta.url)).href;return function(d){return a(d.instance,
|
| 18 |
+
d.module)}(await Xa(b))}class xf{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 19 |
+
var yf=a=>{a.terminate();a.onmessage=()=>{}},zf=[],Af=0,Bf=null,Hf=a=>{0==Cf.length&&(Df(),Ef(Cf[0]));var b=Cf.pop();if(!b)return 6;Ff.push(b);Gf[a.Nc]=b;b.Nc=a.Nc;var c={Oc:"run",ge:a.fe,Wc:a.Wc,Nc:a.Nc};l&&b.unref();b.postMessage(c,a.Yc);return 0},L=0,M=(a,b,...c)=>{var d=16*c.length,e=K(),f=Ie(d),h=f>>>3,k;for(k of c)"bigint"==typeof k?((u(),F)[h++>>>0]=1n,(u(),F)[h++>>>0]=k):((u(),F)[h++>>>0]=0n,(u(),E)[h++>>>0]=k);a=Ae(a,0,d,f,b);J(e);return a};
|
| 20 |
+
function Cd(a){if(n)return M(0,1,a);va=a;if(!(0<L)){for(var b of Ff)yf(b);for(b of Cf)yf(b);Cf=[];Ff=[];Gf={};ua=!0}ha(a,new xf(a))}function If(a){if(n)return M(1,0,a);Mc(a)}var Mc=a=>{va=a;if(n)throw If(a),"unwind";Cd(a)},Cf=[],Ff=[],de=[],Gf={};function Jf(){for(var a=g.numThreads-1;a--;)Df();zf.push(async()=>{var b=Kf();Af++;await b;Af--;0==Af&&Bf&&(b=Bf,Bf=null,b())})}var Lf=a=>{var b=a.Nc;delete Gf[b];Cf.push(a);Ff.splice(Ff.indexOf(a),1);a.Nc=0;Be(b)};function Ha(){de.forEach(a=>a())}
|
| 21 |
+
var Ef=a=>new Promise(b=>{a.onmessage=f=>{var h=f.data;f=h.Oc;if(h.Vc&&h.Vc!=ge()){var k=Gf[h.Vc];k?k.postMessage(h,h.Yc):t(`Internal error! Worker sent a message "${f}" to target pthread ${h.Vc}, but that thread no longer exists!`)}else if("checkMailbox"===f)La();else if("spawnThread"===f)Hf(h);else if("cleanupThread"===f)N(()=>{Lf(Gf[h.he])});else if("loaded"===f)a.loaded=!0,l&&!a.Nc&&a.unref(),b(a);else if("setimmediate"===h.target)a.postMessage(h);else if("uncaughtException"===f)a.onerror(h.error);
|
| 22 |
+
else if("callHandler"===f)g[h.be](...h.args);else f&&t(`worker sent an unknown command ${f}`)};a.onerror=f=>{t(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};l&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var c=[],d=[],e;for(e of d)g.propertyIsEnumerable(e)&&c.push(e);a.postMessage({Oc:"load",ce:c,ie:v,je:ta})});async function Kf(){if(!n)return Promise.all(Cf.map(Ef))}
|
| 23 |
+
function Df(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Cf.push(a)}function Fa(a){var b=(u(),B)[a+52>>>2>>>0];a=(u(),B)[a+56>>>2>>>0];He(b,b-a);J(b)}var Ka=(a,b)=>{L=0;a=Ne(a,b);0<L?va=a:Ce(a)},v,Mf=[],Nf=0,O=a=>-9007199254740992>a||9007199254740992<a?NaN:Number(a);function $a(a){a>>>=0;var b=new Of(a);0==(u(),w)[b.Qc+12>>>0]&&(Pf(b,!0),Nf--);Qf(b,!1);Mf.push(b);return Me(a)}
|
| 24 |
+
var Rf=0,ab=()=>{I(0,0);var a=Mf.pop();Je(a.Xc);Rf=0};function Pf(a,b){b=b?1:0;(u(),w)[a.Qc+12>>>0]=b}function Qf(a,b){b=b?1:0;(u(),w)[a.Qc+13>>>0]=b}class Of{constructor(a){this.Xc=a;this.Qc=a-24}}var Sf=a=>{var b=Rf;if(!b)return Ge(0),0;var c=new Of(b);(u(),B)[c.Qc+16>>>2>>>0]=b;var d=(u(),B)[c.Qc+4>>>2>>>0];if(!d)return Ge(0),b;for(var e of a){if(0===e||e===d)break;if(Le(e,d,c.Qc+16))return Ge(e),b}Ge(d);return b};function bb(){return Sf([])}function cb(a){return Sf([a>>>0])}
|
| 25 |
+
function db(a,b,c,d){return Sf([a>>>0,b>>>0,c>>>0,d>>>0])}var eb=()=>{var a=Mf.pop();a||Ta("no exception to throw");var b=a.Xc;0==(u(),w)[a.Qc+13>>>0]&&(Mf.push(a),Qf(a,!0),Pf(a,!1),Nf++);Ke(b);Rf=b;throw Rf;};function fb(a,b,c){a>>>=0;var d=new Of(a);b>>>=0;c>>>=0;(u(),B)[d.Qc+16>>>2>>>0]=0;(u(),B)[d.Qc+4>>>2>>>0]=b;(u(),B)[d.Qc+8>>>2>>>0]=c;Ke(a);Rf=a;Nf++;throw Rf;}var gb=()=>Nf;function Tf(a,b,c,d){return n?M(2,1,a,b,c,d):hb(a,b,c,d)}
|
| 26 |
+
function hb(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return Tf(a,b,c,d);a={fe:c,Nc:a,Wc:d,Yc:e};return n?(a.Oc="spawnThread",postMessage(a,e),0):Hf(a)}function ib(a){Rf||=a>>>0;throw Rf;}
|
| 27 |
+
var Uf=globalThis.TextDecoder&&new TextDecoder,Vf=(a,b,c,d)=>{c=b+c;if(d)return c;for(;a[b]&&!(b>=c);)++b;return b},Wf=(a,b=0,c,d)=>{b>>>=0;c=Vf(a,b,c,d);if(16<c-b&&a.buffer&&Uf)return Uf.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|h:(e&7)<<18|f<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|
|
| 28 |
+
e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},Xf=(a,b,c)=>(a>>>=0)?Wf((u(),x),a,b,c):"";function jb(a,b,c){return n?M(3,1,a,b,c):0}function kb(a,b){if(n)return M(4,1,a,b)}function lb(a,b){if(n)return M(5,1,a,b)}function mb(a,b,c){if(n)return M(6,1,a,b,c)}function nb(a,b,c){return n?M(7,1,a,b,c):0}function ob(a,b){if(n)return M(8,1,a,b)}function pb(a,b,c){if(n)return M(9,1,a,b,c)}function qb(a,b,c,d){if(n)return M(10,1,a,b,c,d)}function rb(a,b,c,d){if(n)return M(11,1,a,b,c,d)}
|
| 29 |
+
function sb(a,b,c,d){if(n)return M(12,1,a,b,c,d)}function tb(a){if(n)return M(13,1,a)}function ub(a,b){if(n)return M(14,1,a,b)}function vb(a,b,c){if(n)return M(15,1,a,b,c)}var wb=()=>Ta(""),P=a=>{a>>>=0;for(var b="";;){var c=(u(),x)[a++>>>0];if(!c)return b;b+=String.fromCharCode(c)}},Yf={},Zf={},$f={},ag=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
| 30 |
+
function bg(a,b,c={}){var d=b.name;if(!a)throw new ag(`type "${d}" must have a positive integer typeid pointer`);if(Zf.hasOwnProperty(a)){if(c.de)return;throw new ag(`Cannot register type '${d}' twice`);}Zf[a]=b;delete $f[a];Yf.hasOwnProperty(a)&&(b=Yf[a],delete Yf[a],b.forEach(e=>e()))}function Q(a,b,c={}){return bg(a,b,c)}
|
| 31 |
+
var cg=(a,b,c)=>{switch(b){case 1:return c?d=>(u(),w)[d>>>0]:d=>(u(),x)[d>>>0];case 2:return c?d=>(u(),Na)[d>>>1>>>0]:d=>(u(),Oa)[d>>>1>>>0];case 4:return c?d=>(u(),A)[d>>>2>>>0]:d=>(u(),B)[d>>>2>>>0];case 8:return c?d=>(u(),F)[d>>>3>>>0]:d=>(u(),Qa)[d>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
| 32 |
+
function xb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);d=0n===d;let f=h=>h;if(d){const h=8*c;f=k=>BigInt.asUintN(h,k);e=f(e)}Q(a,{name:b,Mc:f,Sc:(h,k)=>{"number"==typeof k&&(k=BigInt(k));return k},Rc:cg(b,c,!d),Tc:null})}function zb(a,b,c,d){a>>>=0;b=P(b>>>0);Q(a,{name:b,Mc:function(e){return!!e},Sc:function(e,f){return f?c:d},Rc:function(e){return this.Mc((u(),x)[e>>>0])},Tc:null})}var dg=[],eg=[0,1,,1,null,1,!0,1,!1,1];function Qb(a){a>>>=0;9<a&&0===--eg[a+1]&&(eg[a]=void 0,dg.push(a))}
|
| 33 |
+
var R=a=>{if(!a)throw new ag(`Cannot use deleted val. handle = ${a}`);return eg[a]},S=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=dg.pop()||eg.length;eg[b]=a;eg[b+1]=1;return b}};function fg(a){return this.Mc((u(),B)[a>>>2>>>0])}var gg={name:"emscripten::val",Mc:a=>{var b=R(a);Qb(a);return b},Sc:(a,b)=>S(b),Rc:fg,Tc:null};function Ab(a){return Q(a>>>0,gg)}
|
| 34 |
+
var hg=(a,b)=>{switch(b){case 4:return function(c){return this.Mc((u(),Pa)[c>>>2>>>0])};case 8:return function(c){return this.Mc((u(),E)[c>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function Cb(a,b,c){a>>>=0;c>>>=0;b=P(b>>>0);Q(a,{name:b,Mc:d=>d,Sc:(d,e)=>e,Rc:hg(b,c),Tc:null})}function Db(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);let f=k=>k;if(0===d){var h=32-8*c;f=k=>k<<h>>>h;e=f(e)}Q(a,{name:b,Mc:f,Sc:(k,m)=>m,Rc:cg(b,c,0!==d),Tc:null})}
|
| 35 |
+
function Eb(a,b,c){function d(f){var h=(u(),B)[f>>>2>>>0];f=(u(),B)[f+4>>>2>>>0];return new e((u(),w).buffer,f,h)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=P(c>>>0);Q(a,{name:c,Mc:d,Rc:d},{de:!0})}
|
| 36 |
+
var T=(a,b,c)=>{var d=(u(),x);b>>>=0;if(0<c){var e=b;c=b+c-1;for(var f=0;f<a.length;++f){var h=a.codePointAt(f);if(127>=h){if(b>=c)break;d[b++>>>0]=h}else if(2047>=h){if(b+1>=c)break;d[b++>>>0]=192|h>>6;d[b++>>>0]=128|h&63}else if(65535>=h){if(b+2>=c)break;d[b++>>>0]=224|h>>12;d[b++>>>0]=128|h>>6&63;d[b++>>>0]=128|h&63}else{if(b+3>=c)break;d[b++>>>0]=240|h>>18;d[b++>>>0]=128|h>>12&63;d[b++>>>0]=128|h>>6&63;d[b++>>>0]=128|h&63;f++}}d[b>>>0]=0;a=b-e}else a=0;return a},U=a=>{for(var b=0,c=0;c<a.length;++c){var d=
|
| 37 |
+
a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b};
|
| 38 |
+
function Fb(a,b){a>>>=0;b=P(b>>>0);Q(a,{name:b,Mc(c){var d=(u(),B)[c>>>2>>>0];d=Xf(c+4,d,!0);H(c);return d},Sc(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new ag("Cannot pass non-string to std::string");var f=e?U(d):d.length;var h=he(4+f+1),k=h+4;(u(),B)[h>>>2>>>0]=f;e?T(d,k,f+1):(u(),x).set(d,k>>>0);null!==c&&c.push(H,h);return h},Rc:fg,Tc(c){H(c)}})}
|
| 39 |
+
var ig=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,jg=(a,b,c)=>{a>>>=1;b=Vf((u(),Oa),a,b/2,c);if(16<b-a&&ig)return ig.decode((u(),Oa).slice(a,b));for(c="";a<b;++a){var d=(u(),Oa)[a>>>0];c+=String.fromCharCode(d)}return c},kg=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);(u(),Na)[b>>>1>>>0]=f;b+=2}(u(),Na)[b>>>1>>>0]=0;return b-d},lg=a=>2*a.length,mg=(a,b,c)=>{var d="";a>>>=2;for(var e=0;!(e>=b/4);e++){var f=
|
| 40 |
+
(u(),B)[a+e>>>0];if(!f&&!c)break;d+=String.fromCodePoint(f)}return d},ng=(a,b,c)=>{b>>>=0;c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;(u(),A)[b>>>2>>>0]=f;b+=4;if(b+4>c)break}(u(),A)[b>>>2>>>0]=0;return b-d},og=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b};
|
| 41 |
+
function Gb(a,b,c){a>>>=0;b>>>=0;c>>>=0;c=P(c);if(2===b){var d=jg;var e=kg;var f=lg}else d=mg,e=ng,f=og;Q(a,{name:c,Mc:h=>{var k=(u(),B)[h>>>2>>>0];k=d(h+4,k*b,!0);H(h);return k},Sc:(h,k)=>{if("string"!=typeof k)throw new ag(`Cannot pass non-string to C++ string type ${c}`);var m=f(k),p=he(4+m+b);(u(),B)[p>>>2>>>0]=m/b;e(k,p+4,m+b);null!==h&&h.push(H,p);return p},Rc:fg,Tc(h){H(h)}})}function Hb(a,b){a>>>=0;b=P(b>>>0);Q(a,{ee:!0,name:b,Mc:()=>{},Sc:()=>{}})}
|
| 42 |
+
function Ib(a){Ga(a>>>0,!ba,1,!aa,131072,!1);Ha()}var N=a=>{if(!ua)try{if(a(),!(0<L))try{n?ge()&&Ce(va):Mc(va)}catch(b){b instanceof xf||"unwind"==b||ha(1,b)}}catch(b){b instanceof xf||"unwind"==b||ha(1,b)}},pg=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ia(a){a>>>=0;pg||(Atomics.waitAsync((u(),A),a>>>2,a).value.then(La),a+=128,Atomics.store((u(),A),a>>>2,1))}var La=()=>N(()=>{var a=ge();a&&(Ia(a),Ee())});
|
| 43 |
+
function Jb(a,b){a>>>=0;a==b>>>0?setTimeout(La):n?postMessage({Vc:a,Oc:"checkMailbox"}):(a=Gf[a])&&a.postMessage({Oc:"checkMailbox"})}var qg=[];function Kb(a,b,c,d,e){b>>>=0;e>>>=0;qg.length=0;c=e>>>3;for(d=e+d>>>3;c<d;){var f;(u(),F)[c++>>>0]?f=(u(),F)[c++>>>0]:f=(u(),E)[c++>>>0];qg.push(f)}return(b?rg[b]:sg[a])(...qg)}var Lb=()=>{L=0};function Mb(a){a>>>=0;n?postMessage({Oc:"cleanupThread",he:a}):Lf(Gf[a])}function Nb(a){l&&Gf[a>>>0].ref()}var tg=a=>{try{a()}catch(b){Ta(b)}};
|
| 44 |
+
function be(a){var b=(...c)=>{ug.push(a);try{return a(...c)}finally{ua||(ug.pop(),q&&1===vg&&0===ug.length&&(vg=0,L+=1,tg(uf),"undefined"!=typeof Fibers&&Fibers.Be()))}};wg.set(a,b);return b}var vg=0,q=null,xg=0,ug=[],yg=new Map,zg=new Map,wg=new Map,Ag=0,Bg=null,Cg=[];function da(){return new Promise((a,b)=>{Bg={resolve:a,reject:b}})}
|
| 45 |
+
function Dg(){var a=he(65548),b=a+12;(u(),B)[a>>>2>>>0]=b;(u(),B)[a+4>>>2>>>0]=b+65536;b=ug[0];if(!yg.has(b)){var c=Ag++;yg.set(b,c);zg.set(c,b)}b=yg.get(b);(u(),A)[a+8>>>2>>>0]=b;return a}function Eg(){var a=(u(),A)[q+8>>>2>>>0];a=zg.get(a);a=wg.get(a);--L;return a()}
|
| 46 |
+
function Fg(a){if(!ua){if(0===vg){var b=!1,c=!1;a((d=0)=>{if(!ua&&(xg=d,b=!0,c)){vg=2;tg(()=>vf(q));"undefined"!=typeof MainLoop&&MainLoop.Xd&&MainLoop.resume();d=!1;try{var e=Eg()}catch(k){e=k,d=!0}var f=!1;if(!q){var h=Bg;h&&(Bg=null,(d?h.reject:h.resolve)(e),f=!0)}if(d&&!f)throw e;}});c=!0;b||(vg=1,q=Dg(),"undefined"!=typeof MainLoop&&MainLoop.Xd&&MainLoop.pause(),tg(()=>tf(q)))}else 2===vg?(vg=0,tg(wf),H(q),q=null,Cg.forEach(N)):Ta(`invalid state: ${vg}`);return xg}}var Gg=a=>Fg(b=>{a().then(b)});
|
| 47 |
+
function Ob(a){a>>>=0;return Gg(async()=>{var b=await R(a);return S(b)})}var Hg=[],Ig=a=>{var b=Hg.length;Hg.push(a);return b},Jg=(a,b)=>{for(var c=Array(a),d=0;d<a;++d){var e=d,f=(u(),B)[b+4*d>>>2>>>0],h=Zf[f];if(void 0===h)throw a=`parameter ${d}`,f=ee(f),b=P(f),H(f),new ag(`${a} has unknown type ${b}`);c[e]=h}return c},Kg=(a,b,c)=>{var d=[];a=a(d,c);d.length&&((u(),B)[b>>>2>>>0]=S(d));return a},Lg={},Mg=a=>{var b=Lg[a];return void 0===b?P(a):b};
|
| 48 |
+
function Pb(a,b,c){var [d,...e]=Jg(a,b>>>0);b=d.Sc.bind(d);var f=e.map(m=>m.Rc.bind(m));a--;var h={toValue:R};a=f.map((m,p)=>{var C=`argFromPtr${p}`;h[C]=m;return`${C}(args${p?"+"+8*p:""})`});switch(c){case 0:var k="toValue(handle)";break;case 2:k="new (toValue(handle))";break;case 3:k="";break;case 1:h.getStringOrSymbol=Mg,k="toValue(handle)[getStringOrSymbol(methodName)]"}k+=`(${a})`;d.ee||(h.toReturnWire=b,h.emval_returnValue=Kg,k=`return emval_returnValue(toReturnWire, destructorsRef, ${k})`);
|
| 49 |
+
k=`return function (handle, methodName, destructorsRef, args) {\n ${k}\n }`;c=(new Function(Object.keys(h),k))(...Object.values(h));k=`methodCaller<(${e.map(m=>m.name)}) => ${d.name}>`;return Ig(Object.defineProperty(c,"name",{value:k}))}function Rb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return a==b}function Sb(a){a>>>=0;if(!a)return S(globalThis);a=Mg(a);return S(globalThis[a])}function Tb(a){a=Mg(a>>>0);return S(g[a])}function Ub(a,b){b>>>=0;a=R(a>>>0);b=R(b);return S(a[b])}
|
| 50 |
+
function Vb(a){a>>>=0;9<a&&(eg[a+1]+=1)}function Wb(a,b,c,d,e){return Hg[a>>>0](b>>>0,c>>>0,d>>>0,e>>>0)}function Xb(a,b,c,d,e){return Wb(a>>>0,b>>>0,c>>>0,d>>>0,e>>>0)}function Yb(){return S([])}function Zb(a){a=R(a>>>0);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=a[c];return S(b)}function $b(a){return S(Mg(a>>>0))}function ac(){return S({})}function bc(a){a>>>=0;for(var b=R(a);b.length;){var c=b.pop();b.pop()(c)}Qb(a)}function cc(a,b,c){b>>>=0;c>>>=0;a=R(a>>>0);b=R(b);c=R(c);a[b]=c}
|
| 51 |
+
function dc(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(u(),A)[b>>>2>>>0]=a.getUTCSeconds();(u(),A)[b+4>>>2>>>0]=a.getUTCMinutes();(u(),A)[b+8>>>2>>>0]=a.getUTCHours();(u(),A)[b+12>>>2>>>0]=a.getUTCDate();(u(),A)[b+16>>>2>>>0]=a.getUTCMonth();(u(),A)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(u(),A)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(u(),A)[b+28>>>2>>>0]=a}
|
| 52 |
+
var Ng=a=>0===a%4&&(0!==a%100||0===a%400),Og=[0,31,60,91,121,152,182,213,244,274,305,335],Pg=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 53 |
+
function ec(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(u(),A)[b>>>2>>>0]=a.getSeconds();(u(),A)[b+4>>>2>>>0]=a.getMinutes();(u(),A)[b+8>>>2>>>0]=a.getHours();(u(),A)[b+12>>>2>>>0]=a.getDate();(u(),A)[b+16>>>2>>>0]=a.getMonth();(u(),A)[b+20>>>2>>>0]=a.getFullYear()-1900;(u(),A)[b+24>>>2>>>0]=a.getDay();var c=(Ng(a.getFullYear())?Og:Pg)[a.getMonth()]+a.getDate()-1|0;(u(),A)[b+28>>>2>>>0]=c;(u(),A)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),
|
| 54 |
+
0,1)).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(u(),A)[b+32>>>2>>>0]=a}
|
| 55 |
+
function fc(a){a>>>=0;var b=new Date((u(),A)[a+20>>>2>>>0]+1900,(u(),A)[a+16>>>2>>>0],(u(),A)[a+12>>>2>>>0],(u(),A)[a+8>>>2>>>0],(u(),A)[a+4>>>2>>>0],(u(),A)[a>>>2>>>0],0),c=(u(),A)[a+32>>>2>>>0],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),h=Math.min(f,e);0>c?(u(),A)[a+32>>>2>>>0]=Number(e!=f&&h==d):0<c!=(h==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<c?h:e)-d)));(u(),A)[a+24>>>2>>>0]=b.getDay();c=(Ng(b.getFullYear())?
|
| 56 |
+
Og:Pg)[b.getMonth()]+b.getDate()-1|0;(u(),A)[a+28>>>2>>>0]=c;(u(),A)[a>>>2>>>0]=b.getSeconds();(u(),A)[a+4>>>2>>>0]=b.getMinutes();(u(),A)[a+8>>>2>>>0]=b.getHours();(u(),A)[a+12>>>2>>>0]=b.getDate();(u(),A)[a+16>>>2>>>0]=b.getMonth();(u(),A)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function gc(a,b,c,d,e,f,h){return n?M(16,1,a,b,c,d,e,f,h):-52}function hc(a,b,c,d,e,f){if(n)return M(17,1,a,b,c,d,e,f)}var Qg={},sc=()=>performance.timeOrigin+performance.now();
|
| 57 |
+
function ic(a,b){if(n)return M(18,1,a,b);Qg[a]&&(clearTimeout(Qg[a].id),delete Qg[a]);if(!b)return 0;var c=setTimeout(()=>{delete Qg[a];N(()=>De(a,performance.timeOrigin+performance.now()))},b);Qg[a]={id:c,Ae:b};return 0}
|
| 58 |
+
function jc(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var h=Math.max(f,e);(u(),B)[a>>>2>>>0]=60*h;(u(),A)[b>>>2>>>0]=Number(f!=e);b=k=>{var m=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(m/60)).padStart(2,"0")}${String(m%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(T(a,c,17),T(b,d,17)):(T(a,d,17),T(b,c,17))}var oc=()=>Date.now(),Rg=1;
|
| 59 |
+
function kc(a,b,c){c>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Rg)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(u(),F)[c>>>3>>>0]=BigInt(a);return 0}var Sg=[],Tg=(a,b)=>{Sg.length=0;for(var c;c=(u(),x)[a++>>>0];){var d=105!=c;d&=112!=c;b+=d&&b%8?4:0;Sg.push(112==c?(u(),B)[b>>>2>>>0]:106==c?(u(),F)[b>>>3>>>0]:105==c?(u(),A)[b>>>2>>>0]:(u(),E)[b>>>3>>>0]);b+=d?8:4}return Sg};function lc(a,b,c){a>>>=0;b=Tg(b>>>0,c>>>0);return rg[a](...b)}
|
| 60 |
+
function mc(a,b,c){a>>>=0;b=Tg(b>>>0,c>>>0);return rg[a](...b)}var nc=()=>{};function pc(a,b){return t(Xf(a>>>0,b>>>0))}var qc=()=>{L+=1;throw"unwind";};function rc(){return 4294901760}var tc=()=>1,uc=()=>l?require("os").cpus().length:navigator.hardwareConcurrency;
|
| 61 |
+
function vc(a){a>>>=0;var b=(u(),x).length;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(4294901760,65536*Math.ceil(Math.max(a,d)/65536))-v.buffer.byteLength+65535)/65536|0;try{v.grow(d);wa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
| 62 |
+
var V=a=>{var b=U(a)+1,c=Ie(b);T(a,c,b);return c},Ug=(a,b)=>{(u(),B)[a>>>2>>>0]=b;var c=(u(),B)[a>>>2>>>0];(u(),B)[a+4>>>2>>>0]=(b-c)/4294967296},Vg=a=>(u(),B)[a>>>2>>>0]+4294967296*(u(),A)[a+4>>>2>>>0],W=[],Wg=(a,b)=>{W[a>>>0]=b},X=[],Xg=[],Yg=(a,b)=>{Xg[a]=new Promise(c=>b.finally(()=>c(a)))},Y=a=>{if(a)return W[a>>>0]},Zg=(a,b=0)=>{"unmapped"===a.mapState||Ta();b=qe(b);W[b>>>0]=a;return b},$g=(a,b=0)=>{var c=se(b);b=re(b,c);W[c>>>0]=a.queue;W[b>>>0]=a;return b},ah=(a,b)=>{for(a=(u(),B)[a>>>2>>>
|
| 63 |
+
0];a;a=(u(),B)[a>>>2>>>0]){var c=(u(),A)[a+4>>>2>>>0];b[c](a)}},bh=(a,b,c)=>{(u(),B)[a>>>2>>>0]=b;(u(),B)[a+4>>>2>>>0]=c},ch=a=>{var b=(u(),B)[a>>>2>>>0];a=(u(),B)[a+4>>>2>>>0];return Xf(b,a)},Z=a=>{var b=(u(),B)[a>>>2>>>0];a=(u(),B)[a+4>>>2>>>0];if(b)return Xf(b,a);if(0===a)return""},dh=a=>{var b=Z(a+4);var c=(c=(u(),B)[a+12>>>2>>>0])?Y(c):"auto";if(a+=16){var d=Y((u(),B)[a+4>>>2>>>0]);var e=(u(),B)[a+16>>>2>>>0];var f=(u(),B)[a+20>>>2>>>0];if(e){for(var h={},k=0;k<e;++k){var m=f+24*k,p=ch(m+4);
|
| 64 |
+
h[p]=(u(),E)[m+16>>>3>>>0]}e=h}else e=void 0;a={module:d,constants:e,entryPoint:Z(a+8)}}else a=void 0;return{label:b,layout:c,compute:a}},eh=(a,b)=>{function c(d,e){d=a[d];(u(),B)[b+e>>>2>>>0]=d}c("maxTextureDimension1D",4);c("maxTextureDimension2D",8);c("maxTextureDimension3D",12);c("maxTextureArrayLayers",16);c("maxBindGroups",20);c("maxBindGroupsPlusVertexBuffers",24);c("maxBindingsPerBindGroup",28);c("maxDynamicUniformBuffersPerPipelineLayout",32);c("maxDynamicStorageBuffersPerPipelineLayout",
|
| 65 |
+
36);c("maxSampledTexturesPerShaderStage",40);c("maxSamplersPerShaderStage",44);c("maxStorageBuffersPerShaderStage",48);c("maxStorageTexturesPerShaderStage",52);c("maxUniformBuffersPerShaderStage",56);c("minUniformBufferOffsetAlignment",80);c("minStorageBufferOffsetAlignment",84);Ug(b+64,a.maxUniformBufferBindingSize);Ug(b+72,a.maxStorageBufferBindingSize);c("maxVertexBuffers",88);Ug(b+96,a.maxBufferSize);c("maxVertexAttributes",104);c("maxVertexBufferArrayStride",108);c("maxInterStageShaderVariables",
|
| 66 |
+
112);c("maxColorAttachments",116);c("maxColorAttachmentBytesPerSample",120);c("maxComputeWorkgroupStorageSize",124);c("maxComputeInvocationsPerWorkgroup",128);c("maxComputeWorkgroupSizeX",132);c("maxComputeWorkgroupSizeY",136);c("maxComputeWorkgroupSizeZ",140);c("maxComputeWorkgroupsPerDimension",144);void 0!==a.ze&&c("maxImmediateSize",148)},fh=[,"validation","out-of-memory","internal"],gh=[,"compatibility","core"],hh={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",
|
| 67 |
+
4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",
|
| 68 |
+
327729:"chromium-experimental-multi-draw-indirect"},ih=[,"low-power","high-performance"],jh=[,"occlusion","timestamp"],kh={undefined:1,unknown:1,destroyed:2};
|
| 69 |
+
function wc(a,b,c,d,e,f){b=O(b);c=O(c);d>>>=0;e>>>=0;f>>>=0;var h=Y(a>>>0);a={};if(f){var k=(u(),B)[f+12>>>2>>>0];if(k){var m=(u(),B)[f+16>>>2>>>0];a.requiredFeatures=Array.from((u(),B).subarray(m>>>2>>>0,m+4*k>>>2>>>0),r=>hh[r])}var p=(u(),B)[f+20>>>2>>>0];if(p){var C={};function r(z,D,za=!1){D=p+D;D=(u(),B)[D>>>2>>>0];4294967295==D||za&&0==D||(C[z]=D)}function y(z,D){D=p+D;var za=(u(),B)[D>>>2>>>0],yb=(u(),B)[D+4>>>2>>>0];if(4294967295!=za||4294967295!=yb)C[z]=Vg(D)}r("maxTextureDimension1D",4);
|
| 70 |
+
r("maxTextureDimension2D",8);r("maxTextureDimension3D",12);r("maxTextureArrayLayers",16);r("maxBindGroups",20);r("maxBindGroupsPlusVertexBuffers",24);r("maxDynamicUniformBuffersPerPipelineLayout",32);r("maxDynamicStorageBuffersPerPipelineLayout",36);r("maxSampledTexturesPerShaderStage",40);r("maxSamplersPerShaderStage",44);r("maxStorageBuffersPerShaderStage",48);r("maxStorageTexturesPerShaderStage",52);r("maxUniformBuffersPerShaderStage",56);r("minUniformBufferOffsetAlignment",80);r("minStorageBufferOffsetAlignment",
|
| 71 |
+
84);y("maxUniformBufferBindingSize",64);y("maxStorageBufferBindingSize",72);r("maxVertexBuffers",88);y("maxBufferSize",96);r("maxVertexAttributes",104);r("maxVertexBufferArrayStride",108);r("maxInterStageShaderVariables",112);r("maxColorAttachments",116);r("maxColorAttachmentBytesPerSample",120);r("maxComputeWorkgroupStorageSize",124);r("maxComputeInvocationsPerWorkgroup",128);r("maxComputeWorkgroupSizeX",132);r("maxComputeWorkgroupSizeY",136);r("maxComputeWorkgroupSizeZ",140);r("maxComputeWorkgroupsPerDimension",
|
| 72 |
+
144);r("maxImmediateSize",148,!0);a.requiredLimits=C}if(k=(u(),B)[f+24>>>2>>>0])k={label:Z(k+4)},a.defaultQueue=k;a.label=Z(f+4)}L+=1;Yg(b,h.requestDevice(a).then(r=>{--L;N(()=>{W[e>>>0]=r.queue;W[d>>>0]=r;L+=1;Yg(c,r.lost.then(y=>{N(()=>{r.onuncapturederror=()=>{};var z=K(),D=V(y.message);ue(c,kh[y.reason],D);J(z)});--L}));r.onuncapturederror=y=>{var z=5;y.error instanceof GPUValidationError?z=2:y.error instanceof GPUOutOfMemoryError?z=3:y.error instanceof GPUInternalError&&(z=4);var D=K();y=V(y.error.message);
|
| 73 |
+
ze(d,z,y);J(D)};"adapterInfo"in r||(r.adapterInfo=h.info);ye(b,1,d,0)})},r=>{--L;N(()=>{var y=K(),z=V(r.message);ye(b,3,d,z);c&&ue(c,4,z);J(y)})}))}function xc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a]}b.destroy()}function yc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(h){return 0}var f=Fe(16,e.byteLength);(u(),x).set(new Uint8Array(e),f>>>0);X[a].push(()=>H(f));return f}
|
| 74 |
+
function zc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(h){return 0}var f=Fe(16,e.byteLength);(u(),x).fill(0,f,e.byteLength);X[a].push(()=>{(new Uint8Array(e)).set((u(),x).subarray(f>>>0,f+e.byteLength>>>0));H(f)});return f}
|
| 75 |
+
function Ac(a,b,c,d,e){a>>>=0;b=O(b);c=O(c);e>>>=0;var f=Y(a);X[a]=[];4294967295==e&&(e=void 0);L+=1;Yg(b,f.mapAsync(c,d>>>0,e).then(()=>{--L;N(()=>{ve(b,1,0)})},h=>{--L;N(()=>{K();var k=V(h.message);ve(b,"AbortError"===h.name?4:"OperationError"===h.name?3:0,k);delete X[a]})}))}function Bc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a];b.unmap()}}function Cc(a){delete W[a>>>0]}
|
| 76 |
+
function Dc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=!!(u(),B)[b+32>>>2>>>0];b={label:Z(b+4),usage:(u(),B)[b+16>>>2>>>0],size:Vg(b+24),mappedAtCreation:d};a=Y(a);try{var e=a.createBuffer(b)}catch(f){return!1}W[c>>>0]=e;d&&(X[c]=[]);return!0}function Ec(a,b,c,d){a>>>=0;b=O(b);d>>>=0;c=dh(c>>>0);a=Y(a);L+=1;Yg(b,a.createComputePipelineAsync(c).then(e=>{--L;N(()=>{W[d>>>0]=e;te(b,1,d,0)})},e=>{--L;N(()=>{var f=K(),h=V(e.message);te(b,"validation"===e.reason?3:"internal"===e.reason?4:0,d,h);J(f)})}))}
|
| 77 |
+
function Fc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=(u(),B)[b>>>2>>>0],e=(u(),A)[d+4>>>2>>>0];b={label:Z(b+4),code:""};switch(e){case 2:b.code=ch(d+8)}a=Y(a).createShaderModule(b);W[c>>>0]=a}var Gc=a=>{a=Y(a);a.onuncapturederror=null;a.destroy()};
|
| 78 |
+
function Hc(a,b){b=O(b);a=Y(a>>>0);L+=1;Yg(b,a.popErrorScope().then(c=>{--L;N(()=>{var d=5;c?c instanceof GPUValidationError?d=2:c instanceof GPUOutOfMemoryError?d=3:c instanceof GPUInternalError&&(d=4):d=1;var e=K(),f=c?V(c.message):0;we(b,1,d,f);J(e)})},c=>{--L;N(()=>{var d=K(),e=V(c.message);we(b,1,5,e);J(d)})}))}
|
| 79 |
+
function Ic(a,b,c,d){b=O(b);c>>>=0;d>>>=0;if(c){var e={featureLevel:gh[(u(),A)[c+4>>>2>>>0]],powerPreference:ih[(u(),A)[c+8>>>2>>>0]],forceFallbackAdapter:!!(u(),B)[c+12>>>2>>>0]};a=(u(),B)[c>>>2>>>0];0!==a&&(u(),e.De=!!(u(),B)[a+8>>>2>>>0])}"gpu"in navigator?(L+=1,Yg(b,navigator.gpu.requestAdapter(e).then(f=>{--L;N(()=>{if(f)W[d>>>0]=f,xe(b,1,d,0);else{var h=K(),k=V("WebGPU not available on this browser (requestAdapter returned null)");xe(b,3,d,k);J(h)}})},f=>{--L;N(()=>{var h=K(),k=V(f.message);
|
| 80 |
+
xe(b,4,d,k);J(h)})}))):(e=K(),a=V("WebGPU not available on this browser (navigator.gpu is not available)"),xe(b,3,d,a),J(e))}function Jc(a,b,c){a>>>=0;b>>>=0;c>>>=0;return Gg(async()=>{var d=[];if(c){var e=(u(),A)[c>>>2>>>0];d.length=b+1;d[b]=new Promise(k=>setTimeout(k,e,0))}else d.length=b;for(var f=0;f<b;++f){var h=Vg(a+8*f);if(!(h in Xg))return h;d[f]=Xg[h]}d=await Promise.race(d);delete Xg[d];return d})}
|
| 81 |
+
var lh={},nh=()=>{if(!mh){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:fa||"./this.program"},b;for(b in lh)void 0===lh[b]?delete a[b]:a[b]=lh[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);mh=c}return mh},mh;function Kc(a,b){if(n)return M(19,1,a,b);a>>>=0;b>>>=0;var c=0,d=0,e;for(e of nh()){var f=b+c;(u(),B)[a+d>>>2>>>0]=f;c+=T(e,f,Infinity)+1;d+=4}return 0}
|
| 82 |
+
function Lc(a,b){if(n)return M(20,1,a,b);a>>>=0;b>>>=0;var c=nh();(u(),B)[a>>>2>>>0]=c.length;a=0;for(var d of c)a+=U(d)+1;(u(),B)[b>>>2>>>0]=a;return 0}function Nc(a){return n?M(21,1,a):52}function Oc(a,b,c,d){return n?M(22,1,a,b,c,d):52}function Pc(a,b,c,d){return n?M(23,1,a,b,c,d):70}var oh=[null,[],[]];
|
| 83 |
+
function Qc(a,b,c,d){if(n)return M(24,1,a,b,c,d);b>>>=0;c>>>=0;d>>>=0;for(var e=0,f=0;f<c;f++){var h=(u(),B)[b>>>2>>>0],k=(u(),B)[b+4>>>2>>>0];b+=8;for(var m=0;m<k;m++){var p=a,C=(u(),x)[h+m>>>0],r=oh[p];0===C||10===C?((1===p?ra:t)(Wf(r)),r.length=0):r.push(C)}e+=k}(u(),B)[d>>>2>>>0]=e;return 0}function Bd(a){return a>>>0}function Dd(a,b){eh(Y(a>>>0).limits,b>>>0);return 1}function Ed(a,b){return Y(a>>>0).features.has(hh[b])}function Fd(a){return BigInt(Y(a>>>0).size)}
|
| 84 |
+
function Gd(a){return BigInt(Y(a>>>0).usage)}function Hd(a,b){a>>>=0;b>>>=0;if(b){var c=Z(b+4);b=(u(),B)[b+12>>>2>>>0];b=0!==b?{querySet:Y((u(),B)[b+4>>>2>>>0]),beginningOfPassWriteIndex:(u(),B)[b+8>>>2>>>0],endOfPassWriteIndex:(u(),B)[b+12>>>2>>>0]}:void 0;c={label:c,timestampWrites:b}}b=Y(a);a=oe(0);c=b.beginComputePass(c);W[a>>>0]=c;return a}function Id(a,b,c,d){c=O(c);d=O(d);a=Y(a>>>0);-1==d&&(d=void 0);a.clearBuffer(Y(b>>>0),c,d)}
|
| 85 |
+
function Jd(a,b,c,d,e,f){c=O(c);e=O(e);f=O(f);Y(a>>>0).copyBufferToBuffer(Y(b>>>0),c,Y(d>>>0),e,f)}function Kd(a){var b=Y(a>>>0);a=me(0);b=b.finish();W[a>>>0]=b;return a}function Ld(a,b,c,d,e,f){f=O(f);Y(a>>>0).resolveQuerySet(Y(b>>>0),c,d,Y(e>>>0),f)}function Md(a,b,c,d){Y(a>>>0).dispatchWorkgroups(b,c,d)}function Nd(a,b,c){c=O(c);Y(a>>>0).dispatchWorkgroupsIndirect(Y(b>>>0),c)}function Od(a){Y(a>>>0).end()}
|
| 86 |
+
function Pd(a,b,c,d,e){d>>>=0;e>>>=0;a=Y(a>>>0);c=Y(c>>>0);0==d?a.setBindGroup(b,c):a.setBindGroup(b,c,(u(),B),e>>>2,d)}function Qd(a,b){Y(a>>>0).setPipeline(Y(b>>>0))}function Rd(a,b,c){Y(a>>>0).Ce(Y(b>>>0),c)}function Sd(a,b){var c=Y(a>>>0);a=le(0);b=c.getBindGroupLayout(b);W[a>>>0]=b;return a}
|
| 87 |
+
function Td(a,b){function c(e){var f=(u(),B)[e+8>>>2>>>0],h=(u(),B)[e+32>>>2>>>0],k=(u(),B)[e+36>>>2>>>0],m=0;ah(e,{327681:p=>{m=(u(),B)[p+8>>>2>>>0]}});f?(h=Vg(e+24),-1==h&&(h=void 0),f={buffer:Y(f),offset:Vg(e+16),size:h}):f=Y(h||k||m);return{binding:(u(),B)[e+4>>>2>>>0],resource:f}}a>>>=0;b>>>=0;b={label:Z(b+4),layout:Y((u(),B)[b+12>>>2>>>0]),entries:function(e,f){for(var h=[],k=0;k<e;++k)h.push(c(f+40*k));return h}((u(),B)[b+16>>>2>>>0],(u(),B)[b+20>>>2>>>0])};a=Y(a);var d=ke(0);Wg(d,a.createBindGroup(b));
|
| 88 |
+
return d}function Ud(a,b){a>>>=0;b>>>=0;var c;b&&(c={label:Z(b+4)});b=Y(a);a=ne(0);c=b.createCommandEncoder(c);W[a>>>0]=c;return a}function Vd(a,b){a>>>=0;b>>>=0;b={type:jh[(u(),A)[b+12>>>2>>>0]],count:(u(),B)[b+16>>>2>>>0]};var c=Y(a);a=pe(0);b=c.createQuerySet(b);W[a>>>0]=b;return a}
|
| 89 |
+
function Wd(a,b){a=Y(a>>>0).adapterInfo;b>>>=0;(u(),B)[b+52>>>2>>>0]=a.subgroupMinSize;(u(),B)[b+56>>>2>>>0]=a.subgroupMaxSize;var c=a.vendor+a.architecture+a.device+a.description;var d=U(c)+1,e=he(d);e&&T(c,e,d);c=e;d=U(a.vendor);bh(b+4,c,d);c+=d;d=U(a.architecture);bh(b+12,c,d);c+=d;d=U(a.device);bh(b+20,c,d);bh(b+28,c+d,U(a.description));(u(),A)[b+36>>>2>>>0]=2;a=a.isFallbackAdapter?3:4;(u(),A)[b+40>>>2>>>0]=a;(u(),B)[b+44>>>2>>>0]=0;(u(),B)[b+48>>>2>>>0]=0;return 1}
|
| 90 |
+
var ph={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,
|
| 91 |
+
"primitive-index":21,"texture-component-swizzle":22,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729};function Xd(a,b){b>>>=0;var c=Y(a>>>0);a=he(4*c.features.size);var d=0,e=0;for(const f of c.features)c=ph[f],0<=c&&((u(),A)[a+d>>>2>>>0]=c,d+=4,e++);(u(),B)[b+4>>>2>>>0]=a;(u(),B)[b>>>2>>>0]=e}function Yd(a,b){eh(Y(a>>>0).limits,b>>>0);return 1}function Zd(a,b){Y(a>>>0).pushErrorScope(fh[b])}
|
| 92 |
+
function $d(a,b,c){b>>>=0;c>>>=0;a=Y(a>>>0);b=Array.from((u(),A).subarray(c>>>2>>>0,c+4*b>>>2>>>0),d=>Y(d));a.submit(b)}function ae(a,b,c,d,e){c=O(c);d>>>=0;e>>>=0;a=Y(a>>>0);b=Y(b>>>0);d=(u(),x).subarray(d>>>0,d+e>>>0);a.writeBuffer(b,c,d,0,e)}n||Jf();n||(v=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),wa());g.wasmBinary&&(sa=g.wasmBinary);g.stackSave=()=>K();g.stackRestore=a=>J(a);g.stackAlloc=a=>Ie(a);
|
| 93 |
+
g.setValue=function(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":(u(),w)[a>>>0]=b;break;case "i8":(u(),w)[a>>>0]=b;break;case "i16":(u(),Na)[a>>>1>>>0]=b;break;case "i32":(u(),A)[a>>>2>>>0]=b;break;case "i64":(u(),F)[a>>>3>>>0]=BigInt(b);break;case "float":(u(),Pa)[a>>>2>>>0]=b;break;case "double":(u(),E)[a>>>3>>>0]=b;break;case "*":(u(),B)[a>>>2>>>0]=b;break;default:Ta(`invalid type for setValue: ${c}`)}};
|
| 94 |
+
g.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(u(),w)[a>>>0];case "i8":return(u(),w)[a>>>0];case "i16":return(u(),Na)[a>>>1>>>0];case "i32":return(u(),A)[a>>>2>>>0];case "i64":return(u(),F)[a>>>3>>>0];case "float":return(u(),Pa)[a>>>2>>>0];case "double":return(u(),E)[a>>>3>>>0];case "*":return(u(),B)[a>>>2>>>0];default:Ta(`invalid type for getValue: ${b}`)}};g.UTF8ToString=Xf;g.stringToUTF8=T;g.lengthBytesUTF8=U;
|
| 95 |
+
var sg=[Cd,If,Tf,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,gc,hc,ic,Kc,Lc,Nc,Oc,Pc,Qc],rg={979436:(a,b,c,d,e)=>{if("undefined"==typeof g||!g.Uc)return 1;a=Xf(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=g.Uc.get(a);if(!a)return 2;b=Number(b>>>0);c=Number(c>>>0);d=Number(d>>>0);if(b+c>a.byteLength)return 3;try{const f=a.subarray(b,b+c);switch(e){case 0:(u(),x).set(f,d>>>0);break;case 1:g.ad?g.ad(d,f):g.ne(d,f);break;default:return 4}return 0}catch{return 4}},980260:(a,b,c)=>{g.Sd(a,(u(),x).subarray(b>>>
|
| 96 |
+
0,b+c>>>0))},980324:()=>g.le(),980366:a=>{g.jd(a)},980403:()=>"undefined"!==typeof wasmOffsetConverter},ee,Ja,fe,ge,H,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ga,Ma,Ae,Be,Ce,De,Ee,Fe,I,Ge,He,J,Ie,K,Je,Ke,Le,Me,dynCall_vii,Ne,dynCall_v,Oe,Pe,Qe,dynCall_iii,Re,Se,Te,dynCall_vi,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,Za;function Yc(a,b,c,d){var e=K();try{return Te(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
|
| 97 |
+
function Xc(a,b,c){var d=K();try{return dynCall_iii(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function nd(a){var b=K();try{dynCall_v(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0)}}function Wc(a,b){var c=K();try{return Ne(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0)}}function pd(a,b,c){var d=K();try{dynCall_vii(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function od(a,b){var c=K();try{dynCall_vi(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0)}}
|
| 98 |
+
function bd(a,b,c,d,e,f,h){var k=K();try{return Qe(a,b,c,d,e,f,h)}catch(m){J(k);if(m!==m+0)throw m;I(1,0)}}function td(a,b,c,d,e,f){var h=K();try{Oe(a,b,c,d,e,f)}catch(k){J(h);if(k!==k+0)throw k;I(1,0)}}function rd(a,b,c,d){var e=K();try{Se(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function ud(a,b,c,d,e,f,h){var k=K();try{Ve(a,b,c,d,e,f,h)}catch(m){J(k);if(m!==m+0)throw m;I(1,0)}}function Ad(a,b,c,d,e,f,h){var k=K();try{We(a,b,c,d,e,f,h)}catch(m){J(k);if(m!==m+0)throw m;I(1,0)}}
|
| 99 |
+
function zd(a,b,c,d,e,f,h,k){var m=K();try{ef(a,b,c,d,e,f,h,k)}catch(p){J(m);if(p!==p+0)throw p;I(1,0)}}function xd(a,b,c,d,e,f,h,k,m,p,C,r){var y=K();try{Xe(a,b,c,d,e,f,h,k,m,p,C,r)}catch(z){J(y);if(z!==z+0)throw z;I(1,0)}}function Zc(a,b,c,d,e){var f=K();try{return Ue(a,b,c,d,e)}catch(h){J(f);if(h!==h+0)throw h;I(1,0)}}function sd(a,b,c,d,e){var f=K();try{Pe(a,b,c,d,e)}catch(h){J(f);if(h!==h+0)throw h;I(1,0)}}
|
| 100 |
+
function vd(a,b,c,d,e,f,h,k){var m=K();try{Re(a,b,c,d,e,f,h,k)}catch(p){J(m);if(p!==p+0)throw p;I(1,0)}}function Vc(a){var b=K();try{return ff(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0)}}function hd(a,b,c){var d=K();try{return gf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function kd(a,b){var c=K();try{return sf(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0);return 0n}}function jd(a){var b=K();try{return Ye(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0);return 0n}}
|
| 101 |
+
function gd(a,b,c,d){var e=K();try{return hf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function fd(a,b,c,d,e){var f=K();try{return jf(a,b,c,d,e)}catch(h){J(f);if(h!==h+0)throw h;I(1,0)}}function ed(a,b,c,d,e,f){var h=K();try{return kf(a,b,c,d,e,f)}catch(k){J(h);if(k!==k+0)throw k;I(1,0)}}function ad(a,b,c,d,e,f){var h=K();try{return cf(a,b,c,d,e,f)}catch(k){J(h);if(k!==k+0)throw k;I(1,0)}}
|
| 102 |
+
function $c(a,b,c,d,e,f){var h=K();try{return lf(a,b,c,d,e,f)}catch(k){J(h);if(k!==k+0)throw k;I(1,0)}}function cd(a,b,c,d,e,f,h,k){var m=K();try{return df(a,b,c,d,e,f,h,k)}catch(p){J(m);if(p!==p+0)throw p;I(1,0)}}function md(a,b,c,d,e){var f=K();try{return mf(a,b,c,d,e)}catch(h){J(f);if(h!==h+0)throw h;I(1,0);return 0n}}function Uc(a,b,c,d){var e=K();try{return nf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
|
| 103 |
+
function Sc(a,b,c,d){var e=K();try{return of(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function dd(a,b,c,d,e,f,h,k,m,p,C,r){var y=K();try{return pf(a,b,c,d,e,f,h,k,m,p,C,r)}catch(z){J(y);if(z!==z+0)throw z;I(1,0)}}function wd(a,b,c,d,e,f,h,k,m,p,C){var r=K();try{qf(a,b,c,d,e,f,h,k,m,p,C)}catch(y){J(r);if(y!==y+0)throw y;I(1,0)}}function yd(a,b,c,d,e,f,h,k,m,p,C,r,y,z,D,za){var yb=K();try{rf(a,b,c,d,e,f,h,k,m,p,C,r,y,z,D,za)}catch(Bb){J(yb);if(Bb!==Bb+0)throw Bb;I(1,0)}}
|
| 104 |
+
function ld(a,b,c){var d=K();try{return $e(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0);return 0n}}function Tc(a,b,c){var d=K();try{return Ze(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function Rc(a,b,c){var d=K();try{return af(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function qd(a,b,c,d){var e=K();try{bf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
|
| 105 |
+
function ce(){var a=G;a=Object.assign({},a);var b=d=>e=>d(e)>>>0,c=d=>()=>d()>>>0;a.$b=b(a.$b);a.Cc=c(a.Cc);a.Ec=b(a.Ec);a.rd=(d=>(e,f)=>d(e,f)>>>0)(a.rd);a.wd=b(a.wd);a.xd=c(a.xd);a.Bd=b(a.Bd);return a}function Ea(){if(0<Af)Bf=Ea;else if(n)xa?.(g),Sa();else{for(var a=zf;0<a.length;)a.shift()(g);0<Af?Bf=Ea:(g.calledRun=!0,ua||(Sa(),xa?.(g)))}}var G;n||(G=await (Da()),Ea());g.PTR_SIZE=4;
|
| 106 |
+
g.webgpuInit=a=>{const b=new WeakMap;let c=1,d=void 0,e=void 0;g.webgpuRegisterDevice=k=>{if(void 0!==e)throw Error("another WebGPU EP inference session is being created.");if(k){var m=b.get(k);if(!m){m=je(0);const p=$g(k,m);m=[c++,m,p];b.set(k,m)}d=k;e=m[0];return m}d=void 0;e=0};const f=new Map;g.webgpuOnCreateSession=k=>{if(void 0!==e){var m=e;e=void 0;if(k){const p=fe(m);f.set(k,p);0===m&&a(d??Y(p))}d=void 0}};g.webgpuOnReleaseSession=k=>{f.delete(k)};const h=Symbol("gpuBufferMetadata");g.webgpuRegisterBuffer=
|
| 107 |
+
(k,m,p)=>{if(p)return k[h]=[p,NaN],p;if(p=k[h])return p[1]++,p[0];m=f.get(m);if(void 0===m)throw Error("Invalid session handle passed to webgpuRegisterBuffer");m=Zg(k,m);k[h]=[m,1];return m};g.webgpuUnregisterBuffer=k=>{const m=k[h];if(!m)throw Error("Buffer is not registered");m[1]--;0===m[1]&&(ie(m[0]),delete k[h])};g.webgpuGetBuffer=k=>Y(k);g.webgpuCreateDownloader=(k,m,p)=>{p=f.get(p);if(void 0===p)throw Error("Invalid session handle passed to webgpuRegisterBuffer");const C=Y(p),r=16*Math.ceil(Number(m)/
|
| 108 |
+
16);return async()=>{const y=C.createBuffer({size:r,usage:9});try{const z=C.createCommandEncoder();z.copyBufferToBuffer(k,0,y,0,r);C.queue.submit([z.finish()]);await y.mapAsync(GPUMapMode.READ);return y.getMappedRange().slice(0,m)}finally{y.destroy()}}};g.ad=(k,m)=>{var p=m.buffer;const C=m.byteOffset,r=m.byteLength;m=16*Math.ceil(Number(r)/16);k=Y(k);if(!d){var y=fe(e);d=Y(y)}y=d.createBuffer({mappedAtCreation:!0,size:m,usage:6});const z=y.getMappedRange();(new Uint8Array(z)).set(new Uint8Array(p,
|
| 109 |
+
C,r));y.unmap();p=d.createCommandEncoder();p.copyBufferToBuffer(y,0,k,0,m);d.queue.submit([p.finish()]);y.destroy()}};
|
| 110 |
+
g.webnnInit=a=>{const b=a[0];[g.le,g.jd,g.webnnEnsureTensor,g.Sd,g.webnnDownloadTensor,g.ke,g.webnnEnableTraceEvent]=a.slice(1);g.webnnReleaseTensorId=g.jd;g.webnnUploadTensor=g.Sd;g.webnnRegisterMLContext=g.ke;g.webnnOnRunStart=c=>b.onRunStart(c);g.webnnOnRunEnd=b.onRunEnd.bind(b);g.webnnOnReleaseSession=c=>{b.onReleaseSession(c)};g.webnnCreateMLTensorDownloader=(c,d)=>b.createMLTensorDownloader(c,d);g.webnnRegisterMLTensor=(c,d,e,f)=>b.registerMLTensor(c,d,e,f);g.webnnCreateMLContext=c=>b.createMLContext(c);
|
| 111 |
+
g.webnnRegisterMLConstant=(c,d,e,f,h,k)=>b.registerMLConstant(c,d,e,f,h,g.Uc,k);g.webnnRegisterGraphInput=b.registerGraphInput.bind(b);g.webnnIsGraphInput=b.isGraphInput.bind(b);g.webnnRegisterGraphOutput=b.registerGraphOutput.bind(b);g.webnnIsGraphOutput=b.isGraphOutput.bind(b);g.webnnCreateTemporaryTensor=b.createTemporaryTensor.bind(b);g.webnnIsGraphInputOutputTypeSupported=b.isGraphInputOutputTypeSupported.bind(b)};Ra?moduleRtn=g:moduleRtn=new Promise((a,b)=>{xa=a;ya=b});
|
| 112 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort-wasm/ort-wasm-simd-threaded.asyncify.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:66fe6d69b8835a9af0cde19533bafb09c71418bccf7c095d8c3c78f5800b01e8
|
| 3 |
+
size 23678474
|
ort-wasm/ort-wasm-simd-threaded.jsep.mjs
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var f=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,h=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,m=ba&&self.name?.startsWith("em-pthread");if(h){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;m=(ba=!ca.Xd)&&"em-pthread"==ca.workerData}f.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(f.Xc||(f.Xc=new Map)).set(a,b)};
|
| 2 |
+
f.unmountExternalData=()=>{delete f.Xc};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor;const da=a=>async(...b)=>{try{if(f.Yc)throw Error("Session already started");const d=f.Yc={Kd:b[0],errors:[]},c=await a(...b);if(f.Yc!==d)throw Error("Session mismatch");f.dd?.flush();const e=d.errors;if(0<e.length){let g=await Promise.all(e);g=g.filter(k=>k);if(0<g.length)throw Error(g.join("\n"));}return c}finally{f.Yc=null}};
|
| 3 |
+
f.jsepInit=(a,b)=>{if("webgpu"===a){[f.dd,f.Ad,f.Ed,f.ed,f.Dd,f.$b,f.Fd,f.Hd,f.Bd,f.Cd,f.Gd]=b;const d=f.dd;f.jsepRegisterBuffer=(c,e,g,k)=>d.registerBuffer(c,e,g,k);f.jsepGetBuffer=c=>d.getBuffer(c);f.jsepCreateDownloader=(c,e,g)=>d.createDownloader(c,e,g);f.jsepOnCreateSession=c=>{d.onCreateSession(c)};f.jsepOnReleaseSession=c=>{d.onReleaseSession(c)};f.jsepOnRunStart=c=>d.onRunStart(c);f.Id=(c,e)=>{d.upload(c,e)}}else if("webnn"===a){const d=b[0];[f.Wd,f.sd,f.webnnEnsureTensor,f.td,f.webnnDownloadTensor,
|
| 4 |
+
f.Rd,f.webnnEnableTraceEvent]=b.slice(1);f.webnnReleaseTensorId=f.sd;f.webnnUploadTensor=f.td;f.webnnRegisterMLContext=f.Rd;f.webnnOnRunStart=c=>d.onRunStart(c);f.webnnOnRunEnd=d.onRunEnd.bind(d);f.webnnOnReleaseSession=c=>{d.onReleaseSession(c)};f.webnnCreateMLTensorDownloader=(c,e)=>d.createMLTensorDownloader(c,e);f.webnnRegisterMLTensor=(c,e,g,k)=>d.registerMLTensor(c,e,g,k);f.webnnCreateMLContext=c=>d.createMLContext(c);f.webnnRegisterMLConstant=(c,e,g,k,l,n)=>d.registerMLConstant(c,e,g,k,l,f.Xc,
|
| 5 |
+
n);f.webnnRegisterGraphInput=d.registerGraphInput.bind(d);f.webnnIsGraphInput=d.isGraphInput.bind(d);f.webnnRegisterGraphOutput=d.registerGraphOutput.bind(d);f.webnnIsGraphOutput=d.isGraphOutput.bind(d);f.webnnCreateTemporaryTensor=d.createTemporaryTensor.bind(d);f.webnnIsGraphInputOutputTypeSupported=d.isGraphInputOutputTypeSupported.bind(d)}};
|
| 6 |
+
let fa=()=>{const a=b=>(...d)=>{const c=q;d=b(...d);return q!=c?ea():d};(b=>{for(const d of b)f[d]=a(f[d])})(["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"]);"undefined"!==typeof da&&(f._OrtRun=da(f._OrtRun),f._OrtRunWithBinding=da(f._OrtRunWithBinding));fa=void 0};f.asyncInit=()=>{fa?.()};var ha="./this.program",ia=(a,b)=>{throw b;},ja=import.meta.url,ka="",la,ma;
|
| 7 |
+
if(h){var fs=require("fs");ja.startsWith("file:")&&(ka=require("path").dirname(require("url").fileURLToPath(ja))+"/");ma=a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a)};la=async a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ha=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ia=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ka=(new URL(".",ja)).href}catch{}h||(ba&&(ma=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 8 |
+
b.send(null);return new Uint8Array(b.response)}),la=async a=>{if(na(a))return new Promise((d,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?d(e.response):c(e.status)};e.onerror=c;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var oa=console.log.bind(console),pa=console.error.bind(console);
|
| 9 |
+
if(h){var qa=require("util"),ra=a=>"object"==typeof a?qa.inspect(a):a;oa=(...a)=>fs.writeSync(1,a.map(ra).join(" ")+"\n");pa=(...a)=>fs.writeSync(2,a.map(ra).join(" ")+"\n")}var sa=oa,r=pa,ta,ua,t=!1,va,na=a=>a.startsWith("file://");function v(){x.buffer!=A.buffer&&wa()}var xa,ya;
|
| 10 |
+
if(h&&m){var za=ca.parentPort;za.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>za.postMessage(a)});process.on("uncaughtException",a=>{postMessage({Sc:"uncaughtException",error:a});process.exit(1)})}var Aa;
|
| 11 |
+
if(m){var Ba=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var d=b.data,c=d.Sc;if("load"===c){let e=[];self.onmessage=g=>e.push(g);Aa=()=>{postMessage({Sc:"loaded"});for(let g of e)a(g);self.onmessage=a};for(const g of d.xd)if(!f[g]||f[g].proxy)f[g]=(...k)=>{postMessage({Sc:"callHandler",wd:g,args:k})},"print"==g&&(sa=f[g]),"printErr"==g&&(r=f[g]);x=d.Od;wa();ua=d.Pd;Ca();Da()}else if("run"===c){Ea(d.Rc);Fa(d.Rc,0,0,1,0,0);Ga();Ha(d.Rc);Ba||(Ia(),Ba=!0);try{Ja(d.Md,d.bd)}catch(e){if("unwind"!=
|
| 12 |
+
e)throw e;}}else"setimmediate"!==d.target&&("checkMailbox"===c?Ba&&Ka():c&&(r(`worker: received unknown command ${c}`),r(d)))}catch(e){throw La(),e;}}self.onmessage=a}var A,B,Ma,Na,C,D,Oa,E,F,Pa,Qa=!1;function wa(){var a=x.buffer;f.HEAP8=A=new Int8Array(a);Ma=new Int16Array(a);f.HEAPU8=B=new Uint8Array(a);Na=new Uint16Array(a);f.HEAP32=C=new Int32Array(a);f.HEAPU32=D=new Uint32Array(a);Oa=new Float32Array(a);E=new Float64Array(a);F=new BigInt64Array(a);Pa=new BigUint64Array(a)}
|
| 13 |
+
function Ra(){Qa=!0;m?Aa():G.sb()}function H(a){a="Aborted("+a+")";r(a);t=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ya?.(a);throw a;}var Sa;async function Ta(a){if(!ta)try{var b=await la(a);return new Uint8Array(b)}catch{}if(a==Sa&&ta)a=new Uint8Array(ta);else if(ma)a=ma(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 14 |
+
async function Ua(a,b){try{var d=await Ta(a);return await WebAssembly.instantiate(d,b)}catch(c){r(`failed to asynchronously prepare wasm: ${c}`),H(c)}}async function Va(a){var b=Sa;if(!ta&&!na(b)&&!h)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(c){r(`wasm streaming compile failed: ${c}`),r("falling back to ArrayBuffer instantiation")}return Ua(b,a)}
|
| 15 |
+
function Wa(){Xa={ma:Ya,gb:Za,g:$a,J:ab,f:bb,o:cb,h:db,ha:eb,b:fb,T:gb,Ha:hb,n:ib,$:jb,Xa:mb,Da:nb,Fa:ob,Ya:pb,Va:qb,Oa:rb,Ua:sb,ka:tb,Ea:ub,Ba:vb,Wa:wb,Ca:xb,bb:yb,ea:zb,wa:Ab,ua:Bb,da:Cb,O:Db,H:Eb,va:Fb,_:Gb,xa:Hb,Ra:Ib,za:Jb,Ia:Kb,sa:Lb,fa:Mb,Qa:Ha,_a:Nb,R:Ob,r:Pb,c:Qb,hb:Rb,y:Sb,M:Tb,D:Ub,l:Vb,s:Wb,ib:Xb,I:Yb,S:Zb,j:$b,u:ac,q:bc,k:cc,La:dc,Ma:ec,Na:fc,Ja:gc,Ka:hc,ta:ic,db:jc,ab:kc,v:lc,aa:mc,ga:nc,$a:oc,W:pc,Za:qc,Aa:rc,F:sc,U:tc,la:uc,ya:vc,fb:wc,eb:xc,Sa:yc,Ta:zc,Ga:Ac,V:Bc,ja:Cc,Pa:Dc,ia:Ec,
|
| 16 |
+
kb:Fc,na:Gc,lb:Hc,oa:Ic,G:Jc,d:Kc,t:Lc,w:Mc,A:Nc,mb:Oc,K:Pc,x:Qc,pa:Rc,Y:Sc,ba:Tc,nb:Uc,ob:Vc,P:Wc,qa:Xc,pb:Yc,N:Zc,Z:$c,e:ad,B:bd,m:cd,jb:dd,p:ed,z:fd,C:gd,E:hd,L:jd,qb:kd,Q:ld,ca:md,X:nd,rb:od,ra:pd,i:qd,a:x,cb:rd};return{a:Xa}}
|
| 17 |
+
async function Ca(){function a(c,e){var g=G=c.exports;c={};for(let [k,l]of Object.entries(g))"function"==typeof l?(g=sd(l),c[k]=g):c[k]=l;G=c;G=td();ud.push(G._b);c=G;vd=c.tb;Ia=c.ub;f._OrtInit=c.vb;f._OrtGetLastError=c.wb;f._OrtCreateSessionOptions=c.xb;f._OrtAppendExecutionProvider=c.yb;f._OrtAddFreeDimensionOverride=c.zb;f._OrtAddSessionConfigEntry=c.Ab;f._OrtReleaseSessionOptions=c.Bb;f._OrtCreateSession=c.Cb;f._OrtReleaseSession=c.Db;f._OrtGetInputOutputCount=c.Eb;f._OrtGetInputOutputMetadata=
|
| 18 |
+
c.Fb;f._OrtFree=c.Gb;f._OrtCreateTensor=c.Hb;f._OrtGetTensorData=c.Ib;f._OrtReleaseTensor=c.Jb;f._OrtCreateRunOptions=c.Kb;f._OrtAddRunConfigEntry=c.Lb;f._OrtReleaseRunOptions=c.Mb;f._OrtCreateBinding=c.Nb;f._OrtBindInput=c.Ob;f._OrtBindOutput=c.Pb;f._OrtClearBoundOutputs=c.Qb;f._OrtReleaseBinding=c.Rb;f._OrtRunWithBinding=c.Sb;f._OrtRun=c.Tb;f._OrtEndProfiling=c.Ub;f._JsepOutput=c.Vb;f._JsepGetNodeName=c.Wb;wd=c.Xb;I=f._free=c.Yb;xd=f._malloc=c.Zb;Fa=c.ac;La=c.bc;yd=c.cc;zd=c.dc;Ad=c.ec;Bd=c.fc;
|
| 19 |
+
Cd=c.gc;J=c.hc;Dd=c.ic;Ed=c.jc;K=c.kc;Fd=c.lc;L=c.mc;Gd=c.nc;Hd=c.oc;Id=c.pc;Jd=c.qc;dynCall_vii=c.rc;Kd=c.sc;dynCall_v=c.tc;Ld=c.uc;Md=c.vc;dynCall_iii=c.wc;Nd=c.xc;Od=c.yc;Pd=c.zc;Qd=c.Ac;dynCall_vi=c.Bc;Rd=c.Cc;Sd=c.Dc;Td=c.Ec;Ud=c.Fc;Vd=c.Gc;Wd=c.Hc;Xd=c.Ic;Yd=c.Jc;Zd=c.Kc;$d=c.Lc;ae=c.Mc;be=c.Nc;ce=c.Pc;de=c.Qc;ee=c.$c;fe=c.ad;ge=c.fd;he=c.jd;ie=c.kd;je=c.ld;ke=c.md;le=c.nd;me=c.od;ne=c.pd;oe=c.qd;pe=c.vd;qe=c.Sd;re=c.Td;se=c.Ud;te=c.Vd;ua=e;return G}var b=Wa();if(f.instantiateWasm)return new Promise(c=>
|
| 20 |
+
{f.instantiateWasm(b,(e,g)=>{c(a(e,g))})});if(m){var d=new WebAssembly.Instance(ua,Wa());return a(d,ua)}Sa??=f.locateFile?f.locateFile?f.locateFile("ort-wasm-simd-threaded.jsep.wasm",ka):ka+"ort-wasm-simd-threaded.jsep.wasm":(new URL("ort-wasm-simd-threaded.jsep.wasm",import.meta.url)).href;return function(c){return a(c.instance,c.module)}(await Va(b))}class ue{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 21 |
+
var ve=a=>{a.terminate();a.onmessage=()=>{}},we=[],xe=0,ye=null,Ce=a=>{0==M.length&&(ze(),Ae(M[0]));var b=M.pop();if(!b)return 6;Be.push(b);N[a.Rc]=b;b.Rc=a.Rc;var d={Sc:"run",Md:a.Ld,bd:a.bd,Rc:a.Rc};h&&b.unref();b.postMessage(d,a.rd);return 0},O=0,P=(a,b,...d)=>{var c=16*d.length,e=L(),g=Fd(c),k=g>>>3,l;for(l of d)"bigint"==typeof l?((v(),F)[k++>>>0]=1n,(v(),F)[k++>>>0]=l):((v(),F)[k++>>>0]=0n,(v(),E)[k++>>>0]=l);a=yd(a,0,c,g,b);K(e);return a};
|
| 22 |
+
function rd(a){if(m)return P(0,1,a);va=a;if(!(0<O)){for(var b of Be)ve(b);for(b of M)ve(b);M=[];Be=[];N={};t=!0}ia(a,new ue(a))}function De(a){if(m)return P(1,0,a);Ac(a)}var Ac=a=>{va=a;if(m)throw De(a),"unwind";rd(a)},M=[],Be=[],ud=[],N={};function Ee(){for(var a=f.numThreads-1;a--;)ze();we.push(async()=>{var b=Fe();xe++;await b;xe--;0==xe&&ye&&(b=ye,ye=null,b())})}var Ge=a=>{var b=a.Rc;delete N[b];M.push(a);Be.splice(Be.indexOf(a),1);a.Rc=0;zd(b)};function Ga(){ud.forEach(a=>a())}
|
| 23 |
+
var Ae=a=>new Promise(b=>{a.onmessage=g=>{var k=g.data;g=k.Sc;if(k.Zc&&k.Zc!=wd()){var l=N[k.Zc];l?l.postMessage(k,k.rd):r(`Internal error! Worker sent a message "${g}" to target pthread ${k.Zc}, but that thread no longer exists!`)}else if("checkMailbox"===g)Ka();else if("spawnThread"===g)Ce(k);else if("cleanupThread"===g)He(()=>{Ge(N[k.Nd])});else if("loaded"===g)a.loaded=!0,h&&!a.Rc&&a.unref(),b(a);else if("setimmediate"===k.target)a.postMessage(k);else if("uncaughtException"===g)a.onerror(k.error);
|
| 24 |
+
else if("callHandler"===g)f[k.wd](...k.args);else g&&r(`worker sent an unknown command ${g}`)};a.onerror=g=>{r(`${"worker sent an error!"} ${g.filename}:${g.lineno}: ${g.message}`);throw g;};h&&(a.on("message",g=>a.onmessage({data:g})),a.on("error",g=>a.onerror(g)));var d=[],c=[],e;for(e of c)f.propertyIsEnumerable(e)&&d.push(e);a.postMessage({Sc:"load",xd:d,Od:x,Pd:ua})});async function Fe(){if(!m)return Promise.all(M.map(Ae))}
|
| 25 |
+
function ze(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});M.push(a)}function Ea(a){var b=(v(),D)[a+52>>>2>>>0];a=(v(),D)[a+56>>>2>>>0];Ed(b,b-a);K(b)}var Ja=(a,b)=>{O=0;a=Kd(a,b);0<O?va=a:Ad(a)},x,Ie=[],Je=0;function $a(a){a>>>=0;var b=new Ke(a);0==(v(),A)[b.Tc+12>>>0]&&(Le(b,!0),Je--);Me(b,!1);Ie.push(b);return Jd(a)}var Q=0,ab=()=>{J(0,0);var a=Ie.pop();Gd(a.cd);Q=0};
|
| 26 |
+
function Le(a,b){b=b?1:0;(v(),A)[a.Tc+12>>>0]=b}function Me(a,b){b=b?1:0;(v(),A)[a.Tc+13>>>0]=b}class Ke{constructor(a){this.cd=a;this.Tc=a-24}}var Ne=a=>{var b=Q;if(!b)return Dd(0),0;var d=new Ke(b);(v(),D)[d.Tc+16>>>2>>>0]=b;var c=(v(),D)[d.Tc+4>>>2>>>0];if(!c)return Dd(0),b;for(var e of a){if(0===e||e===c)break;if(Id(e,c,d.Tc+16))return Dd(e),b}Dd(c);return b};function bb(){return Ne([])}function cb(a){return Ne([a>>>0])}function db(a,b,d,c){return Ne([a>>>0,b>>>0,d>>>0,c>>>0])}
|
| 27 |
+
var eb=()=>{var a=Ie.pop();a||H("no exception to throw");var b=a.cd;0==(v(),A)[a.Tc+13>>>0]&&(Ie.push(a),Me(a,!0),Le(a,!1),Je++);Hd(b);Q=b;throw Q;};function fb(a,b,d){a>>>=0;var c=new Ke(a);b>>>=0;d>>>=0;(v(),D)[c.Tc+16>>>2>>>0]=0;(v(),D)[c.Tc+4>>>2>>>0]=b;(v(),D)[c.Tc+8>>>2>>>0]=d;Hd(a);Q=a;Je++;throw Q;}var gb=()=>Je;function Oe(a,b,d,c){return m?P(2,1,a,b,d,c):hb(a,b,d,c)}
|
| 28 |
+
function hb(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(m&&0===e.length)return Oe(a,b,d,c);a={Ld:d,Rc:a,bd:c,rd:e};return m?(a.Sc="spawnThread",postMessage(a,e),0):Ce(a)}function ib(a){Q||=a>>>0;throw Q;}
|
| 29 |
+
var Pe=globalThis.TextDecoder&&new TextDecoder,Qe=(a,b,d,c)=>{d=b+d;if(c)return d;for(;a[b]&&!(b>=d);)++b;return b},Re=(a,b=0,d,c)=>{b>>>=0;d=Qe(a,b,d,c);if(16<d-b&&a.buffer&&Pe)return Pe.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,d):a.slice(b,d));for(c="";b<d;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))c+=String.fromCharCode((e&31)<<6|g);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|k:(e&7)<<18|g<<12|k<<6|a[b++]&63;65536>e?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(55296|
|
| 30 |
+
e>>10,56320|e&1023))}}else c+=String.fromCharCode(e)}return c},R=(a,b,d)=>(a>>>=0)?Re((v(),B),a,b,d):"";function jb(a,b,d){return m?P(3,1,a,b,d):0}function mb(a,b){if(m)return P(4,1,a,b)}function nb(a,b){if(m)return P(5,1,a,b)}function ob(a,b,d){if(m)return P(6,1,a,b,d)}function pb(a,b,d){return m?P(7,1,a,b,d):0}function qb(a,b){if(m)return P(8,1,a,b)}function rb(a,b,d){if(m)return P(9,1,a,b,d)}function sb(a,b,d,c){if(m)return P(10,1,a,b,d,c)}function tb(a,b,d,c){if(m)return P(11,1,a,b,d,c)}
|
| 31 |
+
function ub(a,b,d,c){if(m)return P(12,1,a,b,d,c)}function vb(a){if(m)return P(13,1,a)}function wb(a,b){if(m)return P(14,1,a,b)}function xb(a,b,d){if(m)return P(15,1,a,b,d)}var yb=()=>H(""),S=a=>{a>>>=0;for(var b="";;){var d=(v(),B)[a++>>>0];if(!d)return b;b+=String.fromCharCode(d)}},Se={},Te={},Ue={},Ve=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
| 32 |
+
function We(a,b,d={}){var c=b.name;if(!a)throw new Ve(`type "${c}" must have a positive integer typeid pointer`);if(Te.hasOwnProperty(a)){if(d.yd)return;throw new Ve(`Cannot register type '${c}' twice`);}Te[a]=b;delete Ue[a];Se.hasOwnProperty(a)&&(b=Se[a],delete Se[a],b.forEach(e=>e()))}function T(a,b,d={}){return We(a,b,d)}
|
| 33 |
+
var Xe=(a,b,d)=>{switch(b){case 1:return d?c=>(v(),A)[c>>>0]:c=>(v(),B)[c>>>0];case 2:return d?c=>(v(),Ma)[c>>>1>>>0]:c=>(v(),Na)[c>>>1>>>0];case 4:return d?c=>(v(),C)[c>>>2>>>0]:c=>(v(),D)[c>>>2>>>0];case 8:return d?c=>(v(),F)[c>>>3>>>0]:c=>(v(),Pa)[c>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
| 34 |
+
function zb(a,b,d,c,e){a>>>=0;d>>>=0;b=S(b>>>0);c=0n===c;let g=k=>k;if(c){const k=8*d;g=l=>BigInt.asUintN(k,l);e=g(e)}T(a,{name:b,Oc:g,Vc:(k,l)=>{"number"==typeof l&&(l=BigInt(l));return l},Uc:Xe(b,d,!c),Wc:null})}function Ab(a,b,d,c){a>>>=0;b=S(b>>>0);T(a,{name:b,Oc:function(e){return!!e},Vc:function(e,g){return g?d:c},Uc:function(e){return this.Oc((v(),B)[e>>>0])},Wc:null})}var Ye=[],U=[0,1,,1,null,1,!0,1,!1,1];function Qb(a){a>>>=0;9<a&&0===--U[a+1]&&(U[a]=void 0,Ye.push(a))}
|
| 35 |
+
var V=a=>{if(!a)throw new Ve(`Cannot use deleted val. handle = ${a}`);return U[a]},X=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=Ye.pop()||U.length;U[b]=a;U[b+1]=1;return b}};function Ze(a){return this.Oc((v(),D)[a>>>2>>>0])}var $e={name:"emscripten::val",Oc:a=>{var b=V(a);Qb(a);return b},Vc:(a,b)=>X(b),Uc:Ze,Wc:null};function Bb(a){return T(a>>>0,$e)}
|
| 36 |
+
var af=(a,b)=>{switch(b){case 4:return function(d){return this.Oc((v(),Oa)[d>>>2>>>0])};case 8:return function(d){return this.Oc((v(),E)[d>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function Cb(a,b,d){a>>>=0;d>>>=0;b=S(b>>>0);T(a,{name:b,Oc:c=>c,Vc:(c,e)=>e,Uc:af(b,d),Wc:null})}function Db(a,b,d,c,e){a>>>=0;d>>>=0;b=S(b>>>0);let g=l=>l;if(0===c){var k=32-8*d;g=l=>l<<k>>>k;e=g(e)}T(a,{name:b,Oc:g,Vc:(l,n)=>n,Uc:Xe(b,d,0!==c),Wc:null})}
|
| 37 |
+
function Eb(a,b,d){function c(g){var k=(v(),D)[g>>>2>>>0];g=(v(),D)[g+4>>>2>>>0];return new e((v(),A).buffer,g,k)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];d=S(d>>>0);T(a,{name:d,Oc:c,Uc:c},{yd:!0})}
|
| 38 |
+
var Y=(a,b,d)=>{var c=(v(),B);b>>>=0;if(0<d){var e=b;d=b+d-1;for(var g=0;g<a.length;++g){var k=a.codePointAt(g);if(127>=k){if(b>=d)break;c[b++>>>0]=k}else if(2047>=k){if(b+1>=d)break;c[b++>>>0]=192|k>>6;c[b++>>>0]=128|k&63}else if(65535>=k){if(b+2>=d)break;c[b++>>>0]=224|k>>12;c[b++>>>0]=128|k>>6&63;c[b++>>>0]=128|k&63}else{if(b+3>=d)break;c[b++>>>0]=240|k>>18;c[b++>>>0]=128|k>>12&63;c[b++>>>0]=128|k>>6&63;c[b++>>>0]=128|k&63;g++}}c[b>>>0]=0;a=b-e}else a=0;return a},bf=a=>{for(var b=0,d=0;d<a.length;++d){var c=
|
| 39 |
+
a.charCodeAt(d);127>=c?b++:2047>=c?b+=2:55296<=c&&57343>=c?(b+=4,++d):b+=3}return b};
|
| 40 |
+
function Fb(a,b){a>>>=0;b=S(b>>>0);T(a,{name:b,Oc(d){var c=(v(),D)[d>>>2>>>0];c=R(d+4,c,!0);I(d);return c},Vc(d,c){c instanceof ArrayBuffer&&(c=new Uint8Array(c));var e="string"==typeof c;if(!(e||ArrayBuffer.isView(c)&&1==c.BYTES_PER_ELEMENT))throw new Ve("Cannot pass non-string to std::string");var g=e?bf(c):c.length;var k=xd(4+g+1),l=k+4;(v(),D)[k>>>2>>>0]=g;e?Y(c,l,g+1):(v(),B).set(c,l>>>0);null!==d&&d.push(I,k);return k},Uc:Ze,Wc(d){I(d)}})}
|
| 41 |
+
var cf=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,df=(a,b,d)=>{a>>>=1;b=Qe((v(),Na),a,b/2,d);if(16<b-a&&cf)return cf.decode((v(),Na).slice(a,b));for(d="";a<b;++a){var c=(v(),Na)[a>>>0];d+=String.fromCharCode(c)}return d},ef=(a,b,d)=>{d??=2147483647;if(2>d)return 0;d-=2;var c=b;d=d<2*a.length?d/2:a.length;for(var e=0;e<d;++e){var g=a.charCodeAt(e);(v(),Ma)[b>>>1>>>0]=g;b+=2}(v(),Ma)[b>>>1>>>0]=0;return b-c},ff=a=>2*a.length,gf=(a,b,d)=>{var c="";a>>>=2;for(var e=0;!(e>=b/4);e++){var g=
|
| 42 |
+
(v(),D)[a+e>>>0];if(!g&&!d)break;c+=String.fromCodePoint(g)}return c},hf=(a,b,d)=>{b>>>=0;d??=2147483647;if(4>d)return 0;var c=b;d=c+d-4;for(var e=0;e<a.length;++e){var g=a.codePointAt(e);65535<g&&e++;(v(),C)[b>>>2>>>0]=g;b+=4;if(b+4>d)break}(v(),C)[b>>>2>>>0]=0;return b-c},jf=a=>{for(var b=0,d=0;d<a.length;++d)65535<a.codePointAt(d)&&d++,b+=4;return b};
|
| 43 |
+
function Gb(a,b,d){a>>>=0;b>>>=0;d>>>=0;d=S(d);if(2===b){var c=df;var e=ef;var g=ff}else c=gf,e=hf,g=jf;T(a,{name:d,Oc:k=>{var l=(v(),D)[k>>>2>>>0];l=c(k+4,l*b,!0);I(k);return l},Vc:(k,l)=>{if("string"!=typeof l)throw new Ve(`Cannot pass non-string to C++ string type ${d}`);var n=g(l),p=xd(4+n+b);(v(),D)[p>>>2>>>0]=n/b;e(l,p+4,n+b);null!==k&&k.push(I,p);return p},Uc:Ze,Wc(k){I(k)}})}function Hb(a,b){a>>>=0;b=S(b>>>0);T(a,{zd:!0,name:b,Oc:()=>{},Vc:()=>{}})}
|
| 44 |
+
function Ib(a){Fa(a>>>0,!ba,1,!aa,131072,!1);Ga()}var He=a=>{if(!t)try{if(a(),!(0<O))try{m?wd()&&Ad(va):Ac(va)}catch(b){b instanceof ue||"unwind"==b||ia(1,b)}}catch(b){b instanceof ue||"unwind"==b||ia(1,b)}},kf=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ha(a){a>>>=0;kf||(Atomics.waitAsync((v(),C),a>>>2,a).value.then(Ka),a+=128,Atomics.store((v(),C),a>>>2,1))}var Ka=()=>He(()=>{var a=wd();a&&(Ha(a),Cd())});
|
| 45 |
+
function Jb(a,b){a>>>=0;a==b>>>0?setTimeout(Ka):m?postMessage({Zc:a,Sc:"checkMailbox"}):(a=N[a])&&a.postMessage({Sc:"checkMailbox"})}var lf=[];function Kb(a,b,d,c,e){b>>>=0;e>>>=0;lf.length=0;d=e>>>3;for(c=e+c>>>3;d<c;){var g;(v(),F)[d++>>>0]?g=(v(),F)[d++>>>0]:g=(v(),E)[d++>>>0];lf.push(g)}return(b?mf[b]:nf[a])(...lf)}var Lb=()=>{O=0};function Mb(a){a>>>=0;m?postMessage({Sc:"cleanupThread",Nd:a}):Ge(N[a])}function Nb(a){h&&N[a>>>0].ref()}var of=a=>{try{a()}catch(b){H(b)}};
|
| 46 |
+
function sd(a){var b=(...d)=>{pf.push(a);try{return a(...d)}finally{t||(pf.pop(),q&&1===Z&&0===pf.length&&(Z=0,O+=1,of(re),"undefined"!=typeof Fibers&&Fibers.Zd()))}};qf.set(a,b);return b}var Z=0,q=null,rf=0,pf=[],sf=new Map,tf=new Map,qf=new Map,uf=0,vf=null,wf=[];function ea(){return new Promise((a,b)=>{vf={resolve:a,reject:b}})}
|
| 47 |
+
function xf(){var a=xd(65548),b=a+12;(v(),D)[a>>>2>>>0]=b;(v(),D)[a+4>>>2>>>0]=b+65536;b=pf[0];if(!sf.has(b)){var d=uf++;sf.set(b,d);tf.set(d,b)}b=sf.get(b);(v(),C)[a+8>>>2>>>0]=b;return a}function yf(){var a=(v(),C)[q+8>>>2>>>0];a=tf.get(a);a=qf.get(a);--O;return a()}
|
| 48 |
+
function zf(a){if(!t){if(0===Z){var b=!1,d=!1;a((c=0)=>{if(!t&&(rf=c,b=!0,d)){Z=2;of(()=>se(q));"undefined"!=typeof MainLoop&&MainLoop.ud&&MainLoop.resume();c=!1;try{var e=yf()}catch(l){e=l,c=!0}var g=!1;if(!q){var k=vf;k&&(vf=null,(c?k.reject:k.resolve)(e),g=!0)}if(c&&!g)throw e;}});d=!0;b||(Z=1,q=xf(),"undefined"!=typeof MainLoop&&MainLoop.ud&&MainLoop.pause(),of(()=>qe(q)))}else 2===Z?(Z=0,of(te),I(q),q=null,wf.forEach(He)):H(`invalid state: ${Z}`);return rf}}var Af=a=>zf(b=>{a().then(b)});
|
| 49 |
+
function Ob(a){a>>>=0;return Af(async()=>{var b=await V(a);return X(b)})}var Bf=[],Cf=a=>{var b=Bf.length;Bf.push(a);return b},Df=(a,b)=>{for(var d=Array(a),c=0;c<a;++c){var e=c,g=(v(),D)[b+4*c>>>2>>>0],k=Te[g];if(void 0===k)throw a=`parameter ${c}`,g=vd(g),b=S(g),I(g),new Ve(`${a} has unknown type ${b}`);d[e]=k}return d},Ef=(a,b,d)=>{var c=[];a=a(c,d);c.length&&((v(),D)[b>>>2>>>0]=X(c));return a},Ff={},Gf=a=>{var b=Ff[a];return void 0===b?S(a):b};
|
| 50 |
+
function Pb(a,b,d){var [c,...e]=Df(a,b>>>0);b=c.Vc.bind(c);var g=e.map(n=>n.Uc.bind(n));a--;var k={toValue:V};a=g.map((n,p)=>{var u=`argFromPtr${p}`;k[u]=n;return`${u}(args${p?"+"+8*p:""})`});switch(d){case 0:var l="toValue(handle)";break;case 2:l="new (toValue(handle))";break;case 3:l="";break;case 1:k.getStringOrSymbol=Gf,l="toValue(handle)[getStringOrSymbol(methodName)]"}l+=`(${a})`;c.zd||(k.toReturnWire=b,k.emval_returnValue=Ef,l=`return emval_returnValue(toReturnWire, destructorsRef, ${l})`);
|
| 51 |
+
l=`return function (handle, methodName, destructorsRef, args) {\n ${l}\n }`;d=(new Function(Object.keys(k),l))(...Object.values(k));l=`methodCaller<(${e.map(n=>n.name)}) => ${c.name}>`;return Cf(Object.defineProperty(d,"name",{value:l}))}function Rb(a,b){b>>>=0;a=V(a>>>0);b=V(b);return a==b}function Sb(a){a>>>=0;if(!a)return X(globalThis);a=Gf(a);return X(globalThis[a])}function Tb(a){a=Gf(a>>>0);return X(f[a])}function Ub(a,b){b>>>=0;a=V(a>>>0);b=V(b);return X(a[b])}
|
| 52 |
+
function Vb(a){a>>>=0;9<a&&(U[a+1]+=1)}function Wb(a,b,d,c,e){return Bf[a>>>0](b>>>0,d>>>0,c>>>0,e>>>0)}function Xb(a,b,d,c,e){return Wb(a>>>0,b>>>0,d>>>0,c>>>0,e>>>0)}function Yb(){return X([])}function Zb(a){a=V(a>>>0);for(var b=Array(a.length),d=0;d<a.length;d++)b[d]=a[d];return X(b)}function $b(a){return X(Gf(a>>>0))}function ac(){return X({})}function bc(a){a>>>=0;for(var b=V(a);b.length;){var d=b.pop();b.pop()(d)}Qb(a)}function cc(a,b,d){b>>>=0;d>>>=0;a=V(a>>>0);b=V(b);d=V(d);a[b]=d}
|
| 53 |
+
function dc(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getUTCSeconds();(v(),C)[b+4>>>2>>>0]=a.getUTCMinutes();(v(),C)[b+8>>>2>>>0]=a.getUTCHours();(v(),C)[b+12>>>2>>>0]=a.getUTCDate();(v(),C)[b+16>>>2>>>0]=a.getUTCMonth();(v(),C)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(v(),C)[b+28>>>2>>>0]=a}
|
| 54 |
+
var Hf=a=>0===a%4&&(0!==a%100||0===a%400),If=[0,31,60,91,121,152,182,213,244,274,305,335],Jf=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 55 |
+
function ec(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getSeconds();(v(),C)[b+4>>>2>>>0]=a.getMinutes();(v(),C)[b+8>>>2>>>0]=a.getHours();(v(),C)[b+12>>>2>>>0]=a.getDate();(v(),C)[b+16>>>2>>>0]=a.getMonth();(v(),C)[b+20>>>2>>>0]=a.getFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getDay();var d=(Hf(a.getFullYear())?If:Jf)[a.getMonth()]+a.getDate()-1|0;(v(),C)[b+28>>>2>>>0]=d;(v(),C)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());d=(new Date(a.getFullYear(),
|
| 56 |
+
6,1)).getTimezoneOffset();var c=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;(v(),C)[b+32>>>2>>>0]=a}
|
| 57 |
+
function fc(a){a>>>=0;var b=new Date((v(),C)[a+20>>>2>>>0]+1900,(v(),C)[a+16>>>2>>>0],(v(),C)[a+12>>>2>>>0],(v(),C)[a+8>>>2>>>0],(v(),C)[a+4>>>2>>>0],(v(),C)[a>>>2>>>0],0),d=(v(),C)[a+32>>>2>>>0],c=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),g=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),k=Math.min(g,e);0>d?(v(),C)[a+32>>>2>>>0]=Number(e!=g&&k==c):0<d!=(k==c)&&(e=Math.max(g,e),b.setTime(b.getTime()+6E4*((0<d?k:e)-c)));(v(),C)[a+24>>>2>>>0]=b.getDay();d=(Hf(b.getFullYear())?
|
| 58 |
+
If:Jf)[b.getMonth()]+b.getDate()-1|0;(v(),C)[a+28>>>2>>>0]=d;(v(),C)[a>>>2>>>0]=b.getSeconds();(v(),C)[a+4>>>2>>>0]=b.getMinutes();(v(),C)[a+8>>>2>>>0]=b.getHours();(v(),C)[a+12>>>2>>>0]=b.getDate();(v(),C)[a+16>>>2>>>0]=b.getMonth();(v(),C)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function gc(a,b,d,c,e,g,k){return m?P(16,1,a,b,d,c,e,g,k):-52}function hc(a,b,d,c,e,g){if(m)return P(17,1,a,b,d,c,e,g)}var Kf={},sc=()=>performance.timeOrigin+performance.now();
|
| 59 |
+
function ic(a,b){if(m)return P(18,1,a,b);Kf[a]&&(clearTimeout(Kf[a].id),delete Kf[a]);if(!b)return 0;var d=setTimeout(()=>{delete Kf[a];He(()=>Bd(a,performance.timeOrigin+performance.now()))},b);Kf[a]={id:d,Yd:b};return 0}
|
| 60 |
+
function jc(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;var e=(new Date).getFullYear(),g=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var k=Math.max(g,e);(v(),D)[a>>>2>>>0]=60*k;(v(),C)[b>>>2>>>0]=Number(g!=e);b=l=>{var n=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(n/60)).padStart(2,"0")}${String(n%60).padStart(2,"0")}`};a=b(g);b=b(e);e<g?(Y(a,d,17),Y(b,c,17)):(Y(a,c,17),Y(b,d,17))}var oc=()=>Date.now(),Lf=1;
|
| 61 |
+
function kc(a,b,d){d>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Lf)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(v(),F)[d>>>3>>>0]=BigInt(a);return 0}var Mf=[],Nf=(a,b)=>{Mf.length=0;for(var d;d=(v(),B)[a++>>>0];){var c=105!=d;c&=112!=d;b+=c&&b%8?4:0;Mf.push(112==d?(v(),D)[b>>>2>>>0]:106==d?(v(),F)[b>>>3>>>0]:105==d?(v(),C)[b>>>2>>>0]:(v(),E)[b>>>3>>>0]);b+=c?8:4}return Mf};function lc(a,b,d){a>>>=0;b=Nf(b>>>0,d>>>0);return mf[a](...b)}
|
| 62 |
+
function mc(a,b,d){a>>>=0;b=Nf(b>>>0,d>>>0);return mf[a](...b)}var nc=()=>{};function pc(a,b){return r(R(a>>>0,b>>>0))}var qc=()=>{O+=1;throw"unwind";};function rc(){return 4294901760}var tc=()=>h?require("os").cpus().length:navigator.hardwareConcurrency,Of={},Pf=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},Qf=a=>{for(var b of a)(a=Pf(b))&&(Of[a]=b)};
|
| 63 |
+
function wc(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Qf(a);Of.gd=Pf(a[3]);Of.Jd=a;return Of.gd}function uc(a){a=Of[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;I(uc.hd??0);b=bf(a)+1;var d=xd(b);d&&Y(a,d,b);uc.hd=d;return uc.hd}
|
| 64 |
+
function vc(a){a>>>=0;var b=(v(),B).length;if(a<=b||4294901760<a)return!1;for(var d=1;4>=d;d*=2){var c=b*(1+.2/d);c=Math.min(c,a+100663296);a:{c=(Math.min(4294901760,65536*Math.ceil(Math.max(a,c)/65536))-x.buffer.byteLength+65535)/65536|0;try{x.grow(c);wa();var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1}
|
| 65 |
+
function xc(a,b,d){a>>>=0;b>>>=0;if(Of.gd==a)var c=Of.Jd;else c=Error().stack.toString().split("\n"),"Error"==c[0]&&c.shift(),Qf(c);for(var e=3;c[e]&&Pf(c[e])!=a;)++e;for(a=0;a<d&&c[a+e];++a)(v(),C)[b+4*a>>>2>>>0]=Pf(c[a+e]);return a}
|
| 66 |
+
var Rf={},Tf=()=>{if(!Sf){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ha||"./this.program"},b;for(b in Rf)void 0===Rf[b]?delete a[b]:a[b]=Rf[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Sf=d}return Sf},Sf;function yc(a,b){if(m)return P(19,1,a,b);a>>>=0;b>>>=0;var d=0,c=0,e;for(e of Tf()){var g=b+d;(v(),D)[a+c>>>2>>>0]=g;d+=Y(e,g,Infinity)+1;c+=4}return 0}
|
| 67 |
+
function zc(a,b){if(m)return P(20,1,a,b);a>>>=0;b>>>=0;var d=Tf();(v(),D)[a>>>2>>>0]=d.length;a=0;for(var c of d)a+=bf(c)+1;(v(),D)[b>>>2>>>0]=a;return 0}function Bc(a){return m?P(21,1,a):52}function Cc(a,b,d,c){return m?P(22,1,a,b,d,c):52}function Dc(a,b,d,c){return m?P(23,1,a,b,d,c):70}var Uf=[null,[],[]];
|
| 68 |
+
function Ec(a,b,d,c){if(m)return P(24,1,a,b,d,c);b>>>=0;d>>>=0;c>>>=0;for(var e=0,g=0;g<d;g++){var k=(v(),D)[b>>>2>>>0],l=(v(),D)[b+4>>>2>>>0];b+=8;for(var n=0;n<l;n++){var p=a,u=(v(),B)[k+n>>>0],w=Uf[p];0===u||10===u?((1===p?sa:r)(Re(w)),w.length=0):w.push(u)}e+=l}(v(),D)[c>>>2>>>0]=e;return 0}function qd(a){return a>>>0}m||Ee();m||(x=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),wa());f.wasmBinary&&(ta=f.wasmBinary);f.stackSave=()=>L();f.stackRestore=a=>K(a);f.stackAlloc=a=>Fd(a);
|
| 69 |
+
f.setValue=function(a,b,d="i8"){d.endsWith("*")&&(d="*");switch(d){case "i1":(v(),A)[a>>>0]=b;break;case "i8":(v(),A)[a>>>0]=b;break;case "i16":(v(),Ma)[a>>>1>>>0]=b;break;case "i32":(v(),C)[a>>>2>>>0]=b;break;case "i64":(v(),F)[a>>>3>>>0]=BigInt(b);break;case "float":(v(),Oa)[a>>>2>>>0]=b;break;case "double":(v(),E)[a>>>3>>>0]=b;break;case "*":(v(),D)[a>>>2>>>0]=b;break;default:H(`invalid type for setValue: ${d}`)}};
|
| 70 |
+
f.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(v(),A)[a>>>0];case "i8":return(v(),A)[a>>>0];case "i16":return(v(),Ma)[a>>>1>>>0];case "i32":return(v(),C)[a>>>2>>>0];case "i64":return(v(),F)[a>>>3>>>0];case "float":return(v(),Oa)[a>>>2>>>0];case "double":return(v(),E)[a>>>3>>>0];case "*":return(v(),D)[a>>>2>>>0];default:H(`invalid type for getValue: ${b}`)}};f.UTF8ToString=R;f.stringToUTF8=Y;f.lengthBytesUTF8=bf;
|
| 71 |
+
var nf=[rd,De,Oe,jb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,gc,hc,ic,yc,zc,Bc,Cc,Dc,Ec],mf={973212:(a,b,d,c,e)=>{if("undefined"==typeof f||!f.Xc)return 1;a=R(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=f.Xc.get(a);if(!a)return 2;b=Number(b>>>0);d=Number(d>>>0);c=Number(c>>>0);if(b+d>a.byteLength)return 3;try{const g=a.subarray(b,b+d);switch(e){case 0:(v(),B).set(g,c>>>0);break;case 1:f.Qd?f.Qd(c,g):f.Id(c,g);break;default:return 4}return 0}catch{return 4}},974036:(a,b,d)=>{f.td(a,(v(),B).subarray(b>>>
|
| 72 |
+
0,b+d>>>0))},974100:()=>f.Wd(),974142:a=>{f.sd(a)},974179:()=>{f.Bd()},974210:()=>{f.Cd()},974239:()=>{f.Gd()},974264:a=>f.Ad(a),974297:a=>f.Ed(a),974329:(a,b,d)=>{f.ed(Number(a),Number(b),Number(d),!0)},974392:(a,b,d)=>{f.ed(Number(a),Number(b),Number(d))},974449:()=>"undefined"!==typeof wasmOffsetConverter,974506:a=>{f.$b("Abs",a,void 0)},974557:a=>{f.$b("Neg",a,void 0)},974608:a=>{f.$b("Floor",a,void 0)},974661:a=>{f.$b("Ceil",a,void 0)},974713:a=>{f.$b("Reciprocal",a,void 0)},974771:a=>{f.$b("Sqrt",
|
| 73 |
+
a,void 0)},974823:a=>{f.$b("Exp",a,void 0)},974874:a=>{f.$b("Erf",a,void 0)},974925:a=>{f.$b("Sigmoid",a,void 0)},974980:(a,b,d)=>{f.$b("HardSigmoid",a,{alpha:b,beta:d})},975059:a=>{f.$b("Log",a,void 0)},975110:a=>{f.$b("Sin",a,void 0)},975161:a=>{f.$b("Cos",a,void 0)},975212:a=>{f.$b("Tan",a,void 0)},975263:a=>{f.$b("Asin",a,void 0)},975315:a=>{f.$b("Acos",a,void 0)},975367:a=>{f.$b("Atan",a,void 0)},975419:a=>{f.$b("Sinh",a,void 0)},975471:a=>{f.$b("Cosh",a,void 0)},975523:a=>{f.$b("Asinh",a,void 0)},
|
| 74 |
+
975576:a=>{f.$b("Acosh",a,void 0)},975629:a=>{f.$b("Atanh",a,void 0)},975682:a=>{f.$b("Tanh",a,void 0)},975734:a=>{f.$b("Not",a,void 0)},975785:(a,b,d)=>{f.$b("Clip",a,{min:b,max:d})},975854:a=>{f.$b("Clip",a,void 0)},975906:(a,b)=>{f.$b("Elu",a,{alpha:b})},975964:a=>{f.$b("Gelu",a,void 0)},976016:a=>{f.$b("Relu",a,void 0)},976068:(a,b)=>{f.$b("LeakyRelu",a,{alpha:b})},976132:(a,b)=>{f.$b("ThresholdedRelu",a,{alpha:b})},976202:(a,b)=>{f.$b("Cast",a,{to:b})},976260:a=>{f.$b("Add",a,void 0)},976311:a=>
|
| 75 |
+
{f.$b("Sub",a,void 0)},976362:a=>{f.$b("Mul",a,void 0)},976413:a=>{f.$b("Div",a,void 0)},976464:a=>{f.$b("Pow",a,void 0)},976515:a=>{f.$b("Equal",a,void 0)},976568:a=>{f.$b("Greater",a,void 0)},976623:a=>{f.$b("GreaterOrEqual",a,void 0)},976685:a=>{f.$b("Less",a,void 0)},976737:a=>{f.$b("LessOrEqual",a,void 0)},976796:(a,b,d,c,e)=>{f.$b("ReduceMean",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},976971:(a,b,d,c,e)=>{f.$b("ReduceMax",a,
|
| 76 |
+
{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},977145:(a,b,d,c,e)=>{f.$b("ReduceMin",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},977319:(a,b,d,c,e)=>{f.$b("ReduceProd",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},977494:(a,b,d,c,e)=>{f.$b("ReduceSum",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),
|
| 77 |
+
C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},977668:(a,b,d,c,e)=>{f.$b("ReduceL1",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},977841:(a,b,d,c,e)=>{f.$b("ReduceL2",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},978014:(a,b,d,c,e)=>{f.$b("ReduceLogSum",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},978191:(a,b,
|
| 78 |
+
d,c,e)=>{f.$b("ReduceSumSquare",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},978371:(a,b,d,c,e)=>{f.$b("ReduceLogSumExp",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},978551:a=>{f.$b("Where",a,void 0)},978604:(a,b,d)=>{f.$b("Transpose",a,{perm:b?Array.from((v(),C).subarray(Number(b)>>>0,Number(d)>>>0)):[]})},978728:(a,b,d,c)=>{f.$b("DepthToSpace",a,{blocksize:b,mode:R(d),
|
| 79 |
+
format:c?"NHWC":"NCHW"})},978861:(a,b,d,c)=>{f.$b("DepthToSpace",a,{blocksize:b,mode:R(d),format:c?"NHWC":"NCHW"})},978994:(a,b,d,c,e,g,k,l,n,p,u,w,y,z,W)=>{f.$b("ConvTranspose",a,{format:n?"NHWC":"NCHW",autoPad:b,dilations:[d],group:c,kernelShape:[e],pads:[g,k],strides:[l],wIsConst:()=>!!(v(),A)[p>>>0],outputPadding:u?Array.from((v(),C).subarray(Number(u)>>>0,Number(w)>>>0)):[],outputShape:y?Array.from((v(),C).subarray(Number(y)>>>0,Number(z)>>>0)):[],activation:R(W)})},979427:(a,b,d,c,e,g,k,l,n,
|
| 80 |
+
p,u,w,y,z)=>{f.$b("ConvTranspose",a,{format:l?"NHWC":"NCHW",autoPad:b,dilations:Array.from((v(),C).subarray(Number(d)>>>0,(Number(d)>>>0)+2>>>0)),group:c,kernelShape:Array.from((v(),C).subarray(Number(e)>>>0,(Number(e)>>>0)+2>>>0)),pads:Array.from((v(),C).subarray(Number(g)>>>0,(Number(g)>>>0)+4>>>0)),strides:Array.from((v(),C).subarray(Number(k)>>>0,(Number(k)>>>0)+2>>>0)),wIsConst:()=>!!(v(),A)[n>>>0],outputPadding:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],outputShape:w?Array.from((v(),
|
| 81 |
+
C).subarray(Number(w)>>>0,Number(y)>>>0)):[],activation:R(z)})},980088:(a,b,d,c,e,g,k,l,n,p,u,w,y,z,W)=>{f.$b("ConvTranspose",a,{format:n?"NHWC":"NCHW",autoPad:b,dilations:[d],group:c,kernelShape:[e],pads:[g,k],strides:[l],wIsConst:()=>!!(v(),A)[p>>>0],outputPadding:u?Array.from((v(),C).subarray(Number(u)>>>0,Number(w)>>>0)):[],outputShape:y?Array.from((v(),C).subarray(Number(y)>>>0,Number(z)>>>0)):[],activation:R(W)})},980521:(a,b,d,c,e,g,k,l,n,p,u,w,y,z)=>{f.$b("ConvTranspose",a,{format:l?"NHWC":
|
| 82 |
+
"NCHW",autoPad:b,dilations:Array.from((v(),C).subarray(Number(d)>>>0,(Number(d)>>>0)+2>>>0)),group:c,kernelShape:Array.from((v(),C).subarray(Number(e)>>>0,(Number(e)>>>0)+2>>>0)),pads:Array.from((v(),C).subarray(Number(g)>>>0,(Number(g)>>>0)+4>>>0)),strides:Array.from((v(),C).subarray(Number(k)>>>0,(Number(k)>>>0)+2>>>0)),wIsConst:()=>!!(v(),A)[n>>>0],outputPadding:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],outputShape:w?Array.from((v(),C).subarray(Number(w)>>>0,Number(y)>>>0)):
|
| 83 |
+
[],activation:R(z)})},981182:(a,b)=>{f.$b("GlobalAveragePool",a,{format:b?"NHWC":"NCHW"})},981273:(a,b,d,c,e,g,k,l,n,p,u,w,y,z)=>{f.$b("AveragePool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((v(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((v(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],pads:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],strides:w?Array.from((v(),C).subarray(Number(w)>>>
|
| 84 |
+
0,Number(y)>>>0)):[]})},981752:(a,b)=>{f.$b("GlobalAveragePool",a,{format:b?"NHWC":"NCHW"})},981843:(a,b,d,c,e,g,k,l,n,p,u,w,y,z)=>{f.$b("AveragePool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((v(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((v(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],pads:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],strides:w?Array.from((v(),C).subarray(Number(w)>>>
|
| 85 |
+
0,Number(y)>>>0)):[]})},982322:(a,b)=>{f.$b("GlobalMaxPool",a,{format:b?"NHWC":"NCHW"})},982409:(a,b,d,c,e,g,k,l,n,p,u,w,y,z)=>{f.$b("MaxPool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((v(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((v(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],pads:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],strides:w?Array.from((v(),C).subarray(Number(w)>>>0,Number(y)>>>
|
| 86 |
+
0)):[]})},982884:(a,b)=>{f.$b("GlobalMaxPool",a,{format:b?"NHWC":"NCHW"})},982971:(a,b,d,c,e,g,k,l,n,p,u,w,y,z)=>{f.$b("MaxPool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((v(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((v(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],pads:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],strides:w?Array.from((v(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[]})},
|
| 87 |
+
983446:(a,b,d,c,e)=>{f.$b("Gemm",a,{alpha:b,beta:d,transA:c,transB:e})},983550:a=>{f.$b("MatMul",a,void 0)},983604:(a,b,d,c)=>{f.$b("ArgMax",a,{keepDims:!!b,selectLastIndex:!!d,axis:c})},983712:(a,b,d,c)=>{f.$b("ArgMin",a,{keepDims:!!b,selectLastIndex:!!d,axis:c})},983820:(a,b)=>{f.$b("Softmax",a,{axis:b})},983883:(a,b)=>{f.$b("Concat",a,{axis:b})},983943:(a,b,d,c,e)=>{f.$b("Split",a,{axis:b,numOutputs:d,splitSizes:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},984099:a=>{f.$b("Expand",
|
| 88 |
+
a,void 0)},984153:(a,b)=>{f.$b("Gather",a,{axis:Number(b)})},984224:(a,b)=>{f.$b("GatherElements",a,{axis:Number(b)})},984303:(a,b)=>{f.$b("GatherND",a,{batch_dims:Number(b)})},984382:(a,b,d,c,e,g,k,l,n,p,u)=>{f.$b("Resize",a,{antialias:b,axes:d?Array.from((v(),C).subarray(Number(d)>>>0,Number(c)>>>0)):[],coordinateTransformMode:R(e),cubicCoeffA:g,excludeOutside:k,extrapolationValue:l,keepAspectRatioPolicy:R(n),mode:R(p),nearestMode:R(u)})},984744:(a,b,d,c,e,g,k)=>{f.$b("Slice",a,{starts:b?Array.from((v(),
|
| 89 |
+
C).subarray(Number(b)>>>0,Number(d)>>>0)):[],ends:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[],axes:g?Array.from((v(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[]})},985008:a=>{f.$b("Tile",a,void 0)},985060:(a,b,d)=>{f.$b("InstanceNormalization",a,{epsilon:b,format:d?"NHWC":"NCHW"})},985174:(a,b,d)=>{f.$b("InstanceNormalization",a,{epsilon:b,format:d?"NHWC":"NCHW"})},985288:a=>{f.$b("Range",a,void 0)},985341:(a,b)=>{f.$b("Einsum",a,{equation:R(b)})},985422:(a,b,d,c,e)=>{f.$b("Pad",
|
| 90 |
+
a,{mode:b,value:d,pads:c?Array.from((v(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},985565:(a,b,d,c,e,g)=>{f.$b("BatchNormalization",a,{epsilon:b,momentum:d,spatial:!!e,trainingMode:!!c,format:g?"NHWC":"NCHW"})},985734:(a,b,d,c,e,g)=>{f.$b("BatchNormalization",a,{epsilon:b,momentum:d,spatial:!!e,trainingMode:!!c,format:g?"NHWC":"NCHW"})},985903:(a,b,d)=>{f.$b("CumSum",a,{exclusive:Number(b),reverse:Number(d)})},986E3:(a,b,d)=>{f.$b("DequantizeLinear",a,{axis:b,blockSize:d})},986090:(a,b,d,c,
|
| 91 |
+
e)=>{f.$b("GridSample",a,{align_corners:b,mode:R(d),padding_mode:R(c),format:e?"NHWC":"NCHW"})},986260:(a,b,d,c,e)=>{f.$b("GridSample",a,{align_corners:b,mode:R(d),padding_mode:R(c),format:e?"NHWC":"NCHW"})},986430:(a,b)=>{f.$b("ScatterND",a,{reduction:R(b)})},986515:(a,b,d,c,e,g,k,l,n)=>{f.$b("Attention",a,{numHeads:b,isUnidirectional:d,maskFilterValue:c,scale:e,doRotary:g,qkvHiddenSizes:k?Array.from((v(),C).subarray(Number(l)>>>0,Number(l)+k>>>0)):[],pastPresentShareBuffer:!!n})},986787:a=>{f.$b("BiasAdd",
|
| 92 |
+
a,void 0)},986842:a=>{f.$b("BiasSplitGelu",a,void 0)},986903:a=>{f.$b("FastGelu",a,void 0)},986959:(a,b,d,c,e,g,k,l,n,p,u,w,y,z,W,kb)=>{f.$b("Conv",a,{format:w?"NHWC":"NCHW",auto_pad:b,dilations:d?Array.from((v(),C).subarray(Number(d)>>>0,Number(c)>>>0)):[],group:e,kernel_shape:g?Array.from((v(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],pads:l?Array.from((v(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],strides:p?Array.from((v(),C).subarray(Number(p)>>>0,Number(u)>>>0)):[],w_is_const:()=>!!(v(),
|
| 93 |
+
A)[Number(y)>>>0],activation:R(z),activation_params:W?Array.from((v(),Oa).subarray(Number(W)>>>0,Number(kb)>>>0)):[]})},987543:a=>{f.$b("Gelu",a,void 0)},987595:(a,b,d,c,e,g,k,l,n)=>{f.$b("GroupQueryAttention",a,{numHeads:b,kvNumHeads:d,scale:c,softcap:e,doRotary:g,rotaryInterleaved:k,smoothSoftmax:l,localWindowSize:n})},987812:(a,b,d,c)=>{f.$b("LayerNormalization",a,{axis:b,epsilon:d,simplified:!!c})},987923:(a,b,d,c)=>{f.$b("LayerNormalization",a,{axis:b,epsilon:d,simplified:!!c})},988034:(a,b,
|
| 94 |
+
d,c,e,g)=>{f.$b("MatMulNBits",a,{k:b,n:d,accuracyLevel:c,bits:e,blockSize:g})},988161:(a,b,d,c,e,g)=>{f.$b("MultiHeadAttention",a,{numHeads:b,isUnidirectional:d,maskFilterValue:c,scale:e,doRotary:g})},988320:(a,b)=>{f.$b("QuickGelu",a,{alpha:b})},988384:(a,b,d,c,e)=>{f.$b("RotaryEmbedding",a,{interleaved:!!b,numHeads:d,rotaryEmbeddingDim:c,scale:e})},988523:(a,b,d)=>{f.$b("SkipLayerNormalization",a,{epsilon:b,simplified:!!d})},988625:(a,b,d)=>{f.$b("SkipLayerNormalization",a,{epsilon:b,simplified:!!d})},
|
| 95 |
+
988727:(a,b,d,c)=>{f.$b("GatherBlockQuantized",a,{gatherAxis:b,quantizeAxis:d,blockSize:c})},988848:a=>{f.Fd(a)},988882:(a,b)=>f.Hd(Number(a),Number(b),f.Yc.Kd,f.Yc.errors)};function Za(a,b,d){return Af(async()=>{await f.Dd(Number(a),Number(b),Number(d))})}function Ya(){return"undefined"!==typeof wasmOffsetConverter}
|
| 96 |
+
var vd,Ia,wd,I,xd,Fa,La,yd,zd,Ad,Bd,Cd,J,Dd,Ed,K,Fd,L,Gd,Hd,Id,Jd,dynCall_vii,Kd,dynCall_v,Ld,Md,dynCall_iii,Nd,Od,Pd,Qd,dynCall_vi,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,Zd,$d,ae,be,ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,Xa;function Mc(a,b,d,c){var e=L();try{return Qd(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Lc(a,b,d){var c=L();try{return dynCall_iii(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}
|
| 97 |
+
function ad(a){var b=L();try{dynCall_v(a)}catch(d){K(b);if(d!==d+0)throw d;J(1,0)}}function Kc(a,b){var d=L();try{return Kd(a,b)}catch(c){K(d);if(c!==c+0)throw c;J(1,0)}}function cd(a,b,d){var c=L();try{dynCall_vii(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function bd(a,b){var d=L();try{dynCall_vi(a,b)}catch(c){K(d);if(c!==c+0)throw c;J(1,0)}}function Qc(a,b,d,c,e,g,k){var l=L();try{return Od(a,b,d,c,e,g,k)}catch(n){K(l);if(n!==n+0)throw n;J(1,0)}}
|
| 98 |
+
function gd(a,b,d,c,e,g){var k=L();try{Ld(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function ed(a,b,d,c){var e=L();try{Pd(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function fd(a,b,d,c,e){var g=L();try{Md(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0)}}function hd(a,b,d,c,e,g,k){var l=L();try{Sd(a,b,d,c,e,g,k)}catch(n){K(l);if(n!==n+0)throw n;J(1,0)}}function pd(a,b,d,c,e,g,k){var l=L();try{Td(a,b,d,c,e,g,k)}catch(n){K(l);if(n!==n+0)throw n;J(1,0)}}
|
| 99 |
+
function od(a,b,d,c,e,g,k,l){var n=L();try{Xd(a,b,d,c,e,g,k,l)}catch(p){K(n);if(p!==p+0)throw p;J(1,0)}}function Nc(a,b,d,c,e){var g=L();try{return Rd(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0)}}function Wc(a,b,d){var c=L();try{return Yd(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function jd(a,b,d,c,e,g,k,l){var n=L();try{Zd(a,b,d,c,e,g,k,l)}catch(p){K(n);if(p!==p+0)throw p;J(1,0)}}
|
| 100 |
+
function md(a,b,d,c,e,g,k,l,n,p,u,w){var y=L();try{Ud(a,b,d,c,e,g,k,l,n,p,u,w)}catch(z){K(y);if(z!==z+0)throw z;J(1,0)}}function Pc(a,b,d,c,e,g){var k=L();try{return Vd(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function Zc(a,b,d){var c=L();try{return $d(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0);return 0n}}function kd(a,b,d,c,e,g,k,l,n){var p=L();try{Nd(a,b,d,c,e,g,k,l,n)}catch(u){K(p);if(u!==u+0)throw u;J(1,0)}}
|
| 101 |
+
function Jc(a){var b=L();try{return ae(a)}catch(d){K(b);if(d!==d+0)throw d;J(1,0)}}function Yc(a,b){var d=L();try{return pe(a,b)}catch(c){K(d);if(c!==c+0)throw c;J(1,0);return 0n}}function Xc(a){var b=L();try{return be(a)}catch(d){K(b);if(d!==d+0)throw d;J(1,0);return 0n}}function Vc(a,b,d,c){var e=L();try{return he(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Uc(a,b,d,c,e){var g=L();try{return ie(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0)}}
|
| 102 |
+
function Tc(a,b,d,c,e,g){var k=L();try{return je(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function Oc(a,b,d,c,e,g){var k=L();try{return ke(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function Rc(a,b,d,c,e,g,k,l){var n=L();try{return Wd(a,b,d,c,e,g,k,l)}catch(p){K(n);if(p!==p+0)throw p;J(1,0)}}function $c(a,b,d,c,e){var g=L();try{return le(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0);return 0n}}
|
| 103 |
+
function Ic(a,b,d,c){var e=L();try{return me(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Gc(a,b,d,c){var e=L();try{return ne(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Sc(a,b,d,c,e,g,k,l,n,p,u,w){var y=L();try{return oe(a,b,d,c,e,g,k,l,n,p,u,w)}catch(z){K(y);if(z!==z+0)throw z;J(1,0)}}function ld(a,b,d,c,e,g,k,l,n,p,u){var w=L();try{fe(a,b,d,c,e,g,k,l,n,p,u)}catch(y){K(w);if(y!==y+0)throw y;J(1,0)}}
|
| 104 |
+
function nd(a,b,d,c,e,g,k,l,n,p,u,w,y,z,W,kb){var Vf=L();try{ge(a,b,d,c,e,g,k,l,n,p,u,w,y,z,W,kb)}catch(lb){K(Vf);if(lb!==lb+0)throw lb;J(1,0)}}function Hc(a,b,d){var c=L();try{return ce(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function Fc(a,b,d){var c=L();try{return de(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function dd(a,b,d,c){var e=L();try{ee(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}
|
| 105 |
+
function td(){var a=G;a=Object.assign({},a);var b=c=>e=>c(e)>>>0,d=c=>()=>c()>>>0;a.tb=b(a.tb);a.Xb=d(a.Xb);a.Zb=b(a.Zb);a.lc=b(a.lc);a.mc=d(a.mc);a.qc=b(a.qc);return a}function Da(){if(0<xe)ye=Da;else if(m)xa?.(f),Ra();else{for(var a=we;0<a.length;)a.shift()(f);0<xe?ye=Da:(f.calledRun=!0,t||(Ra(),xa?.(f)))}}var G;m||(G=await (Ca()),Da());f.PTR_SIZE=4;Qa?moduleRtn=f:moduleRtn=new Promise((a,b)=>{xa=a;ya=b});
|
| 106 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort-wasm/ort-wasm-simd-threaded.jsep.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:411b39a77bb006ce0cf17b30c978c66a130ebb2ba39c8dfdbdc9c1c5a251ae76
|
| 3 |
+
size 26239907
|
ort-wasm/ort-wasm-simd-threaded.jspi.mjs
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var g=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,k=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,m=ba&&self.name?.startsWith("em-pthread");if(k){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;m=(ba=!ca.S)&&"em-pthread"==ca.workerData}g.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(g.o||(g.o=new Map)).set(a,b)};
|
| 2 |
+
g.unmountExternalData=()=>{delete g.o};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor,da="./this.program",ea=(a,b)=>{throw b;},fa=import.meta.url,ha="",ia,ja;
|
| 3 |
+
if(k){var fs=require("fs");fa.startsWith("file:")&&(ha=require("path").dirname(require("url").fileURLToPath(fa))+"/");ja=a=>{a=ka(a)?new URL(a):a;return fs.readFileSync(a)};ia=async a=>{a=ka(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ea=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ha=(new URL(".",fa)).href}catch{}k||(ba&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 4 |
+
b.send(null);return new Uint8Array(b.response)}),ia=async a=>{if(ka(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var la=console.log.bind(console),ma=console.error.bind(console);
|
| 5 |
+
if(k){var na=require("util"),oa=a=>"object"==typeof a?na.inspect(a):a;la=(...a)=>fs.writeSync(1,a.map(oa).join(" ")+"\n");ma=(...a)=>fs.writeSync(2,a.map(oa).join(" ")+"\n")}var pa=la,p=ma,qa,ra,sa=!1,ta,ka=a=>a.startsWith("file://");function q(){t.buffer!=w.buffer&&ua()}var va,wa;
|
| 6 |
+
if(k&&m){var xa=ca.parentPort;xa.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>xa.postMessage(a)});process.on("uncaughtException",a=>{postMessage({i:"uncaughtException",error:a});process.exit(1)})}var ya;
|
| 7 |
+
if(m){var za=!1;self.onunhandledrejection=b=>{throw b.reason||b;};async function a(b){try{var c=b.data,d=c.i;if("load"===d){let e=[];self.onmessage=f=>e.push(f);ya=()=>{postMessage({i:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of c.H)if(!g[f]||g[f].proxy)g[f]=(...h)=>{postMessage({i:"callHandler",G:f,args:h})},"print"==f&&(pa=g[f]),"printErr"==f&&(p=g[f]);t=c.N;ua();ra=c.O;Aa();Ba()}else if("run"===d){Ca(c.h);Da(c.h,0,0,1,0,0);Ea();Fa(c.h);za||(Ga(),za=!0);try{await Ha(c.L,c.u)}catch(e){if("unwind"!=
|
| 8 |
+
e)throw e;}}else"setimmediate"!==c.target&&("checkMailbox"===d?za&&Ia():d&&(p(`worker: received unknown command ${d}`),p(c)))}catch(e){throw Ja(),e;}}self.onmessage=a}var w,x,Ka,La,z,A,Ma,C,E,Na,Oa=!1;function ua(){var a=t.buffer;g.HEAP8=w=new Int8Array(a);Ka=new Int16Array(a);g.HEAPU8=x=new Uint8Array(a);La=new Uint16Array(a);g.HEAP32=z=new Int32Array(a);g.HEAPU32=A=new Uint32Array(a);Ma=new Float32Array(a);C=new Float64Array(a);E=new BigInt64Array(a);Na=new BigUint64Array(a)}
|
| 9 |
+
function Pa(){Oa=!0;m?ya():F.__wasm_call_ctors()}function Qa(a){a="Aborted("+a+")";p(a);sa=!0;a+=". Build with -sASSERTIONS for more info.";Oa&&Ra();a=new WebAssembly.RuntimeError(a);wa?.(a);throw a;}var Sa;async function Ta(a){if(!qa)try{var b=await ia(a);return new Uint8Array(b)}catch{}if(a==Sa&&qa)a=new Uint8Array(qa);else if(ja)a=ja(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 10 |
+
async function Ua(a,b){try{var c=await Ta(a);return await WebAssembly.instantiate(c,b)}catch(d){p(`failed to asynchronously prepare wasm: ${d}`),Qa(d)}}async function Va(a){var b=Sa;if(!qa&&!ka(b)&&!k)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){p(`wasm streaming compile failed: ${d}`),p("falling back to ArrayBuffer instantiation")}return Ua(b,a)}
|
| 11 |
+
function Wa(){Xa={__pthread_create_js:Ya,__syscall_fcntl64:Za,__syscall_fstat64:$a,__syscall_getcwd:ab,__syscall_getdents64:bb,__syscall_ioctl:cb,__syscall_lstat64:db,__syscall_mkdirat:eb,__syscall_newfstatat:fb,__syscall_openat:gb,__syscall_readlinkat:hb,__syscall_rmdir:ib,__syscall_stat64:jb,__syscall_unlinkat:kb,_abort_js:lb,_embind_register_bigint:nb,_embind_register_bool:ob,_embind_register_emval:pb,_embind_register_float:qb,_embind_register_integer:rb,_embind_register_memory_view:sb,_embind_register_std_string:tb,
|
| 12 |
+
_embind_register_std_wstring:ub,_embind_register_void:vb,_emscripten_init_main_thread_js:wb,_emscripten_notify_mailbox_postmessage:xb,_emscripten_receive_on_main_thread_js:yb,_emscripten_runtime_keepalive_clear:zb,_emscripten_thread_cleanup:Ab,_emscripten_thread_mailbox_await:Fa,_emscripten_thread_set_strongref:Bb,_emval_await:Cb,_emval_create_invoker:Db,_emval_decref:Eb,_emval_equals:Fb,_emval_get_global:Gb,_emval_get_module_property:Hb,_emval_get_property:Ib,_emval_incref:Jb,_emval_invoke:Kb,_emval_invoke_i64:Lb,
|
| 13 |
+
_emval_new_array:Mb,_emval_new_array_from_memory_view:Nb,_emval_new_cstring:Ob,_emval_new_object:Pb,_emval_run_destructors:Qb,_emval_set_property:Rb,_gmtime_js:Sb,_localtime_js:Tb,_mktime_js:Ub,_mmap_js:Vb,_munmap_js:Wb,_setitimer_js:Xb,_tzset_js:Yb,clock_time_get:Zb,emscripten_asm_const_int:$b,emscripten_asm_const_ptr:ac,emscripten_check_blocking_allowed:bc,emscripten_date_now:cc,emscripten_errn:dc,emscripten_exit_with_live_runtime:ec,emscripten_get_heap_max:fc,emscripten_get_now:gc,emscripten_has_asyncify:hc,
|
| 14 |
+
emscripten_num_logical_cores:ic,emscripten_resize_heap:jc,emwgpuAdapterRequestDevice:kc,emwgpuBufferDestroy:lc,emwgpuBufferGetConstMappedRange:mc,emwgpuBufferGetMappedRange:nc,emwgpuBufferMapAsync:oc,emwgpuBufferUnmap:pc,emwgpuDelete:qc,emwgpuDeviceCreateBuffer:rc,emwgpuDeviceCreateComputePipelineAsync:sc,emwgpuDeviceCreateShaderModule:tc,emwgpuDeviceDestroy:uc,emwgpuDevicePopErrorScope:vc,emwgpuInstanceRequestAdapter:wc,emwgpuWaitAny:xc,environ_get:yc,environ_sizes_get:zc,exit:Ac,fd_close:Bc,fd_read:Cc,
|
| 15 |
+
fd_seek:Dc,fd_write:Ec,memory:t,proc_exit:Fc,wgpuAdapterGetLimits:Gc,wgpuAdapterHasFeature:Hc,wgpuBufferGetSize:Ic,wgpuBufferGetUsage:Jc,wgpuCommandEncoderBeginComputePass:Kc,wgpuCommandEncoderClearBuffer:Lc,wgpuCommandEncoderCopyBufferToBuffer:Mc,wgpuCommandEncoderFinish:Nc,wgpuCommandEncoderResolveQuerySet:Oc,wgpuComputePassEncoderDispatchWorkgroups:Pc,wgpuComputePassEncoderDispatchWorkgroupsIndirect:Qc,wgpuComputePassEncoderEnd:Rc,wgpuComputePassEncoderSetBindGroup:Sc,wgpuComputePassEncoderSetPipeline:Tc,
|
| 16 |
+
wgpuComputePassEncoderWriteTimestamp:Uc,wgpuComputePipelineGetBindGroupLayout:Vc,wgpuDeviceCreateBindGroup:Wc,wgpuDeviceCreateCommandEncoder:Xc,wgpuDeviceCreateQuerySet:Yc,wgpuDeviceGetAdapterInfo:Zc,wgpuDeviceGetFeatures:$c,wgpuDeviceGetLimits:ad,wgpuDevicePushErrorScope:bd,wgpuQueueSubmit:cd,wgpuQueueWriteBuffer:dd};if(!Xa.F){Xa.F=!0;var a=Xa,b=/^(invoke_.*|__asyncjs__.*)$/;for(let [c,d]of Object.entries(a))"function"==typeof d&&(d.v||b.test(c))&&(a[c]=d=new WebAssembly.Suspending(d))}return{env:Xa,
|
| 17 |
+
wasi_snapshot_preview1:Xa}}
|
| 18 |
+
async function Aa(){function a(d,e){d=F=d.exports;var f=/^(OrtAppendExecutionProvider|OrtCreateSession|OrtRun|OrtRunWithBinding|OrtBindInput|main|__main_argc_argv)$/;ed=new Set;var h={};for(let [l,n]of Object.entries(d))"function"==typeof n?(f.test(l)&&(ed.add(n),n=WebAssembly.promising(n)),h[l]=fd(n)):h[l]=n;F=h;F=gd();hd.push(F._emscripten_tls_init);d=F;jd=d.__getTypeName;Ga=d._embind_initialize_bindings;g._OrtInit=d.OrtInit;g._OrtGetLastError=d.OrtGetLastError;g._OrtCreateSessionOptions=d.OrtCreateSessionOptions;
|
| 19 |
+
g._OrtAppendExecutionProvider=d.OrtAppendExecutionProvider;g._OrtAddFreeDimensionOverride=d.OrtAddFreeDimensionOverride;g._OrtAddSessionConfigEntry=d.OrtAddSessionConfigEntry;g._OrtReleaseSessionOptions=d.OrtReleaseSessionOptions;g._OrtCreateSession=d.OrtCreateSession;g._OrtReleaseSession=d.OrtReleaseSession;g._OrtGetInputOutputCount=d.OrtGetInputOutputCount;g._OrtGetInputOutputMetadata=d.OrtGetInputOutputMetadata;g._OrtFree=d.OrtFree;g._OrtCreateTensor=d.OrtCreateTensor;g._OrtGetTensorData=d.OrtGetTensorData;
|
| 20 |
+
g._OrtReleaseTensor=d.OrtReleaseTensor;g._OrtCreateRunOptions=d.OrtCreateRunOptions;g._OrtAddRunConfigEntry=d.OrtAddRunConfigEntry;g._OrtReleaseRunOptions=d.OrtReleaseRunOptions;g._OrtCreateBinding=d.OrtCreateBinding;g._OrtBindInput=d.OrtBindInput;g._OrtBindOutput=d.OrtBindOutput;g._OrtClearBoundOutputs=d.OrtClearBoundOutputs;g._OrtReleaseBinding=d.OrtReleaseBinding;g._OrtRunWithBinding=d.OrtRunWithBinding;g._OrtRun=d.OrtRun;g._OrtEndProfiling=d.OrtEndProfiling;kd=g._OrtGetWebGpuDevice=d.OrtGetWebGpuDevice;
|
| 21 |
+
ld=d.pthread_self;G=g._free=d.free;md=g._malloc=d.malloc;nd=g._wgpuBufferRelease=d.wgpuBufferRelease;od=g._wgpuCreateInstance=d.wgpuCreateInstance;pd=d.emwgpuCreateBindGroup;qd=d.emwgpuCreateBindGroupLayout;rd=d.emwgpuCreateCommandBuffer;sd=d.emwgpuCreateCommandEncoder;td=d.emwgpuCreateComputePassEncoder;ud=d.emwgpuCreateQuerySet;vd=d.emwgpuCreateBuffer;wd=d.emwgpuCreateDevice;xd=d.emwgpuCreateQueue;yd=d.emwgpuOnCreateComputePipelineCompleted;zd=d.emwgpuOnDeviceLostCompleted;Ad=d.emwgpuOnMapAsyncCompleted;
|
| 22 |
+
Bd=d.emwgpuOnPopErrorScopeCompleted;Cd=d.emwgpuOnRequestAdapterCompleted;Dd=d.emwgpuOnRequestDeviceCompleted;Ed=d.emwgpuOnUncapturedError;Da=d._emscripten_thread_init;Ja=d._emscripten_thread_crashed;Fd=d._emscripten_run_js_on_main_thread;Gd=d._emscripten_thread_free_data;Hd=d._emscripten_thread_exit;Id=d._emscripten_timeout;Jd=d._emscripten_check_mailbox;Kd=d.memalign;Ra=d.__trap;Ld=d.emscripten_stack_set_limits;H=d._emscripten_stack_restore;Md=d._emscripten_stack_alloc;I=d.emscripten_stack_get_current;
|
| 23 |
+
Nd=d.__indirect_function_table;ra=e;return F}var b=Wa();if(g.instantiateWasm)return new Promise(d=>{g.instantiateWasm(b,(e,f)=>{d(a(e,f))})});if(m){var c=new WebAssembly.Instance(ra,Wa());return a(c,ra)}Sa??=g.locateFile?g.locateFile?g.locateFile("ort-wasm-simd-threaded.jspi.wasm",ha):ha+"ort-wasm-simd-threaded.jspi.wasm":(new URL("ort-wasm-simd-threaded.jspi.wasm",import.meta.url)).href;return function(d){return a(d.instance,d.module)}(await Va(b))}
|
| 24 |
+
class Od{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 25 |
+
var Pd=a=>{a.terminate();a.onmessage=()=>{}},Rd=()=>{for(var a=Qd;0<a.length;)a.shift()(g)},Qd=[],Sd=0,Td=null,Xd=a=>{0==J.length&&(Ud(),Vd(J[0]));var b=J.pop();if(!b)return 6;Wd.push(b);K[a.h]=b;b.h=a.h;var c={i:"run",L:a.K,u:a.u,h:a.h};k&&b.unref();b.postMessage(c,a.A);return 0},L=0,M=(a,b,...c)=>{var d=16*c.length,e=I(),f=Md(d),h=f>>>3,l;for(l of c)"bigint"==typeof l?((q(),E)[h++>>>0]=1n,(q(),E)[h++>>>0]=l):((q(),E)[h++>>>0]=0n,(q(),C)[h++>>>0]=l);a=Fd(a,0,d,f,b);H(e);return a};
|
| 26 |
+
function Fc(a){if(m)return M(0,1,a);ta=a;if(!(0<L)){for(var b of Wd)Pd(b);for(b of J)Pd(b);J=[];Wd=[];K={};sa=!0}ea(a,new Od(a))}function Yd(a){if(m)return M(1,0,a);Ac(a)}var Ac=a=>{ta=a;if(m)throw Yd(a),"unwind";Fc(a)},J=[],Wd=[],hd=[],K={};function Zd(){for(var a=g.numThreads-1;a--;)Ud();Qd.push(async()=>{var b=$d();Sd++;await b;Sd--;0==Sd&&Td&&(b=Td,Td=null,b())})}var ae=a=>{var b=a.h;delete K[b];J.push(a);Wd.splice(Wd.indexOf(a),1);a.h=0;Gd(b)};function Ea(){hd.forEach(a=>a())}
|
| 27 |
+
var Vd=a=>new Promise(b=>{a.onmessage=f=>{var h=f.data;f=h.i;if(h.s&&h.s!=ld()){var l=K[h.s];l?l.postMessage(h,h.A):p(`Internal error! Worker sent a message "${f}" to target pthread ${h.s}, but that thread no longer exists!`)}else if("checkMailbox"===f)Ia();else if("spawnThread"===f)Xd(h);else if("cleanupThread"===f)N(()=>{ae(K[h.M])});else if("loaded"===f)a.loaded=!0,k&&!a.h&&a.unref(),b(a);else if("setimmediate"===h.target)a.postMessage(h);else if("uncaughtException"===f)a.onerror(h.error);else if("callHandler"===
|
| 28 |
+
f)g[h.G](...h.args);else f&&p(`worker sent an unknown command ${f}`)};a.onerror=f=>{p(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};k&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var c=[],d=[],e;for(e of d)g.propertyIsEnumerable(e)&&c.push(e);a.postMessage({i:"load",H:c,N:t,O:ra})});async function $d(){if(!m)return Promise.all(J.map(Vd))}
|
| 29 |
+
function Ud(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});J.push(a)}function Ca(a){var b=(q(),A)[a+52>>>2>>>0];a=(q(),A)[a+56>>>2>>>0];Ld(b,b-a);H(b)}var be=[],Ha=async(a,b)=>{L=0;var c=WebAssembly,d=c.promising,e=be[a];e||(be[a]=e=Nd.get(a),ed?.has(e)&&(be[a]=e=WebAssembly.promising(e)));a=d.call(c,e)(b);a=await a;0<L?ta=a:Hd(a)},t;function ce(a,b,c,d){return m?M(2,1,a,b,c,d):Ya(a,b,c,d)}
|
| 30 |
+
var O=a=>-9007199254740992>a||9007199254740992<a?NaN:Number(a);function Ya(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(m&&0===e.length)return ce(a,b,c,d);a={K:c,h:a,u:d,A:e};return m?(a.i="spawnThread",postMessage(a,e),0):Xd(a)}
|
| 31 |
+
var de=globalThis.TextDecoder&&new TextDecoder,ee=(a,b,c,d)=>{c=b+c;if(d)return c;for(;a[b]&&!(b>=c);)++b;return b},fe=(a,b=0,c,d)=>{b>>>=0;c=ee(a,b,c,d);if(16<c-b&&a.buffer&&de)return de.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|h:(e&7)<<18|f<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|
|
| 32 |
+
e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},ge=(a,b,c)=>(a>>>=0)?fe((q(),x),a,b,c):"";function Za(a,b,c){return m?M(3,1,a,b,c):0}function $a(a,b){if(m)return M(4,1,a,b)}function ab(a,b){if(m)return M(5,1,a,b)}function bb(a,b,c){if(m)return M(6,1,a,b,c)}function cb(a,b,c){return m?M(7,1,a,b,c):0}function db(a,b){if(m)return M(8,1,a,b)}function eb(a,b,c){if(m)return M(9,1,a,b,c)}function fb(a,b,c,d){if(m)return M(10,1,a,b,c,d)}function gb(a,b,c,d){if(m)return M(11,1,a,b,c,d)}
|
| 33 |
+
function hb(a,b,c,d){if(m)return M(12,1,a,b,c,d)}function ib(a){if(m)return M(13,1,a)}function jb(a,b){if(m)return M(14,1,a,b)}function kb(a,b,c){if(m)return M(15,1,a,b,c)}var lb=()=>Qa(""),P=a=>{a>>>=0;for(var b="";;){var c=(q(),x)[a++>>>0];if(!c)return b;b+=String.fromCharCode(c)}},he={},ie={},je={},ke=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
| 34 |
+
function le(a,b,c={}){var d=b.name;if(!a)throw new ke(`type "${d}" must have a positive integer typeid pointer`);if(ie.hasOwnProperty(a)){if(c.I)return;throw new ke(`Cannot register type '${d}' twice`);}ie[a]=b;delete je[a];he.hasOwnProperty(a)&&(b=he[a],delete he[a],b.forEach(e=>e()))}function Q(a,b,c={}){return le(a,b,c)}
|
| 35 |
+
var me=(a,b,c)=>{switch(b){case 1:return c?d=>(q(),w)[d>>>0]:d=>(q(),x)[d>>>0];case 2:return c?d=>(q(),Ka)[d>>>1>>>0]:d=>(q(),La)[d>>>1>>>0];case 4:return c?d=>(q(),z)[d>>>2>>>0]:d=>(q(),A)[d>>>2>>>0];case 8:return c?d=>(q(),E)[d>>>3>>>0]:d=>(q(),Na)[d>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
| 36 |
+
function nb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);d=0n===d;let f=h=>h;if(d){const h=8*c;f=l=>BigInt.asUintN(h,l);e=f(e)}Q(a,{name:b,g:f,l:(h,l)=>{"number"==typeof l&&(l=BigInt(l));return l},j:me(b,c,!d),m:null})}function ob(a,b,c,d){a>>>=0;b=P(b>>>0);Q(a,{name:b,g:function(e){return!!e},l:function(e,f){return f?c:d},j:function(e){return this.g((q(),x)[e>>>0])},m:null})}var ne=[],oe=[0,1,,1,null,1,!0,1,!1,1];function Eb(a){a>>>=0;9<a&&0===--oe[a+1]&&(oe[a]=void 0,ne.push(a))}
|
| 37 |
+
var R=a=>{if(!a)throw new ke(`Cannot use deleted val. handle = ${a}`);return oe[a]},S=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=ne.pop()||oe.length;oe[b]=a;oe[b+1]=1;return b}};function pe(a){return this.g((q(),A)[a>>>2>>>0])}var qe={name:"emscripten::val",g:a=>{var b=R(a);Eb(a);return b},l:(a,b)=>S(b),j:pe,m:null};function pb(a){return Q(a>>>0,qe)}
|
| 38 |
+
var re=(a,b)=>{switch(b){case 4:return function(c){return this.g((q(),Ma)[c>>>2>>>0])};case 8:return function(c){return this.g((q(),C)[c>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function qb(a,b,c){a>>>=0;c>>>=0;b=P(b>>>0);Q(a,{name:b,g:d=>d,l:(d,e)=>e,j:re(b,c),m:null})}function rb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);let f=l=>l;if(0===d){var h=32-8*c;f=l=>l<<h>>>h;e=f(e)}Q(a,{name:b,g:f,l:(l,n)=>n,j:me(b,c,0!==d),m:null})}
|
| 39 |
+
function sb(a,b,c){function d(f){var h=(q(),A)[f>>>2>>>0];f=(q(),A)[f+4>>>2>>>0];return new e((q(),w).buffer,f,h)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=P(c>>>0);Q(a,{name:c,g:d,j:d},{I:!0})}
|
| 40 |
+
var T=(a,b,c)=>{var d=(q(),x);b>>>=0;if(0<c){var e=b;c=b+c-1;for(var f=0;f<a.length;++f){var h=a.codePointAt(f);if(127>=h){if(b>=c)break;d[b++>>>0]=h}else if(2047>=h){if(b+1>=c)break;d[b++>>>0]=192|h>>6;d[b++>>>0]=128|h&63}else if(65535>=h){if(b+2>=c)break;d[b++>>>0]=224|h>>12;d[b++>>>0]=128|h>>6&63;d[b++>>>0]=128|h&63}else{if(b+3>=c)break;d[b++>>>0]=240|h>>18;d[b++>>>0]=128|h>>12&63;d[b++>>>0]=128|h>>6&63;d[b++>>>0]=128|h&63;f++}}d[b>>>0]=0;a=b-e}else a=0;return a},U=a=>{for(var b=0,c=0;c<a.length;++c){var d=
|
| 41 |
+
a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b};
|
| 42 |
+
function tb(a,b){a>>>=0;b=P(b>>>0);Q(a,{name:b,g(c){var d=(q(),A)[c>>>2>>>0];d=ge(c+4,d,!0);G(c);return d},l(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new ke("Cannot pass non-string to std::string");var f=e?U(d):d.length;var h=md(4+f+1),l=h+4;(q(),A)[h>>>2>>>0]=f;e?T(d,l,f+1):(q(),x).set(d,l>>>0);null!==c&&c.push(G,h);return h},j:pe,m(c){G(c)}})}
|
| 43 |
+
var se=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,te=(a,b,c)=>{a>>>=1;b=ee((q(),La),a,b/2,c);if(16<b-a&&se)return se.decode((q(),La).slice(a,b));for(c="";a<b;++a){var d=(q(),La)[a>>>0];c+=String.fromCharCode(d)}return c},ue=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);(q(),Ka)[b>>>1>>>0]=f;b+=2}(q(),Ka)[b>>>1>>>0]=0;return b-d},ve=a=>2*a.length,we=(a,b,c)=>{var d="";a>>>=2;for(var e=0;!(e>=b/4);e++){var f=
|
| 44 |
+
(q(),A)[a+e>>>0];if(!f&&!c)break;d+=String.fromCodePoint(f)}return d},xe=(a,b,c)=>{b>>>=0;c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;(q(),z)[b>>>2>>>0]=f;b+=4;if(b+4>c)break}(q(),z)[b>>>2>>>0]=0;return b-d},ye=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b};
|
| 45 |
+
function ub(a,b,c){a>>>=0;b>>>=0;c>>>=0;c=P(c);if(2===b){var d=te;var e=ue;var f=ve}else d=we,e=xe,f=ye;Q(a,{name:c,g:h=>{var l=(q(),A)[h>>>2>>>0];l=d(h+4,l*b,!0);G(h);return l},l:(h,l)=>{if("string"!=typeof l)throw new ke(`Cannot pass non-string to C++ string type ${c}`);var n=f(l),u=md(4+n+b);(q(),A)[u>>>2>>>0]=n/b;e(l,u+4,n+b);null!==h&&h.push(G,u);return u},j:pe,m(h){G(h)}})}function vb(a,b){a>>>=0;b=P(b>>>0);Q(a,{J:!0,name:b,g:()=>{},l:()=>{}})}
|
| 46 |
+
function wb(a){Da(a>>>0,!ba,1,!aa,131072,!1);Ea()}var N=a=>{if(!sa)try{if(a(),!(0<L))try{m?ld()&&Hd(ta):Ac(ta)}catch(b){b instanceof Od||"unwind"==b||ea(1,b)}}catch(b){b instanceof Od||"unwind"==b||ea(1,b)}},ze=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Fa(a){a>>>=0;ze||(Atomics.waitAsync((q(),z),a>>>2,a).value.then(Ia),a+=128,Atomics.store((q(),z),a>>>2,1))}var Ia=()=>N(()=>{var a=ld();a&&(Fa(a),Jd())});
|
| 47 |
+
function xb(a,b){a>>>=0;a==b>>>0?setTimeout(Ia):m?postMessage({s:a,i:"checkMailbox"}):(a=K[a])&&a.postMessage({i:"checkMailbox"})}var Ae=[];function yb(a,b,c,d,e){b>>>=0;e>>>=0;Ae.length=0;c=e>>>3;for(d=e+d>>>3;c<d;){var f;(q(),E)[c++>>>0]?f=(q(),E)[c++>>>0]:f=(q(),C)[c++>>>0];Ae.push(f)}return(b?Be[b]:Ce[a])(...Ae)}var zb=()=>{L=0};function Ab(a){a>>>=0;m?postMessage({i:"cleanupThread",M:a}):ae(K[a])}function Bb(a){k&&K[a>>>0].ref()}function fd(a){return(...b)=>a(...b)}
|
| 48 |
+
var ed=null,De=async a=>{L+=1;try{return await a()}finally{--L}};function Cb(a){a>>>=0;return De(async()=>{var b=await R(a);return S(b)})}Cb.v=!0;
|
| 49 |
+
var Ee=[],Fe=a=>{var b=Ee.length;Ee.push(a);return b},Ge=(a,b)=>{for(var c=Array(a),d=0;d<a;++d){var e=d,f=(q(),A)[b+4*d>>>2>>>0],h=ie[f];if(void 0===h)throw a=`parameter ${d}`,f=jd(f),b=P(f),G(f),new ke(`${a} has unknown type ${b}`);c[e]=h}return c},He=(a,b,c)=>{var d=[];a=a(d,c);d.length&&((q(),A)[b>>>2>>>0]=S(d));return a},Ie={},Je=a=>{var b=Ie[a];return void 0===b?P(a):b};
|
| 50 |
+
function Db(a,b,c){var [d,...e]=Ge(a,b>>>0);b=d.l.bind(d);var f=e.map(n=>n.j.bind(n));a--;var h={toValue:R};a=f.map((n,u)=>{var D=`argFromPtr${u}`;h[D]=n;return`${D}(args${u?"+"+8*u:""})`});switch(c){case 0:var l="toValue(handle)";break;case 2:l="new (toValue(handle))";break;case 3:l="";break;case 1:h.getStringOrSymbol=Je,l="toValue(handle)[getStringOrSymbol(methodName)]"}l+=`(${a})`;d.J||(h.toReturnWire=b,h.emval_returnValue=He,l=`return emval_returnValue(toReturnWire, destructorsRef, ${l})`);l=
|
| 51 |
+
`return function (handle, methodName, destructorsRef, args) {\n ${l}\n }`;c=(new Function(Object.keys(h),l))(...Object.values(h));l=`methodCaller<(${e.map(n=>n.name)}) => ${d.name}>`;return Fe(Object.defineProperty(c,"name",{value:l}))}function Fb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return a==b}function Gb(a){a>>>=0;if(!a)return S(globalThis);a=Je(a);return S(globalThis[a])}function Hb(a){a=Je(a>>>0);return S(g[a])}function Ib(a,b){b>>>=0;a=R(a>>>0);b=R(b);return S(a[b])}
|
| 52 |
+
function Jb(a){a>>>=0;9<a&&(oe[a+1]+=1)}function Kb(a,b,c,d,e){return Ee[a>>>0](b>>>0,c>>>0,d>>>0,e>>>0)}function Lb(a,b,c,d,e){return Kb(a>>>0,b>>>0,c>>>0,d>>>0,e>>>0)}function Mb(){return S([])}function Nb(a){a=R(a>>>0);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=a[c];return S(b)}function Ob(a){return S(Je(a>>>0))}function Pb(){return S({})}function Qb(a){a>>>=0;for(var b=R(a);b.length;){var c=b.pop();b.pop()(c)}Eb(a)}function Rb(a,b,c){b>>>=0;c>>>=0;a=R(a>>>0);b=R(b);c=R(c);a[b]=c}
|
| 53 |
+
function Sb(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(q(),z)[b>>>2>>>0]=a.getUTCSeconds();(q(),z)[b+4>>>2>>>0]=a.getUTCMinutes();(q(),z)[b+8>>>2>>>0]=a.getUTCHours();(q(),z)[b+12>>>2>>>0]=a.getUTCDate();(q(),z)[b+16>>>2>>>0]=a.getUTCMonth();(q(),z)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(q(),z)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(q(),z)[b+28>>>2>>>0]=a}
|
| 54 |
+
var Ke=a=>0===a%4&&(0!==a%100||0===a%400),Le=[0,31,60,91,121,152,182,213,244,274,305,335],Me=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 55 |
+
function Tb(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(q(),z)[b>>>2>>>0]=a.getSeconds();(q(),z)[b+4>>>2>>>0]=a.getMinutes();(q(),z)[b+8>>>2>>>0]=a.getHours();(q(),z)[b+12>>>2>>>0]=a.getDate();(q(),z)[b+16>>>2>>>0]=a.getMonth();(q(),z)[b+20>>>2>>>0]=a.getFullYear()-1900;(q(),z)[b+24>>>2>>>0]=a.getDay();var c=(Ke(a.getFullYear())?Le:Me)[a.getMonth()]+a.getDate()-1|0;(q(),z)[b+28>>>2>>>0]=c;(q(),z)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),
|
| 56 |
+
0,1)).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(q(),z)[b+32>>>2>>>0]=a}
|
| 57 |
+
function Ub(a){a>>>=0;var b=new Date((q(),z)[a+20>>>2>>>0]+1900,(q(),z)[a+16>>>2>>>0],(q(),z)[a+12>>>2>>>0],(q(),z)[a+8>>>2>>>0],(q(),z)[a+4>>>2>>>0],(q(),z)[a>>>2>>>0],0),c=(q(),z)[a+32>>>2>>>0],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),h=Math.min(f,e);0>c?(q(),z)[a+32>>>2>>>0]=Number(e!=f&&h==d):0<c!=(h==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<c?h:e)-d)));(q(),z)[a+24>>>2>>>0]=b.getDay();c=(Ke(b.getFullYear())?
|
| 58 |
+
Le:Me)[b.getMonth()]+b.getDate()-1|0;(q(),z)[a+28>>>2>>>0]=c;(q(),z)[a>>>2>>>0]=b.getSeconds();(q(),z)[a+4>>>2>>>0]=b.getMinutes();(q(),z)[a+8>>>2>>>0]=b.getHours();(q(),z)[a+12>>>2>>>0]=b.getDate();(q(),z)[a+16>>>2>>>0]=b.getMonth();(q(),z)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function Vb(a,b,c,d,e,f,h){return m?M(16,1,a,b,c,d,e,f,h):-52}function Wb(a,b,c,d,e,f){if(m)return M(17,1,a,b,c,d,e,f)}var Ne={},gc=()=>performance.timeOrigin+performance.now();
|
| 59 |
+
function Xb(a,b){if(m)return M(18,1,a,b);Ne[a]&&(clearTimeout(Ne[a].id),delete Ne[a]);if(!b)return 0;var c=setTimeout(()=>{delete Ne[a];N(()=>Id(a,performance.timeOrigin+performance.now()))},b);Ne[a]={id:c,V:b};return 0}
|
| 60 |
+
function Yb(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var h=Math.max(f,e);(q(),A)[a>>>2>>>0]=60*h;(q(),z)[b>>>2>>>0]=Number(f!=e);b=l=>{var n=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(n/60)).padStart(2,"0")}${String(n%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(T(a,c,17),T(b,d,17)):(T(a,d,17),T(b,c,17))}var cc=()=>Date.now(),Oe=1;
|
| 61 |
+
function Zb(a,b,c){c>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Oe)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(q(),E)[c>>>3>>>0]=BigInt(a);return 0}var Pe=[],Qe=(a,b)=>{Pe.length=0;for(var c;c=(q(),x)[a++>>>0];){var d=105!=c;d&=112!=c;b+=d&&b%8?4:0;Pe.push(112==c?(q(),A)[b>>>2>>>0]:106==c?(q(),E)[b>>>3>>>0]:105==c?(q(),z)[b>>>2>>>0]:(q(),C)[b>>>3>>>0]);b+=d?8:4}return Pe};function $b(a,b,c){a>>>=0;b=Qe(b>>>0,c>>>0);return Be[a](...b)}
|
| 62 |
+
function ac(a,b,c){a>>>=0;b=Qe(b>>>0,c>>>0);return Be[a](...b)}var bc=()=>{};function dc(a,b){return p(ge(a>>>0,b>>>0))}var ec=()=>{L+=1;throw"unwind";};function fc(){return 4294901760}var hc=()=>2,ic=()=>k?require("os").cpus().length:navigator.hardwareConcurrency;
|
| 63 |
+
function jc(a){a>>>=0;var b=(q(),x).length;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(4294901760,65536*Math.ceil(Math.max(a,d)/65536))-t.buffer.byteLength+65535)/65536|0;try{t.grow(d);ua();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
| 64 |
+
var V=a=>{var b=U(a)+1,c=Md(b);T(a,c,b);return c},Re=(a,b)=>{(q(),A)[a>>>2>>>0]=b;var c=(q(),A)[a>>>2>>>0];(q(),A)[a+4>>>2>>>0]=(b-c)/4294967296},Se=a=>(q(),A)[a>>>2>>>0]+4294967296*(q(),z)[a+4>>>2>>>0],W=[],Te=(a,b)=>{W[a>>>0]=b},X=[],Ue=[],Ve=(a,b)=>{Ue[a]=new Promise(c=>b.finally(()=>c(a)))},Y=a=>{if(a)return W[a>>>0]},We=(a,b=0)=>{"unmapped"===a.mapState||Qa();b=vd(b);W[b>>>0]=a;return b},Xe=(a,b=0)=>{var c=xd(b);b=wd(b,c);W[c>>>0]=a.queue;W[b>>>0]=a;return b},Ye=(a,b)=>{for(a=(q(),A)[a>>>2>>>
|
| 65 |
+
0];a;a=(q(),A)[a>>>2>>>0]){var c=(q(),z)[a+4>>>2>>>0];b[c](a)}},Ze=(a,b,c)=>{(q(),A)[a>>>2>>>0]=b;(q(),A)[a+4>>>2>>>0]=c},$e=a=>{var b=(q(),A)[a>>>2>>>0];a=(q(),A)[a+4>>>2>>>0];return ge(b,a)},Z=a=>{var b=(q(),A)[a>>>2>>>0];a=(q(),A)[a+4>>>2>>>0];if(b)return ge(b,a);if(0===a)return""},af=a=>{var b=Z(a+4);var c=(c=(q(),A)[a+12>>>2>>>0])?Y(c):"auto";if(a+=16){var d=Y((q(),A)[a+4>>>2>>>0]);var e=(q(),A)[a+16>>>2>>>0];var f=(q(),A)[a+20>>>2>>>0];if(e){for(var h={},l=0;l<e;++l){var n=f+24*l,u=$e(n+4);
|
| 66 |
+
h[u]=(q(),C)[n+16>>>3>>>0]}e=h}else e=void 0;a={module:d,constants:e,entryPoint:Z(a+8)}}else a=void 0;return{label:b,layout:c,compute:a}},bf=(a,b)=>{function c(d,e){d=a[d];(q(),A)[b+e>>>2>>>0]=d}c("maxTextureDimension1D",4);c("maxTextureDimension2D",8);c("maxTextureDimension3D",12);c("maxTextureArrayLayers",16);c("maxBindGroups",20);c("maxBindGroupsPlusVertexBuffers",24);c("maxBindingsPerBindGroup",28);c("maxDynamicUniformBuffersPerPipelineLayout",32);c("maxDynamicStorageBuffersPerPipelineLayout",
|
| 67 |
+
36);c("maxSampledTexturesPerShaderStage",40);c("maxSamplersPerShaderStage",44);c("maxStorageBuffersPerShaderStage",48);c("maxStorageTexturesPerShaderStage",52);c("maxUniformBuffersPerShaderStage",56);c("minUniformBufferOffsetAlignment",80);c("minStorageBufferOffsetAlignment",84);Re(b+64,a.maxUniformBufferBindingSize);Re(b+72,a.maxStorageBufferBindingSize);c("maxVertexBuffers",88);Re(b+96,a.maxBufferSize);c("maxVertexAttributes",104);c("maxVertexBufferArrayStride",108);c("maxInterStageShaderVariables",
|
| 68 |
+
112);c("maxColorAttachments",116);c("maxColorAttachmentBytesPerSample",120);c("maxComputeWorkgroupStorageSize",124);c("maxComputeInvocationsPerWorkgroup",128);c("maxComputeWorkgroupSizeX",132);c("maxComputeWorkgroupSizeY",136);c("maxComputeWorkgroupSizeZ",140);c("maxComputeWorkgroupsPerDimension",144);void 0!==a.U&&c("maxImmediateSize",148)},cf=[,"validation","out-of-memory","internal"],df=[,"compatibility","core"],ef={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",
|
| 69 |
+
4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",
|
| 70 |
+
327729:"chromium-experimental-multi-draw-indirect"},ff=[,"low-power","high-performance"],gf=[,"occlusion","timestamp"],hf={undefined:1,unknown:1,destroyed:2};
|
| 71 |
+
function kc(a,b,c,d,e,f){b=O(b);c=O(c);d>>>=0;e>>>=0;f>>>=0;var h=Y(a>>>0);a={};if(f){var l=(q(),A)[f+12>>>2>>>0];if(l){var n=(q(),A)[f+16>>>2>>>0];a.requiredFeatures=Array.from((q(),A).subarray(n>>>2>>>0,n+4*l>>>2>>>0),r=>ef[r])}var u=(q(),A)[f+20>>>2>>>0];if(u){var D={};function r(y,B,mb=!1){B=u+B;B=(q(),A)[B>>>2>>>0];4294967295==B||mb&&0==B||(D[y]=B)}function v(y,B){B=u+B;var mb=(q(),A)[B>>>2>>>0],mf=(q(),A)[B+4>>>2>>>0];if(4294967295!=mb||4294967295!=mf)D[y]=Se(B)}r("maxTextureDimension1D",4);
|
| 72 |
+
r("maxTextureDimension2D",8);r("maxTextureDimension3D",12);r("maxTextureArrayLayers",16);r("maxBindGroups",20);r("maxBindGroupsPlusVertexBuffers",24);r("maxDynamicUniformBuffersPerPipelineLayout",32);r("maxDynamicStorageBuffersPerPipelineLayout",36);r("maxSampledTexturesPerShaderStage",40);r("maxSamplersPerShaderStage",44);r("maxStorageBuffersPerShaderStage",48);r("maxStorageTexturesPerShaderStage",52);r("maxUniformBuffersPerShaderStage",56);r("minUniformBufferOffsetAlignment",80);r("minStorageBufferOffsetAlignment",
|
| 73 |
+
84);v("maxUniformBufferBindingSize",64);v("maxStorageBufferBindingSize",72);r("maxVertexBuffers",88);v("maxBufferSize",96);r("maxVertexAttributes",104);r("maxVertexBufferArrayStride",108);r("maxInterStageShaderVariables",112);r("maxColorAttachments",116);r("maxColorAttachmentBytesPerSample",120);r("maxComputeWorkgroupStorageSize",124);r("maxComputeInvocationsPerWorkgroup",128);r("maxComputeWorkgroupSizeX",132);r("maxComputeWorkgroupSizeY",136);r("maxComputeWorkgroupSizeZ",140);r("maxComputeWorkgroupsPerDimension",
|
| 74 |
+
144);r("maxImmediateSize",148,!0);a.requiredLimits=D}if(l=(q(),A)[f+24>>>2>>>0])l={label:Z(l+4)},a.defaultQueue=l;a.label=Z(f+4)}L+=1;Ve(b,h.requestDevice(a).then(r=>{--L;N(()=>{W[e>>>0]=r.queue;W[d>>>0]=r;L+=1;Ve(c,r.lost.then(v=>{N(()=>{r.onuncapturederror=()=>{};var y=I(),B=V(v.message);zd(c,hf[v.reason],B);H(y)});--L}));r.onuncapturederror=v=>{var y=5;v.error instanceof GPUValidationError?y=2:v.error instanceof GPUOutOfMemoryError?y=3:v.error instanceof GPUInternalError&&(y=4);var B=I();v=V(v.error.message);
|
| 75 |
+
Ed(d,y,v);H(B)};"adapterInfo"in r||(r.adapterInfo=h.info);Dd(b,1,d,0)})},r=>{--L;N(()=>{var v=I(),y=V(r.message);Dd(b,3,d,y);c&&zd(c,4,y);H(v)})}))}function lc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a]}b.destroy()}function mc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(h){return 0}var f=Kd(16,e.byteLength);(q(),x).set(new Uint8Array(e),f>>>0);X[a].push(()=>G(f));return f}
|
| 76 |
+
function nc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(h){return 0}var f=Kd(16,e.byteLength);(q(),x).fill(0,f,e.byteLength);X[a].push(()=>{(new Uint8Array(e)).set((q(),x).subarray(f>>>0,f+e.byteLength>>>0));G(f)});return f}
|
| 77 |
+
function oc(a,b,c,d,e){a>>>=0;b=O(b);c=O(c);e>>>=0;var f=Y(a);X[a]=[];4294967295==e&&(e=void 0);L+=1;Ve(b,f.mapAsync(c,d>>>0,e).then(()=>{--L;N(()=>{Ad(b,1,0)})},h=>{--L;N(()=>{I();var l=V(h.message);Ad(b,"AbortError"===h.name?4:"OperationError"===h.name?3:0,l);delete X[a]})}))}function pc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a];b.unmap()}}function qc(a){delete W[a>>>0]}
|
| 78 |
+
function rc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=!!(q(),A)[b+32>>>2>>>0];b={label:Z(b+4),usage:(q(),A)[b+16>>>2>>>0],size:Se(b+24),mappedAtCreation:d};a=Y(a);try{var e=a.createBuffer(b)}catch(f){return!1}W[c>>>0]=e;d&&(X[c]=[]);return!0}function sc(a,b,c,d){a>>>=0;b=O(b);d>>>=0;c=af(c>>>0);a=Y(a);L+=1;Ve(b,a.createComputePipelineAsync(c).then(e=>{--L;N(()=>{W[d>>>0]=e;yd(b,1,d,0)})},e=>{--L;N(()=>{var f=I(),h=V(e.message);yd(b,"validation"===e.reason?3:"internal"===e.reason?4:0,d,h);H(f)})}))}
|
| 79 |
+
function tc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=(q(),A)[b>>>2>>>0],e=(q(),z)[d+4>>>2>>>0];b={label:Z(b+4),code:""};switch(e){case 2:b.code=$e(d+8)}a=Y(a).createShaderModule(b);W[c>>>0]=a}var uc=a=>{a=Y(a);a.onuncapturederror=null;a.destroy()};
|
| 80 |
+
function vc(a,b){b=O(b);a=Y(a>>>0);L+=1;Ve(b,a.popErrorScope().then(c=>{--L;N(()=>{var d=5;c?c instanceof GPUValidationError?d=2:c instanceof GPUOutOfMemoryError?d=3:c instanceof GPUInternalError&&(d=4):d=1;var e=I(),f=c?V(c.message):0;Bd(b,1,d,f);H(e)})},c=>{--L;N(()=>{var d=I(),e=V(c.message);Bd(b,1,5,e);H(d)})}))}
|
| 81 |
+
function wc(a,b,c,d){b=O(b);c>>>=0;d>>>=0;if(c){var e={featureLevel:df[(q(),z)[c+4>>>2>>>0]],powerPreference:ff[(q(),z)[c+8>>>2>>>0]],forceFallbackAdapter:!!(q(),A)[c+12>>>2>>>0]};a=(q(),A)[c>>>2>>>0];0!==a&&(q(),e.X=!!(q(),A)[a+8>>>2>>>0])}"gpu"in navigator?(L+=1,Ve(b,navigator.gpu.requestAdapter(e).then(f=>{--L;N(()=>{if(f)W[d>>>0]=f,Cd(b,1,d,0);else{var h=I(),l=V("WebGPU not available on this browser (requestAdapter returned null)");Cd(b,3,d,l);H(h)}})},f=>{--L;N(()=>{var h=I(),l=V(f.message);
|
| 82 |
+
Cd(b,4,d,l);H(h)})}))):(e=I(),a=V("WebGPU not available on this browser (navigator.gpu is not available)"),Cd(b,3,d,a),H(e))}function xc(a,b,c){a>>>=0;b>>>=0;c>>>=0;return De(async()=>{var d=[];if(c){var e=(q(),z)[c>>>2>>>0];d.length=b+1;d[b]=new Promise(l=>setTimeout(l,e,0))}else d.length=b;for(var f=0;f<b;++f){var h=Se(a+8*f);if(!(h in Ue))return h;d[f]=Ue[h]}d=await Promise.race(d);delete Ue[d];return d})}xc.v=!0;
|
| 83 |
+
var jf={},lf=()=>{if(!kf){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:da||"./this.program"},b;for(b in jf)void 0===jf[b]?delete a[b]:a[b]=jf[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);kf=c}return kf},kf;function yc(a,b){if(m)return M(19,1,a,b);a>>>=0;b>>>=0;var c=0,d=0,e;for(e of lf()){var f=b+c;(q(),A)[a+d>>>2>>>0]=f;c+=T(e,f,Infinity)+1;d+=4}return 0}
|
| 84 |
+
function zc(a,b){if(m)return M(20,1,a,b);a>>>=0;b>>>=0;var c=lf();(q(),A)[a>>>2>>>0]=c.length;a=0;for(var d of c)a+=U(d)+1;(q(),A)[b>>>2>>>0]=a;return 0}function Bc(a){return m?M(21,1,a):52}function Cc(a,b,c,d){return m?M(22,1,a,b,c,d):52}function Dc(a,b,c,d){return m?M(23,1,a,b,c,d):70}var nf=[null,[],[]];
|
| 85 |
+
function Ec(a,b,c,d){if(m)return M(24,1,a,b,c,d);b>>>=0;c>>>=0;d>>>=0;for(var e=0,f=0;f<c;f++){var h=(q(),A)[b>>>2>>>0],l=(q(),A)[b+4>>>2>>>0];b+=8;for(var n=0;n<l;n++){var u=a,D=(q(),x)[h+n>>>0],r=nf[u];0===D||10===D?((1===u?pa:p)(fe(r)),r.length=0):r.push(D)}e+=l}(q(),A)[d>>>2>>>0]=e;return 0}function Gc(a,b){bf(Y(a>>>0).limits,b>>>0);return 1}function Hc(a,b){return Y(a>>>0).features.has(ef[b])}function Ic(a){return BigInt(Y(a>>>0).size)}function Jc(a){return BigInt(Y(a>>>0).usage)}
|
| 86 |
+
function Kc(a,b){a>>>=0;b>>>=0;if(b){var c=Z(b+4);b=(q(),A)[b+12>>>2>>>0];b=0!==b?{querySet:Y((q(),A)[b+4>>>2>>>0]),beginningOfPassWriteIndex:(q(),A)[b+8>>>2>>>0],endOfPassWriteIndex:(q(),A)[b+12>>>2>>>0]}:void 0;c={label:c,timestampWrites:b}}b=Y(a);a=td(0);c=b.beginComputePass(c);W[a>>>0]=c;return a}function Lc(a,b,c,d){c=O(c);d=O(d);a=Y(a>>>0);-1==d&&(d=void 0);a.clearBuffer(Y(b>>>0),c,d)}function Mc(a,b,c,d,e,f){c=O(c);e=O(e);f=O(f);Y(a>>>0).copyBufferToBuffer(Y(b>>>0),c,Y(d>>>0),e,f)}
|
| 87 |
+
function Nc(a){var b=Y(a>>>0);a=rd(0);b=b.finish();W[a>>>0]=b;return a}function Oc(a,b,c,d,e,f){f=O(f);Y(a>>>0).resolveQuerySet(Y(b>>>0),c,d,Y(e>>>0),f)}function Pc(a,b,c,d){Y(a>>>0).dispatchWorkgroups(b,c,d)}function Qc(a,b,c){c=O(c);Y(a>>>0).dispatchWorkgroupsIndirect(Y(b>>>0),c)}function Rc(a){Y(a>>>0).end()}function Sc(a,b,c,d,e){d>>>=0;e>>>=0;a=Y(a>>>0);c=Y(c>>>0);0==d?a.setBindGroup(b,c):a.setBindGroup(b,c,(q(),A),e>>>2,d)}function Tc(a,b){Y(a>>>0).setPipeline(Y(b>>>0))}
|
| 88 |
+
function Uc(a,b,c){Y(a>>>0).W(Y(b>>>0),c)}function Vc(a,b){var c=Y(a>>>0);a=qd(0);b=c.getBindGroupLayout(b);W[a>>>0]=b;return a}
|
| 89 |
+
function Wc(a,b){function c(e){var f=(q(),A)[e+8>>>2>>>0],h=(q(),A)[e+32>>>2>>>0],l=(q(),A)[e+36>>>2>>>0],n=0;Ye(e,{327681:u=>{n=(q(),A)[u+8>>>2>>>0]}});f?(h=Se(e+24),-1==h&&(h=void 0),f={buffer:Y(f),offset:Se(e+16),size:h}):f=Y(h||l||n);return{binding:(q(),A)[e+4>>>2>>>0],resource:f}}a>>>=0;b>>>=0;b={label:Z(b+4),layout:Y((q(),A)[b+12>>>2>>>0]),entries:function(e,f){for(var h=[],l=0;l<e;++l)h.push(c(f+40*l));return h}((q(),A)[b+16>>>2>>>0],(q(),A)[b+20>>>2>>>0])};a=Y(a);var d=pd(0);Te(d,a.createBindGroup(b));
|
| 90 |
+
return d}function Xc(a,b){a>>>=0;b>>>=0;var c;b&&(c={label:Z(b+4)});b=Y(a);a=sd(0);c=b.createCommandEncoder(c);W[a>>>0]=c;return a}function Yc(a,b){a>>>=0;b>>>=0;b={type:gf[(q(),z)[b+12>>>2>>>0]],count:(q(),A)[b+16>>>2>>>0]};var c=Y(a);a=ud(0);b=c.createQuerySet(b);W[a>>>0]=b;return a}
|
| 91 |
+
function Zc(a,b){a=Y(a>>>0).adapterInfo;b>>>=0;(q(),A)[b+52>>>2>>>0]=a.subgroupMinSize;(q(),A)[b+56>>>2>>>0]=a.subgroupMaxSize;var c=a.vendor+a.architecture+a.device+a.description;var d=U(c)+1,e=md(d);e&&T(c,e,d);c=e;d=U(a.vendor);Ze(b+4,c,d);c+=d;d=U(a.architecture);Ze(b+12,c,d);c+=d;d=U(a.device);Ze(b+20,c,d);Ze(b+28,c+d,U(a.description));(q(),z)[b+36>>>2>>>0]=2;a=a.isFallbackAdapter?3:4;(q(),z)[b+40>>>2>>>0]=a;(q(),A)[b+44>>>2>>>0]=0;(q(),A)[b+48>>>2>>>0]=0;return 1}
|
| 92 |
+
var of={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,
|
| 93 |
+
"primitive-index":21,"texture-component-swizzle":22,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729};function $c(a,b){b>>>=0;var c=Y(a>>>0);a=md(4*c.features.size);var d=0,e=0;for(const f of c.features)c=of[f],0<=c&&((q(),z)[a+d>>>2>>>0]=c,d+=4,e++);(q(),A)[b+4>>>2>>>0]=a;(q(),A)[b>>>2>>>0]=e}function ad(a,b){bf(Y(a>>>0).limits,b>>>0);return 1}function bd(a,b){Y(a>>>0).pushErrorScope(cf[b])}
|
| 94 |
+
function cd(a,b,c){b>>>=0;c>>>=0;a=Y(a>>>0);b=Array.from((q(),z).subarray(c>>>2>>>0,c+4*b>>>2>>>0),d=>Y(d));a.submit(b)}function dd(a,b,c,d,e){c=O(c);d>>>=0;e>>>=0;a=Y(a>>>0);b=Y(b>>>0);d=(q(),x).subarray(d>>>0,d+e>>>0);a.writeBuffer(b,c,d,0,e)}m||Zd();m||(t=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),ua());g.wasmBinary&&(qa=g.wasmBinary);g.stackSave=()=>I();g.stackRestore=a=>H(a);g.stackAlloc=a=>Md(a);
|
| 95 |
+
g.setValue=function(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":(q(),w)[a>>>0]=b;break;case "i8":(q(),w)[a>>>0]=b;break;case "i16":(q(),Ka)[a>>>1>>>0]=b;break;case "i32":(q(),z)[a>>>2>>>0]=b;break;case "i64":(q(),E)[a>>>3>>>0]=BigInt(b);break;case "float":(q(),Ma)[a>>>2>>>0]=b;break;case "double":(q(),C)[a>>>3>>>0]=b;break;case "*":(q(),A)[a>>>2>>>0]=b;break;default:Qa(`invalid type for setValue: ${c}`)}};
|
| 96 |
+
g.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(q(),w)[a>>>0];case "i8":return(q(),w)[a>>>0];case "i16":return(q(),Ka)[a>>>1>>>0];case "i32":return(q(),z)[a>>>2>>>0];case "i64":return(q(),E)[a>>>3>>>0];case "float":return(q(),Ma)[a>>>2>>>0];case "double":return(q(),C)[a>>>3>>>0];case "*":return(q(),A)[a>>>2>>>0];default:Qa(`invalid type for getValue: ${b}`)}};g.UTF8ToString=ge;g.stringToUTF8=T;g.lengthBytesUTF8=U;
|
| 97 |
+
var Ce=[Fc,Yd,ce,Za,$a,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,Vb,Wb,Xb,yc,zc,Bc,Cc,Dc,Ec],Be={993984:(a,b,c,d,e)=>{if("undefined"==typeof g||!g.o)return 1;a=ge(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=g.o.get(a);if(!a)return 2;b=Number(b>>>0);c=Number(c>>>0);d=Number(d>>>0);if(b+c>a.byteLength)return 3;try{const f=a.subarray(b,b+c);switch(e){case 0:(q(),x).set(f,d>>>0);break;case 1:g.B?g.B(d,f):g.T(d,f);break;default:return 4}return 0}catch{return 4}},994808:(a,b,c)=>{g.D(a,(q(),x).subarray(b>>>
|
| 98 |
+
0,b+c>>>0))},994872:()=>g.R(),994914:a=>{g.C(a)},994951:()=>"undefined"!==typeof wasmOffsetConverter},jd,Ga,kd,ld,G,md,nd,od,pd,qd,rd,sd,td,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Da,Ja,Fd,Gd,Hd,Id,Jd,Kd,Ra,Ld,H,Md,I,Nd,Xa;
|
| 99 |
+
function gd(){var a=F;a=Object.assign({},a);var b=d=>e=>d(e)>>>0,c=d=>()=>d()>>>0;a.__getTypeName=b(a.__getTypeName);a.pthread_self=c(a.pthread_self);a.malloc=b(a.malloc);a.memalign=(d=>(e,f)=>d(e,f)>>>0)(a.memalign);a._emscripten_stack_alloc=b(a._emscripten_stack_alloc);a.emscripten_stack_get_current=c(a.emscripten_stack_get_current);return a}function Ba(){0<Sd?Td=Ba:m?(va?.(g),Pa()):(Rd(),0<Sd?Td=Ba:async function(){g.calledRun=!0;sa||(Pa(),va?.(g))}())}var F;m||(F=await (Aa()),Ba());
|
| 100 |
+
g.PTR_SIZE=4;
|
| 101 |
+
g.webgpuInit=a=>{const b=new WeakMap;let c=1,d=void 0,e=void 0;g.webgpuRegisterDevice=l=>{if(void 0!==e)throw Error("another WebGPU EP inference session is being created.");if(l){var n=b.get(l);if(!n){n=od(0);const u=Xe(l,n);n=[c++,n,u];b.set(l,n)}d=l;e=n[0];return n}d=void 0;e=0};const f=new Map;g.webgpuOnCreateSession=l=>{if(void 0!==e){var n=e;e=void 0;if(l){const u=kd(n);f.set(l,u);0===n&&a(d??Y(u))}d=void 0}};g.webgpuOnReleaseSession=l=>{f.delete(l)};const h=Symbol("gpuBufferMetadata");g.webgpuRegisterBuffer=
|
| 102 |
+
(l,n,u)=>{if(u)return l[h]=[u,NaN],u;if(u=l[h])return u[1]++,u[0];n=f.get(n);if(void 0===n)throw Error("Invalid session handle passed to webgpuRegisterBuffer");n=We(l,n);l[h]=[n,1];return n};g.webgpuUnregisterBuffer=l=>{const n=l[h];if(!n)throw Error("Buffer is not registered");n[1]--;0===n[1]&&(nd(n[0]),delete l[h])};g.webgpuGetBuffer=l=>Y(l);g.webgpuCreateDownloader=(l,n,u)=>{u=f.get(u);if(void 0===u)throw Error("Invalid session handle passed to webgpuRegisterBuffer");const D=Y(u),r=16*Math.ceil(Number(n)/
|
| 103 |
+
16);return async()=>{const v=D.createBuffer({size:r,usage:9});try{const y=D.createCommandEncoder();y.copyBufferToBuffer(l,0,v,0,r);D.queue.submit([y.finish()]);await v.mapAsync(GPUMapMode.READ);return v.getMappedRange().slice(0,n)}finally{v.destroy()}}};g.B=(l,n)=>{var u=n.buffer;const D=n.byteOffset,r=n.byteLength;n=16*Math.ceil(Number(r)/16);l=Y(l);if(!d){var v=kd(e);d=Y(v)}v=d.createBuffer({mappedAtCreation:!0,size:n,usage:6});const y=v.getMappedRange();(new Uint8Array(y)).set(new Uint8Array(u,
|
| 104 |
+
D,r));v.unmap();u=d.createCommandEncoder();u.copyBufferToBuffer(v,0,l,0,n);d.queue.submit([u.finish()]);v.destroy()}};
|
| 105 |
+
g.webnnInit=a=>{const b=a[0];[g.R,g.C,g.webnnEnsureTensor,g.D,g.webnnDownloadTensor,g.P,g.webnnEnableTraceEvent]=a.slice(1);g.webnnReleaseTensorId=g.C;g.webnnUploadTensor=g.D;g.webnnRegisterMLContext=g.P;g.webnnOnRunStart=c=>b.onRunStart(c);g.webnnOnRunEnd=b.onRunEnd.bind(b);g.webnnOnReleaseSession=c=>{b.onReleaseSession(c)};g.webnnCreateMLTensorDownloader=(c,d)=>b.createMLTensorDownloader(c,d);g.webnnRegisterMLTensor=(c,d,e,f)=>b.registerMLTensor(c,d,e,f);g.webnnCreateMLContext=c=>b.createMLContext(c);
|
| 106 |
+
g.webnnRegisterMLConstant=(c,d,e,f,h,l)=>b.registerMLConstant(c,d,e,f,h,g.o,l);g.webnnRegisterGraphInput=b.registerGraphInput.bind(b);g.webnnIsGraphInput=b.isGraphInput.bind(b);g.webnnRegisterGraphOutput=b.registerGraphOutput.bind(b);g.webnnIsGraphOutput=b.isGraphOutput.bind(b);g.webnnCreateTemporaryTensor=b.createTemporaryTensor.bind(b);g.webnnIsGraphInputOutputTypeSupported=b.isGraphInputOutputTypeSupported.bind(b)};Oa?moduleRtn=g:moduleRtn=new Promise((a,b)=>{va=a;wa=b});
|
| 107 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort-wasm/ort-wasm-simd-threaded.jspi.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:38c52c206c5b9cf9dda318a4d7f60567b1428f75c45923e0f2c8c1b57ac58b47
|
| 3 |
+
size 14625739
|
ort-wasm/ort-wasm-simd-threaded.mjs
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var h=moduleArg,aa=!!globalThis.window,k=!!globalThis.WorkerGlobalScope,m=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=k&&self.name?.startsWith("em-pthread");if(m){const {createRequire:a}=await import("module");var require=a(import.meta.url),ba=require("worker_threads");global.Worker=ba.Worker;n=(k=!ba.hc)&&"em-pthread"==ba.workerData}h.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(h.Rb||(h.Rb=new Map)).set(a,b)};
|
| 2 |
+
h.unmountExternalData=()=>{delete h.Rb};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor,ca="./this.program",da=(a,b)=>{throw b;},ea=import.meta.url,fa="",ha,ia;
|
| 3 |
+
if(m){var fs=require("fs");ea.startsWith("file:")&&(fa=require("path").dirname(require("url").fileURLToPath(ea))+"/");ia=a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a)};ha=async a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ca=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);da=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||k){try{fa=(new URL(".",ea)).href}catch{}m||(k&&(ia=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 4 |
+
b.send(null);return new Uint8Array(b.response)}),ha=async a=>{if(ja(a))return new Promise((d,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?d(e.response):c(e.status)};e.onerror=c;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var ka=console.log.bind(console),la=console.error.bind(console);
|
| 5 |
+
if(m){var ma=require("util"),na=a=>"object"==typeof a?ma.inspect(a):a;ka=(...a)=>fs.writeSync(1,a.map(na).join(" ")+"\n");la=(...a)=>fs.writeSync(2,a.map(na).join(" ")+"\n")}var oa=ka,p=la,q,r,pa=!1,t,ja=a=>a.startsWith("file://");function v(){x.buffer!=z.buffer&&qa()}var ra,sa;
|
| 6 |
+
if(m&&n){var ta=ba.parentPort;ta.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>ta.postMessage(a)});process.on("uncaughtException",a=>{postMessage({Pb:"uncaughtException",error:a});process.exit(1)})}var ua;
|
| 7 |
+
if(n){var va=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var d=b.data,c=d.Pb;if("load"===c){let e=[];self.onmessage=f=>e.push(f);ua=()=>{postMessage({Pb:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of d.Zb)if(!h[f]||h[f].proxy)h[f]=(...g)=>{postMessage({Pb:"callHandler",Yb:f,args:g})},"print"==f&&(oa=h[f]),"printErr"==f&&(p=h[f]);x=d.dc;qa();r=d.ec;wa();xa()}else if("run"===c){ya(d.Ob);za(d.Ob,0,0,1,0,0);Aa();Ba(d.Ob);va||=!0;try{Ca(d.bc,d.Tb)}catch(e){if("unwind"!=
|
| 8 |
+
e)throw e;}}else"setimmediate"!==d.target&&("checkMailbox"===c?va&&Da():c&&(p(`worker: received unknown command ${c}`),p(d)))}catch(e){throw Ea(),e;}}self.onmessage=a}var z,A,Fa,C,D,Ga,G,H,Ha=!1;function qa(){var a=x.buffer;h.HEAP8=z=new Int8Array(a);Fa=new Int16Array(a);h.HEAPU8=A=new Uint8Array(a);new Uint16Array(a);h.HEAP32=C=new Int32Array(a);h.HEAPU32=D=new Uint32Array(a);Ga=new Float32Array(a);G=new Float64Array(a);H=new BigInt64Array(a);new BigUint64Array(a)}
|
| 9 |
+
function Ia(){Ha=!0;n?ua():I.Ta()}function J(a){a="Aborted("+a+")";p(a);pa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");sa?.(a);throw a;}var Ja;async function Ka(a){if(!q)try{var b=await ha(a);return new Uint8Array(b)}catch{}if(a==Ja&&q)a=new Uint8Array(q);else if(ia)a=ia(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 10 |
+
async function La(a,b){try{var d=await Ka(a);return await WebAssembly.instantiate(d,b)}catch(c){p(`failed to asynchronously prepare wasm: ${c}`),J(c)}}async function Na(a){var b=Ja;if(!q&&!ja(b)&&!m)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(c){p(`wasm streaming compile failed: ${c}`),p("falling back to ArrayBuffer instantiation")}return La(b,a)}
|
| 11 |
+
function Oa(){Pa={R:Qa,f:Ra,w:Sa,e:Ta,k:Ua,g:Va,S:Wa,b:Xa,G:Ya,ta:Za,j:$a,L:ab,Ja:bb,pa:cb,ra:db,Ka:eb,Ha:fb,Aa:gb,Ga:hb,Y:ib,qa:jb,na:kb,Ia:lb,oa:mb,Pa:nb,Da:ob,la:pb,ua:qb,ia:rb,T:sb,Ca:Ba,Ma:tb,xa:ub,ya:vb,za:wb,va:xb,wa:yb,ja:zb,Ra:Ab,Oa:Bb,V:Cb,U:Db,Na:Eb,F:Fb,La:Gb,ma:Hb,u:Ib,H:Jb,Q:Kb,ka:Lb,aa:Mb,Sa:Nb,Ea:Ob,Fa:Pb,sa:Qb,I:Rb,X:Sb,Ba:Tb,W:Ub,_:Vb,M:Wb,$:Xb,N:Yb,v:Zb,c:$b,m:ac,n:bc,q:cc,ba:dc,x:ec,o:fc,O:gc,D:hc,J:ic,ca:jc,da:kc,A:lc,P:mc,ea:nc,z:oc,E:pc,d:qc,r:rc,i:sc,Z:tc,l:uc,p:vc,s:wc,t:xc,
|
| 12 |
+
y:yc,fa:zc,B:Ac,K:Bc,C:Cc,ga:Dc,ha:Ec,h:Fc,a:x,Qa:Gc};return{a:Pa}}
|
| 13 |
+
async function wa(){function a(c,e){I=c.exports;I=Hc();Ic.push(I.vb);c=I;h._OrtInit=c.Ua;h._OrtGetLastError=c.Va;h._OrtCreateSessionOptions=c.Wa;h._OrtAppendExecutionProvider=c.Xa;h._OrtAddFreeDimensionOverride=c.Ya;h._OrtAddSessionConfigEntry=c.Za;h._OrtReleaseSessionOptions=c._a;h._OrtCreateSession=c.$a;h._OrtReleaseSession=c.ab;h._OrtGetInputOutputCount=c.bb;h._OrtGetInputOutputMetadata=c.cb;h._OrtFree=c.db;h._OrtCreateTensor=c.eb;h._OrtGetTensorData=c.fb;h._OrtReleaseTensor=c.gb;h._OrtCreateRunOptions=
|
| 14 |
+
c.hb;h._OrtAddRunConfigEntry=c.ib;h._OrtReleaseRunOptions=c.jb;h._OrtCreateBinding=c.kb;h._OrtBindInput=c.lb;h._OrtBindOutput=c.mb;h._OrtClearBoundOutputs=c.nb;h._OrtReleaseBinding=c.ob;h._OrtRunWithBinding=c.pb;h._OrtRun=c.qb;h._OrtEndProfiling=c.rb;Jc=c.sb;Kc=h._free=c.tb;Lc=h._malloc=c.ub;za=c.xb;Ea=c.yb;Mc=c.zb;Nc=c.Ab;Oc=c.Bb;Pc=c.Cb;Qc=c.Db;K=c.Eb;L=c.Fb;Rc=c.Gb;M=c.Hb;Sc=c.Ib;N=c.Jb;Tc=c.Kb;Uc=c.Lb;Vc=c.Mb;Wc=c.Nb;Xc=c.wb;r=e;return I}var b=Oa();if(h.instantiateWasm)return new Promise(c=>{h.instantiateWasm(b,
|
| 15 |
+
(e,f)=>{c(a(e,f))})});if(n){var d=new WebAssembly.Instance(r,Oa());return a(d,r)}Ja??=h.locateFile?h.locateFile?h.locateFile("ort-wasm-simd-threaded.wasm",fa):fa+"ort-wasm-simd-threaded.wasm":(new URL("ort-wasm-simd-threaded.wasm",import.meta.url)).href;return function(c){return a(c.instance,c.module)}(await Na(b))}class Yc{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 16 |
+
var Zc=a=>{a.terminate();a.onmessage=()=>{}},$c=[],O=0,P=null,cd=a=>{0==Q.length&&(ad(),bd(Q[0]));var b=Q.pop();if(!b)return 6;R.push(b);S[a.Ob]=b;b.Ob=a.Ob;var d={Pb:"run",bc:a.ac,Tb:a.Tb,Ob:a.Ob};m&&b.unref();b.postMessage(d,a.Xb);return 0},T=0,U=(a,b,...d)=>{var c=16*d.length,e=N(),f=Sc(c),g=f>>>3,l;for(l of d)"bigint"==typeof l?((v(),H)[g++>>>0]=1n,(v(),H)[g++>>>0]=l):((v(),H)[g++>>>0]=0n,(v(),G)[g++>>>0]=l);a=Mc(a,0,c,f,b);M(e);return a};
|
| 17 |
+
function Gc(a){if(n)return U(0,1,a);t=a;if(!(0<T)){for(var b of R)Zc(b);for(b of Q)Zc(b);Q=[];R=[];S={};pa=!0}da(a,new Yc(a))}function dd(a){if(n)return U(1,0,a);Qb(a)}var Qb=a=>{t=a;if(n)throw dd(a),"unwind";Gc(a)},Q=[],R=[],Ic=[],S={};function ed(){for(var a=h.numThreads-1;a--;)ad();$c.push(async()=>{var b=fd();O++;await b;O--;0==O&&P&&(b=P,P=null,b())})}var gd=a=>{var b=a.Ob;delete S[b];Q.push(a);R.splice(R.indexOf(a),1);a.Ob=0;Nc(b)};function Aa(){Ic.forEach(a=>a())}
|
| 18 |
+
var bd=a=>new Promise(b=>{a.onmessage=f=>{var g=f.data;f=g.Pb;if(g.Sb&&g.Sb!=Jc()){var l=S[g.Sb];l?l.postMessage(g,g.Xb):p(`Internal error! Worker sent a message "${f}" to target pthread ${g.Sb}, but that thread no longer exists!`)}else if("checkMailbox"===f)Da();else if("spawnThread"===f)cd(g);else if("cleanupThread"===f)hd(()=>{gd(S[g.cc])});else if("loaded"===f)a.loaded=!0,m&&!a.Ob&&a.unref(),b(a);else if("setimmediate"===g.target)a.postMessage(g);else if("uncaughtException"===f)a.onerror(g.error);
|
| 19 |
+
else if("callHandler"===f)h[g.Yb](...g.args);else f&&p(`worker sent an unknown command ${f}`)};a.onerror=f=>{p(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};m&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var d=[],c=[],e;for(e of c)h.propertyIsEnumerable(e)&&d.push(e);a.postMessage({Pb:"load",Zb:d,dc:x,ec:r})});async function fd(){if(!n)return Promise.all(Q.map(bd))}
|
| 20 |
+
function ad(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Q.push(a)}function ya(a){var b=(v(),D)[a+52>>>2>>>0];a=(v(),D)[a+56>>>2>>>0];Rc(b,b-a);M(b)}var jd=[],V=a=>{var b=jd[a];b||(jd[a]=b=Xc.get(a));return b},Ca=(a,b)=>{T=0;a=V(a)(b);0<T?t=a:Oc(a)},x,kd=[],ld=0;function Ra(a){a>>>=0;var b=new md(a);0==(v(),z)[b.Qb+12>>>0]&&(nd(b,!0),ld--);od(b,!1);kd.push(b);return Wc(a)}
|
| 21 |
+
var W=0,Sa=()=>{K(0,0);var a=kd.pop();Tc(a.Ub);W=0};function nd(a,b){b=b?1:0;(v(),z)[a.Qb+12>>>0]=b}function od(a,b){b=b?1:0;(v(),z)[a.Qb+13>>>0]=b}class md{constructor(a){this.Ub=a;this.Qb=a-24}}var pd=a=>{var b=W;if(!b)return L(0),0;var d=new md(b);(v(),D)[d.Qb+16>>>2>>>0]=b;var c=(v(),D)[d.Qb+4>>>2>>>0];if(!c)return L(0),b;for(var e of a){if(0===e||e===c)break;if(Vc(e,c,d.Qb+16))return L(e),b}L(c);return b};function Ta(){return pd([])}function Ua(a){return pd([a>>>0])}
|
| 22 |
+
function Va(a,b,d,c){return pd([a>>>0,b>>>0,d>>>0,c>>>0])}var Wa=()=>{var a=kd.pop();a||J("no exception to throw");var b=a.Ub;0==(v(),z)[a.Qb+13>>>0]&&(kd.push(a),od(a,!0),nd(a,!1),ld++);Uc(b);W=b;throw W;};function Xa(a,b,d){a>>>=0;var c=new md(a);b>>>=0;d>>>=0;(v(),D)[c.Qb+16>>>2>>>0]=0;(v(),D)[c.Qb+4>>>2>>>0]=b;(v(),D)[c.Qb+8>>>2>>>0]=d;Uc(a);W=a;ld++;throw W;}var Ya=()=>ld;function qd(a,b,d,c){return n?U(2,1,a,b,d,c):Za(a,b,d,c)}
|
| 23 |
+
function Za(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return qd(a,b,d,c);a={ac:d,Ob:a,Tb:c,Xb:e};return n?(a.Pb="spawnThread",postMessage(a,e),0):cd(a)}function $a(a){W||=a>>>0;throw W;}
|
| 24 |
+
var rd=globalThis.TextDecoder&&new TextDecoder,sd=(a,b=0,d,c)=>{b>>>=0;var e=b;d=e+d;if(c)c=d;else{for(;a[e]&&!(e>=d);)++e;c=e}if(16<c-b&&a.buffer&&rd)return rd.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(e="";b<c;)if(d=a[b++],d&128){var f=a[b++]&63;if(192==(d&224))e+=String.fromCharCode((d&31)<<6|f);else{var g=a[b++]&63;d=224==(d&240)?(d&15)<<12|f<<6|g:(d&7)<<18|f<<12|g<<6|a[b++]&63;65536>d?e+=String.fromCharCode(d):(d-=65536,e+=String.fromCharCode(55296|d>>10,56320|
|
| 25 |
+
d&1023))}}else e+=String.fromCharCode(d);return e},td=(a,b,d)=>(a>>>=0)?sd((v(),A),a,b,d):"";function ab(a,b,d){return n?U(3,1,a,b,d):0}function bb(a,b){if(n)return U(4,1,a,b)}function cb(a,b){if(n)return U(5,1,a,b)}function db(a,b,d){if(n)return U(6,1,a,b,d)}function eb(a,b,d){return n?U(7,1,a,b,d):0}function fb(a,b){if(n)return U(8,1,a,b)}function gb(a,b,d){if(n)return U(9,1,a,b,d)}function hb(a,b,d,c){if(n)return U(10,1,a,b,d,c)}function ib(a,b,d,c){if(n)return U(11,1,a,b,d,c)}
|
| 26 |
+
function jb(a,b,d,c){if(n)return U(12,1,a,b,d,c)}function kb(a){if(n)return U(13,1,a)}function lb(a,b){if(n)return U(14,1,a,b)}function mb(a,b,d){if(n)return U(15,1,a,b,d)}var nb=()=>J("");function ob(a){za(a>>>0,!k,1,!aa,131072,!1);Aa()}
|
| 27 |
+
var hd=a=>{if(!pa)try{if(a(),!(0<T))try{n?Jc()&&Oc(t):Qb(t)}catch(b){b instanceof Yc||"unwind"==b||da(1,b)}}catch(b){b instanceof Yc||"unwind"==b||da(1,b)}},ud=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ba(a){a>>>=0;ud||(Atomics.waitAsync((v(),C),a>>>2,a).value.then(Da),a+=128,Atomics.store((v(),C),a>>>2,1))}var Da=()=>hd(()=>{var a=Jc();a&&(Ba(a),Qc())});
|
| 28 |
+
function pb(a,b){a>>>=0;a==b>>>0?setTimeout(Da):n?postMessage({Sb:a,Pb:"checkMailbox"}):(a=S[a])&&a.postMessage({Pb:"checkMailbox"})}var vd=[];function qb(a,b,d,c,e){b>>>=0;e>>>=0;vd.length=0;d=e>>>3;for(c=e+c>>>3;d<c;){var f;(v(),H)[d++>>>0]?f=(v(),H)[d++>>>0]:f=(v(),G)[d++>>>0];vd.push(f)}return(b?wd[b]:xd[a])(...vd)}var rb=()=>{T=0};function sb(a){a>>>=0;n?postMessage({Pb:"cleanupThread",cc:a}):gd(S[a])}function tb(a){m&&S[a>>>0].ref()}
|
| 29 |
+
function ub(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getUTCSeconds();(v(),C)[b+4>>>2>>>0]=a.getUTCMinutes();(v(),C)[b+8>>>2>>>0]=a.getUTCHours();(v(),C)[b+12>>>2>>>0]=a.getUTCDate();(v(),C)[b+16>>>2>>>0]=a.getUTCMonth();(v(),C)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(v(),C)[b+28>>>2>>>0]=a}
|
| 30 |
+
var yd=a=>0===a%4&&(0!==a%100||0===a%400),zd=[0,31,60,91,121,152,182,213,244,274,305,335],Ad=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 31 |
+
function vb(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getSeconds();(v(),C)[b+4>>>2>>>0]=a.getMinutes();(v(),C)[b+8>>>2>>>0]=a.getHours();(v(),C)[b+12>>>2>>>0]=a.getDate();(v(),C)[b+16>>>2>>>0]=a.getMonth();(v(),C)[b+20>>>2>>>0]=a.getFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getDay();var d=(yd(a.getFullYear())?zd:Ad)[a.getMonth()]+a.getDate()-1|0;(v(),C)[b+28>>>2>>>0]=d;(v(),C)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());d=(new Date(a.getFullYear(),
|
| 32 |
+
6,1)).getTimezoneOffset();var c=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;(v(),C)[b+32>>>2>>>0]=a}
|
| 33 |
+
function wb(a){a>>>=0;var b=new Date((v(),C)[a+20>>>2>>>0]+1900,(v(),C)[a+16>>>2>>>0],(v(),C)[a+12>>>2>>>0],(v(),C)[a+8>>>2>>>0],(v(),C)[a+4>>>2>>>0],(v(),C)[a>>>2>>>0],0),d=(v(),C)[a+32>>>2>>>0],c=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),g=Math.min(f,e);0>d?(v(),C)[a+32>>>2>>>0]=Number(e!=f&&g==c):0<d!=(g==c)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<d?g:e)-c)));(v(),C)[a+24>>>2>>>0]=b.getDay();d=(yd(b.getFullYear())?
|
| 34 |
+
zd:Ad)[b.getMonth()]+b.getDate()-1|0;(v(),C)[a+28>>>2>>>0]=d;(v(),C)[a>>>2>>>0]=b.getSeconds();(v(),C)[a+4>>>2>>>0]=b.getMinutes();(v(),C)[a+8>>>2>>>0]=b.getHours();(v(),C)[a+12>>>2>>>0]=b.getDate();(v(),C)[a+16>>>2>>>0]=b.getMonth();(v(),C)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function xb(a,b,d,c,e,f,g){return n?U(16,1,a,b,d,c,e,f,g):-52}function yb(a,b,d,c,e,f){if(n)return U(17,1,a,b,d,c,e,f)}var X={},Ib=()=>performance.timeOrigin+performance.now();
|
| 35 |
+
function zb(a,b){if(n)return U(18,1,a,b);X[a]&&(clearTimeout(X[a].id),delete X[a]);if(!b)return 0;var d=setTimeout(()=>{delete X[a];hd(()=>Pc(a,performance.timeOrigin+performance.now()))},b);X[a]={id:d,jc:b};return 0}
|
| 36 |
+
var Y=(a,b,d)=>{var c=(v(),A);b>>>=0;if(0<d){var e=b;d=b+d-1;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);if(127>=g){if(b>=d)break;c[b++>>>0]=g}else if(2047>=g){if(b+1>=d)break;c[b++>>>0]=192|g>>6;c[b++>>>0]=128|g&63}else if(65535>=g){if(b+2>=d)break;c[b++>>>0]=224|g>>12;c[b++>>>0]=128|g>>6&63;c[b++>>>0]=128|g&63}else{if(b+3>=d)break;c[b++>>>0]=240|g>>18;c[b++>>>0]=128|g>>12&63;c[b++>>>0]=128|g>>6&63;c[b++>>>0]=128|g&63;f++}}c[b>>>0]=0;a=b-e}else a=0;return a};
|
| 37 |
+
function Ab(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);(v(),D)[a>>>2>>>0]=60*g;(v(),C)[b>>>2>>>0]=Number(f!=e);b=l=>{var u=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(u/60)).padStart(2,"0")}${String(u%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(Y(a,d,17),Y(b,c,17)):(Y(a,c,17),Y(b,d,17))}var Eb=()=>Date.now(),Bd=1;
|
| 38 |
+
function Bb(a,b,d){d>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Bd)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(v(),H)[d>>>3>>>0]=BigInt(a);return 0}var Cd=[];function Cb(a,b,d){a>>>=0;b>>>=0;d>>>=0;Cd.length=0;for(var c;c=(v(),A)[b++>>>0];){var e=105!=c;e&=112!=c;d+=e&&d%8?4:0;Cd.push(112==c?(v(),D)[d>>>2>>>0]:106==c?(v(),H)[d>>>3>>>0]:105==c?(v(),C)[d>>>2>>>0]:(v(),G)[d>>>3>>>0]);d+=e?8:4}return wd[a](...Cd)}var Db=()=>{};
|
| 39 |
+
function Fb(a,b){return p(td(a>>>0,b>>>0))}var Gb=()=>{T+=1;throw"unwind";};function Hb(){return 4294901760}var Jb=()=>m?require("os").cpus().length:navigator.hardwareConcurrency,Z={},Dd=a=>{for(var b=0,d=0;d<a.length;++d){var c=a.charCodeAt(d);127>=c?b++:2047>=c?b+=2:55296<=c&&57343>=c?(b+=4,++d):b+=3}return b},Ed=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},Fd=a=>{for(var b of a)(a=Ed(b))&&(Z[a]=b)};
|
| 40 |
+
function Mb(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Fd(a);Z.Vb=Ed(a[3]);Z.$b=a;return Z.Vb}function Kb(a){a=Z[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;Kc(Kb.Wb??0);b=Dd(a)+1;var d=Lc(b);d&&Y(a,d,b);Kb.Wb=d;return Kb.Wb}
|
| 41 |
+
function Lb(a){a>>>=0;var b=(v(),A).length;if(a<=b||4294901760<a)return!1;for(var d=1;4>=d;d*=2){var c=b*(1+.2/d);c=Math.min(c,a+100663296);a:{c=(Math.min(4294901760,65536*Math.ceil(Math.max(a,c)/65536))-x.buffer.byteLength+65535)/65536|0;try{x.grow(c);qa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
| 42 |
+
function Nb(a,b,d){a>>>=0;b>>>=0;if(Z.Vb==a)var c=Z.$b;else c=Error().stack.toString().split("\n"),"Error"==c[0]&&c.shift(),Fd(c);for(var e=3;c[e]&&Ed(c[e])!=a;)++e;for(a=0;a<d&&c[a+e];++a)(v(),C)[b+4*a>>>2>>>0]=Ed(c[a+e]);return a}
|
| 43 |
+
var Gd={},Id=()=>{if(!Hd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ca||"./this.program"},b;for(b in Gd)void 0===Gd[b]?delete a[b]:a[b]=Gd[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Hd=d}return Hd},Hd;function Ob(a,b){if(n)return U(19,1,a,b);a>>>=0;b>>>=0;var d=0,c=0,e;for(e of Id()){var f=b+d;(v(),D)[a+c>>>2>>>0]=f;d+=Y(e,f,Infinity)+1;c+=4}return 0}
|
| 44 |
+
function Pb(a,b){if(n)return U(20,1,a,b);a>>>=0;b>>>=0;var d=Id();(v(),D)[a>>>2>>>0]=d.length;a=0;for(var c of d)a+=Dd(c)+1;(v(),D)[b>>>2>>>0]=a;return 0}function Rb(a){return n?U(21,1,a):52}function Sb(a,b,d,c){return n?U(22,1,a,b,d,c):52}function Tb(a,b,d,c){return n?U(23,1,a,b,d,c):70}var Jd=[null,[],[]];
|
| 45 |
+
function Ub(a,b,d,c){if(n)return U(24,1,a,b,d,c);b>>>=0;d>>>=0;c>>>=0;for(var e=0,f=0;f<d;f++){var g=(v(),D)[b>>>2>>>0],l=(v(),D)[b+4>>>2>>>0];b+=8;for(var u=0;u<l;u++){var w=a,y=(v(),A)[g+u>>>0],B=Jd[w];0===y||10===y?((1===w?oa:p)(sd(B)),B.length=0):B.push(y)}e+=l}(v(),D)[c>>>2>>>0]=e;return 0}function Fc(a){return a>>>0}n||ed();n||(x=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),qa());h.wasmBinary&&(q=h.wasmBinary);h.stackSave=()=>N();h.stackRestore=a=>M(a);h.stackAlloc=a=>Sc(a);
|
| 46 |
+
h.setValue=function(a,b,d="i8"){d.endsWith("*")&&(d="*");switch(d){case "i1":(v(),z)[a>>>0]=b;break;case "i8":(v(),z)[a>>>0]=b;break;case "i16":(v(),Fa)[a>>>1>>>0]=b;break;case "i32":(v(),C)[a>>>2>>>0]=b;break;case "i64":(v(),H)[a>>>3>>>0]=BigInt(b);break;case "float":(v(),Ga)[a>>>2>>>0]=b;break;case "double":(v(),G)[a>>>3>>>0]=b;break;case "*":(v(),D)[a>>>2>>>0]=b;break;default:J(`invalid type for setValue: ${d}`)}};
|
| 47 |
+
h.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(v(),z)[a>>>0];case "i8":return(v(),z)[a>>>0];case "i16":return(v(),Fa)[a>>>1>>>0];case "i32":return(v(),C)[a>>>2>>>0];case "i64":return(v(),H)[a>>>3>>>0];case "float":return(v(),Ga)[a>>>2>>>0];case "double":return(v(),G)[a>>>3>>>0];case "*":return(v(),D)[a>>>2>>>0];default:J(`invalid type for getValue: ${b}`)}};h.UTF8ToString=td;h.stringToUTF8=Y;h.lengthBytesUTF8=Dd;
|
| 48 |
+
var xd=[Gc,dd,qd,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,xb,yb,zb,Ob,Pb,Rb,Sb,Tb,Ub],wd={930988:(a,b,d,c,e)=>{if("undefined"==typeof h||!h.Rb)return 1;a=td(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=h.Rb.get(a);if(!a)return 2;b=Number(b>>>0);d=Number(d>>>0);c=Number(c>>>0);if(b+d>a.byteLength)return 3;try{const f=a.subarray(b,b+d);switch(e){case 0:(v(),A).set(f,c>>>0);break;case 1:h.fc?h.fc(c,f):h.ic(c,f);break;default:return 4}return 0}catch{return 4}},931812:()=>"undefined"!==typeof wasmOffsetConverter};
|
| 49 |
+
function Qa(){return"undefined"!==typeof wasmOffsetConverter}var Jc,Kc,Lc,za,Ea,Mc,Nc,Oc,Pc,Qc,K,L,Rc,M,Sc,N,Tc,Uc,Vc,Wc,Xc,Pa;function bc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function ac(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function qc(a){var b=N();try{V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0)}}function $b(a,b){var d=N();try{return V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0)}}
|
| 50 |
+
function sc(a,b,d){var c=N();try{V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function rc(a,b){var d=N();try{V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0)}}function fc(a,b,d,c,e,f,g){var l=N();try{return V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function wc(a,b,d,c,e,f){var g=N();try{V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function uc(a,b,d,c){var e=N();try{V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}
|
| 51 |
+
function vc(a,b,d,c,e){var f=N();try{V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}function xc(a,b,d,c,e,f,g){var l=N();try{V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function Ec(a,b,d,c,e,f,g){var l=N();try{V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function Dc(a,b,d,c,e,f,g,l){var u=N();try{V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function cc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}
|
| 52 |
+
function lc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function yc(a,b,d,c,e,f,g,l){var u=N();try{V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function Bc(a,b,d,c,e,f,g,l,u,w,y,B){var E=N();try{V(a)(b,d,c,e,f,g,l,u,w,y,B)}catch(F){M(E);if(F!==F+0)throw F;K(1,0)}}function ec(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}
|
| 53 |
+
function oc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0);return 0n}}function zc(a,b,d,c,e,f,g,l,u){var w=N();try{V(a)(b,d,c,e,f,g,l,u)}catch(y){M(w);if(y!==y+0)throw y;K(1,0)}}function Zb(a){var b=N();try{return V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0)}}function nc(a,b){var d=N();try{return V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0);return 0n}}function mc(a){var b=N();try{return V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0);return 0n}}
|
| 54 |
+
function kc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function jc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}function ic(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function dc(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}
|
| 55 |
+
function gc(a,b,d,c,e,f,g,l){var u=N();try{return V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function pc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0);return 0n}}function Yb(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function Wb(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}
|
| 56 |
+
function hc(a,b,d,c,e,f,g,l,u,w,y,B){var E=N();try{return V(a)(b,d,c,e,f,g,l,u,w,y,B)}catch(F){M(E);if(F!==F+0)throw F;K(1,0)}}function Ac(a,b,d,c,e,f,g,l,u,w,y){var B=N();try{V(a)(b,d,c,e,f,g,l,u,w,y)}catch(E){M(B);if(E!==E+0)throw E;K(1,0)}}function Cc(a,b,d,c,e,f,g,l,u,w,y,B,E,F,Kd,Ld){var Md=N();try{V(a)(b,d,c,e,f,g,l,u,w,y,B,E,F,Kd,Ld)}catch(Ma){M(Md);if(Ma!==Ma+0)throw Ma;K(1,0)}}function Xb(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}
|
| 57 |
+
function Vb(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function tc(a,b,d,c){var e=N();try{V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function Hc(){var a=I;a=Object.assign({},a);var b=c=>()=>c()>>>0,d=c=>e=>c(e)>>>0;a.sb=b(a.sb);a.ub=d(a.ub);a.Ib=d(a.Ib);a.Jb=b(a.Jb);a.Nb=d(a.Nb);return a}function xa(){if(0<O)P=xa;else if(n)ra?.(h),Ia();else{for(var a=$c;0<a.length;)a.shift()(h);0<O?P=xa:(h.calledRun=!0,pa||(Ia(),ra?.(h)))}}var I;
|
| 58 |
+
n||(I=await (wa()),xa());h.PTR_SIZE=4;Ha?moduleRtn=h:moduleRtn=new Promise((a,b)=>{ra=a;sa=b});
|
| 59 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort-wasm/ort-wasm-simd-threaded.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:040d52ce5066707a10d45cb9500c35e70a9c2fb33c4fb63428da9ae45b956b97
|
| 3 |
+
size 13022405
|
ort-wasm/ort.all.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.all.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.all.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.jspi.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.jspi.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.26.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var nt=Object.defineProperty;var Jr=Object.getOwnPropertyDescriptor;var qr=Object.getOwnPropertyNames;var Yr=Object.prototype.hasOwnProperty;var ot=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var T=(t,e)=>()=>(t&&(e=t(t=0)),e);var ve=(t,e)=>{for(var r in e)nt(t,r,{get:e[r],enumerable:!0})},Xr=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of qr(e))!Yr.call(t,n)&&n!==r&&nt(t,n,{get:()=>e[n],enumerable:!(o=Jr(e,n))||o.enumerable});return t};var st=t=>Xr(nt({},"__esModule",{value:!0}),t);var Me,re,ne,Zr,xt,at=T(()=>{"use strict";Me=new Map,re=[],ne=(t,e,r)=>{if(e&&typeof e.init=="function"&&typeof e.createInferenceSessionHandler=="function"){let o=Me.get(t);if(o===void 0)Me.set(t,{backend:e,priority:r});else{if(o.priority>r)return;if(o.priority===r&&o.backend!==e)throw new Error(`cannot register backend "${t}" using priority ${r}`)}if(r>=0){let n=re.indexOf(t);n!==-1&&re.splice(n,1);for(let s=0;s<re.length;s++)if(Me.get(re[s]).priority<=r){re.splice(s,0,t);return}re.push(t)}return}throw new TypeError("not a valid backend")},Zr=async t=>{let e=Me.get(t);if(!e)return"backend not found.";if(e.initialized)return e.backend;if(e.aborted)return e.error;{let r=!!e.initPromise;try{return r||(e.initPromise=e.backend.init(t)),await e.initPromise,e.initialized=!0,e.backend}catch(o){return r||(e.error=`${o}`,e.aborted=!0),e.error}finally{delete e.initPromise}}},xt=async t=>{let e=t.executionProviders||[],r=e.map(u=>typeof u=="string"?u:u.name),o=r.length===0?re:r,n,s=[],a=new Set;for(let u of o){let f=await Zr(u);typeof f=="string"?s.push({name:u,err:f}):(n||(n=f),n===f&&a.add(u))}if(!n)throw new Error(`no available backend found. ERR: ${s.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of s)r.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let i=e.filter(u=>a.has(typeof u=="string"?u:u.name));return[n,new Proxy(t,{get:(u,f)=>f==="executionProviders"?i:Reflect.get(u,f)})]}});var Bt=T(()=>{"use strict";at()});var Ot,Ut=T(()=>{"use strict";Ot="1.26.0"});var Dt,U,it=T(()=>{"use strict";Ut();Dt="warning",U={wasm:{},webgl:{},webgpu:{},versions:{common:Ot},set logLevel(t){if(t!==void 0){if(typeof t!="string"||["verbose","info","warning","error","fatal"].indexOf(t)===-1)throw new Error(`Unsupported logging level: ${t}`);Dt=t}},get logLevel(){return Dt}};Object.defineProperty(U,"logLevel",{enumerable:!0})});var v,Ct=T(()=>{"use strict";it();v=U});var Pt,_t,Rt=T(()=>{"use strict";Pt=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=t.dims[3],r.height=t.dims[2];let o=r.getContext("2d");if(o!=null){let n,s;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[3]):(n=t.dims[3],s=t.dims[2]);let a=e?.format!==void 0?e.format:"RGB",i=e?.norm,u,f;i===void 0||i.mean===void 0?u=[255,255,255,255]:typeof i.mean=="number"?u=[i.mean,i.mean,i.mean,i.mean]:(u=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(u[3]=i.mean[3])),i===void 0||i.bias===void 0?f=[0,0,0,0]:typeof i.bias=="number"?f=[i.bias,i.bias,i.bias,i.bias]:(f=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(f[3]=i.bias[3]));let c=s*n,d=0,p=c,l=c*2,y=-1;a==="RGBA"?(d=0,p=c,l=c*2,y=c*3):a==="RGB"?(d=0,p=c,l=c*2):a==="RBG"&&(d=0,l=c,p=c*2);for(let w=0;w<s;w++)for(let L=0;L<n;L++){let h=(t.data[d++]-f[0])*u[0],m=(t.data[p++]-f[1])*u[1],A=(t.data[l++]-f[2])*u[2],b=y===-1?255:(t.data[y++]-f[3])*u[3];o.fillStyle="rgba("+h+","+m+","+A+","+b+")",o.fillRect(L,w,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},_t=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(r!=null){let n,s,a;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[1],a=t.dims[3]):(n=t.dims[3],s=t.dims[2],a=t.dims[1]);let i=e!==void 0&&e.format!==void 0?e.format:"RGB",u=e?.norm,f,c;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?c=[0,0,0,0]:typeof u.bias=="number"?c=[u.bias,u.bias,u.bias,u.bias]:(c=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(c[3]=u.bias[3]));let d=s*n;if(e!==void 0&&(e.format!==void 0&&a===4&&e.format!=="RGBA"||a===3&&e.format!=="RGB"&&e.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let p=4,l=0,y=1,w=2,L=3,h=0,m=d,A=d*2,b=-1;i==="RGBA"?(h=0,m=d,A=d*2,b=d*3):i==="RGB"?(h=0,m=d,A=d*2):i==="RBG"&&(h=0,A=d,m=d*2),o=r.createImageData(n,s);for(let I=0;I<s*n;l+=p,y+=p,w+=p,L+=p,I++)o.data[l]=(t.data[h++]-c[0])*f[0],o.data[y]=(t.data[m++]-c[1])*f[1],o.data[w]=(t.data[A++]-c[2])*f[2],o.data[L]=b===-1?255:(t.data[b++]-c[3])*f[3]}else throw new Error("Can not access image data");return o}});var ut,Nt,Ft,Wt,kt,Gt,$t=T(()=>{"use strict";xe();ut=(t,e)=>{if(t===void 0)throw new Error("Image buffer must be defined");if(e.height===void 0||e.width===void 0)throw new Error("Image height and width must be defined");if(e.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:o}=e,n=e.norm??{mean:255,bias:0},s,a;typeof n.mean=="number"?s=[n.mean,n.mean,n.mean,n.mean]:s=[n.mean[0],n.mean[1],n.mean[2],n.mean[3]??255],typeof n.bias=="number"?a=[n.bias,n.bias,n.bias,n.bias]:a=[n.bias[0],n.bias[1],n.bias[2],n.bias[3]??0];let i=e.format!==void 0?e.format:"RGBA",u=e.tensorFormat!==void 0&&e.tensorFormat!==void 0?e.tensorFormat:"RGB",f=r*o,c=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),d=4,p=0,l=1,y=2,w=3,L=0,h=f,m=f*2,A=-1;i==="RGB"&&(d=3,p=0,l=1,y=2,w=-1),u==="RGBA"?A=f*3:u==="RBG"?(L=0,m=f,h=f*2):u==="BGR"&&(m=0,h=f,L=f*2);for(let I=0;I<f;I++,p+=d,y+=d,l+=d,w+=d)c[L++]=(t[p]+a[0])/s[0],c[h++]=(t[l]+a[1])/s[1],c[m++]=(t[y]+a[2])/s[2],A!==-1&&w!==-1&&(c[A++]=(t[w]+a[3])/s[3]);return u==="RGBA"?new _("float32",c,[1,4,r,o]):new _("float32",c,[1,3,r,o])},Nt=async(t,e)=>{let r=typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement,o=typeof ImageData<"u"&&t instanceof ImageData,n=typeof ImageBitmap<"u"&&t instanceof ImageBitmap,s=typeof t=="string",a,i=e??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=c=>typeof HTMLCanvasElement<"u"&&c instanceof HTMLCanvasElement||c instanceof OffscreenCanvas?c.getContext("2d"):null;if(r){let c=u();c.width=t.width,c.height=t.height;let d=f(c);if(d!=null){let p=t.height,l=t.width;if(e!==void 0&&e.resizedHeight!==void 0&&e.resizedWidth!==void 0&&(p=e.resizedHeight,l=e.resizedWidth),e!==void 0){if(i=e,e.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=p,i.width=l}else i.tensorFormat="RGBA",i.height=p,i.width=l;d.drawImage(t,0,0),a=d.getImageData(0,0,l,p).data}else throw new Error("Can not access image data")}else if(o){let c,d;if(e!==void 0&&e.resizedWidth!==void 0&&e.resizedHeight!==void 0?(c=e.resizedHeight,d=e.resizedWidth):(c=t.height,d=t.width),e!==void 0&&(i=e),i.format="RGBA",i.height=c,i.width=d,e!==void 0){let p=u();p.width=d,p.height=c;let l=f(p);if(l!=null)l.putImageData(t,0,0),a=l.getImageData(0,0,d,c).data;else throw new Error("Can not access image data")}else a=t.data}else if(n){if(e===void 0)throw new Error("Please provide image config with format for Imagebitmap");let c=u();c.width=t.width,c.height=t.height;let d=f(c);if(d!=null){let p=t.height,l=t.width;return d.drawImage(t,0,0,l,p),a=d.getImageData(0,0,l,p).data,i.height=p,i.width=l,ut(a,i)}else throw new Error("Can not access image data")}else{if(s)return new Promise((c,d)=>{let p=u(),l=f(p);if(!t||!l)return d();let y=new Image;y.crossOrigin="Anonymous",y.src=t,y.onload=()=>{p.width=y.width,p.height=y.height,l.drawImage(y,0,0,p.width,p.height);let w=l.getImageData(0,0,p.width,p.height);i.height=p.height,i.width=p.width,c(ut(w.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return ut(a,i);throw new Error("Input data provided is not supported - aborted tensor creation")},Ft=(t,e)=>{let{width:r,height:o,download:n,dispose:s}=e,a=[1,o,r,4];return new _({location:"texture",type:"float32",texture:t,dims:a,download:n,dispose:s})},Wt=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"gpu-buffer",type:r??"float32",gpuBuffer:t,dims:o,download:n,dispose:s})},kt=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"ml-tensor",type:r??"float32",mlTensor:t,dims:o,download:n,dispose:s})},Gt=(t,e,r)=>new _({location:"cpu-pinned",type:t,data:e,dims:r??[e.length]})});var oe,we,zt,Vt,jt=T(()=>{"use strict";oe=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),we=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),zt=!1,Vt=()=>{if(!zt){zt=!0;let t=typeof BigInt64Array<"u"&&BigInt64Array.from,e=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,o=typeof r<"u"&&r.from;t&&(oe.set("int64",BigInt64Array),we.set(BigInt64Array,"int64")),e&&(oe.set("uint64",BigUint64Array),we.set(BigUint64Array,"uint64")),o?(oe.set("float16",r),we.set(r,"float16")):oe.set("float16",Uint16Array)}}});var Ht,Jt,qt=T(()=>{"use strict";xe();Ht=t=>{let e=1;for(let r=0;r<t.length;r++){let o=t[r];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${r}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${o}`);e*=o}return e},Jt=(t,e)=>{switch(t.location){case"cpu":return new _(t.type,t.data,e);case"cpu-pinned":return new _({location:"cpu-pinned",data:t.data,type:t.type,dims:e});case"texture":return new _({location:"texture",texture:t.texture,type:t.type,dims:e});case"gpu-buffer":return new _({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:e});case"ml-tensor":return new _({location:"ml-tensor",mlTensor:t.mlTensor,type:t.type,dims:e});default:throw new Error(`tensorReshape: tensor location ${t.location} is not supported`)}}});var _,xe=T(()=>{"use strict";Rt();$t();jt();qt();_=class{constructor(e,r,o){Vt();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let i=oe.get(n);if(!i)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof i))throw new TypeError(`buffer should be of type ${i.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let i,u;if(typeof e=="string")if(n=e,u=o,e==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");i=r}else{let f=oe.get(e);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(r)){if(e==="float16"&&f===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${f.name} as data.`);e==="uint64"||e==="int64"?i=f.from(r,BigInt):i=f.from(r)}else if(r instanceof f)i=r;else if(r instanceof Uint8ClampedArray)if(e==="uint8")i=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&r instanceof Uint16Array&&f!==Uint16Array)i=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${n} tensor's data must be type of ${f}`)}else if(u=r,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof e[0];if(f==="string")n="string",i=e;else if(f==="boolean")n="bool",i=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",i=Uint8Array.from(e);else{let f=we.get(e.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=f,i=e}if(u===void 0)u=[i.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");s=u,this.cpuData=i,this.dataLocation="cpu"}let a=Ht(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,r){return Nt(e,r)}static fromTexture(e,r){return Ft(e,r)}static fromGpuBuffer(e,r){return Wt(e,r)}static fromMLTensor(e,r){return kt(e,r)}static fromPinnedBuffer(e,r,o){return Gt(e,r,o)}toDataURL(e){return Pt(this,e)}toImageData(e){return _t(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,e&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Jt(this,e)}}});var V,ft=T(()=>{"use strict";xe();V=_});var Yt,Xt,se,ae,Z,K,ct=T(()=>{"use strict";it();Yt=(t,e)=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.timeStamp(`${t}::ORT::${e}`)},Xt=(t,e)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let n=0;n<r.length;n++){if(o&&!r[n].includes("TRACE_FUNC")){let s=`FUNC_${t}::${r[n].trim().split(" ")[1]}`;e&&(s+=`::${e}`),Yt("CPU",s);return}r[n].includes("TRACE_FUNC")&&(o=!0)}},se=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||Xt("BEGIN",t)},ae=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||Xt("END",t)},Z=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.time(`ORT::${t}`)},K=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.timeEnd(`ORT::${t}`)}});var Be,Zt=T(()=>{"use strict";at();ft();ct();Be=class t{constructor(e){this.handler=e}async run(e,r,o){se(),Z("InferenceSession.run");let n={},s={};if(typeof e!="object"||e===null||e instanceof V||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof V)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw new TypeError("'fetches' cannot be an empty array.");a=!1;for(let f of r){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);n[f]=null}if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,c=Object.getOwnPropertyNames(r);for(let d of this.outputNames)if(c.indexOf(d)!==-1){let p=r[d];(p===null||p instanceof V)&&(f=!0,a=!1,n[d]=p)}if(f){if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else s=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof e[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)n[f]=null;let i=await this.handler.run(e,n,s),u={};for(let f in i)if(Object.hasOwnProperty.call(i,f)){let c=i[f];c instanceof V?u[f]=c:u[f]=new V(c.type,c.data,c.dims)}return K("InferenceSession.run"),ae(),u}async release(){return this.handler.dispose()}static async create(e,r,o,n){se(),Z("InferenceSession.create");let s,a={};if(typeof e=="string"){if(s=e,typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(s=e,typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer){let c=e,d=0,p=e.byteLength;if(typeof r=="object"&&r!==null)a=r;else if(typeof r=="number"){if(d=r,!Number.isSafeInteger(d))throw new RangeError("'byteOffset' must be an integer.");if(d<0||d>=c.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${c.byteLength}).`);if(p=e.byteLength-d,typeof o=="number"){if(p=o,!Number.isSafeInteger(p))throw new RangeError("'byteLength' must be an integer.");if(p<=0||d+p>c.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${c.byteLength-d}].`);if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");s=new Uint8Array(c,d,p)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,u]=await xt(a),f=await i.createInferenceSessionHandler(s,u);return K("InferenceSession.create"),ae(),new t(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Kr,Kt=T(()=>{"use strict";Zt();Kr=Be});var Qt=T(()=>{"use strict"});var er=T(()=>{"use strict"});var tr=T(()=>{"use strict"});var rr=T(()=>{"use strict"});var dt={};ve(dt,{InferenceSession:()=>Kr,TRACE:()=>Yt,TRACE_EVENT_BEGIN:()=>Z,TRACE_EVENT_END:()=>K,TRACE_FUNC_BEGIN:()=>se,TRACE_FUNC_END:()=>ae,Tensor:()=>V,env:()=>v,registerBackend:()=>ne});var Q=T(()=>{"use strict";Bt();Ct();Kt();ft();Qt();er();ct();tr();rr()});var Oe=T(()=>{"use strict"});var ar={};ve(ar,{default:()=>Qr});var or,sr,Qr,ir=T(()=>{"use strict";pt();ee();Ue();or="ort-wasm-proxy-worker",sr=globalThis.self?.name===or;sr&&(self.onmessage=t=>{let{type:e,in:r}=t.data;try{switch(e){case"init-wasm":De(r.wasm).then(()=>{Ce(r).then(()=>{postMessage({type:e})},o=>{postMessage({type:e,err:o})})},o=>{postMessage({type:e,err:o})});break;case"init-ep":{let{epName:o,env:n}=r;Pe(n,o).then(()=>{postMessage({type:e})},s=>{postMessage({type:e,err:s})});break}case"copy-from":{let{buffer:o}=r,n=ge(o);postMessage({type:e,out:n});break}case"create":{let{model:o,options:n}=r;_e(o,n).then(s=>{postMessage({type:e,out:s})},s=>{postMessage({type:e,err:s})});break}case"release":Re(r),postMessage({type:e});break;case"run":{let{sessionId:o,inputIndices:n,inputs:s,outputIndices:a,options:i}=r;Ne(o,n,s,a,new Array(a.length).fill(null),i).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:e,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:e,out:u},We([...s,...u]))},u=>{postMessage({type:e,err:u})});break}case"end-profiling":Fe(r),postMessage({type:e});break;default:}}catch(o){postMessage({type:e,err:o})}});Qr=sr?null:t=>new Worker(t??G,{type:"module",name:or})});var cr,en,tn,G,ke,lt,rn,nn,dr,on,ur,pr,fr,lr,Ue=T(()=>{"use strict";Oe();cr=typeof location>"u"?void 0:location.origin,en=import.meta.url>"file:"&&import.meta.url<"file;",tn=()=>{if(!!1){if(en){let t=URL;return new URL(new t("ort.jspi.min.mjs",import.meta.url).href,cr).href}return import.meta.url}},G=tn(),ke=()=>{if(G&&!G.startsWith("blob:"))return G.substring(0,G.lastIndexOf("/")+1)},lt=(t,e)=>{try{let r=e??G;return(r?new URL(t,r):new URL(t)).origin===cr}catch{return!1}},rn=(t,e)=>{let r=e??G;try{return(r?new URL(t,r):new URL(t)).href}catch{return}},nn=(t,e)=>`${e??"./"}${t}`,dr=async t=>{let r=await(await fetch(t,{credentials:"same-origin"})).blob();return URL.createObjectURL(r)},on=async t=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/t)).default,ur=(ir(),st(ar)).default,pr=async()=>{if(!G)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(lt(G))return[void 0,ur()];let t=await dr(G);return[t,ur(t)]},fr=void 0,lr=async(t,e,r,o)=>{let n=fr&&!(t||e);if(n)if(G)n=lt(G)||o&&!r;else if(o&&!r)n=!0;else throw new Error("cannot determine the script source URL.");if(n)return[void 0,fr];{let s="ort-wasm-simd-threaded.jspi.mjs",a=t??rn(s,e),i=!!1&&r&&a&&!lt(a,e),u=i?await dr(a):a??nn(s,e);return[i?u:void 0,await on(u)]}}});var mt,yt,Ge,mr,sn,an,un,De,S,ee=T(()=>{"use strict";Ue();yt=!1,Ge=!1,mr=!1,sn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},an=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},un=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},De=async t=>{if(yt)return Promise.resolve();if(Ge)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(mr)throw new Error("previous call to 'initializeWebAssembly()' failed.");Ge=!0;let e=t.initTimeout,r=t.numThreads;if(t.simd!==!1){if(t.simd==="relaxed"){if(!un())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!an())throw new Error("WebAssembly SIMD is not supported in the current environment.")}if(!("Suspending"in WebAssembly))throw new Error("WebAssembly JSPI is not supported in the current environment.");let o=sn();r>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),t.numThreads=r=1);let n=t.wasmPaths,s=typeof n=="string"?n:void 0,a=n?.mjs,i=a?.href??a,u=n?.wasm,f=u?.href??u,c=t.wasmBinary,[d,p]=await lr(i,s,r>1,!!c||!!f),l=!1,y=[];if(e>0&&y.push(new Promise(w=>{setTimeout(()=>{l=!0,w()},e)})),y.push(new Promise((w,L)=>{let h={numThreads:r};if(c)h.wasmBinary=c,h.locateFile=m=>m;else if(f||s)h.locateFile=m=>f??s+m;else if(i&&i.indexOf("blob:")!==0)h.locateFile=m=>new URL(m,i).href;else if(d){let m=ke();m&&(h.locateFile=A=>m+A)}p(h).then(m=>{Ge=!1,yt=!0,mt=m,w(),d&&URL.revokeObjectURL(d)},m=>{Ge=!1,mr=!0,L(m)})})),await Promise.race(y),l)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},S=()=>{if(yt&&mt)return mt;throw new Error("WebAssembly is not initialized yet.")}});var F,Te,E,$e=T(()=>{"use strict";ee();F=(t,e)=>{let r=S(),o=r.lengthBytesUTF8(t)+1,n=r._malloc(o);return r.stringToUTF8(t,n,o),e.push(n),n},Te=(t,e,r,o)=>{if(typeof t=="object"&&t!==null){if(r.has(t))throw new Error("Circular reference in options");r.add(t)}Object.entries(t).forEach(([n,s])=>{let a=e?e+n:n;if(typeof s=="object")Te(s,a+".",r,o);else if(typeof s=="string"||typeof s=="number")o(a,s.toString());else if(typeof s=="boolean")o(a,s?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof s}`)})},E=t=>{let e=S(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetLastError(n,n+o);let s=Number(e.getValue(n,o===4?"i32":"i64")),a=e.getValue(n+o,"*"),i=a?e.UTF8ToString(a):"";throw new Error(`${t} ERROR_CODE: ${s}, ERROR_MESSAGE: ${i}`)}finally{e.stackRestore(r)}}});var yr,hr=T(()=>{"use strict";ee();$e();yr=t=>{let e=S(),r=0,o=[],n=t||{};try{if(t?.logSeverityLevel===void 0)n.logSeverityLevel=2;else if(typeof t.logSeverityLevel!="number"||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${t.logSeverityLevel}`);if(t?.logVerbosityLevel===void 0)n.logVerbosityLevel=0;else if(typeof t.logVerbosityLevel!="number"||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);t?.terminate===void 0&&(n.terminate=!1);let s=0;return t?.tag!==void 0&&(s=F(t.tag,o)),r=e._OrtCreateRunOptions(n.logSeverityLevel,n.logVerbosityLevel,!!n.terminate,s),r===0&&E("Can't create run options."),t?.extra!==void 0&&Te(t.extra,"",new WeakSet,(a,i)=>{let u=F(a,o),f=F(i,o);e._OrtAddRunConfigEntry(r,u,f)!==0&&E(`Can't set a run config entry: ${a} - ${i}.`)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseRunOptions(r),o.forEach(a=>e._free(a)),s}}});var fn,cn,dn,Ee,ue,pn,br,wr=T(()=>{"use strict";ee();$e();fn=t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}},cn=t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}},dn=t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});let e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly="1"),t.executionProviders&&t.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(t.enableMemPattern=!1)},Ee=(t,e,r,o)=>{let n=F(e,o),s=F(r,o);S()._OrtAddSessionConfigEntry(t,n,s)!==0&&E(`Can't set a session config entry: ${e} - ${r}.`)},ue=(t,e,r,o)=>{let n=F(e,o),s=F(r,o);t.push([n,s])},pn=async(t,e,r)=>{let o=e.executionProviders;for(let n of o){let s=typeof n=="string"?n:n.name,a=[];switch(s){case"webnn":if(s="WEBNN",Ee(t,"session.disable_quant_qdq","1",r),Ee(t,"session.disable_qdq_constant_folding","1",r),typeof n!="string"){let p=n?.deviceType;p&&Ee(t,"deviceType",p,r)}break;case"webgpu":{s="WebGPU";let d;if(typeof n!="string"){let l=n;if(l.device)if(typeof GPUDevice<"u"&&l.device instanceof GPUDevice)d=l.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:y}=e;if(typeof y=="boolean"&&y&&ue(a,"enableGraphCapture","1",r),typeof l.preferredLayout=="string"&&ue(a,"preferredLayout",l.preferredLayout,r),l.forceCpuNodeNames){let w=Array.isArray(l.forceCpuNodeNames)?l.forceCpuNodeNames:[l.forceCpuNodeNames];ue(a,"forceCpuNodeNames",w.join(`
|
| 7 |
+
`),r)}l.validationMode&&ue(a,"validationMode",l.validationMode,r)}let p=S().webgpuRegisterDevice(d);if(p){let[l,y,w]=p;ue(a,"deviceId",l.toString(),r),ue(a,"webgpuInstance",y.toString(),r),ue(a,"webgpuDevice",w.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${s}`)}let i=F(s,r),u=a.length,f=0,c=0;if(u>0){f=S()._malloc(u*S().PTR_SIZE),r.push(f),c=S()._malloc(u*S().PTR_SIZE),r.push(c);for(let d=0;d<u;d++)S().setValue(f+d*S().PTR_SIZE,a[d][0],"*"),S().setValue(c+d*S().PTR_SIZE,a[d][1],"*")}await S()._OrtAppendExecutionProvider(t,i,f,c,u)!==0&&E(`Can't append execution provider: ${s}.`)}},br=async t=>{let e=S(),r=0,o=[],n=t||{};dn(n);try{let s=fn(n.graphOptimizationLevel??"all"),a=cn(n.executionMode??"sequential"),i=typeof n.logId=="string"?F(n.logId,o):0,u=n.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=n.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let c=typeof n.optimizedModelFilePath=="string"?F(n.optimizedModelFilePath,o):0;if(r=e._OrtCreateSessionOptions(s,!!n.enableCpuMemArena,!!n.enableMemPattern,a,!!n.enableProfiling,0,i,u,f,c),r===0&&E("Can't create session options."),n.executionProviders&&await pn(r,n,o),n.enableGraphCapture!==void 0){if(typeof n.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${n.enableGraphCapture}`);Ee(r,"enableGraphCapture",n.enableGraphCapture.toString(),o)}if(n.freeDimensionOverrides)for(let[d,p]of Object.entries(n.freeDimensionOverrides)){if(typeof d!="string")throw new Error(`free dimension override name must be a string: ${d}`);if(typeof p!="number"||!Number.isInteger(p)||p<0)throw new Error(`free dimension override value must be a non-negative integer: ${p}`);let l=F(d,o);e._OrtAddFreeDimensionOverride(r,l,p)!==0&&E(`Can't set a free dimension override: ${d} - ${p}.`)}return n.extra!==void 0&&Te(n.extra,"",new WeakSet,(d,p)=>{Ee(r,d,p,o)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseSessionOptions(r)!==0&&E("Can't release session options."),o.forEach(a=>e._free(a)),s}}});var te,ze,le,fe,Se,Ve,je,ht,ce=T(()=>{"use strict";te=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${t}`)}},ze=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${t}`)}},le=(t,e)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][t],o=typeof e=="number"?e:e.reduce((n,s)=>n*s,1);return r>0?Math.ceil(o*r):void 0},fe=t=>{switch(t){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}},Se=t=>{switch(t){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${t}`)}},Ve=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",je=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint64"||t==="int8"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",ht=t=>{switch(t){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${t}`)}}});var Ie,bt=T(()=>{"use strict";Oe();Ie=async t=>{if(typeof t=="string")if(!1)try{let{readFile:e}=ot("node:fs/promises");return new Uint8Array(await e(t))}catch(e){if(e.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:r}=ot("node:fs"),o=r(t),n=[];for await(let s of o)n.push(s);return new Uint8Array(Buffer.concat(n))}throw e}else{let e=await fetch(t);if(!e.ok)throw new Error(`failed to load external data file: ${t}`);let r=e.headers.get("Content-Length"),o=r?parseInt(r,10):0;if(o<1073741824)return new Uint8Array(await e.arrayBuffer());{if(!e.body)throw new Error(`failed to load external data file: ${t}, no response body.`);let n=e.body.getReader(),s;try{s=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let u=Math.ceil(o/65536);s=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw i}let a=0;for(;;){let{done:i,value:u}=await n.read();if(i)break;let f=u.byteLength;new Uint8Array(s,a,f).set(u),a+=f}return new Uint8Array(s,0,o)}}else return t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t instanceof Uint8Array?t:new Uint8Array(t)}});var gr,Tr=T(()=>{"use strict";ce();gr=(t,e)=>new(fe(e))(t)});var ln,mn,Er,Sr,Ir,yn,R,wt=T(()=>{"use strict";ce();ln=["V","I","W","E","F"],mn=(t,e)=>{console.log(`[${ln[t]},${new Date().toISOString()}]${e}`)},Ir=(t,e)=>{Er=t,Sr=e},yn=(t,e)=>{let r=Se(t),o=Se(Er);r>=o&&mn(r,typeof e=="function"?e():e)},R=(...t)=>{Sr&&yn(...t)}});var Ar,Tt,vr,hn,Lr,bn,Mr,He,Je,gt,xr,Br=T(()=>{"use strict";ce();wt();Ar=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),Tt=(t,e)=>{if(e==="int32")return t;let r=Ar.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);let o=r/8;if(t.byteLength%o!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${o}.`);let n=t.byteLength/o,s=new(fe(e))(t.buffer,t.byteOffset,n);switch(e){case"int64":case"uint64":{let a=new Int32Array(n);for(let i=0;i<n;i++){let u=s[i];if(u>2147483647n||u<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");a[i]=Number(u)}return new Uint8Array(a.buffer)}case"int8":case"uint8":case"uint32":{if(e==="uint32"&&s.some(i=>i>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let a=Int32Array.from(s,Number);return new Uint8Array(a.buffer)}default:throw new Error(`Unsupported data conversion from ${e} to 'int32'`)}},vr=(t,e)=>{if(e==="int32")return t;if(t.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=t.byteLength/4,o=new Int32Array(t.buffer,t.byteOffset,r);switch(e){case"int64":{let n=BigInt64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"uint64":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let n=BigUint64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"int8":{if(o.some(s=>s<-128||s>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let n=Int8Array.from(o,Number);return new Uint8Array(n.buffer)}case"uint8":{if(o.some(n=>n<0||n>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(o,Number)}case"uint32":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let n=Uint32Array.from(o,Number);return new Uint8Array(n.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${e}`)}},hn=1,Lr=()=>hn++,bn=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),Mr=(t,e)=>{let r=Ar.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);return e.length>0?Math.ceil(e.reduce((o,n)=>o*n)*r/8):0},He=class{constructor(e){this.isDataConverted=!1;let{sessionId:r,context:o,tensor:n,dataType:s,shape:a,fallbackDataType:i}=e;this.sessionId=r,this.mlContext=o,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=i}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return Mr(this.dataType,this.tensorShape)}destroy(){R("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let r=await this.mlContext.readTensor(this.mlTensor),o=vr(new Uint8Array(r),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(o);return}else return o.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,r,o){return this.mlContext===e&&this.dataType===r&&this.tensorShape.length===o.length&&this.tensorShape.every((n,s)=>n===o[s])}setIsDataConverted(e){this.isDataConverted=e}},Je=class{constructor(e,r){this.tensorManager=e;this.wrapper=r}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,r,o,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),i;if(!a?.input.dataTypes.includes(r)){if(i=bn.get(r),!i||a?.input.dataTypes.includes(i))throw new Error(`WebNN backend does not support data type: ${r}`);R("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${r} to ${i}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,r,o))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==Mr(r,o))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let u=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,r,o,u,!0,!0,i),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let r=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")r=Tt(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(r);return}else R("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(r):this.activeUpload=new Uint8Array(r)}async download(e){if(this.activeUpload){let r=this.wrapper?.isDataConverted?vr(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(r):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(r);return}else return r.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},gt=class{constructor(e){this.backend=e;this.tensorTrackersById=new Map;this.freeTensors=[];this.externalTensors=new Set}getMLContext(e){let r=this.backend.getMLContext(e);if(!r)throw new Error("MLContext not found for session.");return r}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Lr();return this.tensorTrackersById.set(e,new Je(this)),e}releaseTensorId(e){let r=this.tensorTrackersById.get(e);r&&(this.tensorTrackersById.delete(e),r.tensorWrapper&&this.releaseTensor(r.tensorWrapper))}async ensureTensor(e,r,o,n,s){R("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${r}, dataType: ${o}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(r);if(!a)throw new Error("Tensor not found.");return a.ensureTensor(e,o,n,s)}upload(e,r){let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");o.upload(r)}async download(e,r){R("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${r?.byteLength}}`);let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");return o.download(r)}releaseTensorsForSession(e){for(let r of this.freeTensors)r.sessionId===e&&r.destroy();this.freeTensors=this.freeTensors.filter(r=>r.sessionId!==e)}registerTensor(e,r,o,n){let s=this.getMLContext(e),a=Lr(),i=new He({sessionId:e,context:s,tensor:r,dataType:o,shape:n});return this.tensorTrackersById.set(a,new Je(this,i)),this.externalTensors.add(i),a}async getCachedTensor(e,r,o,n,s,a,i){let u=this.getMLContext(e);for(let[c,d]of this.freeTensors.entries())if(d.canReuseTensor(u,r,o)){R("verbose",()=>`[WebNN] Reusing tensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}`);let p=this.freeTensors.splice(c,1)[0];return p.sessionId=e,p}R("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}}`);let f=await u.createTensor({dataType:i??r,shape:o,dimensions:o,usage:n,writable:s,readable:a});return new He({sessionId:e,context:u,tensor:f,dataType:r,shape:o,fallbackDataType:i})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},xr=(...t)=>new gt(...t)});var Or={};ve(Or,{WebNNBackend:()=>Et});var qe,wn,Et,Ur=T(()=>{"use strict";ce();ee();Tr();Br();wt();qe=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),wn=(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;let r=Object.keys(t).sort(),o=Object.keys(e).sort();return r.length===o.length&&r.every((n,s)=>n===o[s]&&t[n]===e[n])},Et=class{constructor(e){this.tensorManager=xr(this);this.mlContextBySessionId=new Map;this.sessionIdsByMLContext=new Map;this.mlContextCache=[];this.sessionGraphInputs=new Map;this.sessionGraphOutputs=new Map;this.temporaryGraphInputs=[];this.temporaryGraphOutputs=[];this.temporarySessionTensorIds=new Map;this.mlOpSupportLimitsBySessionId=new Map;Ir(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){R("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){R("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let r=this.temporarySessionTensorIds.get(e);if(r){for(let o of r)R("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${o}}`),this.tensorManager.releaseTensorId(o);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let o=this.mlContextCache.findIndex(n=>n.gpuDevice===e);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let o=this.mlContextCache.findIndex(n=>n.options===void 0&&n.gpuDevice===void 0);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let r=this.mlContextCache.findIndex(o=>wn(o.options,e));if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:o}),o}}registerMLContext(e,r){this.mlContextBySessionId.set(e,r);let o=this.sessionIdsByMLContext.get(r);o||(o=new Set,this.sessionIdsByMLContext.set(r,o)),o.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,r.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let r=this.mlContextBySessionId.get(e);if(!r)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let o=this.sessionIdsByMLContext.get(r);if(o.delete(e),o.size===0){this.sessionIdsByMLContext.delete(r);let n=this.mlContextCache.findIndex(s=>s.mlContext===r);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){R("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,r,o,n,s){let a=qe.get(o);if(!a)throw new Error(`Unsupported ONNX data type: ${o}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,r,a,n,s)}async createTemporaryTensor(e,r,o){R("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${r}, shape: ${o}}`);let n=qe.get(r);if(!n)throw new Error(`Unsupported ONNX data type: ${r}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,o,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,r){if(!S().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");R("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${r.byteLength}}`),this.tensorManager.upload(e,r)}async downloadTensor(e,r){return this.tensorManager.download(e,r)}createMLTensorDownloader(e,r){return async()=>{let o=await this.tensorManager.download(e);return gr(o,r)}}registerMLTensor(e,r,o,n){let s=qe.get(o);if(!s)throw new Error(`Unsupported ONNX data type: ${o}`);let a=this.tensorManager.registerTensor(e,r,s,n);return R("verbose",()=>`[WebNN] registerMLTensor {tensor: ${r}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerMLConstant(e,r,o,n,s,a,i=!1){if(!a)throw new Error("External mounted files are not available.");let u=e;e.startsWith("./")&&(u=e.substring(2));let f=a.get(u);if(!f)throw new Error(`File with name ${u} not found in preloaded files.`);if(r+o>f.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let c=f.slice(r,r+o).buffer,d;switch(s.dataType){case"float32":d=new Float32Array(c);break;case"float16":d=typeof Float16Array<"u"&&Float16Array.from?new Float16Array(c):new Uint16Array(c);break;case"int32":d=new Int32Array(c);break;case"uint32":d=new Uint32Array(c);break;case"int64":if(i){let p=Tt(new Uint8Array(c),"int64");d=new Int32Array(p.buffer),s.dataType="int32"}else d=new BigInt64Array(c);break;case"uint64":d=new BigUint64Array(c);break;case"int8":d=new Int8Array(c);break;case"int4":case"uint4":case"uint8":d=new Uint8Array(c);break;default:throw new Error(`Unsupported data type: ${s.dataType} in creating WebNN Constant from external data.`)}return R("verbose",()=>`[WebNN] registerMLConstant {dataType: ${s.dataType}, shape: ${s.shape}}} ${i?"(Note: it was int64 data type and registered to int32 as workaround)":""}`),n.constant(s,d)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,r){let o=this.sessionGraphInputs.get(e);return o?o.includes(r):!1}isGraphOutput(e,r){let o=this.sessionGraphOutputs.get(e);return o?o.includes(r):!1}isGraphInputOutputTypeSupported(e,r,o=!0){let n=qe.get(te(r)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:o?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}});var gn,Ce,Pe,de,Tn,Dr,ge,_e,Re,Cr,Ne,Fe,We,pt=T(()=>{"use strict";Q();hr();wr();ce();ee();$e();bt();gn=(t,e)=>{S()._OrtInit(t,e)!==0&&E("Can't initialize onnxruntime.")},Ce=async t=>{gn(t.wasm.numThreads,Se(t.logLevel))},Pe=async(t,e)=>{S().asyncInit?.();let r=t.webgpu.adapter;if(e==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=t.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let n=t.webgpu.forceFallbackAdapter;if(n!==void 0&&typeof n!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${n}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:n}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(e==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(e==="webgpu"&&S().webgpuInit(o=>{t.webgpu.device=o}),e==="webnn"){let o=new(Ur(),st(Or)).WebNNBackend(t);S().webnnInit([o,()=>o.reserveTensorId(),n=>o.releaseTensorId(n),async(n,s,a,i,u)=>o.ensureTensor(n,s,a,i,u),(n,s)=>{o.uploadTensor(n,s)},async(n,s)=>o.downloadTensor(n,s),(n,s)=>o.registerMLContext(n,s),!!t.trace])}},de=new Map,Tn=t=>{let e=S(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetInputOutputCount(t,n,n+o)!==0&&E("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(e.getValue(n,a)),Number(e.getValue(n+o,a))]}finally{e.stackRestore(r)}},Dr=(t,e)=>{let r=S(),o=r.stackSave(),n=0;try{let s=r.PTR_SIZE,a=r.stackAlloc(2*s);r._OrtGetInputOutputMetadata(t,e,a,a+s)!==0&&E("Can't get session input/output metadata.");let u=Number(r.getValue(a,"*"));n=Number(r.getValue(a+s,"*"));let f=r.HEAP32[n/4];if(f===0)return[u,0];let c=r.HEAPU32[n/4+1],d=[];for(let p=0;p<c;p++){let l=Number(r.getValue(n+8+p*s,"*"));d.push(l!==0?r.UTF8ToString(l):Number(r.getValue(n+8+(p+c)*s,"*")))}return[u,f,d]}finally{r.stackRestore(o),n!==0&&r._OrtFree(n)}},ge=t=>{let e=S(),r=e._malloc(t.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${t.byteLength}.`);return e.HEAPU8.set(t,r),[r,t.byteLength]},_e=async(t,e)=>{let r,o,n=S();Array.isArray(t)?[r,o]=t:t.buffer===n.HEAPU8.buffer?[r,o]=[t.byteOffset,t.byteLength]:[r,o]=ge(t);let s=0,a=0,i=0,u=[],f=[],c=[];try{if([a,u]=await br(e),e?.externalData&&n.mountExternalData){let b=[];for(let I of e.externalData){let D=typeof I=="string"?I:I.path;b.push(Ie(typeof I=="string"?I:I.data).then(k=>{n.mountExternalData(D,k)}))}await Promise.all(b)}for(let b of e?.executionProviders??[])if((typeof b=="string"?b:b.name)==="webnn"){if(n.shouldTransferToMLTensor=!1,typeof b!="string"){let D=b,k=D?.context,C=D?.gpuDevice,W=D?.deviceType,H=D?.powerPreference;k?n.currentContext=k:C?n.currentContext=await n.webnnCreateMLContext(C):n.currentContext=await n.webnnCreateMLContext({deviceType:W,powerPreference:H})}else n.currentContext=await n.webnnCreateMLContext();break}s=await n._OrtCreateSession(r,o,a),n.webgpuOnCreateSession?.(s),s===0&&E("Can't create a session."),n.jsepOnCreateSession?.(),n.currentContext&&(n.webnnRegisterMLContext(s,n.currentContext),n.currentContext=void 0,n.shouldTransferToMLTensor=!0);let[d,p]=Tn(s),l=!!e?.enableGraphCapture,y=[],w=[],L=[],h=[],m=[];for(let b=0;b<d;b++){let[I,D,k]=Dr(s,b);I===0&&E("Can't get an input name."),f.push(I);let C=n.UTF8ToString(I);y.push(C),L.push(D===0?{name:C,isTensor:!1}:{name:C,isTensor:!0,type:ze(D),shape:k})}for(let b=0;b<p;b++){let[I,D,k]=Dr(s,b+d);I===0&&E("Can't get an output name."),c.push(I);let C=n.UTF8ToString(I);w.push(C),h.push(D===0?{name:C,isTensor:!1}:{name:C,isTensor:!0,type:ze(D),shape:k});{if(l&&e?.preferredOutputLocation===void 0){m.push("gpu-buffer");continue}let W=typeof e?.preferredOutputLocation=="string"?e.preferredOutputLocation:e?.preferredOutputLocation?.[C]??"cpu",H=n.webnnIsGraphOutput;if(W==="cpu"&&H&&H(s,C)){m.push("ml-tensor-cpu-output");continue}if(W!=="cpu"&&W!=="cpu-pinned"&&W!=="gpu-buffer"&&W!=="ml-tensor")throw new Error(`Not supported preferred output location: ${W}.`);if(l&&W!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${W}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);m.push(W)}}let A=null;return m.some(b=>b==="gpu-buffer"||b==="ml-tensor"||b==="ml-tensor-cpu-output")&&(i=n._OrtCreateBinding(s),i===0&&E("Can't create IO binding."),A={handle:i,outputPreferredLocations:m,outputPreferredLocationsEncoded:m.map(b=>b==="ml-tensor-cpu-output"?"ml-tensor":b).map(b=>ht(b))}),de.set(s,[s,f,c,A,l,!1]),[s,y,w,L,h]}catch(d){throw f.forEach(p=>n._OrtFree(p)),c.forEach(p=>n._OrtFree(p)),i!==0&&n._OrtReleaseBinding(i)!==0&&E("Can't release IO binding."),s!==0&&n._OrtReleaseSession(s)!==0&&E("Can't release session."),d}finally{n._free(r),a!==0&&n._OrtReleaseSessionOptions(a)!==0&&E("Can't release session options."),u.forEach(d=>n._free(d)),n.unmountExternalData?.()}},Re=t=>{let e=S(),r=de.get(t);if(!r)throw new Error(`cannot release session. invalid session id: ${t}`);let[o,n,s,a,i]=r;a&&(i&&e._OrtClearBoundOutputs(a.handle)!==0&&E("Can't clear bound outputs."),e._OrtReleaseBinding(a.handle)!==0&&E("Can't release IO binding.")),e.jsepOnReleaseSession?.(t),e.webnnOnReleaseSession?.(t),e.webgpuOnReleaseSession?.(t),n.forEach(u=>e._OrtFree(u)),s.forEach(u=>e._OrtFree(u)),e._OrtReleaseSession(o)!==0&&E("Can't release session."),de.delete(t)},Cr=async(t,e,r,o,n,s,a=!1)=>{if(!t){e.push(0);return}let i=S(),u=i.PTR_SIZE,f=t[0],c=t[1],d=t[3],p=d,l,y;if(f==="string"&&(d==="gpu-buffer"||d==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&d!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${s} when enableGraphCapture is true.`);if(d==="gpu-buffer"){let h=t[2].gpuBuffer;y=le(te(f),c);{let m=i.webgpuRegisterBuffer;if(!m)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');l=m(h,o)}}else if(d==="ml-tensor"){let h=t[2].mlTensor;y=le(te(f),c);let m=i.webnnRegisterMLTensor;if(!m)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');l=m(o,h,te(f),c)}else{let h=t[2];if(Array.isArray(h)){y=u*h.length,l=i._malloc(y),r.push(l);for(let m=0;m<h.length;m++){if(typeof h[m]!="string")throw new TypeError(`tensor data at index ${m} is not a string`);i.setValue(l+m*u,F(h[m],r),"*")}}else{let m=i.webnnIsGraphInput,A=i.webnnIsGraphOutput;if(f!=="string"&&m&&A){let b=i.UTF8ToString(n);if(m(o,b)||A(o,b)){let I=te(f);y=le(I,c),p="ml-tensor";let D=i.webnnCreateTemporaryTensor,k=i.webnnUploadTensor;if(!D||!k)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let C=await D(o,I,c);k(C,new Uint8Array(h.buffer,h.byteOffset,h.byteLength)),l=C}else y=h.byteLength,l=i._malloc(y),r.push(l),i.HEAPU8.set(new Uint8Array(h.buffer,h.byteOffset,y),l)}else y=h.byteLength,l=i._malloc(y),r.push(l),i.HEAPU8.set(new Uint8Array(h.buffer,h.byteOffset,y),l)}}let w=i.stackSave(),L=i.stackAlloc(4*c.length);try{c.forEach((m,A)=>i.setValue(L+A*u,m,u===4?"i32":"i64"));let h=i._OrtCreateTensor(te(f),l,y,L,c.length,ht(p));h===0&&E(`Can't create tensor for input/output. session=${o}, index=${s}.`),e.push(h)}finally{i.stackRestore(w)}},Ne=async(t,e,r,o,n,s)=>{let a=S(),i=a.PTR_SIZE,u=de.get(t);if(!u)throw new Error(`cannot run inference. invalid session id: ${t}`);let f=u[0],c=u[1],d=u[2],p=u[3],l=u[4],y=u[5],w=e.length,L=o.length,h=0,m=[],A=[],b=[],I=[],D=[],k=a.stackSave(),C=a.stackAlloc(w*i),W=a.stackAlloc(w*i),H=a.stackAlloc(L*i),At=a.stackAlloc(L*i);try{[h,m]=yr(s),Z("wasm prepareInputOutputTensor");for(let g=0;g<w;g++)await Cr(r[g],A,I,t,c[e[g]],e[g],l);for(let g=0;g<L;g++)await Cr(n[g],b,I,t,d[o[g]],w+o[g],l);K("wasm prepareInputOutputTensor");for(let g=0;g<w;g++)a.setValue(C+g*i,A[g],"*"),a.setValue(W+g*i,c[e[g]],"*");for(let g=0;g<L;g++)a.setValue(H+g*i,b[g],"*"),a.setValue(At+g*i,d[o[g]],"*");if(p&&!y){let{handle:g,outputPreferredLocations:$,outputPreferredLocationsEncoded:et}=p;if(c.length!==w)throw new Error(`input count from feeds (${w}) is expected to be always equal to model's input count (${c.length}).`);Z("wasm bindInputsOutputs");for(let M=0;M<w;M++){let j=e[M];await a._OrtBindInput(g,c[j],A[M])!==0&&E(`Can't bind input[${M}] for session=${t}.`)}for(let M=0;M<L;M++){let j=o[M];n[M]?.[3]?(D.push(b[M]),a._OrtBindOutput(g,d[j],b[M],0)!==0&&E(`Can't bind pre-allocated output[${M}] for session=${t}.`)):a._OrtBindOutput(g,d[j],0,et[j])!==0&&E(`Can't bind output[${M}] to ${$[M]} for session=${t}.`)}K("wasm bindInputsOutputs"),de.set(t,[f,c,d,p,l,!0])}a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let O;p?O=await a._OrtRunWithBinding(f,p.handle,L,H,h):O=await a._OrtRun(f,W,C,w,At,L,H,h),O!==0&&E("failed to call OrtRun().");let J=[],vt=[];Z("wasm ProcessOutputTensor");for(let g=0;g<L;g++){let $=Number(a.getValue(H+g*i,"*"));if($===b[g]||D.includes(b[g])){J.push(n[g]),$!==b[g]&&a._OrtReleaseTensor($)!==0&&E("Can't release tensor.");continue}let et=a.stackSave(),M=a.stackAlloc(4*i),j=!1,B,N=0;try{a._OrtGetTensorData($,M,M+i,M+2*i,M+3*i)!==0&&E(`Can't access output tensor data on index ${g}.`);let tt=i===4?"i32":"i64",Ae=Number(a.getValue(M,tt));N=a.getValue(M+i,"*");let Mt=a.getValue(M+i*2,"*"),Hr=Number(a.getValue(M+i*3,tt)),q=[];for(let P=0;P<Hr;P++)q.push(Number(a.getValue(Mt+P*i,tt)));a._OrtFree(Mt)!==0&&E("Can't free memory for tensor dims.");let Y=q.reduce((P,x)=>P*x,1);B=ze(Ae);let he=p?.outputPreferredLocations[o[g]];if(B==="string"){if(he==="gpu-buffer"||he==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let P=[];for(let x=0;x<Y;x++){let X=a.getValue(N+x*i,"*"),be=a.getValue(N+(x+1)*i,"*"),rt=x===Y-1?void 0:be-X;P.push(a.UTF8ToString(X,rt))}J.push([B,q,P,"cpu"])}else if(he==="gpu-buffer"&&Y>0){let P=a.webgpuGetBuffer;if(!P)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let x=P(N),X=le(Ae,Y);if(X===void 0||!Ve(B))throw new Error(`Unsupported data type: ${B}`);j=!0;{a.webgpuRegisterBuffer(x,t,N);let be=a.webgpuCreateDownloader(x,X,t);J.push([B,q,{gpuBuffer:x,download:async()=>{let rt=await be();return new(fe(B))(rt)},dispose:()=>{a._OrtReleaseTensor($)!==0&&E("Can't release tensor.")}},"gpu-buffer"])}}else if(he==="ml-tensor"&&Y>0){let P=a.webnnEnsureTensor,x=a.webnnIsGraphInputOutputTypeSupported;if(!P||!x)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(le(Ae,Y)===void 0||!je(B))throw new Error(`Unsupported data type: ${B}`);if(!x(t,B,!1))throw new Error(`preferredLocation "ml-tensor" for ${B} output is not supported by current WebNN Context.`);let be=await P(t,N,Ae,q,!1);j=!0,J.push([B,q,{mlTensor:be,download:a.webnnCreateMLTensorDownloader(N,B),dispose:()=>{a.webnnReleaseTensorId(N),a._OrtReleaseTensor($)}},"ml-tensor"])}else if(he==="ml-tensor-cpu-output"&&Y>0){let P=a.webnnCreateMLTensorDownloader(N,B)(),x=J.length;j=!0,vt.push((async()=>{let X=[x,await P];return a.webnnReleaseTensorId(N),a._OrtReleaseTensor($),X})()),J.push([B,q,[],"cpu"])}else{let P=fe(B),x=new P(Y);new Uint8Array(x.buffer,x.byteOffset,x.byteLength).set(a.HEAPU8.subarray(N,N+x.byteLength)),J.push([B,q,x,"cpu"])}}finally{a.stackRestore(et),B==="string"&&N&&a._free(N),j||a._OrtReleaseTensor($)}}p&&!l&&(a._OrtClearBoundOutputs(p.handle)!==0&&E("Can't clear bound outputs."),de.set(t,[f,c,d,p,l,!1]));for(let[g,$]of await Promise.all(vt))J[g][2]=$;return K("wasm ProcessOutputTensor"),J}finally{a.webnnOnRunEnd?.(f),a.stackRestore(k),r.forEach(O=>{O&&O[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(O[2].gpuBuffer)}),n.forEach(O=>{O&&O[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(O[2].gpuBuffer)}),A.forEach(O=>a._OrtReleaseTensor(O)),b.forEach(O=>a._OrtReleaseTensor(O)),I.forEach(O=>a._free(O)),h!==0&&a._OrtReleaseRunOptions(h),m.forEach(O=>a._free(O))}},Fe=t=>{let e=S(),r=de.get(t);if(!r)throw new Error("invalid session id");let o=r[0],n=e._OrtEndProfiling(o);n===0&&E("Can't get an profile file name."),e._OrtFree(n)},We=t=>{let e=[];for(let r of t){let o=r[2];!Array.isArray(o)&&"buffer"in o&&e.push(o.buffer)}return e}});var pe,z,Le,Xe,Ze,Ye,St,It,me,ye,Sn,Pr,_r,Rr,Nr,Fr,Wr,kr,Lt=T(()=>{"use strict";Q();pt();ee();Ue();pe=()=>!!v.wasm.proxy&&typeof document<"u",Le=!1,Xe=!1,Ze=!1,It=new Map,me=(t,e)=>{let r=It.get(t);r?r.push(e):It.set(t,[e])},ye=()=>{if(Le||!Xe||Ze||!z)throw new Error("worker not ready")},Sn=t=>{switch(t.data.type){case"init-wasm":Le=!1,t.data.err?(Ze=!0,St[1](t.data.err)):(Xe=!0,St[0]()),Ye&&(URL.revokeObjectURL(Ye),Ye=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let e=It.get(t.data.type);t.data.err?e.shift()[1](t.data.err):e.shift()[0](t.data.out);break}default:}},Pr=async()=>{if(!Xe){if(Le)throw new Error("multiple calls to 'initWasm()' detected.");if(Ze)throw new Error("previous call to 'initWasm()' failed.");if(Le=!0,pe())return new Promise((t,e)=>{z?.terminate(),pr().then(([r,o])=>{try{z=o,z.onerror=s=>e(s),z.onmessage=Sn,St=[t,e];let n={type:"init-wasm",in:v};if(!n.in.wasm.wasmPaths&&r){let s=ke();s&&(n.in.wasm.wasmPaths=s)}z.postMessage(n),Ye=r}catch(n){e(n)}},e)});try{await De(v.wasm),await Ce(v),Xe=!0}catch(t){throw Ze=!0,t}finally{Le=!1}}},_r=async t=>{if(pe())return ye(),new Promise((e,r)=>{me("init-ep",[e,r]);let o={type:"init-ep",in:{epName:t,env:v}};z.postMessage(o)});await Pe(v,t)},Rr=async t=>pe()?(ye(),new Promise((e,r)=>{me("copy-from",[e,r]);let o={type:"copy-from",in:{buffer:t}};z.postMessage(o,[t.buffer])})):ge(t),Nr=async(t,e)=>{if(pe()){if(e?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ye(),new Promise((r,o)=>{me("create",[r,o]);let n={type:"create",in:{model:t,options:{...e}}},s=[];t instanceof Uint8Array&&s.push(t.buffer),z.postMessage(n,s)})}else return _e(t,e)},Fr=async t=>{if(pe())return ye(),new Promise((e,r)=>{me("release",[e,r]);let o={type:"release",in:t};z.postMessage(o)});Re(t)},Wr=async(t,e,r,o,n,s)=>{if(pe()){if(r.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(n.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return ye(),new Promise((a,i)=>{me("run",[a,i]);let u=r,f={type:"run",in:{sessionId:t,inputIndices:e,inputs:u,outputIndices:o,options:s}};z.postMessage(f,We(u))})}else return Ne(t,e,r,o,n,s)},kr=async t=>{if(pe())return ye(),new Promise((e,r)=>{me("end-profiling",[e,r]);let o={type:"end-profiling",in:t};z.postMessage(o)});Fe(t)}});var Gr,In,Ke,$r=T(()=>{"use strict";Q();Lt();ce();Oe();bt();Gr=(t,e)=>{switch(t.location){case"cpu":return[t.type,t.dims,t.data,"cpu"];case"gpu-buffer":return[t.type,t.dims,{gpuBuffer:t.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[t.type,t.dims,{mlTensor:t.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${t.location} for ${e()}`)}},In=t=>{switch(t[3]){case"cpu":return new V(t[0],t[2],t[1]);case"gpu-buffer":{let e=t[0];if(!Ve(e))throw new Error(`not supported data type: ${e} for deserializing GPU tensor`);let{gpuBuffer:r,download:o,dispose:n}=t[2];return V.fromGpuBuffer(r,{dataType:e,dims:t[1],download:o,dispose:n})}case"ml-tensor":{let e=t[0];if(!je(e))throw new Error(`not supported data type: ${e} for deserializing MLTensor tensor`);let{mlTensor:r,download:o,dispose:n}=t[2];return V.fromMLTensor(r,{dataType:e,dims:t[1],download:o,dispose:n})}default:throw new Error(`invalid data location: ${t[3]}`)}},Ke=class{async fetchModelAndCopyToWasmMemory(e){return Rr(await Ie(e))}async loadModel(e,r){se();let o;typeof e=="string"?o=await this.fetchModelAndCopyToWasmMemory(e):o=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Nr(o,r),ae()}async dispose(){return Fr(this.sessionId)}async run(e,r,o){se();let n=[],s=[];Object.entries(e).forEach(p=>{let l=p[0],y=p[1],w=this.inputNames.indexOf(l);if(w===-1)throw new Error(`invalid input '${l}'`);n.push(y),s.push(w)});let a=[],i=[];Object.entries(r).forEach(p=>{let l=p[0],y=p[1],w=this.outputNames.indexOf(l);if(w===-1)throw new Error(`invalid output '${l}'`);a.push(y),i.push(w)});let u=n.map((p,l)=>Gr(p,()=>`input "${this.inputNames[s[l]]}"`)),f=a.map((p,l)=>p?Gr(p,()=>`output "${this.outputNames[i[l]]}"`):null),c=await Wr(this.sessionId,s,u,i,f,o),d={};for(let p=0;p<c.length;p++)d[this.outputNames[i[p]]]=a[p]??In(c[p]);return ae(),d}startProfiling(){}endProfiling(){kr(this.sessionId)}}});var Vr={};ve(Vr,{OnnxruntimeWebAssemblyBackend:()=>Qe,initializeFlags:()=>zr,wasmBackend:()=>Ln});var zr,Qe,Ln,jr=T(()=>{"use strict";Q();Lt();$r();zr=()=>{(typeof v.wasm.initTimeout!="number"||v.wasm.initTimeout<0)&&(v.wasm.initTimeout=0);let t=v.wasm.simd;if(typeof t!="boolean"&&t!==void 0&&t!=="fixed"&&t!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${t}". Reset it to \`false\` and ignore SIMD feature checking.`),v.wasm.simd=!1),typeof v.wasm.proxy!="boolean"&&(v.wasm.proxy=!1),typeof v.wasm.trace!="boolean"&&(v.wasm.trace=!1),typeof v.wasm.numThreads!="number"||!Number.isInteger(v.wasm.numThreads)||v.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)v.wasm.numThreads=1;else{let e=typeof navigator>"u"?ot("node:os").cpus().length:navigator.hardwareConcurrency;v.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},Qe=class{async init(e){zr(),await Pr(),await _r(e)}async createInferenceSessionHandler(e,r){let o=new Ke;return await o.loadModel(e,r),o}},Ln=new Qe});Q();Q();Q();var nr="1.26.0";var Ls=dt;{let t=(jr(),st(Vr)).wasmBackend;ne("webgpu",t,5),ne("webnn",t,5),ne("cpu",t,10),ne("wasm",t,10)}Object.defineProperty(v.versions,"web",{value:nr,enumerable:!0});export{Kr as InferenceSession,Yt as TRACE,Z as TRACE_EVENT_BEGIN,K as TRACE_EVENT_END,se as TRACE_FUNC_BEGIN,ae as TRACE_FUNC_END,V as Tensor,Ls as default,v as env,ne as registerBackend};
|
| 8 |
+
//# sourceMappingURL=ort.jspi.min.mjs.map
|
ort-wasm/ort.jspi.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.node.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.26.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
import{createRequire}from"module";const require=createRequire(import.meta.url);
|
| 7 |
+
var pe=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var St=Object.getOwnPropertyNames;var ht=Object.prototype.hasOwnProperty;var de=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ot=(e,t)=>{for(var n in t)pe(e,n,{get:t[n],enumerable:!0})},It=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of St(t))!ht.call(e,r)&&r!==n&&pe(e,r,{get:()=>t[r],enumerable:!(o=Et(t,r))||o.enumerable});return e};var Tt=e=>It(pe({},"__esModule",{value:!0}),e);var j,ne=C(()=>{"use strict";j=!!(typeof process<"u"&&process.versions&&process.versions.node)});var Ae,Lt,_t,$,xe,De,Bt,Pt,vt,Dt,Ue,Ce,me=C(()=>{"use strict";ne();Ae=j||typeof location>"u"?void 0:location.origin,Lt=import.meta.url>"file:"&&import.meta.url<"file;",_t=()=>{if(!j){if(Lt){let e=URL;return new URL(new e("ort.node.min.mjs",import.meta.url).href,Ae).href}return import.meta.url}},$=_t(),xe=()=>{if($&&!$.startsWith("blob:"))return $.substring(0,$.lastIndexOf("/")+1)},De=(e,t)=>{try{let n=t??$;return(n?new URL(e,n):new URL(e)).origin===Ae}catch{return!1}},Bt=(e,t)=>{let n=t??$;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Pt=(e,t)=>`${t??"./"}${e}`,vt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Dt=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,Ue=void 0,Ce=async(e,t,n,o)=>{let r=Ue&&!(e||t);if(r)if($)r=De($)||o&&!n;else if(o&&!n)r=!0;else throw new Error("cannot determine the script source URL.");if(r)return[void 0,Ue];{let a="ort-wasm-simd-threaded.mjs",s=e??Bt(a,t),i=!j&&n&&s&&!De(s,t),u=i?await vt(s):s??Pt(a,t);return[i?u:void 0,await Dt(u)]}}});var be,we,oe,Me,Ut,At,xt,We,E,V=C(()=>{"use strict";me();we=!1,oe=!1,Me=!1,Ut=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},At=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},xt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},We=async e=>{if(we)return Promise.resolve();if(oe)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Me)throw new Error("previous call to 'initializeWebAssembly()' failed.");oe=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!xt())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!At())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Ut();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,a=typeof r=="string"?r:void 0,s=r?.mjs,i=s?.href??s,u=r?.wasm,l=u?.href??u,w=e.wasmBinary,[f,c]=await Ce(i,a,n>1,!!w||!!l),p=!1,S=[];if(t>0&&S.push(new Promise(h=>{setTimeout(()=>{p=!0,h()},t)})),S.push(new Promise((h,v)=>{let m={numThreads:n};if(w)m.wasmBinary=w,m.locateFile=b=>b;else if(l||a)m.locateFile=b=>l??a+b;else if(i&&i.indexOf("blob:")!==0)m.locateFile=b=>new URL(b,i).href;else if(f){let b=xe();b&&(m.locateFile=M=>b+M)}c(m).then(b=>{oe=!1,we=!0,be=b,h(),f&&URL.revokeObjectURL(f)},b=>{oe=!1,Me=!0,v(b)})})),await Promise.race(S),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},E=()=>{if(we&&be)return be;throw new Error("WebAssembly is not initialized yet.")}});var A,Q,g,se=C(()=>{"use strict";V();A=(e,t)=>{let n=E(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},Q=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,a])=>{let s=t?t+r:r;if(typeof a=="object")Q(a,s+".",n,o);else if(typeof a=="string"||typeof a=="number")o(s,a.toString());else if(typeof a=="boolean")o(s,a?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof a}`)})},g=e=>{let t=E(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let a=Number(t.getValue(r,o===4?"i32":"i64")),s=t.getValue(r+o,"*"),i=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(n)}}});var Fe,ke=C(()=>{"use strict";V();se();Fe=e=>{let t=E(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let a=0;return e?.tag!==void 0&&(a=A(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,a),n===0&&g("Can't create run options."),e?.extra!==void 0&&Q(e.extra,"",new WeakSet,(s,i)=>{let u=A(s,o),l=A(i,o);t._OrtAddRunConfigEntry(n,u,l)!==0&&g(`Can't set a run config entry: ${s} - ${i}.`)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),a}}});var Ct,Mt,Wt,q,Ft,Re,Ne=C(()=>{"use strict";V();se();Ct=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Mt=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Wt=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},q=(e,t,n,o)=>{let r=A(t,o),a=A(n,o);E()._OrtAddSessionConfigEntry(e,r,a)!==0&&g(`Can't set a session config entry: ${t} - ${n}.`)},Ft=async(e,t,n)=>{let o=t.executionProviders;for(let r of o){let a=typeof r=="string"?r:r.name,s=[];switch(a){case"webnn":if(a="WEBNN",q(e,"session.disable_quant_qdq","1",n),q(e,"session.disable_qdq_constant_folding","1",n),typeof r!="string"){let c=r?.deviceType;c&&q(e,"deviceType",c,n)}break;case"webgpu":if(a="JS",typeof r!="string"){let f=r;if(f?.preferredLayout){if(f.preferredLayout!=="NCHW"&&f.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${f.preferredLayout}`);q(e,"preferredLayout",f.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${a}`)}let i=A(a,n),u=s.length,l=0,w=0;if(u>0){l=E()._malloc(u*E().PTR_SIZE),n.push(l),w=E()._malloc(u*E().PTR_SIZE),n.push(w);for(let f=0;f<u;f++)E().setValue(l+f*E().PTR_SIZE,s[f][0],"*"),E().setValue(w+f*E().PTR_SIZE,s[f][1],"*")}await E()._OrtAppendExecutionProvider(e,i,l,w,u)!==0&&g(`Can't append execution provider: ${a}.`)}},Re=async e=>{let t=E(),n=0,o=[],r=e||{};Wt(r);try{let a=Ct(r.graphOptimizationLevel??"all"),s=Mt(r.executionMode??"sequential"),i=typeof r.logId=="string"?A(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let l=r.logVerbosityLevel??0;if(!Number.isInteger(l)||l<0||l>4)throw new Error(`log verbosity level is not valid: ${l}`);let w=typeof r.optimizedModelFilePath=="string"?A(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(a,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,i,u,l,w),n===0&&g("Can't create session options."),r.executionProviders&&await Ft(n,r,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);q(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[f,c]of Object.entries(r.freeDimensionOverrides)){if(typeof f!="string")throw new Error(`free dimension override name must be a string: ${f}`);if(typeof c!="number"||!Number.isInteger(c)||c<0)throw new Error(`free dimension override value must be a non-negative integer: ${c}`);let p=A(f,o);t._OrtAddFreeDimensionOverride(n,p,c)!==0&&g(`Can't set a free dimension override: ${f} - ${c}.`)}return r.extra!==void 0&&Q(r.extra,"",new WeakSet,(f,c)=>{q(n,f,c,o)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&g("Can't release session options."),o.forEach(s=>t._free(s)),a}}});var J,ae,Y,Ge,je,ie,ue,$e,ge=C(()=>{"use strict";J=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},ae=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},Y=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,a)=>r*a,1);return n>0?Math.ceil(o*n):void 0},Ge=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},je=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},ie=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ue=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",$e=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var ee,ye=C(()=>{"use strict";ne();ee=async e=>{if(typeof e=="string")if(j)try{let{readFile:t}=de("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=de("node:fs"),o=n(e),r=[];for await(let a of o)r.push(a);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),a;try{a=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let u=Math.ceil(o/65536);a=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw i}let s=0;for(;;){let{done:i,value:u}=await r.read();if(i)break;let l=u.byteLength;new Uint8Array(a,s,l).set(u),s+=l}return new Uint8Array(a,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});import{TRACE_EVENT_BEGIN as ze,TRACE_EVENT_END as He}from"onnxruntime-common";var kt,Je,Ye,Z,Rt,Ve,Ee,Ze,Xe,qe,Ke,Qe,et=C(()=>{"use strict";ke();Ne();ge();V();se();ye();kt=(e,t)=>{E()._OrtInit(e,t)!==0&&g("Can't initialize onnxruntime.")},Je=async e=>{kt(e.wasm.numThreads,je(e.logLevel))},Ye=async(e,t)=>{E().asyncInit?.();let n=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(n){if(typeof n.limits!="object"||typeof n.features!="object"||typeof n.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=e.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let r=e.webgpu.forceFallbackAdapter;if(r!==void 0&&typeof r!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${r}"`);if(n=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:r}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},Z=new Map,Rt=e=>{let t=E(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&g("Can't get session input/output count.");let s=o===4?"i32":"i64";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},Ve=(e,t)=>{let n=E(),o=n.stackSave(),r=0;try{let a=n.PTR_SIZE,s=n.stackAlloc(2*a);n._OrtGetInputOutputMetadata(e,t,s,s+a)!==0&&g("Can't get session input/output metadata.");let u=Number(n.getValue(s,"*"));r=Number(n.getValue(s+a,"*"));let l=n.HEAP32[r/4];if(l===0)return[u,0];let w=n.HEAPU32[r/4+1],f=[];for(let c=0;c<w;c++){let p=Number(n.getValue(r+8+c*a,"*"));f.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(c+w)*a,"*")))}return[u,l,f]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},Ee=e=>{let t=E(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Ze=async(e,t)=>{let n,o,r=E();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=Ee(e);let a=0,s=0,i=0,u=[],l=[],w=[];try{if([s,u]=await Re(t),t?.externalData&&r.mountExternalData){let y=[];for(let O of t.externalData){let _=typeof O=="string"?O:O.path;y.push(ee(typeof O=="string"?O:O.data).then(U=>{r.mountExternalData(_,U)}))}await Promise.all(y)}for(let y of t?.executionProviders??[])if((typeof y=="string"?y:y.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof y!="string"){let _=y,U=_?.context,B=_?.gpuDevice,X=_?.deviceType,z=_?.powerPreference;U?r.currentContext=U:B?r.currentContext=await r.webnnCreateMLContext(B):r.currentContext=await r.webnnCreateMLContext({deviceType:X,powerPreference:z})}else r.currentContext=await r.webnnCreateMLContext();break}a=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(a),a===0&&g("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(a,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[f,c]=Rt(a),p=!!t?.enableGraphCapture,S=[],h=[],v=[],m=[],b=[];for(let y=0;y<f;y++){let[O,_,U]=Ve(a,y);O===0&&g("Can't get an input name."),l.push(O);let B=r.UTF8ToString(O);S.push(B),v.push(_===0?{name:B,isTensor:!1}:{name:B,isTensor:!0,type:ae(_),shape:U})}for(let y=0;y<c;y++){let[O,_,U]=Ve(a,y+f);O===0&&g("Can't get an output name."),w.push(O);let B=r.UTF8ToString(O);h.push(B),m.push(_===0?{name:B,isTensor:!1}:{name:B,isTensor:!0,type:ae(_),shape:U})}return Z.set(a,[a,l,w,null,p,!1]),[a,S,h,v,m]}catch(f){throw l.forEach(c=>r._OrtFree(c)),w.forEach(c=>r._OrtFree(c)),i!==0&&r._OrtReleaseBinding(i)!==0&&g("Can't release IO binding."),a!==0&&r._OrtReleaseSession(a)!==0&&g("Can't release session."),f}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&g("Can't release session options."),u.forEach(f=>r._free(f)),r.unmountExternalData?.()}},Xe=e=>{let t=E(),n=Z.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,a,s,i]=n;s&&(i&&t._OrtClearBoundOutputs(s.handle)!==0&&g("Can't clear bound outputs."),t._OrtReleaseBinding(s.handle)!==0&&g("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),a.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&g("Can't release session."),Z.delete(e)},qe=async(e,t,n,o,r,a,s=!1)=>{if(!e){t.push(0);return}let i=E(),u=i.PTR_SIZE,l=e[0],w=e[1],f=e[3],c=f,p,S;if(l==="string"&&(f==="gpu-buffer"||f==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(s&&f!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(f==="gpu-buffer"){let m=e[2].gpuBuffer;S=Y(J(l),w);{let b=i.jsepRegisterBuffer;if(!b)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=b(o,a,m,S)}}else if(f==="ml-tensor"){let m=e[2].mlTensor;S=Y(J(l),w);let b=i.webnnRegisterMLTensor;if(!b)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=b(o,m,J(l),w)}else{let m=e[2];if(Array.isArray(m)){S=u*m.length,p=i._malloc(S),n.push(p);for(let b=0;b<m.length;b++){if(typeof m[b]!="string")throw new TypeError(`tensor data at index ${b} is not a string`);i.setValue(p+b*u,A(m[b],n),"*")}}else{let b=i.webnnIsGraphInput,M=i.webnnIsGraphOutput;if(l!=="string"&&b&&M){let y=i.UTF8ToString(r);if(b(o,y)||M(o,y)){let O=J(l);S=Y(O,w),c="ml-tensor";let _=i.webnnCreateTemporaryTensor,U=i.webnnUploadTensor;if(!_||!U)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let B=await _(o,O,w);U(B,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=B}else S=m.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,S),p)}else S=m.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,S),p)}}let h=i.stackSave(),v=i.stackAlloc(4*w.length);try{w.forEach((b,M)=>i.setValue(v+M*u,b,u===4?"i32":"i64"));let m=i._OrtCreateTensor(J(l),p,S,v,w.length,$e(c));m===0&&g(`Can't create tensor for input/output. session=${o}, index=${a}.`),t.push(m)}finally{i.stackRestore(h)}},Ke=async(e,t,n,o,r,a)=>{let s=E(),i=s.PTR_SIZE,u=Z.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let l=u[0],w=u[1],f=u[2],c=u[3],p=u[4],S=u[5],h=t.length,v=o.length,m=0,b=[],M=[],y=[],O=[],_=[],U=s.stackSave(),B=s.stackAlloc(h*i),X=s.stackAlloc(h*i),z=s.stackAlloc(v*i),Te=s.stackAlloc(v*i);try{[m,b]=Fe(a),ze("wasm prepareInputOutputTensor");for(let d=0;d<h;d++)await qe(n[d],M,O,e,w[t[d]],t[d],p);for(let d=0;d<v;d++)await qe(r[d],y,O,e,f[o[d]],h+o[d],p);He("wasm prepareInputOutputTensor");for(let d=0;d<h;d++)s.setValue(B+d*i,M[d],"*"),s.setValue(X+d*i,w[t[d]],"*");for(let d=0;d<v;d++)s.setValue(z+d*i,y[d],"*"),s.setValue(Te+d*i,f[o[d]],"*");s.jsepOnRunStart?.(l),s.webnnOnRunStart?.(l);let x;x=await s._OrtRun(l,X,B,h,Te,v,z,m),x!==0&&g("failed to call OrtRun().");let k=[],Le=[];ze("wasm ProcessOutputTensor");for(let d=0;d<v;d++){let W=Number(s.getValue(z+d*i,"*"));if(W===y[d]||_.includes(y[d])){k.push(r[d]),W!==y[d]&&s._OrtReleaseTensor(W)!==0&&g("Can't release tensor.");continue}let _e=s.stackSave(),F=s.stackAlloc(4*i),H=!1,T,P=0;try{s._OrtGetTensorData(W,F,F+i,F+2*i,F+3*i)!==0&&g(`Can't access output tensor data on index ${d}.`);let le=i===4?"i32":"i64",te=Number(s.getValue(F,le));P=s.getValue(F+i,"*");let Be=s.getValue(F+i*2,"*"),yt=Number(s.getValue(F+i*3,le)),R=[];for(let L=0;L<yt;L++)R.push(Number(s.getValue(Be+L*i,le)));s._OrtFree(Be)!==0&&g("Can't free memory for tensor dims.");let N=R.reduce((L,I)=>L*I,1);T=ae(te);let K=c?.outputPreferredLocations[o[d]];if(T==="string"){if(K==="gpu-buffer"||K==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let L=[];for(let I=0;I<N;I++){let G=s.getValue(P+I*i,"*"),re=s.getValue(P+(I+1)*i,"*"),Pe=I===N-1?void 0:re-G;L.push(s.UTF8ToString(G,Pe))}k.push([T,R,L,"cpu"])}else if(K==="gpu-buffer"&&N>0){let L=s.jsepGetBuffer;if(!L)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let I=L(P),G=Y(te,N);if(G===void 0||!ie(T))throw new Error(`Unsupported data type: ${T}`);H=!0,k.push([T,R,{gpuBuffer:I,download:s.jsepCreateDownloader(I,G,T),dispose:()=>{s._OrtReleaseTensor(W)!==0&&g("Can't release tensor.")}},"gpu-buffer"])}else if(K==="ml-tensor"&&N>0){let L=s.webnnEnsureTensor,I=s.webnnIsGraphInputOutputTypeSupported;if(!L||!I)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(Y(te,N)===void 0||!ue(T))throw new Error(`Unsupported data type: ${T}`);if(!I(e,T,!1))throw new Error(`preferredLocation "ml-tensor" for ${T} output is not supported by current WebNN Context.`);let re=await L(e,P,te,R,!1);H=!0,k.push([T,R,{mlTensor:re,download:s.webnnCreateMLTensorDownloader(P,T),dispose:()=>{s.webnnReleaseTensorId(P),s._OrtReleaseTensor(W)}},"ml-tensor"])}else if(K==="ml-tensor-cpu-output"&&N>0){let L=s.webnnCreateMLTensorDownloader(P,T)(),I=k.length;H=!0,Le.push((async()=>{let G=[I,await L];return s.webnnReleaseTensorId(P),s._OrtReleaseTensor(W),G})()),k.push([T,R,[],"cpu"])}else{let L=Ge(T),I=new L(N);new Uint8Array(I.buffer,I.byteOffset,I.byteLength).set(s.HEAPU8.subarray(P,P+I.byteLength)),k.push([T,R,I,"cpu"])}}finally{s.stackRestore(_e),T==="string"&&P&&s._free(P),H||s._OrtReleaseTensor(W)}}c&&!p&&(s._OrtClearBoundOutputs(c.handle)!==0&&g("Can't clear bound outputs."),Z.set(e,[l,w,f,c,p,!1]));for(let[d,W]of await Promise.all(Le))k[d][2]=W;return He("wasm ProcessOutputTensor"),k}finally{s.webnnOnRunEnd?.(l),s.stackRestore(U),M.forEach(x=>s._OrtReleaseTensor(x)),y.forEach(x=>s._OrtReleaseTensor(x)),O.forEach(x=>s._free(x)),m!==0&&s._OrtReleaseRunOptions(m),b.forEach(x=>s._free(x))}},Qe=e=>{let t=E(),n=Z.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&g("Can't get an profile file name."),t._OrtFree(r)}});import{env as he}from"onnxruntime-common";var Se,tt,rt,nt,ot,st,at,it,ut,ct,Oe=C(()=>{"use strict";et();V();me();Se=!1,tt=!1,rt=!1,nt=async()=>{if(!tt){if(Se)throw new Error("multiple calls to 'initWasm()' detected.");if(rt)throw new Error("previous call to 'initWasm()' failed.");Se=!0;try{await We(he.wasm),await Je(he),tt=!0}catch(e){throw rt=!0,e}finally{Se=!1}}},ot=async e=>{await Ye(he,e)},st=async e=>Ee(e),at=async(e,t)=>Ze(e,t),it=async e=>{Xe(e)},ut=async(e,t,n,o,r,a)=>Ke(e,t,n,o,r,a),ct=async e=>{Qe(e)}});import{Tensor as Ie,TRACE_FUNC_BEGIN as ft,TRACE_FUNC_END as lt}from"onnxruntime-common";var pt,Gt,ce,dt=C(()=>{"use strict";Oe();ge();ne();ye();pt=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Gt=e=>{switch(e[3]){case"cpu":return new Ie(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!ie(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return Ie.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!ue(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return Ie.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},ce=class{async fetchModelAndCopyToWasmMemory(t){return st(await ee(t))}async loadModel(t,n){ft();let o;typeof t=="string"?j?o=await ee(t):o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await at(o,n),lt()}async dispose(){return it(this.sessionId)}async run(t,n,o){ft();let r=[],a=[];Object.entries(t).forEach(c=>{let p=c[0],S=c[1],h=this.inputNames.indexOf(p);if(h===-1)throw new Error(`invalid input '${p}'`);r.push(S),a.push(h)});let s=[],i=[];Object.entries(n).forEach(c=>{let p=c[0],S=c[1],h=this.outputNames.indexOf(p);if(h===-1)throw new Error(`invalid output '${p}'`);s.push(S),i.push(h)});let u=r.map((c,p)=>pt(c,()=>`input "${this.inputNames[a[p]]}"`)),l=s.map((c,p)=>c?pt(c,()=>`output "${this.outputNames[i[p]]}"`):null),w=await ut(this.sessionId,a,u,i,l,o),f={};for(let c=0;c<w.length;c++)f[this.outputNames[i[c]]]=s[c]??Gt(w[c]);return lt(),f}startProfiling(){}endProfiling(){ct(this.sessionId)}}});var bt={};Ot(bt,{OnnxruntimeWebAssemblyBackend:()=>fe,initializeFlags:()=>mt,wasmBackend:()=>jt});import{env as D}from"onnxruntime-common";var mt,fe,jt,wt=C(()=>{"use strict";Oe();dt();mt=()=>{(typeof D.wasm.initTimeout!="number"||D.wasm.initTimeout<0)&&(D.wasm.initTimeout=0);let e=D.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),D.wasm.simd=!1),typeof D.wasm.proxy!="boolean"&&(D.wasm.proxy=!1),typeof D.wasm.trace!="boolean"&&(D.wasm.trace=!1),typeof D.wasm.numThreads!="number"||!Number.isInteger(D.wasm.numThreads)||D.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)D.wasm.numThreads=1;else{let t=typeof navigator>"u"?de("node:os").cpus().length:navigator.hardwareConcurrency;D.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},fe=class{async init(t){mt(),await nt(),await ot(t)}async createInferenceSessionHandler(t,n){let o=new ce;return await o.loadModel(t,n),o}},jt=new fe});export*from"onnxruntime-common";import*as $t from"onnxruntime-common";import{registerBackend as gt,env as zt}from"onnxruntime-common";var ve="1.26.0";var Hr=$t;{let e=(wt(),Tt(bt)).wasmBackend;gt("cpu",e,10),gt("wasm",e,10)}Object.defineProperty(zt.versions,"web",{value:ve,enumerable:!0});export{Hr as default};
|
| 8 |
+
//# sourceMappingURL=ort.node.min.mjs.map
|
ort-wasm/ort.wasm.bundle.min.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.26.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var Jt=Object.defineProperty;var Xa=Object.getOwnPropertyDescriptor;var Qa=Object.getOwnPropertyNames;var Za=Object.prototype.hasOwnProperty;var qt=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(t,a)=>(typeof require<"u"?require:t)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var N=(n,t)=>()=>(n&&(t=n(n=0)),t);var ut=(n,t)=>{for(var a in t)Jt(n,a,{get:t[a],enumerable:!0})},Ka=(n,t,a,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qa(t))!Za.call(n,o)&&o!==a&&Jt(n,o,{get:()=>t[o],enumerable:!(u=Xa(t,o))||u.enumerable});return n};var Xt=n=>Ka(Jt({},"__esModule",{value:!0}),n);var ft,Be,qe,es,dr,Qt=N(()=>{"use strict";ft=new Map,Be=[],qe=(n,t,a)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let u=ft.get(n);if(u===void 0)ft.set(n,{backend:t,priority:a});else{if(u.priority>a)return;if(u.priority===a&&u.backend!==t)throw new Error(`cannot register backend "${n}" using priority ${a}`)}if(a>=0){let o=Be.indexOf(n);o!==-1&&Be.splice(o,1);for(let d=0;d<Be.length;d++)if(ft.get(Be[d]).priority<=a){Be.splice(d,0,n);return}Be.push(n)}return}throw new TypeError("not a valid backend")},es=async n=>{let t=ft.get(n);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let a=!!t.initPromise;try{return a||(t.initPromise=t.backend.init(n)),await t.initPromise,t.initialized=!0,t.backend}catch(u){return a||(t.error=`${u}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},dr=async n=>{let t=n.executionProviders||[],a=t.map(m=>typeof m=="string"?m:m.name),u=a.length===0?Be:a,o,d=[],c=new Set;for(let m of u){let h=await es(m);typeof h=="string"?d.push({name:m,err:h}):(o||(o=h),o===h&&c.add(m))}if(!o)throw new Error(`no available backend found. ERR: ${d.map(m=>`[${m.name}] ${m.err}`).join(", ")}`);for(let{name:m,err:h}of d)a.includes(m)&&console.warn(`removing requested execution provider "${m}" from session options because it is not available: ${h}`);let l=t.filter(m=>c.has(typeof m=="string"?m:m.name));return[o,new Proxy(n,{get:(m,h)=>h==="executionProviders"?l:Reflect.get(m,h)})]}});var pr=N(()=>{"use strict";Qt()});var mr,hr=N(()=>{"use strict";mr="1.26.0"});var wr,J,Zt=N(()=>{"use strict";hr();wr="warning",J={wasm:{},webgl:{},webgpu:{},versions:{common:mr},set logLevel(n){if(n!==void 0){if(typeof n!="string"||["verbose","info","warning","error","fatal"].indexOf(n)===-1)throw new Error(`Unsupported logging level: ${n}`);wr=n}},get logLevel(){return wr}};Object.defineProperty(J,"logLevel",{enumerable:!0})});var Y,br=N(()=>{"use strict";Zt();Y=J});var yr,gr,Er=N(()=>{"use strict";yr=(n,t)=>{let a=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);a.width=n.dims[3],a.height=n.dims[2];let u=a.getContext("2d");if(u!=null){let o,d;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=n.dims[2],d=n.dims[3]):(o=n.dims[3],d=n.dims[2]);let c=t?.format!==void 0?t.format:"RGB",l=t?.norm,m,h;l===void 0||l.mean===void 0?m=[255,255,255,255]:typeof l.mean=="number"?m=[l.mean,l.mean,l.mean,l.mean]:(m=[l.mean[0],l.mean[1],l.mean[2],0],l.mean[3]!==void 0&&(m[3]=l.mean[3])),l===void 0||l.bias===void 0?h=[0,0,0,0]:typeof l.bias=="number"?h=[l.bias,l.bias,l.bias,l.bias]:(h=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(h[3]=l.bias[3]));let g=d*o,b=0,y=g,T=g*2,I=-1;c==="RGBA"?(b=0,y=g,T=g*2,I=g*3):c==="RGB"?(b=0,y=g,T=g*2):c==="RBG"&&(b=0,T=g,y=g*2);for(let D=0;D<d;D++)for(let z=0;z<o;z++){let v=(n.data[b++]-h[0])*m[0],O=(n.data[y++]-h[1])*m[1],F=(n.data[T++]-h[2])*m[2],_=I===-1?255:(n.data[I++]-h[3])*m[3];u.fillStyle="rgba("+v+","+O+","+F+","+_+")",u.fillRect(z,D,1,1)}if("toDataURL"in a)return a.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},gr=(n,t)=>{let a=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),u;if(a!=null){let o,d,c;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=n.dims[2],d=n.dims[1],c=n.dims[3]):(o=n.dims[3],d=n.dims[2],c=n.dims[1]);let l=t!==void 0&&t.format!==void 0?t.format:"RGB",m=t?.norm,h,g;m===void 0||m.mean===void 0?h=[255,255,255,255]:typeof m.mean=="number"?h=[m.mean,m.mean,m.mean,m.mean]:(h=[m.mean[0],m.mean[1],m.mean[2],255],m.mean[3]!==void 0&&(h[3]=m.mean[3])),m===void 0||m.bias===void 0?g=[0,0,0,0]:typeof m.bias=="number"?g=[m.bias,m.bias,m.bias,m.bias]:(g=[m.bias[0],m.bias[1],m.bias[2],0],m.bias[3]!==void 0&&(g[3]=m.bias[3]));let b=d*o;if(t!==void 0&&(t.format!==void 0&&c===4&&t.format!=="RGBA"||c===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let y=4,T=0,I=1,D=2,z=3,v=0,O=b,F=b*2,_=-1;l==="RGBA"?(v=0,O=b,F=b*2,_=b*3):l==="RGB"?(v=0,O=b,F=b*2):l==="RBG"&&(v=0,F=b,O=b*2),u=a.createImageData(o,d);for(let k=0;k<d*o;T+=y,I+=y,D+=y,z+=y,k++)u.data[T]=(n.data[v++]-g[0])*h[0],u.data[I]=(n.data[O++]-g[1])*h[1],u.data[D]=(n.data[F++]-g[2])*h[2],u.data[z]=_===-1?255:(n.data[_++]-g[3])*h[3]}else throw new Error("Can not access image data");return u}});var Kt,Tr,Sr,vr,Or,Ar,Ir=N(()=>{"use strict";ct();Kt=(n,t)=>{if(n===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:a,width:u}=t,o=t.norm??{mean:255,bias:0},d,c;typeof o.mean=="number"?d=[o.mean,o.mean,o.mean,o.mean]:d=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias=="number"?c=[o.bias,o.bias,o.bias,o.bias]:c=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let l=t.format!==void 0?t.format:"RGBA",m=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",h=a*u,g=m==="RGBA"?new Float32Array(h*4):new Float32Array(h*3),b=4,y=0,T=1,I=2,D=3,z=0,v=h,O=h*2,F=-1;l==="RGB"&&(b=3,y=0,T=1,I=2,D=-1),m==="RGBA"?F=h*3:m==="RBG"?(z=0,O=h,v=h*2):m==="BGR"&&(O=0,v=h,z=h*2);for(let k=0;k<h;k++,y+=b,I+=b,T+=b,D+=b)g[z++]=(n[y]+c[0])/d[0],g[v++]=(n[T]+c[1])/d[1],g[O++]=(n[I]+c[2])/d[2],F!==-1&&D!==-1&&(g[F++]=(n[D]+c[3])/d[3]);return m==="RGBA"?new Q("float32",g,[1,4,a,u]):new Q("float32",g,[1,3,a,u])},Tr=async(n,t)=>{let a=typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement,u=typeof ImageData<"u"&&n instanceof ImageData,o=typeof ImageBitmap<"u"&&n instanceof ImageBitmap,d=typeof n=="string",c,l=t??{},m=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},h=g=>typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement||g instanceof OffscreenCanvas?g.getContext("2d"):null;if(a){let g=m();g.width=n.width,g.height=n.height;let b=h(g);if(b!=null){let y=n.height,T=n.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(y=t.resizedHeight,T=t.resizedWidth),t!==void 0){if(l=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");l.tensorFormat="RGBA",l.height=y,l.width=T}else l.tensorFormat="RGBA",l.height=y,l.width=T;b.drawImage(n,0,0),c=b.getImageData(0,0,T,y).data}else throw new Error("Can not access image data")}else if(u){let g,b;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(g=t.resizedHeight,b=t.resizedWidth):(g=n.height,b=n.width),t!==void 0&&(l=t),l.format="RGBA",l.height=g,l.width=b,t!==void 0){let y=m();y.width=b,y.height=g;let T=h(y);if(T!=null)T.putImageData(n,0,0),c=T.getImageData(0,0,b,g).data;else throw new Error("Can not access image data")}else c=n.data}else if(o){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let g=m();g.width=n.width,g.height=n.height;let b=h(g);if(b!=null){let y=n.height,T=n.width;return b.drawImage(n,0,0,T,y),c=b.getImageData(0,0,T,y).data,l.height=y,l.width=T,Kt(c,l)}else throw new Error("Can not access image data")}else{if(d)return new Promise((g,b)=>{let y=m(),T=h(y);if(!n||!T)return b();let I=new Image;I.crossOrigin="Anonymous",I.src=n,I.onload=()=>{y.width=I.width,y.height=I.height,T.drawImage(I,0,0,y.width,y.height);let D=T.getImageData(0,0,y.width,y.height);l.height=y.height,l.width=y.width,g(Kt(D.data,l))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(c!==void 0)return Kt(c,l);throw new Error("Input data provided is not supported - aborted tensor creation")},Sr=(n,t)=>{let{width:a,height:u,download:o,dispose:d}=t,c=[1,u,a,4];return new Q({location:"texture",type:"float32",texture:n,dims:c,download:o,dispose:d})},vr=(n,t)=>{let{dataType:a,dims:u,download:o,dispose:d}=t;return new Q({location:"gpu-buffer",type:a??"float32",gpuBuffer:n,dims:u,download:o,dispose:d})},Or=(n,t)=>{let{dataType:a,dims:u,download:o,dispose:d}=t;return new Q({location:"ml-tensor",type:a??"float32",mlTensor:n,dims:u,download:o,dispose:d})},Ar=(n,t,a)=>new Q({location:"cpu-pinned",type:n,data:t,dims:a??[t.length]})});var Le,Xe,Br,Lr,_r=N(()=>{"use strict";Le=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Xe=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Br=!1,Lr=()=>{if(!Br){Br=!0;let n=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,a=globalThis.Float16Array,u=typeof a<"u"&&a.from;n&&(Le.set("int64",BigInt64Array),Xe.set(BigInt64Array,"int64")),t&&(Le.set("uint64",BigUint64Array),Xe.set(BigUint64Array,"uint64")),u?(Le.set("float16",a),Xe.set(a,"float16")):Le.set("float16",Uint16Array)}}});var Pr,Dr,Ur=N(()=>{"use strict";ct();Pr=n=>{let t=1;for(let a=0;a<n.length;a++){let u=n[a];if(typeof u!="number"||!Number.isSafeInteger(u))throw new TypeError(`dims[${a}] must be an integer, got: ${u}`);if(u<0)throw new RangeError(`dims[${a}] must be a non-negative integer, got: ${u}`);t*=u}return t},Dr=(n,t)=>{switch(n.location){case"cpu":return new Q(n.type,n.data,t);case"cpu-pinned":return new Q({location:"cpu-pinned",data:n.data,type:n.type,dims:t});case"texture":return new Q({location:"texture",texture:n.texture,type:n.type,dims:t});case"gpu-buffer":return new Q({location:"gpu-buffer",gpuBuffer:n.gpuBuffer,type:n.type,dims:t});case"ml-tensor":return new Q({location:"ml-tensor",mlTensor:n.mlTensor,type:n.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${n.location} is not supported`)}}});var Q,ct=N(()=>{"use strict";Er();Ir();_r();Ur();Q=class{constructor(t,a,u){Lr();let o,d;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,o=t.type,d=t.dims,t.location){case"cpu-pinned":{let l=Le.get(o);if(!l)throw new TypeError(`unsupported type "${o}" to create tensor from pinned buffer`);if(!(t.data instanceof l))throw new TypeError(`buffer should be of type ${l.name}`);this.cpuData=t.data;break}case"texture":{if(o!=="float32")throw new TypeError(`unsupported type "${o}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(o!=="float32"&&o!=="float16"&&o!=="int32"&&o!=="int64"&&o!=="uint32"&&o!=="uint8"&&o!=="bool"&&o!=="uint4"&&o!=="int4")throw new TypeError(`unsupported type "${o}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(o!=="float32"&&o!=="float16"&&o!=="int32"&&o!=="int64"&&o!=="uint32"&&o!=="uint64"&&o!=="int8"&&o!=="uint8"&&o!=="bool"&&o!=="uint4"&&o!=="int4")throw new TypeError(`unsupported type "${o}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let l,m;if(typeof t=="string")if(o=t,m=u,t==="string"){if(!Array.isArray(a))throw new TypeError("A string tensor's data must be a string array.");l=a}else{let h=Le.get(t);if(h===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(a)){if(t==="float16"&&h===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${h.name} as data.`);t==="uint64"||t==="int64"?l=h.from(a,BigInt):l=h.from(a)}else if(a instanceof h)l=a;else if(a instanceof Uint8ClampedArray)if(t==="uint8")l=Uint8Array.from(a);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&a instanceof Uint16Array&&h!==Uint16Array)l=new globalThis.Float16Array(a.buffer,a.byteOffset,a.length);else throw new TypeError(`A ${o} tensor's data must be type of ${h}`)}else if(m=a,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let h=typeof t[0];if(h==="string")o="string",l=t;else if(h==="boolean")o="bool",l=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${h}.`)}else if(t instanceof Uint8ClampedArray)o="uint8",l=Uint8Array.from(t);else{let h=Xe.get(t.constructor);if(h===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);o=h,l=t}if(m===void 0)m=[l.length];else if(!Array.isArray(m))throw new TypeError("A tensor's dims must be a number array");d=m,this.cpuData=l,this.dataLocation="cpu"}let c=Pr(d);if(this.cpuData&&c!==this.cpuData.length&&!((o==="uint4"||o==="int4")&&Math.ceil(c/2)===this.cpuData.length))throw new Error(`Tensor's size(${c}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=d,this.size=c}static async fromImage(t,a){return Tr(t,a)}static fromTexture(t,a){return Sr(t,a)}static fromGpuBuffer(t,a){return vr(t,a)}static fromMLTensor(t,a){return Or(t,a)}static fromPinnedBuffer(t,a,u){return Ar(t,a,u)}toDataURL(t){return yr(this,t)}toImageData(t){return gr(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let a=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=a,t&&this.disposer&&(this.disposer(),this.disposer=void 0),a}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Dr(this,t)}}});var de,en=N(()=>{"use strict";ct();de=Q});var xr,Mr,_e,Pe,De,Ue,tn=N(()=>{"use strict";Zt();xr=(n,t)=>{(typeof J.trace>"u"?!J.wasm.trace:!J.trace)||console.timeStamp(`${n}::ORT::${t}`)},Mr=(n,t)=>{let a=new Error().stack?.split(/\r\n|\r|\n/g)||[],u=!1;for(let o=0;o<a.length;o++){if(u&&!a[o].includes("TRACE_FUNC")){let d=`FUNC_${n}::${a[o].trim().split(" ")[1]}`;t&&(d+=`::${t}`),xr("CPU",d);return}a[o].includes("TRACE_FUNC")&&(u=!0)}},_e=n=>{(typeof J.trace>"u"?!J.wasm.trace:!J.trace)||Mr("BEGIN",n)},Pe=n=>{(typeof J.trace>"u"?!J.wasm.trace:!J.trace)||Mr("END",n)},De=n=>{(typeof J.trace>"u"?!J.wasm.trace:!J.trace)||console.time(`ORT::${n}`)},Ue=n=>{(typeof J.trace>"u"?!J.wasm.trace:!J.trace)||console.timeEnd(`ORT::${n}`)}});var lt,Cr=N(()=>{"use strict";Qt();en();tn();lt=class n{constructor(t){this.handler=t}async run(t,a,u){_e(),De("InferenceSession.run");let o={},d={};if(typeof t!="object"||t===null||t instanceof de||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let c=!0;if(typeof a=="object"){if(a===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(a instanceof de)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(a)){if(a.length===0)throw new TypeError("'fetches' cannot be an empty array.");c=!1;for(let h of a){if(typeof h!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(h)===-1)throw new RangeError(`'fetches' contains invalid output name: ${h}.`);o[h]=null}if(typeof u=="object"&&u!==null)d=u;else if(typeof u<"u")throw new TypeError("'options' must be an object.")}else{let h=!1,g=Object.getOwnPropertyNames(a);for(let b of this.outputNames)if(g.indexOf(b)!==-1){let y=a[b];(y===null||y instanceof de)&&(h=!0,c=!1,o[b]=y)}if(h){if(typeof u=="object"&&u!==null)d=u;else if(typeof u<"u")throw new TypeError("'options' must be an object.")}else d=a}}else if(typeof a<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let h of this.inputNames)if(typeof t[h]>"u")throw new Error(`input '${h}' is missing in 'feeds'.`);if(c)for(let h of this.outputNames)o[h]=null;let l=await this.handler.run(t,o,d),m={};for(let h in l)if(Object.hasOwnProperty.call(l,h)){let g=l[h];g instanceof de?m[h]=g:m[h]=new de(g.type,g.data,g.dims)}return Ue("InferenceSession.run"),Pe(),m}async release(){return this.handler.dispose()}static async create(t,a,u,o){_e(),De("InferenceSession.create");let d,c={};if(typeof t=="string"){if(d=t,typeof a=="object"&&a!==null)c=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(d=t,typeof a=="object"&&a!==null)c=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let g=t,b=0,y=t.byteLength;if(typeof a=="object"&&a!==null)c=a;else if(typeof a=="number"){if(b=a,!Number.isSafeInteger(b))throw new RangeError("'byteOffset' must be an integer.");if(b<0||b>=g.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${g.byteLength}).`);if(y=t.byteLength-b,typeof u=="number"){if(y=u,!Number.isSafeInteger(y))throw new RangeError("'byteLength' must be an integer.");if(y<=0||b+y>g.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${g.byteLength-b}].`);if(typeof o=="object"&&o!==null)c=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else if(typeof u<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof a<"u")throw new TypeError("'options' must be an object.");d=new Uint8Array(g,b,y)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[l,m]=await dr(c),h=await l.createInferenceSessionHandler(d,m);return Ue("InferenceSession.create"),Pe(),new n(h)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var ts,Rr=N(()=>{"use strict";Cr();ts=lt});var Fr=N(()=>{"use strict"});var Nr=N(()=>{"use strict"});var kr=N(()=>{"use strict"});var Wr=N(()=>{"use strict"});var nn={};ut(nn,{InferenceSession:()=>ts,TRACE:()=>xr,TRACE_EVENT_BEGIN:()=>De,TRACE_EVENT_END:()=>Ue,TRACE_FUNC_BEGIN:()=>_e,TRACE_FUNC_END:()=>Pe,Tensor:()=>de,env:()=>Y,registerBackend:()=>qe});var Te=N(()=>{"use strict";pr();br();Rr();en();Fr();Nr();tn();kr();Wr()});var dt=N(()=>{"use strict"});var Hr={};ut(Hr,{default:()=>ns});var $r,zr,ns,jr=N(()=>{"use strict";rn();xe();pt();$r="ort-wasm-proxy-worker",zr=globalThis.self?.name===$r;zr&&(self.onmessage=n=>{let{type:t,in:a}=n.data;try{switch(t){case"init-wasm":mt(a.wasm).then(()=>{ht(a).then(()=>{postMessage({type:t})},u=>{postMessage({type:t,err:u})})},u=>{postMessage({type:t,err:u})});break;case"init-ep":{let{epName:u,env:o}=a;wt(o,u).then(()=>{postMessage({type:t})},d=>{postMessage({type:t,err:d})});break}case"copy-from":{let{buffer:u}=a,o=Qe(u);postMessage({type:t,out:o});break}case"create":{let{model:u,options:o}=a;bt(u,o).then(d=>{postMessage({type:t,out:d})},d=>{postMessage({type:t,err:d})});break}case"release":yt(a),postMessage({type:t});break;case"run":{let{sessionId:u,inputIndices:o,inputs:d,outputIndices:c,options:l}=a;gt(u,o,d,c,new Array(c.length).fill(null),l).then(m=>{m.some(h=>h[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:m},Tt([...d,...m]))},m=>{postMessage({type:t,err:m})});break}case"end-profiling":Et(a),postMessage({type:t});break;default:}}catch(u){postMessage({type:t,err:u})}});ns=zr?null:n=>new Worker(n??oe,{type:"module",name:$r})});var Yr={};ut(Yr,{default:()=>rs});async function Vr(n={}){var t=n,a=!!globalThis.window,u=!!globalThis.WorkerGlobalScope,o=u&&self.name?.startsWith("em-pthread");t.mountExternalData=(e,r)=>{e.startsWith("./")&&(e=e.substring(2)),(t.Rb||(t.Rb=new Map)).set(e,r)},t.unmountExternalData=()=>{delete t.Rb},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;var d,c,l=(e,r)=>{throw r},m=import.meta.url,h="";if(a||u){try{h=new URL(".",m).href}catch{}u&&(c=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),d=async e=>{if(k(e))return new Promise((i,s)=>{var f=new XMLHttpRequest;f.open("GET",e,!0),f.responseType="arraybuffer",f.onload=()=>{f.status==200||f.status==0&&f.response?i(f.response):s(f.status)},f.onerror=s,f.send(null)});var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw Error(r.status+" : "+r.url)}}var g,b,y,T,I,D,z=console.log.bind(console),v=console.error.bind(console),O=z,F=v,_=!1,k=e=>e.startsWith("file://");function w(){ge.buffer!=j.buffer&&ee()}if(o){let e=function(r){try{var i=r.data,s=i.Pb;if(s==="load"){let f=[];self.onmessage=p=>f.push(p),D=()=>{postMessage({Pb:"loaded"});for(let p of f)e(p);self.onmessage=e};for(let p of i.Zb)t[p]&&!t[p].proxy||(t[p]=(...E)=>{postMessage({Pb:"callHandler",Yb:p,args:E})},p=="print"&&(O=t[p]),p=="printErr"&&(F=t[p]));ge=i.dc,ee(),b=i.ec,Ut(),it()}else if(s==="run"){(function(f){var p=(w(),W)[f+52>>>2>>>0];f=(w(),W)[f+56>>>2>>>0],sr(p,p-f),P(p)})(i.Ob),zt(i.Ob,0,0,1,0,0),wn(),Ft(i.Ob),Z||=!0;try{Ao(i.bc,i.Tb)}catch(f){if(f!="unwind")throw f}}else i.target!=="setimmediate"&&(s==="checkMailbox"?Z&&rt():s&&(F(`worker: received unknown command ${s}`),F(i)))}catch(f){throw tr(),f}};var Ss=e,Z=!1;self.onunhandledrejection=r=>{throw r.reason||r},self.onmessage=e}var j,ne,pe,B,W,re,me,A,K,je=!1;function ee(){var e=ge.buffer;t.HEAP8=j=new Int8Array(e),pe=new Int16Array(e),t.HEAPU8=ne=new Uint8Array(e),new Uint16Array(e),t.HEAP32=B=new Int32Array(e),t.HEAPU32=W=new Uint32Array(e),re=new Float32Array(e),me=new Float64Array(e),A=new BigInt64Array(e),new BigUint64Array(e)}function he(){je=!0,o?D():Ee.Ta()}function H(e){throw F(e="Aborted("+e+")"),_=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),I?.(e),e}function q(){return{a:{R:fa,f:Io,w:Bo,e:Lo,k:_o,g:Po,S:Do,b:Uo,G:xo,ta:vn,j:Mo,L:In,Ja:Bn,pa:Ln,ra:_n,Ka:Pn,Ha:Dn,Aa:Un,Ga:xn,Y:Mn,qa:Cn,na:Rn,Ia:Fn,oa:Nn,Pa:Co,Da:Ro,la:No,ua:ko,ia:Wo,T:Go,Ca:Ft,Ma:$o,xa:zo,ya:Ho,za:jo,va:$n,wa:zn,ja:Hn,Ra:Yo,Oa:Xo,V:Qo,U:Zo,Na:Jo,F:Ko,La:ea,ma:ta,u:Vo,H:na,Q:at,ka:oa,aa:ra,Sa:aa,Ea:Yn,Fa:Jn,sa:ye,I:qn,X:Xn,Ba:Qn,W:Zn,_:ja,M:Wa,$:Ha,N:ka,v:Pa,c:pa,m:la,n:ca,q:va,ba:Ra,x:Ba,o:wa,O:Fa,D:Ga,J:Ca,ca:Ma,da:xa,A:Oa,P:Ua,ea:Da,z:La,E:Na,d:da,r:ha,i:ma,Z:Va,l:ya,p:ga,s:ba,t:Ea,y:Aa,fa:_a,B:$a,K:Ia,C:za,ga:Sa,ha:Ta,h:ia,a:ge,Qa:V}}}async function Ut(){function e(s,f){return Ee=s.exports,Ee=function(){var p=Ee,E=x=>()=>x()>>>0,S=x=>R=>x(R)>>>0;return(p=Object.assign({},p)).sb=E(p.sb),p.ub=S(p.ub),p.Ib=S(p.Ib),p.Jb=E(p.Jb),p.Nb=S(p.Nb),p}(),mn.push(Ee.vb),s=Ee,t._OrtInit=s.Ua,t._OrtGetLastError=s.Va,t._OrtCreateSessionOptions=s.Wa,t._OrtAppendExecutionProvider=s.Xa,t._OrtAddFreeDimensionOverride=s.Ya,t._OrtAddSessionConfigEntry=s.Za,t._OrtReleaseSessionOptions=s._a,t._OrtCreateSession=s.$a,t._OrtReleaseSession=s.ab,t._OrtGetInputOutputCount=s.bb,t._OrtGetInputOutputMetadata=s.cb,t._OrtFree=s.db,t._OrtCreateTensor=s.eb,t._OrtGetTensorData=s.fb,t._OrtReleaseTensor=s.gb,t._OrtCreateRunOptions=s.hb,t._OrtAddRunConfigEntry=s.ib,t._OrtReleaseRunOptions=s.jb,t._OrtCreateBinding=s.kb,t._OrtBindInput=s.lb,t._OrtBindOutput=s.mb,t._OrtClearBoundOutputs=s.nb,t._OrtReleaseBinding=s.ob,t._OrtRunWithBinding=s.pb,t._OrtRun=s.qb,t._OrtEndProfiling=s.rb,st=s.sb,Kn=t._free=s.tb,er=t._malloc=s.ub,zt=s.xb,tr=s.yb,nr=s.zb,rr=s.Ab,Ht=s.Bb,or=s.Cb,ar=s.Db,M=s.Eb,Je=s.Fb,sr=s.Gb,P=s.Hb,jt=s.Ib,U=s.Jb,ir=s.Kb,Vt=s.Lb,ur=s.Mb,fr=s.Nb,cr=s.wb,b=f,Ee}var r,i=q();return t.instantiateWasm?new Promise(s=>{t.instantiateWasm(i,(f,p)=>{s(e(f,p))})}):o?e(new WebAssembly.Instance(b,q()),b):(K??=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.wasm",h):h+"ort-wasm-simd-threaded.wasm":new URL("ort-wasm-simd-threaded.wasm",import.meta.url).href,r=await async function(s){var f=K;if(!g&&!k(f))try{var p=fetch(f,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(p,s)}catch(E){F(`wasm streaming compile failed: ${E}`),F("falling back to ArrayBuffer instantiation")}return async function(E,S){try{var x=await async function(R){if(!g)try{var X=await d(R);return new Uint8Array(X)}catch{}if(R==K&&g)R=new Uint8Array(g);else{if(!c)throw"both async and sync fetching of the wasm failed";R=c(R)}return R}(E);return await WebAssembly.instantiate(x,S)}catch(R){F(`failed to asynchronously prepare wasm: ${R}`),H(R)}}(f,s)}(i),e(r.instance,r.module))}class Se{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var ve=e=>{e.terminate(),e.onmessage=()=>{}},Ve=[],Re=0,te=null,ue=e=>{ce.length==0&&(yn(),bn(ce[0]));var r=ce.pop();if(!r)return 6;Fe.push(r),Oe[e.Ob]=r,r.Ob=e.Ob;var i={Pb:"run",bc:e.ac,Tb:e.Tb,Ob:e.Ob};return r.postMessage(i,e.Xb),0},se=0,L=(e,r,...i)=>{var s,f=16*i.length,p=U(),E=jt(f),S=E>>>3;for(s of i)typeof s=="bigint"?((w(),A)[S++>>>0]=1n,(w(),A)[S++>>>0]=s):((w(),A)[S++>>>0]=0n,(w(),me)[S++>>>0]=s);return e=nr(e,0,f,E,r),P(p),e};function V(e){if(o)return L(0,1,e);if(y=e,!(0<se)){for(var r of Fe)ve(r);for(r of ce)ve(r);ce=[],Fe=[],Oe={},_=!0}l(0,new Se(e))}function fe(e){if(o)return L(1,0,e);ye(e)}var ye=e=>{if(y=e,o)throw fe(e),"unwind";V(e)},ce=[],Fe=[],mn=[],Oe={},hn=e=>{var r=e.Ob;delete Oe[r],ce.push(e),Fe.splice(Fe.indexOf(e),1),e.Ob=0,rr(r)};function wn(){mn.forEach(e=>e())}var bn=e=>new Promise(r=>{e.onmessage=f=>{var p=f.data;if(f=p.Pb,p.Sb&&p.Sb!=st()){var E=Oe[p.Sb];E?E.postMessage(p,p.Xb):F(`Internal error! Worker sent a message "${f}" to target pthread ${p.Sb}, but that thread no longer exists!`)}else f==="checkMailbox"?rt():f==="spawnThread"?ue(p):f==="cleanupThread"?Rt(()=>{hn(Oe[p.cc])}):f==="loaded"?(e.loaded=!0,r(e)):p.target==="setimmediate"?e.postMessage(p):f==="uncaughtException"?e.onerror(p.error):f==="callHandler"?t[p.Yb](...p.args):f&&F(`worker sent an unknown command ${f}`)},e.onerror=f=>{throw F(`worker sent an error! ${f.filename}:${f.lineno}: ${f.message}`),f};var i,s=[];for(i of[])t.propertyIsEnumerable(i)&&s.push(i);e.postMessage({Pb:"load",Zb:s,dc:ge,ec:b})});function yn(){var e=new Worker((()=>{let r=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new r("ort.wasm.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});ce.push(e)}var ge,gn=[],C=e=>{var r=gn[e];return r||(gn[e]=r=cr.get(e)),r},Ao=(e,r)=>{se=0,e=C(e)(r),0<se?y=e:Ht(e)},tt=[],nt=0;function Io(e){var r=new xt(e>>>=0);return(w(),j)[r.Qb+12>>>0]==0&&(En(r,!0),nt--),Tn(r,!1),tt.push(r),fr(e)}var Ne=0,Bo=()=>{M(0,0);var e=tt.pop();ir(e.Ub),Ne=0};function En(e,r){r=r?1:0,(w(),j)[e.Qb+12>>>0]=r}function Tn(e,r){r=r?1:0,(w(),j)[e.Qb+13>>>0]=r}class xt{constructor(r){this.Ub=r,this.Qb=r-24}}var Mt=e=>{var r=Ne;if(!r)return Je(0),0;var i=new xt(r);(w(),W)[i.Qb+16>>>2>>>0]=r;var s=(w(),W)[i.Qb+4>>>2>>>0];if(!s)return Je(0),r;for(var f of e){if(f===0||f===s)break;if(ur(f,s,i.Qb+16))return Je(f),r}return Je(s),r};function Lo(){return Mt([])}function _o(e){return Mt([e>>>0])}function Po(e,r,i,s){return Mt([e>>>0,r>>>0,i>>>0,s>>>0])}var Do=()=>{var e=tt.pop();e||H("no exception to throw");var r=e.Ub;throw(w(),j)[e.Qb+13>>>0]==0&&(tt.push(e),Tn(e,!0),En(e,!1),nt++),Vt(r),Ne=r};function Uo(e,r,i){var s=new xt(e>>>=0);throw r>>>=0,i>>>=0,(w(),W)[s.Qb+16>>>2>>>0]=0,(w(),W)[s.Qb+4>>>2>>>0]=r,(w(),W)[s.Qb+8>>>2>>>0]=i,Vt(e),nt++,Ne=e}var xo=()=>nt;function Sn(e,r,i,s){return o?L(2,1,e,r,i,s):vn(e,r,i,s)}function vn(e,r,i,s){if(e>>>=0,r>>>=0,i>>>=0,s>>>=0,!globalThis.SharedArrayBuffer)return 6;var f=[];return o&&f.length===0?Sn(e,r,i,s):(e={ac:i,Ob:e,Tb:s,Xb:f},o?(e.Pb="spawnThread",postMessage(e,f),0):ue(e))}function Mo(e){throw Ne||=e>>>0,Ne}var On=globalThis.TextDecoder&&new TextDecoder,An=(e,r=0,i,s)=>{var f=r>>>=0;if(i=f+i,s)s=i;else{for(;e[f]&&!(f>=i);)++f;s=f}if(16<s-r&&e.buffer&&On)return On.decode(e.buffer instanceof ArrayBuffer?e.subarray(r,s):e.slice(r,s));for(f="";r<s;)if(128&(i=e[r++])){var p=63&e[r++];if((224&i)==192)f+=String.fromCharCode((31&i)<<6|p);else{var E=63&e[r++];65536>(i=(240&i)==224?(15&i)<<12|p<<6|E:(7&i)<<18|p<<12|E<<6|63&e[r++])?f+=String.fromCharCode(i):(i-=65536,f+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else f+=String.fromCharCode(i);return f},Ct=(e,r,i)=>(e>>>=0)?An((w(),ne),e,r,i):"";function In(e,r,i){return o?L(3,1,e,r,i):0}function Bn(e,r){if(o)return L(4,1,e,r)}function Ln(e,r){if(o)return L(5,1,e,r)}function _n(e,r,i){if(o)return L(6,1,e,r,i)}function Pn(e,r,i){return o?L(7,1,e,r,i):0}function Dn(e,r){if(o)return L(8,1,e,r)}function Un(e,r,i){if(o)return L(9,1,e,r,i)}function xn(e,r,i,s){if(o)return L(10,1,e,r,i,s)}function Mn(e,r,i,s){if(o)return L(11,1,e,r,i,s)}function Cn(e,r,i,s){if(o)return L(12,1,e,r,i,s)}function Rn(e){if(o)return L(13,1,e)}function Fn(e,r){if(o)return L(14,1,e,r)}function Nn(e,r,i){if(o)return L(15,1,e,r,i)}var Co=()=>H("");function Ro(e){zt(e>>>0,!u,1,!a,131072,!1),wn()}var Rt=e=>{if(!_)try{if(e(),!(0<se))try{o?st()&&Ht(y):ye(y)}catch(r){r instanceof Se||r=="unwind"||l(0,r)}}catch(r){r instanceof Se||r=="unwind"||l(0,r)}},Fo=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ft(e){e>>>=0,Fo||(Atomics.waitAsync((w(),B),e>>>2,e).value.then(rt),e+=128,Atomics.store((w(),B),e>>>2,1))}var rt=()=>Rt(()=>{var e=st();e&&(Ft(e),ar())});function No(e,r){(e>>>=0)==r>>>0?setTimeout(rt):o?postMessage({Sb:e,Pb:"checkMailbox"}):(e=Oe[e])&&e.postMessage({Pb:"checkMailbox"})}var Nt=[];function ko(e,r,i,s,f){for(r>>>=0,f>>>=0,Nt.length=0,i=f>>>3,s=f+s>>>3;i<s;){var p;p=(w(),A)[i++>>>0]?(w(),A)[i++>>>0]:(w(),me)[i++>>>0],Nt.push(p)}return(r?lr[r]:ua[e])(...Nt)}var Wo=()=>{se=0};function Go(e){e>>>=0,o?postMessage({Pb:"cleanupThread",cc:e}):hn(Oe[e])}function $o(e){}function zo(e,r){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),r>>>=0,e=new Date(1e3*e),(w(),B)[r>>>2>>>0]=e.getUTCSeconds(),(w(),B)[r+4>>>2>>>0]=e.getUTCMinutes(),(w(),B)[r+8>>>2>>>0]=e.getUTCHours(),(w(),B)[r+12>>>2>>>0]=e.getUTCDate(),(w(),B)[r+16>>>2>>>0]=e.getUTCMonth(),(w(),B)[r+20>>>2>>>0]=e.getUTCFullYear()-1900,(w(),B)[r+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(w(),B)[r+28>>>2>>>0]=e}var kn=e=>e%4==0&&(e%100!=0||e%400==0),Wn=[0,31,60,91,121,152,182,213,244,274,305,335],Gn=[0,31,59,90,120,151,181,212,243,273,304,334];function Ho(e,r){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),r>>>=0,e=new Date(1e3*e),(w(),B)[r>>>2>>>0]=e.getSeconds(),(w(),B)[r+4>>>2>>>0]=e.getMinutes(),(w(),B)[r+8>>>2>>>0]=e.getHours(),(w(),B)[r+12>>>2>>>0]=e.getDate(),(w(),B)[r+16>>>2>>>0]=e.getMonth(),(w(),B)[r+20>>>2>>>0]=e.getFullYear()-1900,(w(),B)[r+24>>>2>>>0]=e.getDay();var i=(kn(e.getFullYear())?Wn:Gn)[e.getMonth()]+e.getDate()-1|0;(w(),B)[r+28>>>2>>>0]=i,(w(),B)[r+36>>>2>>>0]=-60*e.getTimezoneOffset(),i=new Date(e.getFullYear(),6,1).getTimezoneOffset();var s=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=0|(i!=s&&e.getTimezoneOffset()==Math.min(s,i)),(w(),B)[r+32>>>2>>>0]=e}function jo(e){e>>>=0;var r=new Date((w(),B)[e+20>>>2>>>0]+1900,(w(),B)[e+16>>>2>>>0],(w(),B)[e+12>>>2>>>0],(w(),B)[e+8>>>2>>>0],(w(),B)[e+4>>>2>>>0],(w(),B)[e>>>2>>>0],0),i=(w(),B)[e+32>>>2>>>0],s=r.getTimezoneOffset(),f=new Date(r.getFullYear(),6,1).getTimezoneOffset(),p=new Date(r.getFullYear(),0,1).getTimezoneOffset(),E=Math.min(p,f);return 0>i?(w(),B)[e+32>>>2>>>0]=+(f!=p&&E==s):0<i!=(E==s)&&(f=Math.max(p,f),r.setTime(r.getTime()+6e4*((0<i?E:f)-s))),(w(),B)[e+24>>>2>>>0]=r.getDay(),i=(kn(r.getFullYear())?Wn:Gn)[r.getMonth()]+r.getDate()-1|0,(w(),B)[e+28>>>2>>>0]=i,(w(),B)[e>>>2>>>0]=r.getSeconds(),(w(),B)[e+4>>>2>>>0]=r.getMinutes(),(w(),B)[e+8>>>2>>>0]=r.getHours(),(w(),B)[e+12>>>2>>>0]=r.getDate(),(w(),B)[e+16>>>2>>>0]=r.getMonth(),(w(),B)[e+20>>>2>>>0]=r.getYear(),e=r.getTime(),BigInt(isNaN(e)?-1:e/1e3)}function $n(e,r,i,s,f,p,E){return o?L(16,1,e,r,i,s,f,p,E):-52}function zn(e,r,i,s,f,p){if(o)return L(17,1,e,r,i,s,f,p)}var Ye={},Vo=()=>performance.timeOrigin+performance.now();function Hn(e,r){if(o)return L(18,1,e,r);if(Ye[e]&&(clearTimeout(Ye[e].id),delete Ye[e]),!r)return 0;var i=setTimeout(()=>{delete Ye[e],Rt(()=>or(e,performance.timeOrigin+performance.now()))},r);return Ye[e]={id:i,jc:r},0}var Ae=(e,r,i)=>{var s=(w(),ne);if(r>>>=0,0<i){var f=r;i=r+i-1;for(var p=0;p<e.length;++p){var E=e.codePointAt(p);if(127>=E){if(r>=i)break;s[r++>>>0]=E}else if(2047>=E){if(r+1>=i)break;s[r++>>>0]=192|E>>6,s[r++>>>0]=128|63&E}else if(65535>=E){if(r+2>=i)break;s[r++>>>0]=224|E>>12,s[r++>>>0]=128|E>>6&63,s[r++>>>0]=128|63&E}else{if(r+3>=i)break;s[r++>>>0]=240|E>>18,s[r++>>>0]=128|E>>12&63,s[r++>>>0]=128|E>>6&63,s[r++>>>0]=128|63&E,p++}}s[r>>>0]=0,e=r-f}else e=0;return e};function Yo(e,r,i,s){e>>>=0,r>>>=0,i>>>=0,s>>>=0;var f=new Date().getFullYear(),p=new Date(f,0,1).getTimezoneOffset();f=new Date(f,6,1).getTimezoneOffset();var E=Math.max(p,f);(w(),W)[e>>>2>>>0]=60*E,(w(),B)[r>>>2>>>0]=+(p!=f),e=(r=S=>{var x=Math.abs(S);return`UTC${0<=S?"-":"+"}${String(Math.floor(x/60)).padStart(2,"0")}${String(x%60).padStart(2,"0")}`})(p),r=r(f),f<p?(Ae(e,i,17),Ae(r,s,17)):(Ae(e,s,17),Ae(r,i,17))}var Jo=()=>Date.now(),qo=1;function Xo(e,r,i){if(i>>>=0,!(0<=e&&3>=e))return 28;if(e===0)e=Date.now();else{if(!qo)return 52;e=performance.timeOrigin+performance.now()}return e=Math.round(1e6*e),(w(),A)[i>>>3>>>0]=BigInt(e),0}var kt=[];function Qo(e,r,i){e>>>=0,r>>>=0,i>>>=0,kt.length=0;for(var s;s=(w(),ne)[r++>>>0];){var f=s!=105;i+=(f&=s!=112)&&i%8?4:0,kt.push(s==112?(w(),W)[i>>>2>>>0]:s==106?(w(),A)[i>>>3>>>0]:s==105?(w(),B)[i>>>2>>>0]:(w(),me)[i>>>3>>>0]),i+=f?8:4}return lr[e](...kt)}var Zo=()=>{};function Ko(e,r){return F(Ct(e>>>0,r>>>0))}var ea=()=>{throw se+=1,"unwind"};function ta(){return 4294901760}var na=()=>navigator.hardwareConcurrency,Ie={},Wt=e=>{for(var r=0,i=0;i<e.length;++i){var s=e.charCodeAt(i);127>=s?r++:2047>=s?r+=2:55296<=s&&57343>=s?(r+=4,++i):r+=3}return r},ot=e=>{var r;return(r=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(e))?+r[1]:(r=/:(\d+):\d+(?:\)|$)/.exec(e))?2147483648|+r[1]:0},jn=e=>{for(var r of e)(e=ot(r))&&(Ie[e]=r)};function ra(){var e=Error().stack.toString().split(`
|
| 7 |
+
`);return e[0]=="Error"&&e.shift(),jn(e),Ie.Vb=ot(e[3]),Ie.$b=e,Ie.Vb}function at(e){if(!(e=Ie[e>>>0]))return 0;var r;if(r=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(e))e=r[1];else if(r=/^\s+at (.*) \(.*\)$/.exec(e))e=r[1];else{if(!(r=/^(.+?)@/.exec(e)))return 0;e=r[1]}Kn(at.Wb??0),r=Wt(e)+1;var i=er(r);return i&&Ae(e,i,r),at.Wb=i,at.Wb}function oa(e){e>>>=0;var r=(w(),ne).length;if(e<=r||4294901760<e)return!1;for(var i=1;4>=i;i*=2){var s=r*(1+.2/i);s=Math.min(s,e+100663296);e:{s=(Math.min(4294901760,65536*Math.ceil(Math.max(e,s)/65536))-ge.buffer.byteLength+65535)/65536|0;try{ge.grow(s),ee();var f=1;break e}catch{}f=void 0}if(f)return!0}return!1}function aa(e,r,i){if(e>>>=0,r>>>=0,Ie.Vb==e)var s=Ie.$b;else(s=Error().stack.toString().split(`
|
| 8 |
+
`))[0]=="Error"&&s.shift(),jn(s);for(var f=3;s[f]&&ot(s[f])!=e;)++f;for(e=0;e<i&&s[e+f];++e)(w(),B)[r+4*e>>>2>>>0]=ot(s[e+f]);return e}var Gt,$t={},Vn=()=>{if(!Gt){var e,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(e in $t)$t[e]===void 0?delete r[e]:r[e]=$t[e];var i=[];for(e in r)i.push(`${e}=${r[e]}`);Gt=i}return Gt};function Yn(e,r){if(o)return L(19,1,e,r);e>>>=0,r>>>=0;var i,s=0,f=0;for(i of Vn()){var p=r+s;(w(),W)[e+f>>>2>>>0]=p,s+=Ae(i,p,1/0)+1,f+=4}return 0}function Jn(e,r){if(o)return L(20,1,e,r);e>>>=0,r>>>=0;var i=Vn();for(var s of((w(),W)[e>>>2>>>0]=i.length,e=0,i))e+=Wt(s)+1;return(w(),W)[r>>>2>>>0]=e,0}function qn(e){return o?L(21,1,e):52}function Xn(e,r,i,s){return o?L(22,1,e,r,i,s):52}function Qn(e,r,i,s){return o?L(23,1,e,r,i,s):70}var sa=[null,[],[]];function Zn(e,r,i,s){if(o)return L(24,1,e,r,i,s);r>>>=0,i>>>=0,s>>>=0;for(var f=0,p=0;p<i;p++){var E=(w(),W)[r>>>2>>>0],S=(w(),W)[r+4>>>2>>>0];r+=8;for(var x=0;x<S;x++){var R=e,X=(w(),ne)[E+x>>>0],le=sa[R];X===0||X===10?((R===1?O:F)(An(le)),le.length=0):le.push(X)}f+=S}return(w(),W)[s>>>2>>>0]=f,0}function ia(e){return e>>>0}o||function(){for(var e=t.numThreads-1;e--;)yn();Ve.push(async()=>{var r=async function(){if(!o)return Promise.all(ce.map(bn))}();Re++,await r,--Re==0&&te&&(r=te,te=null,r())})}(),o||(ge=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),ee()),t.wasmBinary&&(g=t.wasmBinary),t.stackSave=()=>U(),t.stackRestore=e=>P(e),t.stackAlloc=e=>jt(e),t.setValue=function(e,r,i="i8"){switch(i.endsWith("*")&&(i="*"),i){case"i1":case"i8":(w(),j)[e>>>0]=r;break;case"i16":(w(),pe)[e>>>1>>>0]=r;break;case"i32":(w(),B)[e>>>2>>>0]=r;break;case"i64":(w(),A)[e>>>3>>>0]=BigInt(r);break;case"float":(w(),re)[e>>>2>>>0]=r;break;case"double":(w(),me)[e>>>3>>>0]=r;break;case"*":(w(),W)[e>>>2>>>0]=r;break;default:H(`invalid type for setValue: ${i}`)}},t.getValue=function(e,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":return(w(),j)[e>>>0];case"i16":return(w(),pe)[e>>>1>>>0];case"i32":return(w(),B)[e>>>2>>>0];case"i64":return(w(),A)[e>>>3>>>0];case"float":return(w(),re)[e>>>2>>>0];case"double":return(w(),me)[e>>>3>>>0];case"*":return(w(),W)[e>>>2>>>0];default:H(`invalid type for getValue: ${r}`)}},t.UTF8ToString=Ct,t.stringToUTF8=Ae,t.lengthBytesUTF8=Wt;var st,Kn,er,zt,tr,nr,rr,Ht,or,ar,M,Je,sr,P,jt,U,ir,Vt,ur,fr,cr,Ee,ua=[V,fe,Sn,In,Bn,Ln,_n,Pn,Dn,Un,xn,Mn,Cn,Rn,Fn,Nn,$n,zn,Hn,Yn,Jn,qn,Xn,Qn,Zn],lr={930988:(e,r,i,s,f)=>{if(t===void 0||!t.Rb)return 1;if((e=Ct(Number(e>>>0))).startsWith("./")&&(e=e.substring(2)),!(e=t.Rb.get(e)))return 2;if(r=Number(r>>>0),i=Number(i>>>0),s=Number(s>>>0),r+i>e.byteLength)return 3;try{let p=e.subarray(r,r+i);switch(f){case 0:(w(),ne).set(p,s>>>0);break;case 1:t.fc?t.fc(s,p):t.ic(s,p);break;default:return 4}return 0}catch{return 4}},931812:()=>typeof wasmOffsetConverter<"u"};function fa(){return typeof wasmOffsetConverter<"u"}function ca(e,r,i,s){var f=U();try{return C(e)(r,i,s)}catch(p){if(P(f),p!==p+0)throw p;M(1,0)}}function la(e,r,i){var s=U();try{return C(e)(r,i)}catch(f){if(P(s),f!==f+0)throw f;M(1,0)}}function da(e){var r=U();try{C(e)()}catch(i){if(P(r),i!==i+0)throw i;M(1,0)}}function pa(e,r){var i=U();try{return C(e)(r)}catch(s){if(P(i),s!==s+0)throw s;M(1,0)}}function ma(e,r,i){var s=U();try{C(e)(r,i)}catch(f){if(P(s),f!==f+0)throw f;M(1,0)}}function ha(e,r){var i=U();try{C(e)(r)}catch(s){if(P(i),s!==s+0)throw s;M(1,0)}}function wa(e,r,i,s,f,p,E){var S=U();try{return C(e)(r,i,s,f,p,E)}catch(x){if(P(S),x!==x+0)throw x;M(1,0)}}function ba(e,r,i,s,f,p){var E=U();try{C(e)(r,i,s,f,p)}catch(S){if(P(E),S!==S+0)throw S;M(1,0)}}function ya(e,r,i,s){var f=U();try{C(e)(r,i,s)}catch(p){if(P(f),p!==p+0)throw p;M(1,0)}}function ga(e,r,i,s,f){var p=U();try{C(e)(r,i,s,f)}catch(E){if(P(p),E!==E+0)throw E;M(1,0)}}function Ea(e,r,i,s,f,p,E){var S=U();try{C(e)(r,i,s,f,p,E)}catch(x){if(P(S),x!==x+0)throw x;M(1,0)}}function Ta(e,r,i,s,f,p,E){var S=U();try{C(e)(r,i,s,f,p,E)}catch(x){if(P(S),x!==x+0)throw x;M(1,0)}}function Sa(e,r,i,s,f,p,E,S){var x=U();try{C(e)(r,i,s,f,p,E,S)}catch(R){if(P(x),R!==R+0)throw R;M(1,0)}}function va(e,r,i,s,f){var p=U();try{return C(e)(r,i,s,f)}catch(E){if(P(p),E!==E+0)throw E;M(1,0)}}function Oa(e,r,i){var s=U();try{return C(e)(r,i)}catch(f){if(P(s),f!==f+0)throw f;M(1,0)}}function Aa(e,r,i,s,f,p,E,S){var x=U();try{C(e)(r,i,s,f,p,E,S)}catch(R){if(P(x),R!==R+0)throw R;M(1,0)}}function Ia(e,r,i,s,f,p,E,S,x,R,X,le){var we=U();try{C(e)(r,i,s,f,p,E,S,x,R,X,le)}catch(be){if(P(we),be!==be+0)throw be;M(1,0)}}function Ba(e,r,i,s,f,p){var E=U();try{return C(e)(r,i,s,f,p)}catch(S){if(P(E),S!==S+0)throw S;M(1,0)}}function La(e,r,i){var s=U();try{return C(e)(r,i)}catch(f){if(P(s),f!==f+0)throw f;return M(1,0),0n}}function _a(e,r,i,s,f,p,E,S,x){var R=U();try{C(e)(r,i,s,f,p,E,S,x)}catch(X){if(P(R),X!==X+0)throw X;M(1,0)}}function Pa(e){var r=U();try{return C(e)()}catch(i){if(P(r),i!==i+0)throw i;M(1,0)}}function Da(e,r){var i=U();try{return C(e)(r)}catch(s){if(P(i),s!==s+0)throw s;return M(1,0),0n}}function Ua(e){var r=U();try{return C(e)()}catch(i){if(P(r),i!==i+0)throw i;return M(1,0),0n}}function xa(e,r,i,s){var f=U();try{return C(e)(r,i,s)}catch(p){if(P(f),p!==p+0)throw p;M(1,0)}}function Ma(e,r,i,s,f){var p=U();try{return C(e)(r,i,s,f)}catch(E){if(P(p),E!==E+0)throw E;M(1,0)}}function Ca(e,r,i,s,f,p){var E=U();try{return C(e)(r,i,s,f,p)}catch(S){if(P(E),S!==S+0)throw S;M(1,0)}}function Ra(e,r,i,s,f,p){var E=U();try{return C(e)(r,i,s,f,p)}catch(S){if(P(E),S!==S+0)throw S;M(1,0)}}function Fa(e,r,i,s,f,p,E,S){var x=U();try{return C(e)(r,i,s,f,p,E,S)}catch(R){if(P(x),R!==R+0)throw R;M(1,0)}}function Na(e,r,i,s,f){var p=U();try{return C(e)(r,i,s,f)}catch(E){if(P(p),E!==E+0)throw E;return M(1,0),0n}}function ka(e,r,i,s){var f=U();try{return C(e)(r,i,s)}catch(p){if(P(f),p!==p+0)throw p;M(1,0)}}function Wa(e,r,i,s){var f=U();try{return C(e)(r,i,s)}catch(p){if(P(f),p!==p+0)throw p;M(1,0)}}function Ga(e,r,i,s,f,p,E,S,x,R,X,le){var we=U();try{return C(e)(r,i,s,f,p,E,S,x,R,X,le)}catch(be){if(P(we),be!==be+0)throw be;M(1,0)}}function $a(e,r,i,s,f,p,E,S,x,R,X){var le=U();try{C(e)(r,i,s,f,p,E,S,x,R,X)}catch(we){if(P(le),we!==we+0)throw we;M(1,0)}}function za(e,r,i,s,f,p,E,S,x,R,X,le,we,be,Ya,Ja){var qa=U();try{C(e)(r,i,s,f,p,E,S,x,R,X,le,we,be,Ya,Ja)}catch(Yt){if(P(qa),Yt!==Yt+0)throw Yt;M(1,0)}}function Ha(e,r,i){var s=U();try{return C(e)(r,i)}catch(f){if(P(s),f!==f+0)throw f;M(1,0)}}function ja(e,r,i){var s=U();try{return C(e)(r,i)}catch(f){if(P(s),f!==f+0)throw f;M(1,0)}}function Va(e,r,i,s){var f=U();try{C(e)(r,i,s)}catch(p){if(P(f),p!==p+0)throw p;M(1,0)}}function it(){if(0<Re)te=it;else if(o)T?.(t),he();else{for(var e=Ve;0<e.length;)e.shift()(t);0<Re?te=it:(t.calledRun=!0,_||(he(),T?.(t)))}}return o||(Ee=await Ut(),it()),t.PTR_SIZE=4,je?t:new Promise((e,r)=>{T=e,I=r})}var rs,os,Jr=N(()=>{"use strict";rs=Vr,os=globalThis.self?.name?.startsWith("em-pthread");os&&Vr()});var Qr,an,as,oe,Zr,on,ss,is,Kr,us,qr,eo,Xr,to,pt=N(()=>{"use strict";dt();Qr=typeof location>"u"?void 0:location.origin,an=import.meta.url>"file:"&&import.meta.url<"file;",as=()=>{if(!!1){if(an){let n=URL;return new URL(new n("ort.wasm.bundle.min.mjs",import.meta.url).href,Qr).href}return import.meta.url}},oe=as(),Zr=()=>{if(oe&&!oe.startsWith("blob:"))return oe.substring(0,oe.lastIndexOf("/")+1)},on=(n,t)=>{try{let a=t??oe;return(a?new URL(n,a):new URL(n)).origin===Qr}catch{return!1}},ss=(n,t)=>{let a=t??oe;try{return(a?new URL(n,a):new URL(n)).href}catch{return}},is=(n,t)=>`${t??"./"}${n}`,Kr=async n=>{let a=await(await fetch(n,{credentials:"same-origin"})).blob();return URL.createObjectURL(a)},us=async n=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/n)).default,qr=(jr(),Xt(Hr)).default,eo=async()=>{if(!oe)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(on(oe))return[void 0,qr()];let n=await Kr(oe);return[n,qr(n)]},Xr=(Jr(),Xt(Yr)).default,to=async(n,t,a,u)=>{let o=Xr&&!(n||t);if(o)if(oe)o=on(oe)||u&&!a;else if(u&&!a)o=!0;else throw new Error("cannot determine the script source URL.");if(o)return[void 0,Xr];{let d="ort-wasm-simd-threaded.mjs",c=n??ss(d,t),l=!!1&&a&&c&&!on(c,t),m=l?await Kr(c):c??is(d,t);return[l?m:void 0,await us(m)]}}});var sn,un,St,no,fs,cs,ls,mt,$,xe=N(()=>{"use strict";pt();un=!1,St=!1,no=!1,fs=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},cs=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},ls=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},mt=async n=>{if(un)return Promise.resolve();if(St)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(no)throw new Error("previous call to 'initializeWebAssembly()' failed.");St=!0;let t=n.initTimeout,a=n.numThreads;if(n.simd!==!1){if(n.simd==="relaxed"){if(!ls())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!cs())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let u=fs();a>1&&!u&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+a+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),n.numThreads=a=1);let o=n.wasmPaths,d=typeof o=="string"?o:void 0,c=o?.mjs,l=c?.href??c,m=o?.wasm,h=m?.href??m,g=n.wasmBinary,[b,y]=await to(l,d,a>1,!!g||!!h),T=!1,I=[];if(t>0&&I.push(new Promise(D=>{setTimeout(()=>{T=!0,D()},t)})),I.push(new Promise((D,z)=>{let v={numThreads:a};if(g)v.wasmBinary=g,v.locateFile=O=>O;else if(h||d)v.locateFile=O=>h??d+O;else if(l&&l.indexOf("blob:")!==0)v.locateFile=O=>new URL(O,l).href;else if(b){let O=Zr();O&&(v.locateFile=F=>O+F)}y(v).then(O=>{St=!1,un=!0,sn=O,D(),b&&URL.revokeObjectURL(b)},O=>{St=!1,no=!0,z(O)})})),await Promise.race(I),T)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},$=()=>{if(un&&sn)return sn;throw new Error("WebAssembly is not initialized yet.")}});var ae,Ze,G,vt=N(()=>{"use strict";xe();ae=(n,t)=>{let a=$(),u=a.lengthBytesUTF8(n)+1,o=a._malloc(u);return a.stringToUTF8(n,o,u),t.push(o),o},Ze=(n,t,a,u)=>{if(typeof n=="object"&&n!==null){if(a.has(n))throw new Error("Circular reference in options");a.add(n)}Object.entries(n).forEach(([o,d])=>{let c=t?t+o:o;if(typeof d=="object")Ze(d,c+".",a,u);else if(typeof d=="string"||typeof d=="number")u(c,d.toString());else if(typeof d=="boolean")u(c,d?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof d}`)})},G=n=>{let t=$(),a=t.stackSave();try{let u=t.PTR_SIZE,o=t.stackAlloc(2*u);t._OrtGetLastError(o,o+u);let d=Number(t.getValue(o,u===4?"i32":"i64")),c=t.getValue(o+u,"*"),l=c?t.UTF8ToString(c):"";throw new Error(`${n} ERROR_CODE: ${d}, ERROR_MESSAGE: ${l}`)}finally{t.stackRestore(a)}}});var ro,oo=N(()=>{"use strict";xe();vt();ro=n=>{let t=$(),a=0,u=[],o=n||{};try{if(n?.logSeverityLevel===void 0)o.logSeverityLevel=2;else if(typeof n.logSeverityLevel!="number"||!Number.isInteger(n.logSeverityLevel)||n.logSeverityLevel<0||n.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${n.logSeverityLevel}`);if(n?.logVerbosityLevel===void 0)o.logVerbosityLevel=0;else if(typeof n.logVerbosityLevel!="number"||!Number.isInteger(n.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${n.logVerbosityLevel}`);n?.terminate===void 0&&(o.terminate=!1);let d=0;return n?.tag!==void 0&&(d=ae(n.tag,u)),a=t._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,d),a===0&&G("Can't create run options."),n?.extra!==void 0&&Ze(n.extra,"",new WeakSet,(c,l)=>{let m=ae(c,u),h=ae(l,u);t._OrtAddRunConfigEntry(a,m,h)!==0&&G(`Can't set a run config entry: ${c} - ${l}.`)}),[a,u]}catch(d){throw a!==0&&t._OrtReleaseRunOptions(a),u.forEach(c=>t._free(c)),d}}});var ds,ps,ms,ke,hs,ao,so=N(()=>{"use strict";xe();vt();ds=n=>{switch(n){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${n}`)}},ps=n=>{switch(n){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${n}`)}},ms=n=>{n.extra||(n.extra={}),n.extra.session||(n.extra.session={});let t=n.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),n.executionProviders&&n.executionProviders.some(a=>(typeof a=="string"?a:a.name)==="webgpu")&&(n.enableMemPattern=!1)},ke=(n,t,a,u)=>{let o=ae(t,u),d=ae(a,u);$()._OrtAddSessionConfigEntry(n,o,d)!==0&&G(`Can't set a session config entry: ${t} - ${a}.`)},hs=async(n,t,a)=>{let u=t.executionProviders;for(let o of u){let d=typeof o=="string"?o:o.name,c=[];switch(d){case"webnn":if(d="WEBNN",ke(n,"session.disable_quant_qdq","1",a),ke(n,"session.disable_qdq_constant_folding","1",a),typeof o!="string"){let y=o?.deviceType;y&&ke(n,"deviceType",y,a)}break;case"webgpu":if(d="JS",typeof o!="string"){let b=o;if(b?.preferredLayout){if(b.preferredLayout!=="NCHW"&&b.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${b.preferredLayout}`);ke(n,"preferredLayout",b.preferredLayout,a)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${d}`)}let l=ae(d,a),m=c.length,h=0,g=0;if(m>0){h=$()._malloc(m*$().PTR_SIZE),a.push(h),g=$()._malloc(m*$().PTR_SIZE),a.push(g);for(let b=0;b<m;b++)$().setValue(h+b*$().PTR_SIZE,c[b][0],"*"),$().setValue(g+b*$().PTR_SIZE,c[b][1],"*")}await $()._OrtAppendExecutionProvider(n,l,h,g,m)!==0&&G(`Can't append execution provider: ${d}.`)}},ao=async n=>{let t=$(),a=0,u=[],o=n||{};ms(o);try{let d=ds(o.graphOptimizationLevel??"all"),c=ps(o.executionMode??"sequential"),l=typeof o.logId=="string"?ae(o.logId,u):0,m=o.logSeverityLevel??2;if(!Number.isInteger(m)||m<0||m>4)throw new Error(`log severity level is not valid: ${m}`);let h=o.logVerbosityLevel??0;if(!Number.isInteger(h)||h<0||h>4)throw new Error(`log verbosity level is not valid: ${h}`);let g=typeof o.optimizedModelFilePath=="string"?ae(o.optimizedModelFilePath,u):0;if(a=t._OrtCreateSessionOptions(d,!!o.enableCpuMemArena,!!o.enableMemPattern,c,!!o.enableProfiling,0,l,m,h,g),a===0&&G("Can't create session options."),o.executionProviders&&await hs(a,o,u),o.enableGraphCapture!==void 0){if(typeof o.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);ke(a,"enableGraphCapture",o.enableGraphCapture.toString(),u)}if(o.freeDimensionOverrides)for(let[b,y]of Object.entries(o.freeDimensionOverrides)){if(typeof b!="string")throw new Error(`free dimension override name must be a string: ${b}`);if(typeof y!="number"||!Number.isInteger(y)||y<0)throw new Error(`free dimension override value must be a non-negative integer: ${y}`);let T=ae(b,u);t._OrtAddFreeDimensionOverride(a,T,y)!==0&&G(`Can't set a free dimension override: ${b} - ${y}.`)}return o.extra!==void 0&&Ze(o.extra,"",new WeakSet,(b,y)=>{ke(a,b,y,u)}),[a,u]}catch(d){throw a!==0&&t._OrtReleaseSessionOptions(a)!==0&&G("Can't release session options."),u.forEach(c=>t._free(c)),d}}});var We,Ot,Ge,io,uo,At,It,fo,fn=N(()=>{"use strict";We=n=>{switch(n){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${n}`)}},Ot=n=>{switch(n){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${n}`)}},Ge=(n,t)=>{let a=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][n],u=typeof t=="number"?t:t.reduce((o,d)=>o*d,1);return a>0?Math.ceil(u*a):void 0},io=n=>{switch(n){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${n}`)}},uo=n=>{switch(n){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${n}`)}},At=n=>n==="float32"||n==="float16"||n==="int32"||n==="int64"||n==="uint32"||n==="uint8"||n==="bool"||n==="uint4"||n==="int4",It=n=>n==="float32"||n==="float16"||n==="int32"||n==="int64"||n==="uint32"||n==="uint64"||n==="int8"||n==="uint8"||n==="bool"||n==="uint4"||n==="int4",fo=n=>{switch(n){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${n}`)}}});var Ke,cn=N(()=>{"use strict";dt();Ke=async n=>{if(typeof n=="string")if(!1)try{let{readFile:t}=qt("node:fs/promises");return new Uint8Array(await t(n))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:a}=qt("node:fs"),u=a(n),o=[];for await(let d of u)o.push(d);return new Uint8Array(Buffer.concat(o))}throw t}else{let t=await fetch(n);if(!t.ok)throw new Error(`failed to load external data file: ${n}`);let a=t.headers.get("Content-Length"),u=a?parseInt(a,10):0;if(u<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${n}, no response body.`);let o=t.body.getReader(),d;try{d=new ArrayBuffer(u)}catch(l){if(l instanceof RangeError){let m=Math.ceil(u/65536);d=new WebAssembly.Memory({initial:m,maximum:m}).buffer}else throw l}let c=0;for(;;){let{done:l,value:m}=await o.read();if(l)break;let h=m.byteLength;new Uint8Array(d,c,h).set(m),c+=h}return new Uint8Array(d,0,u)}}else return n instanceof Blob?new Uint8Array(await n.arrayBuffer()):n instanceof Uint8Array?n:new Uint8Array(n)}});var ws,ht,wt,$e,bs,co,Qe,bt,yt,lo,gt,Et,Tt,rn=N(()=>{"use strict";Te();oo();so();fn();xe();vt();cn();ws=(n,t)=>{$()._OrtInit(n,t)!==0&&G("Can't initialize onnxruntime.")},ht=async n=>{ws(n.wasm.numThreads,uo(n.logLevel))},wt=async(n,t)=>{$().asyncInit?.();let a=n.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(a){if(typeof a.limits!="object"||typeof a.features!="object"||typeof a.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let u=n.webgpu.powerPreference;if(u!==void 0&&u!=="low-power"&&u!=="high-performance")throw new Error(`Invalid powerPreference setting: "${u}"`);let o=n.webgpu.forceFallbackAdapter;if(o!==void 0&&typeof o!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${o}"`);if(a=await navigator.gpu.requestAdapter({powerPreference:u,forceFallbackAdapter:o}),!a)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},$e=new Map,bs=n=>{let t=$(),a=t.stackSave();try{let u=t.PTR_SIZE,o=t.stackAlloc(2*u);t._OrtGetInputOutputCount(n,o,o+u)!==0&&G("Can't get session input/output count.");let c=u===4?"i32":"i64";return[Number(t.getValue(o,c)),Number(t.getValue(o+u,c))]}finally{t.stackRestore(a)}},co=(n,t)=>{let a=$(),u=a.stackSave(),o=0;try{let d=a.PTR_SIZE,c=a.stackAlloc(2*d);a._OrtGetInputOutputMetadata(n,t,c,c+d)!==0&&G("Can't get session input/output metadata.");let m=Number(a.getValue(c,"*"));o=Number(a.getValue(c+d,"*"));let h=a.HEAP32[o/4];if(h===0)return[m,0];let g=a.HEAPU32[o/4+1],b=[];for(let y=0;y<g;y++){let T=Number(a.getValue(o+8+y*d,"*"));b.push(T!==0?a.UTF8ToString(T):Number(a.getValue(o+8+(y+g)*d,"*")))}return[m,h,b]}finally{a.stackRestore(u),o!==0&&a._OrtFree(o)}},Qe=n=>{let t=$(),a=t._malloc(n.byteLength);if(a===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${n.byteLength}.`);return t.HEAPU8.set(n,a),[a,n.byteLength]},bt=async(n,t)=>{let a,u,o=$();Array.isArray(n)?[a,u]=n:n.buffer===o.HEAPU8.buffer?[a,u]=[n.byteOffset,n.byteLength]:[a,u]=Qe(n);let d=0,c=0,l=0,m=[],h=[],g=[];try{if([c,m]=await ao(t),t?.externalData&&o.mountExternalData){let _=[];for(let k of t.externalData){let w=typeof k=="string"?k:k.path;_.push(Ke(typeof k=="string"?k:k.data).then(Z=>{o.mountExternalData(w,Z)}))}await Promise.all(_)}for(let _ of t?.executionProviders??[])if((typeof _=="string"?_:_.name)==="webnn"){if(o.shouldTransferToMLTensor=!1,typeof _!="string"){let w=_,Z=w?.context,j=w?.gpuDevice,ne=w?.deviceType,pe=w?.powerPreference;Z?o.currentContext=Z:j?o.currentContext=await o.webnnCreateMLContext(j):o.currentContext=await o.webnnCreateMLContext({deviceType:ne,powerPreference:pe})}else o.currentContext=await o.webnnCreateMLContext();break}d=await o._OrtCreateSession(a,u,c),o.webgpuOnCreateSession?.(d),d===0&&G("Can't create a session."),o.jsepOnCreateSession?.(),o.currentContext&&(o.webnnRegisterMLContext(d,o.currentContext),o.currentContext=void 0,o.shouldTransferToMLTensor=!0);let[b,y]=bs(d),T=!!t?.enableGraphCapture,I=[],D=[],z=[],v=[],O=[];for(let _=0;_<b;_++){let[k,w,Z]=co(d,_);k===0&&G("Can't get an input name."),h.push(k);let j=o.UTF8ToString(k);I.push(j),z.push(w===0?{name:j,isTensor:!1}:{name:j,isTensor:!0,type:Ot(w),shape:Z})}for(let _=0;_<y;_++){let[k,w,Z]=co(d,_+b);k===0&&G("Can't get an output name."),g.push(k);let j=o.UTF8ToString(k);D.push(j),v.push(w===0?{name:j,isTensor:!1}:{name:j,isTensor:!0,type:Ot(w),shape:Z})}return $e.set(d,[d,h,g,null,T,!1]),[d,I,D,z,v]}catch(b){throw h.forEach(y=>o._OrtFree(y)),g.forEach(y=>o._OrtFree(y)),l!==0&&o._OrtReleaseBinding(l)!==0&&G("Can't release IO binding."),d!==0&&o._OrtReleaseSession(d)!==0&&G("Can't release session."),b}finally{o._free(a),c!==0&&o._OrtReleaseSessionOptions(c)!==0&&G("Can't release session options."),m.forEach(b=>o._free(b)),o.unmountExternalData?.()}},yt=n=>{let t=$(),a=$e.get(n);if(!a)throw new Error(`cannot release session. invalid session id: ${n}`);let[u,o,d,c,l]=a;c&&(l&&t._OrtClearBoundOutputs(c.handle)!==0&&G("Can't clear bound outputs."),t._OrtReleaseBinding(c.handle)!==0&&G("Can't release IO binding.")),t.jsepOnReleaseSession?.(n),t.webnnOnReleaseSession?.(n),t.webgpuOnReleaseSession?.(n),o.forEach(m=>t._OrtFree(m)),d.forEach(m=>t._OrtFree(m)),t._OrtReleaseSession(u)!==0&&G("Can't release session."),$e.delete(n)},lo=async(n,t,a,u,o,d,c=!1)=>{if(!n){t.push(0);return}let l=$(),m=l.PTR_SIZE,h=n[0],g=n[1],b=n[3],y=b,T,I;if(h==="string"&&(b==="gpu-buffer"||b==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(c&&b!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${d} when enableGraphCapture is true.`);if(b==="gpu-buffer"){let v=n[2].gpuBuffer;I=Ge(We(h),g);{let O=l.jsepRegisterBuffer;if(!O)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');T=O(u,d,v,I)}}else if(b==="ml-tensor"){let v=n[2].mlTensor;I=Ge(We(h),g);let O=l.webnnRegisterMLTensor;if(!O)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');T=O(u,v,We(h),g)}else{let v=n[2];if(Array.isArray(v)){I=m*v.length,T=l._malloc(I),a.push(T);for(let O=0;O<v.length;O++){if(typeof v[O]!="string")throw new TypeError(`tensor data at index ${O} is not a string`);l.setValue(T+O*m,ae(v[O],a),"*")}}else{let O=l.webnnIsGraphInput,F=l.webnnIsGraphOutput;if(h!=="string"&&O&&F){let _=l.UTF8ToString(o);if(O(u,_)||F(u,_)){let k=We(h);I=Ge(k,g),y="ml-tensor";let w=l.webnnCreateTemporaryTensor,Z=l.webnnUploadTensor;if(!w||!Z)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let j=await w(u,k,g);Z(j,new Uint8Array(v.buffer,v.byteOffset,v.byteLength)),T=j}else I=v.byteLength,T=l._malloc(I),a.push(T),l.HEAPU8.set(new Uint8Array(v.buffer,v.byteOffset,I),T)}else I=v.byteLength,T=l._malloc(I),a.push(T),l.HEAPU8.set(new Uint8Array(v.buffer,v.byteOffset,I),T)}}let D=l.stackSave(),z=l.stackAlloc(4*g.length);try{g.forEach((O,F)=>l.setValue(z+F*m,O,m===4?"i32":"i64"));let v=l._OrtCreateTensor(We(h),T,I,z,g.length,fo(y));v===0&&G(`Can't create tensor for input/output. session=${u}, index=${d}.`),t.push(v)}finally{l.stackRestore(D)}},gt=async(n,t,a,u,o,d)=>{let c=$(),l=c.PTR_SIZE,m=$e.get(n);if(!m)throw new Error(`cannot run inference. invalid session id: ${n}`);let h=m[0],g=m[1],b=m[2],y=m[3],T=m[4],I=m[5],D=t.length,z=u.length,v=0,O=[],F=[],_=[],k=[],w=[],Z=c.stackSave(),j=c.stackAlloc(D*l),ne=c.stackAlloc(D*l),pe=c.stackAlloc(z*l),B=c.stackAlloc(z*l);try{[v,O]=ro(d),De("wasm prepareInputOutputTensor");for(let A=0;A<D;A++)await lo(a[A],F,k,n,g[t[A]],t[A],T);for(let A=0;A<z;A++)await lo(o[A],_,k,n,b[u[A]],D+u[A],T);Ue("wasm prepareInputOutputTensor");for(let A=0;A<D;A++)c.setValue(j+A*l,F[A],"*"),c.setValue(ne+A*l,g[t[A]],"*");for(let A=0;A<z;A++)c.setValue(pe+A*l,_[A],"*"),c.setValue(B+A*l,b[u[A]],"*");c.jsepOnRunStart?.(h),c.webnnOnRunStart?.(h);let W;W=await c._OrtRun(h,ne,j,D,B,z,pe,v),W!==0&&G("failed to call OrtRun().");let re=[],me=[];De("wasm ProcessOutputTensor");for(let A=0;A<z;A++){let K=Number(c.getValue(pe+A*l,"*"));if(K===_[A]||w.includes(_[A])){re.push(o[A]),K!==_[A]&&c._OrtReleaseTensor(K)!==0&&G("Can't release tensor.");continue}let je=c.stackSave(),ee=c.stackAlloc(4*l),he=!1,H,q=0;try{c._OrtGetTensorData(K,ee,ee+l,ee+2*l,ee+3*l)!==0&&G(`Can't access output tensor data on index ${A}.`);let Se=l===4?"i32":"i64",ve=Number(c.getValue(ee,Se));q=c.getValue(ee+l,"*");let Ve=c.getValue(ee+l*2,"*"),Re=Number(c.getValue(ee+l*3,Se)),te=[];for(let L=0;L<Re;L++)te.push(Number(c.getValue(Ve+L*l,Se)));c._OrtFree(Ve)!==0&&G("Can't free memory for tensor dims.");let ue=te.reduce((L,V)=>L*V,1);H=Ot(ve);let se=y?.outputPreferredLocations[u[A]];if(H==="string"){if(se==="gpu-buffer"||se==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let L=[];for(let V=0;V<ue;V++){let fe=c.getValue(q+V*l,"*"),ye=c.getValue(q+(V+1)*l,"*"),ce=V===ue-1?void 0:ye-fe;L.push(c.UTF8ToString(fe,ce))}re.push([H,te,L,"cpu"])}else if(se==="gpu-buffer"&&ue>0){let L=c.jsepGetBuffer;if(!L)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let V=L(q),fe=Ge(ve,ue);if(fe===void 0||!At(H))throw new Error(`Unsupported data type: ${H}`);he=!0,re.push([H,te,{gpuBuffer:V,download:c.jsepCreateDownloader(V,fe,H),dispose:()=>{c._OrtReleaseTensor(K)!==0&&G("Can't release tensor.")}},"gpu-buffer"])}else if(se==="ml-tensor"&&ue>0){let L=c.webnnEnsureTensor,V=c.webnnIsGraphInputOutputTypeSupported;if(!L||!V)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(Ge(ve,ue)===void 0||!It(H))throw new Error(`Unsupported data type: ${H}`);if(!V(n,H,!1))throw new Error(`preferredLocation "ml-tensor" for ${H} output is not supported by current WebNN Context.`);let ye=await L(n,q,ve,te,!1);he=!0,re.push([H,te,{mlTensor:ye,download:c.webnnCreateMLTensorDownloader(q,H),dispose:()=>{c.webnnReleaseTensorId(q),c._OrtReleaseTensor(K)}},"ml-tensor"])}else if(se==="ml-tensor-cpu-output"&&ue>0){let L=c.webnnCreateMLTensorDownloader(q,H)(),V=re.length;he=!0,me.push((async()=>{let fe=[V,await L];return c.webnnReleaseTensorId(q),c._OrtReleaseTensor(K),fe})()),re.push([H,te,[],"cpu"])}else{let L=io(H),V=new L(ue);new Uint8Array(V.buffer,V.byteOffset,V.byteLength).set(c.HEAPU8.subarray(q,q+V.byteLength)),re.push([H,te,V,"cpu"])}}finally{c.stackRestore(je),H==="string"&&q&&c._free(q),he||c._OrtReleaseTensor(K)}}y&&!T&&(c._OrtClearBoundOutputs(y.handle)!==0&&G("Can't clear bound outputs."),$e.set(n,[h,g,b,y,T,!1]));for(let[A,K]of await Promise.all(me))re[A][2]=K;return Ue("wasm ProcessOutputTensor"),re}finally{c.webnnOnRunEnd?.(h),c.stackRestore(Z),F.forEach(W=>c._OrtReleaseTensor(W)),_.forEach(W=>c._OrtReleaseTensor(W)),k.forEach(W=>c._free(W)),v!==0&&c._OrtReleaseRunOptions(v),O.forEach(W=>c._free(W))}},Et=n=>{let t=$(),a=$e.get(n);if(!a)throw new Error("invalid session id");let u=a[0],o=t._OrtEndProfiling(u);o===0&&G("Can't get an profile file name."),t._OrtFree(o)},Tt=n=>{let t=[];for(let a of n){let u=a[2];!Array.isArray(u)&&"buffer"in u&&t.push(u.buffer)}return t}});var Ce,ie,et,Lt,_t,Bt,ln,dn,ze,He,gs,po,mo,ho,wo,bo,yo,go,pn=N(()=>{"use strict";Te();rn();xe();pt();Ce=()=>!!Y.wasm.proxy&&typeof document<"u",et=!1,Lt=!1,_t=!1,dn=new Map,ze=(n,t)=>{let a=dn.get(n);a?a.push(t):dn.set(n,[t])},He=()=>{if(et||!Lt||_t||!ie)throw new Error("worker not ready")},gs=n=>{switch(n.data.type){case"init-wasm":et=!1,n.data.err?(_t=!0,ln[1](n.data.err)):(Lt=!0,ln[0]()),Bt&&(URL.revokeObjectURL(Bt),Bt=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=dn.get(n.data.type);n.data.err?t.shift()[1](n.data.err):t.shift()[0](n.data.out);break}default:}},po=async()=>{if(!Lt){if(et)throw new Error("multiple calls to 'initWasm()' detected.");if(_t)throw new Error("previous call to 'initWasm()' failed.");if(et=!0,Ce())return new Promise((n,t)=>{ie?.terminate(),eo().then(([a,u])=>{try{ie=u,ie.onerror=d=>t(d),ie.onmessage=gs,ln=[n,t];let o={type:"init-wasm",in:Y};!o.in.wasm.wasmPaths&&(a||an)&&(o.in.wasm.wasmPaths={wasm:new URL("ort-wasm-simd-threaded.wasm",import.meta.url).href}),ie.postMessage(o),Bt=a}catch(o){t(o)}},t)});try{await mt(Y.wasm),await ht(Y),Lt=!0}catch(n){throw _t=!0,n}finally{et=!1}}},mo=async n=>{if(Ce())return He(),new Promise((t,a)=>{ze("init-ep",[t,a]);let u={type:"init-ep",in:{epName:n,env:Y}};ie.postMessage(u)});await wt(Y,n)},ho=async n=>Ce()?(He(),new Promise((t,a)=>{ze("copy-from",[t,a]);let u={type:"copy-from",in:{buffer:n}};ie.postMessage(u,[n.buffer])})):Qe(n),wo=async(n,t)=>{if(Ce()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return He(),new Promise((a,u)=>{ze("create",[a,u]);let o={type:"create",in:{model:n,options:{...t}}},d=[];n instanceof Uint8Array&&d.push(n.buffer),ie.postMessage(o,d)})}else return bt(n,t)},bo=async n=>{if(Ce())return He(),new Promise((t,a)=>{ze("release",[t,a]);let u={type:"release",in:n};ie.postMessage(u)});yt(n)},yo=async(n,t,a,u,o,d)=>{if(Ce()){if(a.some(c=>c[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(o.some(c=>c))throw new Error("pre-allocated output tensor is not supported for proxy.");return He(),new Promise((c,l)=>{ze("run",[c,l]);let m=a,h={type:"run",in:{sessionId:n,inputIndices:t,inputs:m,outputIndices:u,options:d}};ie.postMessage(h,Tt(m))})}else return gt(n,t,a,u,o,d)},go=async n=>{if(Ce())return He(),new Promise((t,a)=>{ze("end-profiling",[t,a]);let u={type:"end-profiling",in:n};ie.postMessage(u)});Et(n)}});var Eo,Es,Pt,To=N(()=>{"use strict";Te();pn();fn();dt();cn();Eo=(n,t)=>{switch(n.location){case"cpu":return[n.type,n.dims,n.data,"cpu"];case"gpu-buffer":return[n.type,n.dims,{gpuBuffer:n.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[n.type,n.dims,{mlTensor:n.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${n.location} for ${t()}`)}},Es=n=>{switch(n[3]){case"cpu":return new de(n[0],n[2],n[1]);case"gpu-buffer":{let t=n[0];if(!At(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:a,download:u,dispose:o}=n[2];return de.fromGpuBuffer(a,{dataType:t,dims:n[1],download:u,dispose:o})}case"ml-tensor":{let t=n[0];if(!It(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:a,download:u,dispose:o}=n[2];return de.fromMLTensor(a,{dataType:t,dims:n[1],download:u,dispose:o})}default:throw new Error(`invalid data location: ${n[3]}`)}},Pt=class{async fetchModelAndCopyToWasmMemory(t){return ho(await Ke(t))}async loadModel(t,a){_e();let u;typeof t=="string"?u=await this.fetchModelAndCopyToWasmMemory(t):u=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await wo(u,a),Pe()}async dispose(){return bo(this.sessionId)}async run(t,a,u){_e();let o=[],d=[];Object.entries(t).forEach(y=>{let T=y[0],I=y[1],D=this.inputNames.indexOf(T);if(D===-1)throw new Error(`invalid input '${T}'`);o.push(I),d.push(D)});let c=[],l=[];Object.entries(a).forEach(y=>{let T=y[0],I=y[1],D=this.outputNames.indexOf(T);if(D===-1)throw new Error(`invalid output '${T}'`);c.push(I),l.push(D)});let m=o.map((y,T)=>Eo(y,()=>`input "${this.inputNames[d[T]]}"`)),h=c.map((y,T)=>y?Eo(y,()=>`output "${this.outputNames[l[T]]}"`):null),g=await yo(this.sessionId,d,m,l,h,u),b={};for(let y=0;y<g.length;y++)b[this.outputNames[l[y]]]=c[y]??Es(g[y]);return Pe(),b}startProfiling(){}endProfiling(){go(this.sessionId)}}});var vo={};ut(vo,{OnnxruntimeWebAssemblyBackend:()=>Dt,initializeFlags:()=>So,wasmBackend:()=>Ts});var So,Dt,Ts,Oo=N(()=>{"use strict";Te();pn();To();So=()=>{(typeof Y.wasm.initTimeout!="number"||Y.wasm.initTimeout<0)&&(Y.wasm.initTimeout=0);let n=Y.wasm.simd;if(typeof n!="boolean"&&n!==void 0&&n!=="fixed"&&n!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${n}". Reset it to \`false\` and ignore SIMD feature checking.`),Y.wasm.simd=!1),typeof Y.wasm.proxy!="boolean"&&(Y.wasm.proxy=!1),typeof Y.wasm.trace!="boolean"&&(Y.wasm.trace=!1),typeof Y.wasm.numThreads!="number"||!Number.isInteger(Y.wasm.numThreads)||Y.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)Y.wasm.numThreads=1;else{let t=typeof navigator>"u"?qt("node:os").cpus().length:navigator.hardwareConcurrency;Y.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},Dt=class{async init(t){So(),await po(),await mo(t)}async createInferenceSessionHandler(t,a){let u=new Pt;return await u.loadModel(t,a),u}},Ts=new Dt});Te();Te();Te();var Gr="1.26.0";var au=nn;{let n=(Oo(),Xt(vo)).wasmBackend;qe("cpu",n,10),qe("wasm",n,10)}Object.defineProperty(Y.versions,"web",{value:Gr,enumerable:!0});export{ts as InferenceSession,xr as TRACE,De as TRACE_EVENT_BEGIN,Ue as TRACE_EVENT_END,_e as TRACE_FUNC_BEGIN,Pe as TRACE_FUNC_END,de as Tensor,au as default,Y as env,qe as registerBackend};
|
| 9 |
+
//# sourceMappingURL=ort.wasm.bundle.min.mjs.map
|
ort-wasm/ort.wasm.min.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.26.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var Ve=Object.defineProperty;var Bn=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var Pn=Object.prototype.hasOwnProperty;var Je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var qe=(e,t)=>{for(var n in t)Ve(e,n,{get:t[n],enumerable:!0})},_n=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ln(t))!Pn.call(e,r)&&r!==n&&Ve(e,r,{get:()=>t[r],enumerable:!(o=Bn(t,r))||o.enumerable});return e};var wt=e=>_n(Ve({},"__esModule",{value:!0}),e);var Se,q,pe,Dn,ht,Ye=E(()=>{"use strict";Se=new Map,q=[],pe=(e,t,n)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let o=Se.get(e);if(o===void 0)Se.set(e,{backend:t,priority:n});else{if(o.priority>n)return;if(o.priority===n&&o.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let r=q.indexOf(e);r!==-1&&q.splice(r,1);for(let i=0;i<q.length;i++)if(Se.get(q[i]).priority<=n){q.splice(i,0,e);return}q.push(e)}return}throw new TypeError("not a valid backend")},Dn=async e=>{let t=Se.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(o){return n||(t.error=`${o}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},ht=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u=="string"?u:u.name),o=n.length===0?q:n,r,i=[],s=new Set;for(let u of o){let f=await Dn(u);typeof f=="string"?i.push({name:u,err:f}):(r||(r=f),r===f&&s.add(u))}if(!r)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of i)n.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let a=t.filter(u=>s.has(typeof u=="string"?u:u.name));return[r,new Proxy(e,{get:(u,f)=>f==="executionProviders"?a:Reflect.get(u,f)})]}});var bt=E(()=>{"use strict";Ye()});var yt,gt=E(()=>{"use strict";yt="1.26.0"});var Et,_,Ze=E(()=>{"use strict";gt();Et="warning",_={wasm:{},webgl:{},webgpu:{},versions:{common:yt},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);Et=e}},get logLevel(){return Et}};Object.defineProperty(_,"logLevel",{enumerable:!0})});var O,St=E(()=>{"use strict";Ze();O=_});var Tt,It,At=E(()=>{"use strict";Tt=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let o=n.getContext("2d");if(o!=null){let r,i;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[3]):(r=e.dims[3],i=e.dims[2]);let s=t?.format!==void 0?t.format:"RGB",a=t?.norm,u,f;a===void 0||a.mean===void 0?u=[255,255,255,255]:typeof a.mean=="number"?u=[a.mean,a.mean,a.mean,a.mean]:(u=[a.mean[0],a.mean[1],a.mean[2],0],a.mean[3]!==void 0&&(u[3]=a.mean[3])),a===void 0||a.bias===void 0?f=[0,0,0,0]:typeof a.bias=="number"?f=[a.bias,a.bias,a.bias,a.bias]:(f=[a.bias[0],a.bias[1],a.bias[2],0],a.bias[3]!==void 0&&(f[3]=a.bias[3]));let l=i*r,c=0,d=l,p=l*2,h=-1;s==="RGBA"?(c=0,d=l,p=l*2,h=l*3):s==="RGB"?(c=0,d=l,p=l*2):s==="RBG"&&(c=0,p=l,d=l*2);for(let y=0;y<i;y++)for(let A=0;A<r;A++){let m=(e.data[c++]-f[0])*u[0],w=(e.data[d++]-f[1])*u[1],B=(e.data[p++]-f[2])*u[2],g=h===-1?255:(e.data[h++]-f[3])*u[3];o.fillStyle="rgba("+m+","+w+","+B+","+g+")",o.fillRect(A,y,1,1)}if("toDataURL"in n)return n.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},It=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(n!=null){let r,i,s;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[1],s=e.dims[3]):(r=e.dims[3],i=e.dims[2],s=e.dims[1]);let a=t!==void 0&&t.format!==void 0?t.format:"RGB",u=t?.norm,f,l;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?l=[0,0,0,0]:typeof u.bias=="number"?l=[u.bias,u.bias,u.bias,u.bias]:(l=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(l[3]=u.bias[3]));let c=i*r;if(t!==void 0&&(t.format!==void 0&&s===4&&t.format!=="RGBA"||s===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let d=4,p=0,h=1,y=2,A=3,m=0,w=c,B=c*2,g=-1;a==="RGBA"?(m=0,w=c,B=c*2,g=c*3):a==="RGB"?(m=0,w=c,B=c*2):a==="RBG"&&(m=0,B=c,w=c*2),o=n.createImageData(r,i);for(let T=0;T<i*r;p+=d,h+=d,y+=d,A+=d,T++)o.data[p]=(e.data[m++]-l[0])*f[0],o.data[h]=(e.data[w++]-l[1])*f[1],o.data[y]=(e.data[B++]-l[2])*f[2],o.data[A]=g===-1?255:(e.data[g++]-l[3])*f[3]}else throw new Error("Can not access image data");return o}});var Xe,Ot,Bt,Lt,Pt,_t,Dt=E(()=>{"use strict";Te();Xe=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:n,width:o}=t,r=t.norm??{mean:255,bias:0},i,s;typeof r.mean=="number"?i=[r.mean,r.mean,r.mean,r.mean]:i=[r.mean[0],r.mean[1],r.mean[2],r.mean[3]??255],typeof r.bias=="number"?s=[r.bias,r.bias,r.bias,r.bias]:s=[r.bias[0],r.bias[1],r.bias[2],r.bias[3]??0];let a=t.format!==void 0?t.format:"RGBA",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",f=n*o,l=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),c=4,d=0,p=1,h=2,y=3,A=0,m=f,w=f*2,B=-1;a==="RGB"&&(c=3,d=0,p=1,h=2,y=-1),u==="RGBA"?B=f*3:u==="RBG"?(A=0,w=f,m=f*2):u==="BGR"&&(w=0,m=f,A=f*2);for(let T=0;T<f;T++,d+=c,h+=c,p+=c,y+=c)l[A++]=(e[d]+s[0])/i[0],l[m++]=(e[p]+s[1])/i[1],l[w++]=(e[h]+s[2])/i[2],B!==-1&&y!==-1&&(l[B++]=(e[y]+s[3])/i[3]);return u==="RGBA"?new x("float32",l,[1,4,n,o]):new x("float32",l,[1,3,n,o])},Ot=async(e,t)=>{let n=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,o=typeof ImageData<"u"&&e instanceof ImageData,r=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,i=typeof e=="string",s,a=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=l=>typeof HTMLCanvasElement<"u"&&l instanceof HTMLCanvasElement||l instanceof OffscreenCanvas?l.getContext("2d"):null;if(n){let l=u();l.width=e.width,l.height=e.height;let c=f(l);if(c!=null){let d=e.height,p=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(d=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(a=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");a.tensorFormat="RGBA",a.height=d,a.width=p}else a.tensorFormat="RGBA",a.height=d,a.width=p;c.drawImage(e,0,0),s=c.getImageData(0,0,p,d).data}else throw new Error("Can not access image data")}else if(o){let l,c;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(l=t.resizedHeight,c=t.resizedWidth):(l=e.height,c=e.width),t!==void 0&&(a=t),a.format="RGBA",a.height=l,a.width=c,t!==void 0){let d=u();d.width=c,d.height=l;let p=f(d);if(p!=null)p.putImageData(e,0,0),s=p.getImageData(0,0,c,l).data;else throw new Error("Can not access image data")}else s=e.data}else if(r){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let l=u();l.width=e.width,l.height=e.height;let c=f(l);if(c!=null){let d=e.height,p=e.width;return c.drawImage(e,0,0,p,d),s=c.getImageData(0,0,p,d).data,a.height=d,a.width=p,Xe(s,a)}else throw new Error("Can not access image data")}else{if(i)return new Promise((l,c)=>{let d=u(),p=f(d);if(!e||!p)return c();let h=new Image;h.crossOrigin="Anonymous",h.src=e,h.onload=()=>{d.width=h.width,d.height=h.height,p.drawImage(h,0,0,d.width,d.height);let y=p.getImageData(0,0,d.width,d.height);a.height=d.height,a.width=d.width,l(Xe(y.data,a))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(s!==void 0)return Xe(s,a);throw new Error("Input data provided is not supported - aborted tensor creation")},Bt=(e,t)=>{let{width:n,height:o,download:r,dispose:i}=t,s=[1,o,n,4];return new x({location:"texture",type:"float32",texture:e,dims:s,download:r,dispose:i})},Lt=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new x({location:"gpu-buffer",type:n??"float32",gpuBuffer:e,dims:o,download:r,dispose:i})},Pt=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new x({location:"ml-tensor",type:n??"float32",mlTensor:e,dims:o,download:r,dispose:i})},_t=(e,t,n)=>new x({location:"cpu-pinned",type:e,data:t,dims:n??[t.length]})});var Y,me,Ut,xt,vt=E(()=>{"use strict";Y=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),me=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Ut=!1,xt=()=>{if(!Ut){Ut=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,n=globalThis.Float16Array,o=typeof n<"u"&&n.from;e&&(Y.set("int64",BigInt64Array),me.set(BigInt64Array,"int64")),t&&(Y.set("uint64",BigUint64Array),me.set(BigUint64Array,"uint64")),o?(Y.set("float16",n),me.set(n,"float16")):Y.set("float16",Uint16Array)}}});var Ct,Mt,Rt=E(()=>{"use strict";Te();Ct=e=>{let t=1;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${n}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${o}`);t*=o}return t},Mt=(e,t)=>{switch(e.location){case"cpu":return new x(e.type,e.data,t);case"cpu-pinned":return new x({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new x({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new x({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new x({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var x,Te=E(()=>{"use strict";At();Dt();vt();Rt();x=class{constructor(t,n,o){xt();let r,i;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,r=t.type,i=t.dims,t.location){case"cpu-pinned":{let a=Y.get(r);if(!a)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(t.data instanceof a))throw new TypeError(`buffer should be of type ${a.name}`);this.cpuData=t.data;break}case"texture":{if(r!=="float32")throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint64"&&r!=="int8"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,u;if(typeof t=="string")if(r=t,u=o,t==="string"){if(!Array.isArray(n))throw new TypeError("A string tensor's data must be a string array.");a=n}else{let f=Y.get(t);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t==="float16"&&f===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${f.name} as data.`);t==="uint64"||t==="int64"?a=f.from(n,BigInt):a=f.from(n)}else if(n instanceof f)a=n;else if(n instanceof Uint8ClampedArray)if(t==="uint8")a=Uint8Array.from(n);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&n instanceof Uint16Array&&f!==Uint16Array)a=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${r} tensor's data must be type of ${f}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof t[0];if(f==="string")r="string",a=t;else if(f==="boolean")r="bool",a=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(t instanceof Uint8ClampedArray)r="uint8",a=Uint8Array.from(t);else{let f=me.get(t.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);r=f,a=t}if(u===void 0)u=[a.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");i=u,this.cpuData=a,this.dataLocation="cpu"}let s=Ct(i);if(this.cpuData&&s!==this.cpuData.length&&!((r==="uint4"||r==="int4")&&Math.ceil(s/2)===this.cpuData.length))throw new Error(`Tensor's size(${s}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=s}static async fromImage(t,n){return Ot(t,n)}static fromTexture(t,n){return Bt(t,n)}static fromGpuBuffer(t,n){return Lt(t,n)}static fromMLTensor(t,n){return Pt(t,n)}static fromPinnedBuffer(t,n,o){return _t(t,n,o)}toDataURL(t){return Tt(this,t)}toImageData(t){return It(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Mt(this,t)}}});var G,Ke=E(()=>{"use strict";Te();G=x});var Ft,Nt,Z,X,K,Q,Qe=E(()=>{"use strict";Ze();Ft=(e,t)=>{(typeof _.trace>"u"?!_.wasm.trace:!_.trace)||console.timeStamp(`${e}::ORT::${t}`)},Nt=(e,t)=>{let n=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let r=0;r<n.length;r++){if(o&&!n[r].includes("TRACE_FUNC")){let i=`FUNC_${e}::${n[r].trim().split(" ")[1]}`;t&&(i+=`::${t}`),Ft("CPU",i);return}n[r].includes("TRACE_FUNC")&&(o=!0)}},Z=e=>{(typeof _.trace>"u"?!_.wasm.trace:!_.trace)||Nt("BEGIN",e)},X=e=>{(typeof _.trace>"u"?!_.wasm.trace:!_.trace)||Nt("END",e)},K=e=>{(typeof _.trace>"u"?!_.wasm.trace:!_.trace)||console.time(`ORT::${e}`)},Q=e=>{(typeof _.trace>"u"?!_.wasm.trace:!_.trace)||console.timeEnd(`ORT::${e}`)}});var Ie,kt=E(()=>{"use strict";Ye();Ke();Qe();Ie=class e{constructor(t){this.handler=t}async run(t,n,o){Z(),K("InferenceSession.run");let r={},i={};if(typeof t!="object"||t===null||t instanceof G||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let s=!0;if(typeof n=="object"){if(n===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(n instanceof G)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(n)){if(n.length===0)throw new TypeError("'fetches' cannot be an empty array.");s=!1;for(let f of n){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);r[f]=null}if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,l=Object.getOwnPropertyNames(n);for(let c of this.outputNames)if(l.indexOf(c)!==-1){let d=n[c];(d===null||d instanceof G)&&(f=!0,s=!1,r[c]=d)}if(f){if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else i=n}}else if(typeof n<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof t[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(s)for(let f of this.outputNames)r[f]=null;let a=await this.handler.run(t,r,i),u={};for(let f in a)if(Object.hasOwnProperty.call(a,f)){let l=a[f];l instanceof G?u[f]=l:u[f]=new G(l.type,l.data,l.dims)}return Q("InferenceSession.run"),X(),u}async release(){return this.handler.dispose()}static async create(t,n,o,r){Z(),K("InferenceSession.create");let i,s={};if(typeof t=="string"){if(i=t,typeof n=="object"&&n!==null)s=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(i=t,typeof n=="object"&&n!==null)s=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let l=t,c=0,d=t.byteLength;if(typeof n=="object"&&n!==null)s=n;else if(typeof n=="number"){if(c=n,!Number.isSafeInteger(c))throw new RangeError("'byteOffset' must be an integer.");if(c<0||c>=l.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${l.byteLength}).`);if(d=t.byteLength-c,typeof o=="number"){if(d=o,!Number.isSafeInteger(d))throw new RangeError("'byteLength' must be an integer.");if(d<=0||c+d>l.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${l.byteLength-c}].`);if(typeof r=="object"&&r!==null)s=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof n<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(l,c,d)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[a,u]=await ht(s),f=await a.createInferenceSessionHandler(i,u);return Q("InferenceSession.create"),X(),new e(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Un,Wt=E(()=>{"use strict";kt();Un=Ie});var Gt=E(()=>{"use strict"});var $t=E(()=>{"use strict"});var zt=E(()=>{"use strict"});var Ht=E(()=>{"use strict"});var et={};qe(et,{InferenceSession:()=>Un,TRACE:()=>Ft,TRACE_EVENT_BEGIN:()=>K,TRACE_EVENT_END:()=>Q,TRACE_FUNC_BEGIN:()=>Z,TRACE_FUNC_END:()=>X,Tensor:()=>G,env:()=>O,registerBackend:()=>pe});var J=E(()=>{"use strict";bt();St();Wt();Ke();Gt();$t();Qe();zt();Ht()});var Ae=E(()=>{"use strict"});var qt={};qe(qt,{default:()=>xn});var Vt,Jt,xn,Yt=E(()=>{"use strict";tt();ee();Oe();Vt="ort-wasm-proxy-worker",Jt=globalThis.self?.name===Vt;Jt&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case"init-wasm":Be(n.wasm).then(()=>{Le(n).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case"init-ep":{let{epName:o,env:r}=n;Pe(r,o).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case"copy-from":{let{buffer:o}=n,r=we(o);postMessage({type:t,out:r});break}case"create":{let{model:o,options:r}=n;_e(o,r).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case"release":De(n),postMessage({type:t});break;case"run":{let{sessionId:o,inputIndices:r,inputs:i,outputIndices:s,options:a}=n;Ue(o,r,i,s,new Array(s.length).fill(null),a).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:u},ve([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case"end-profiling":xe(n),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}});xn=Jt?null:e=>new Worker(e??R,{type:"module",name:Vt})});var Kt,vn,Cn,R,Ce,nt,Mn,Rn,Qt,Fn,Zt,en,Xt,tn,Oe=E(()=>{"use strict";Ae();Kt=typeof location>"u"?void 0:location.origin,vn=import.meta.url>"file:"&&import.meta.url<"file;",Cn=()=>{if(!!1){if(vn){let e=URL;return new URL(new e("ort.wasm.min.mjs",import.meta.url).href,Kt).href}return import.meta.url}},R=Cn(),Ce=()=>{if(R&&!R.startsWith("blob:"))return R.substring(0,R.lastIndexOf("/")+1)},nt=(e,t)=>{try{let n=t??R;return(n?new URL(e,n):new URL(e)).origin===Kt}catch{return!1}},Mn=(e,t)=>{let n=t??R;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Rn=(e,t)=>`${t??"./"}${e}`,Qt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Fn=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,Zt=(Yt(),wt(qt)).default,en=async()=>{if(!R)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(nt(R))return[void 0,Zt()];let e=await Qt(R);return[e,Zt(e)]},Xt=void 0,tn=async(e,t,n,o)=>{let r=Xt&&!(e||t);if(r)if(R)r=nt(R)||o&&!n;else if(o&&!n)r=!0;else throw new Error("cannot determine the script source URL.");if(r)return[void 0,Xt];{let i="ort-wasm-simd-threaded.mjs",s=e??Mn(i,t),a=!!1&&n&&s&&!nt(s,t),u=a?await Qt(s):s??Rn(i,t);return[a?u:void 0,await Fn(u)]}}});var rt,ot,Me,nn,Nn,kn,Wn,Be,I,ee=E(()=>{"use strict";Oe();ot=!1,Me=!1,nn=!1,Nn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},kn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Wn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Be=async e=>{if(ot)return Promise.resolve();if(Me)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(nn)throw new Error("previous call to 'initializeWebAssembly()' failed.");Me=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Wn())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!kn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Nn();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,i=typeof r=="string"?r:void 0,s=r?.mjs,a=s?.href??s,u=r?.wasm,f=u?.href??u,l=e.wasmBinary,[c,d]=await tn(a,i,n>1,!!l||!!f),p=!1,h=[];if(t>0&&h.push(new Promise(y=>{setTimeout(()=>{p=!0,y()},t)})),h.push(new Promise((y,A)=>{let m={numThreads:n};if(l)m.wasmBinary=l,m.locateFile=w=>w;else if(f||i)m.locateFile=w=>f??i+w;else if(a&&a.indexOf("blob:")!==0)m.locateFile=w=>new URL(w,a).href;else if(c){let w=Ce();w&&(m.locateFile=B=>w+B)}d(m).then(w=>{Me=!1,ot=!0,rt=w,y(),c&&URL.revokeObjectURL(c)},w=>{Me=!1,nn=!0,A(w)})})),await Promise.race(h),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},I=()=>{if(ot&&rt)return rt;throw new Error("WebAssembly is not initialized yet.")}});var F,he,S,Re=E(()=>{"use strict";ee();F=(e,t)=>{let n=I(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},he=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,i])=>{let s=t?t+r:r;if(typeof i=="object")he(i,s+".",n,o);else if(typeof i=="string"||typeof i=="number")o(s,i.toString());else if(typeof i=="boolean")o(s,i?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},S=e=>{let t=I(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let i=Number(t.getValue(r,o===4?"i32":"i64")),s=t.getValue(r+o,"*"),a=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{t.stackRestore(n)}}});var rn,on=E(()=>{"use strict";ee();Re();rn=e=>{let t=I(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let i=0;return e?.tag!==void 0&&(i=F(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,i),n===0&&S("Can't create run options."),e?.extra!==void 0&&he(e.extra,"",new WeakSet,(s,a)=>{let u=F(s,o),f=F(a,o);t._OrtAddRunConfigEntry(n,u,f)!==0&&S(`Can't set a run config entry: ${s} - ${a}.`)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),i}}});var Gn,$n,zn,se,Hn,sn,an=E(()=>{"use strict";ee();Re();Gn=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},$n=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},zn=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},se=(e,t,n,o)=>{let r=F(t,o),i=F(n,o);I()._OrtAddSessionConfigEntry(e,r,i)!==0&&S(`Can't set a session config entry: ${t} - ${n}.`)},Hn=async(e,t,n)=>{let o=t.executionProviders;for(let r of o){let i=typeof r=="string"?r:r.name,s=[];switch(i){case"webnn":if(i="WEBNN",se(e,"session.disable_quant_qdq","1",n),se(e,"session.disable_qdq_constant_folding","1",n),typeof r!="string"){let d=r?.deviceType;d&&se(e,"deviceType",d,n)}break;case"webgpu":if(i="JS",typeof r!="string"){let c=r;if(c?.preferredLayout){if(c.preferredLayout!=="NCHW"&&c.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);se(e,"preferredLayout",c.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${i}`)}let a=F(i,n),u=s.length,f=0,l=0;if(u>0){f=I()._malloc(u*I().PTR_SIZE),n.push(f),l=I()._malloc(u*I().PTR_SIZE),n.push(l);for(let c=0;c<u;c++)I().setValue(f+c*I().PTR_SIZE,s[c][0],"*"),I().setValue(l+c*I().PTR_SIZE,s[c][1],"*")}await I()._OrtAppendExecutionProvider(e,a,f,l,u)!==0&&S(`Can't append execution provider: ${i}.`)}},sn=async e=>{let t=I(),n=0,o=[],r=e||{};zn(r);try{let i=Gn(r.graphOptimizationLevel??"all"),s=$n(r.executionMode??"sequential"),a=typeof r.logId=="string"?F(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let l=typeof r.optimizedModelFilePath=="string"?F(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(i,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,a,u,f,l),n===0&&S("Can't create session options."),r.executionProviders&&await Hn(n,r,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);se(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[c,d]of Object.entries(r.freeDimensionOverrides)){if(typeof c!="string")throw new Error(`free dimension override name must be a string: ${c}`);if(typeof d!="number"||!Number.isInteger(d)||d<0)throw new Error(`free dimension override value must be a non-negative integer: ${d}`);let p=F(c,o);t._OrtAddFreeDimensionOverride(n,p,d)!==0&&S(`Can't set a free dimension override: ${c} - ${d}.`)}return r.extra!==void 0&&he(r.extra,"",new WeakSet,(c,d)=>{se(n,c,d,o)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&S("Can't release session options."),o.forEach(s=>t._free(s)),i}}});var ie,Fe,ae,un,fn,Ne,ke,cn,st=E(()=>{"use strict";ie=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Fe=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},ae=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,i)=>r*i,1);return n>0?Math.ceil(o*n):void 0},un=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},fn=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Ne=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ke=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",cn=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var be,it=E(()=>{"use strict";Ae();be=async e=>{if(typeof e=="string")if(!1)try{let{readFile:t}=Je("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=Je("node:fs"),o=n(e),r=[];for await(let i of o)r.push(i);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),i;try{i=new ArrayBuffer(o)}catch(a){if(a instanceof RangeError){let u=Math.ceil(o/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw a}let s=0;for(;;){let{done:a,value:u}=await r.read();if(a)break;let f=u.byteLength;new Uint8Array(i,s,f).set(u),s+=f}return new Uint8Array(i,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var jn,Le,Pe,ue,Vn,dn,we,_e,De,ln,Ue,xe,ve,tt=E(()=>{"use strict";J();on();an();st();ee();Re();it();jn=(e,t)=>{I()._OrtInit(e,t)!==0&&S("Can't initialize onnxruntime.")},Le=async e=>{jn(e.wasm.numThreads,fn(e.logLevel))},Pe=async(e,t)=>{I().asyncInit?.();let n=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(n){if(typeof n.limits!="object"||typeof n.features!="object"||typeof n.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=e.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let r=e.webgpu.forceFallbackAdapter;if(r!==void 0&&typeof r!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${r}"`);if(n=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:r}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},ue=new Map,Vn=e=>{let t=I(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&S("Can't get session input/output count.");let s=o===4?"i32":"i64";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},dn=(e,t)=>{let n=I(),o=n.stackSave(),r=0;try{let i=n.PTR_SIZE,s=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,s,s+i)!==0&&S("Can't get session input/output metadata.");let u=Number(n.getValue(s,"*"));r=Number(n.getValue(s+i,"*"));let f=n.HEAP32[r/4];if(f===0)return[u,0];let l=n.HEAPU32[r/4+1],c=[];for(let d=0;d<l;d++){let p=Number(n.getValue(r+8+d*i,"*"));c.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(d+l)*i,"*")))}return[u,f,c]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},we=e=>{let t=I(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},_e=async(e,t)=>{let n,o,r=I();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=we(e);let i=0,s=0,a=0,u=[],f=[],l=[];try{if([s,u]=await sn(t),t?.externalData&&r.mountExternalData){let g=[];for(let T of t.externalData){let U=typeof T=="string"?T:T.path;g.push(be(typeof T=="string"?T:T.data).then(M=>{r.mountExternalData(U,M)}))}await Promise.all(g)}for(let g of t?.executionProviders??[])if((typeof g=="string"?g:g.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof g!="string"){let U=g,M=U?.context,v=U?.gpuDevice,de=U?.deviceType,re=U?.powerPreference;M?r.currentContext=M:v?r.currentContext=await r.webnnCreateMLContext(v):r.currentContext=await r.webnnCreateMLContext({deviceType:de,powerPreference:re})}else r.currentContext=await r.webnnCreateMLContext();break}i=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(i),i===0&&S("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(i,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[c,d]=Vn(i),p=!!t?.enableGraphCapture,h=[],y=[],A=[],m=[],w=[];for(let g=0;g<c;g++){let[T,U,M]=dn(i,g);T===0&&S("Can't get an input name."),f.push(T);let v=r.UTF8ToString(T);h.push(v),A.push(U===0?{name:v,isTensor:!1}:{name:v,isTensor:!0,type:Fe(U),shape:M})}for(let g=0;g<d;g++){let[T,U,M]=dn(i,g+c);T===0&&S("Can't get an output name."),l.push(T);let v=r.UTF8ToString(T);y.push(v),m.push(U===0?{name:v,isTensor:!1}:{name:v,isTensor:!0,type:Fe(U),shape:M})}return ue.set(i,[i,f,l,null,p,!1]),[i,h,y,A,m]}catch(c){throw f.forEach(d=>r._OrtFree(d)),l.forEach(d=>r._OrtFree(d)),a!==0&&r._OrtReleaseBinding(a)!==0&&S("Can't release IO binding."),i!==0&&r._OrtReleaseSession(i)!==0&&S("Can't release session."),c}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&S("Can't release session options."),u.forEach(c=>r._free(c)),r.unmountExternalData?.()}},De=e=>{let t=I(),n=ue.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,i,s,a]=n;s&&(a&&t._OrtClearBoundOutputs(s.handle)!==0&&S("Can't clear bound outputs."),t._OrtReleaseBinding(s.handle)!==0&&S("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&S("Can't release session."),ue.delete(e)},ln=async(e,t,n,o,r,i,s=!1)=>{if(!e){t.push(0);return}let a=I(),u=a.PTR_SIZE,f=e[0],l=e[1],c=e[3],d=c,p,h;if(f==="string"&&(c==="gpu-buffer"||c==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(s&&c!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(c==="gpu-buffer"){let m=e[2].gpuBuffer;h=ae(ie(f),l);{let w=a.jsepRegisterBuffer;if(!w)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=w(o,i,m,h)}}else if(c==="ml-tensor"){let m=e[2].mlTensor;h=ae(ie(f),l);let w=a.webnnRegisterMLTensor;if(!w)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=w(o,m,ie(f),l)}else{let m=e[2];if(Array.isArray(m)){h=u*m.length,p=a._malloc(h),n.push(p);for(let w=0;w<m.length;w++){if(typeof m[w]!="string")throw new TypeError(`tensor data at index ${w} is not a string`);a.setValue(p+w*u,F(m[w],n),"*")}}else{let w=a.webnnIsGraphInput,B=a.webnnIsGraphOutput;if(f!=="string"&&w&&B){let g=a.UTF8ToString(r);if(w(o,g)||B(o,g)){let T=ie(f);h=ae(T,l),d="ml-tensor";let U=a.webnnCreateTemporaryTensor,M=a.webnnUploadTensor;if(!U||!M)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let v=await U(o,T,l);M(v,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=v}else h=m.byteLength,p=a._malloc(h),n.push(p),a.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,h),p)}else h=m.byteLength,p=a._malloc(h),n.push(p),a.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,h),p)}}let y=a.stackSave(),A=a.stackAlloc(4*l.length);try{l.forEach((w,B)=>a.setValue(A+B*u,w,u===4?"i32":"i64"));let m=a._OrtCreateTensor(ie(f),p,h,A,l.length,cn(d));m===0&&S(`Can't create tensor for input/output. session=${o}, index=${i}.`),t.push(m)}finally{a.stackRestore(y)}},Ue=async(e,t,n,o,r,i)=>{let s=I(),a=s.PTR_SIZE,u=ue.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=u[0],l=u[1],c=u[2],d=u[3],p=u[4],h=u[5],y=t.length,A=o.length,m=0,w=[],B=[],g=[],T=[],U=[],M=s.stackSave(),v=s.stackAlloc(y*a),de=s.stackAlloc(y*a),re=s.stackAlloc(A*a),ct=s.stackAlloc(A*a);try{[m,w]=rn(i),K("wasm prepareInputOutputTensor");for(let b=0;b<y;b++)await ln(n[b],B,T,e,l[t[b]],t[b],p);for(let b=0;b<A;b++)await ln(r[b],g,T,e,c[o[b]],y+o[b],p);Q("wasm prepareInputOutputTensor");for(let b=0;b<y;b++)s.setValue(v+b*a,B[b],"*"),s.setValue(de+b*a,l[t[b]],"*");for(let b=0;b<A;b++)s.setValue(re+b*a,g[b],"*"),s.setValue(ct+b*a,c[o[b]],"*");s.jsepOnRunStart?.(f),s.webnnOnRunStart?.(f);let N;N=await s._OrtRun(f,de,v,y,ct,A,re,m),N!==0&&S("failed to call OrtRun().");let z=[],dt=[];K("wasm ProcessOutputTensor");for(let b=0;b<A;b++){let W=Number(s.getValue(re+b*a,"*"));if(W===g[b]||U.includes(g[b])){z.push(r[b]),W!==g[b]&&s._OrtReleaseTensor(W)!==0&&S("Can't release tensor.");continue}let lt=s.stackSave(),$=s.stackAlloc(4*a),oe=!1,P,C=0;try{s._OrtGetTensorData(W,$,$+a,$+2*a,$+3*a)!==0&&S(`Can't access output tensor data on index ${b}.`);let je=a===4?"i32":"i64",ge=Number(s.getValue($,je));C=s.getValue($+a,"*");let pt=s.getValue($+a*2,"*"),On=Number(s.getValue($+a*3,je)),H=[];for(let D=0;D<On;D++)H.push(Number(s.getValue(pt+D*a,je)));s._OrtFree(pt)!==0&&S("Can't free memory for tensor dims.");let j=H.reduce((D,L)=>D*L,1);P=Fe(ge);let le=d?.outputPreferredLocations[o[b]];if(P==="string"){if(le==="gpu-buffer"||le==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let D=[];for(let L=0;L<j;L++){let V=s.getValue(C+L*a,"*"),Ee=s.getValue(C+(L+1)*a,"*"),mt=L===j-1?void 0:Ee-V;D.push(s.UTF8ToString(V,mt))}z.push([P,H,D,"cpu"])}else if(le==="gpu-buffer"&&j>0){let D=s.jsepGetBuffer;if(!D)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let L=D(C),V=ae(ge,j);if(V===void 0||!Ne(P))throw new Error(`Unsupported data type: ${P}`);oe=!0,z.push([P,H,{gpuBuffer:L,download:s.jsepCreateDownloader(L,V,P),dispose:()=>{s._OrtReleaseTensor(W)!==0&&S("Can't release tensor.")}},"gpu-buffer"])}else if(le==="ml-tensor"&&j>0){let D=s.webnnEnsureTensor,L=s.webnnIsGraphInputOutputTypeSupported;if(!D||!L)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(ae(ge,j)===void 0||!ke(P))throw new Error(`Unsupported data type: ${P}`);if(!L(e,P,!1))throw new Error(`preferredLocation "ml-tensor" for ${P} output is not supported by current WebNN Context.`);let Ee=await D(e,C,ge,H,!1);oe=!0,z.push([P,H,{mlTensor:Ee,download:s.webnnCreateMLTensorDownloader(C,P),dispose:()=>{s.webnnReleaseTensorId(C),s._OrtReleaseTensor(W)}},"ml-tensor"])}else if(le==="ml-tensor-cpu-output"&&j>0){let D=s.webnnCreateMLTensorDownloader(C,P)(),L=z.length;oe=!0,dt.push((async()=>{let V=[L,await D];return s.webnnReleaseTensorId(C),s._OrtReleaseTensor(W),V})()),z.push([P,H,[],"cpu"])}else{let D=un(P),L=new D(j);new Uint8Array(L.buffer,L.byteOffset,L.byteLength).set(s.HEAPU8.subarray(C,C+L.byteLength)),z.push([P,H,L,"cpu"])}}finally{s.stackRestore(lt),P==="string"&&C&&s._free(C),oe||s._OrtReleaseTensor(W)}}d&&!p&&(s._OrtClearBoundOutputs(d.handle)!==0&&S("Can't clear bound outputs."),ue.set(e,[f,l,c,d,p,!1]));for(let[b,W]of await Promise.all(dt))z[b][2]=W;return Q("wasm ProcessOutputTensor"),z}finally{s.webnnOnRunEnd?.(f),s.stackRestore(M),B.forEach(N=>s._OrtReleaseTensor(N)),g.forEach(N=>s._OrtReleaseTensor(N)),T.forEach(N=>s._free(N)),m!==0&&s._OrtReleaseRunOptions(m),w.forEach(N=>s._free(N))}},xe=e=>{let t=I(),n=ue.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&S("Can't get an profile file name."),t._OrtFree(r)},ve=e=>{let t=[];for(let n of e){let o=n[2];!Array.isArray(o)&&"buffer"in o&&t.push(o.buffer)}return t}});var ne,k,ye,Ge,$e,We,at,ut,fe,ce,qn,pn,mn,wn,hn,bn,yn,gn,ft=E(()=>{"use strict";J();tt();ee();Oe();ne=()=>!!O.wasm.proxy&&typeof document<"u",ye=!1,Ge=!1,$e=!1,ut=new Map,fe=(e,t)=>{let n=ut.get(e);n?n.push(t):ut.set(e,[t])},ce=()=>{if(ye||!Ge||$e||!k)throw new Error("worker not ready")},qn=e=>{switch(e.data.type){case"init-wasm":ye=!1,e.data.err?($e=!0,at[1](e.data.err)):(Ge=!0,at[0]()),We&&(URL.revokeObjectURL(We),We=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=ut.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},pn=async()=>{if(!Ge){if(ye)throw new Error("multiple calls to 'initWasm()' detected.");if($e)throw new Error("previous call to 'initWasm()' failed.");if(ye=!0,ne())return new Promise((e,t)=>{k?.terminate(),en().then(([n,o])=>{try{k=o,k.onerror=i=>t(i),k.onmessage=qn,at=[e,t];let r={type:"init-wasm",in:O};if(!r.in.wasm.wasmPaths&&n){let i=Ce();i&&(r.in.wasm.wasmPaths=i)}k.postMessage(r),We=n}catch(r){t(r)}},t)});try{await Be(O.wasm),await Le(O),Ge=!0}catch(e){throw $e=!0,e}finally{ye=!1}}},mn=async e=>{if(ne())return ce(),new Promise((t,n)=>{fe("init-ep",[t,n]);let o={type:"init-ep",in:{epName:e,env:O}};k.postMessage(o)});await Pe(O,e)},wn=async e=>ne()?(ce(),new Promise((t,n)=>{fe("copy-from",[t,n]);let o={type:"copy-from",in:{buffer:e}};k.postMessage(o,[e.buffer])})):we(e),hn=async(e,t)=>{if(ne()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ce(),new Promise((n,o)=>{fe("create",[n,o]);let r={type:"create",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),k.postMessage(r,i)})}else return _e(e,t)},bn=async e=>{if(ne())return ce(),new Promise((t,n)=>{fe("release",[t,n]);let o={type:"release",in:e};k.postMessage(o)});De(e)},yn=async(e,t,n,o,r,i)=>{if(ne()){if(n.some(s=>s[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(r.some(s=>s))throw new Error("pre-allocated output tensor is not supported for proxy.");return ce(),new Promise((s,a)=>{fe("run",[s,a]);let u=n,f={type:"run",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:o,options:i}};k.postMessage(f,ve(u))})}else return Ue(e,t,n,o,r,i)},gn=async e=>{if(ne())return ce(),new Promise((t,n)=>{fe("end-profiling",[t,n]);let o={type:"end-profiling",in:e};k.postMessage(o)});xe(e)}});var En,Yn,ze,Sn=E(()=>{"use strict";J();ft();st();Ae();it();En=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Yn=e=>{switch(e[3]){case"cpu":return new G(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!Ne(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return G.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!ke(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return G.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},ze=class{async fetchModelAndCopyToWasmMemory(t){return wn(await be(t))}async loadModel(t,n){Z();let o;typeof t=="string"?o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await hn(o,n),X()}async dispose(){return bn(this.sessionId)}async run(t,n,o){Z();let r=[],i=[];Object.entries(t).forEach(d=>{let p=d[0],h=d[1],y=this.inputNames.indexOf(p);if(y===-1)throw new Error(`invalid input '${p}'`);r.push(h),i.push(y)});let s=[],a=[];Object.entries(n).forEach(d=>{let p=d[0],h=d[1],y=this.outputNames.indexOf(p);if(y===-1)throw new Error(`invalid output '${p}'`);s.push(h),a.push(y)});let u=r.map((d,p)=>En(d,()=>`input "${this.inputNames[i[p]]}"`)),f=s.map((d,p)=>d?En(d,()=>`output "${this.outputNames[a[p]]}"`):null),l=await yn(this.sessionId,i,u,a,f,o),c={};for(let d=0;d<l.length;d++)c[this.outputNames[a[d]]]=s[d]??Yn(l[d]);return X(),c}startProfiling(){}endProfiling(){gn(this.sessionId)}}});var In={};qe(In,{OnnxruntimeWebAssemblyBackend:()=>He,initializeFlags:()=>Tn,wasmBackend:()=>Zn});var Tn,He,Zn,An=E(()=>{"use strict";J();ft();Sn();Tn=()=>{(typeof O.wasm.initTimeout!="number"||O.wasm.initTimeout<0)&&(O.wasm.initTimeout=0);let e=O.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),O.wasm.simd=!1),typeof O.wasm.proxy!="boolean"&&(O.wasm.proxy=!1),typeof O.wasm.trace!="boolean"&&(O.wasm.trace=!1),typeof O.wasm.numThreads!="number"||!Number.isInteger(O.wasm.numThreads)||O.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)O.wasm.numThreads=1;else{let t=typeof navigator>"u"?Je("node:os").cpus().length:navigator.hardwareConcurrency;O.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},He=class{async init(t){Tn(),await pn(),await mn(t)}async createInferenceSessionHandler(t,n){let o=new ze;return await o.loadModel(t,n),o}},Zn=new He});J();J();J();var jt="1.26.0";var Ro=et;{let e=(An(),wt(In)).wasmBackend;pe("cpu",e,10),pe("wasm",e,10)}Object.defineProperty(O.versions,"web",{value:jt,enumerable:!0});export{Un as InferenceSession,Ft as TRACE,K as TRACE_EVENT_BEGIN,Q as TRACE_EVENT_END,Z as TRACE_FUNC_BEGIN,X as TRACE_FUNC_END,G as Tensor,Ro as default,O as env,pe as registerBackend};
|
| 7 |
+
//# sourceMappingURL=ort.wasm.min.mjs.map
|
ort-wasm/ort.wasm.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.webgl.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.webgl.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.webgpu.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort-wasm/ort.webgpu.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.26.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var nt=Object.defineProperty;var Jr=Object.getOwnPropertyDescriptor;var qr=Object.getOwnPropertyNames;var Yr=Object.prototype.hasOwnProperty;var ot=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var T=(t,e)=>()=>(t&&(e=t(t=0)),e);var ve=(t,e)=>{for(var r in e)nt(t,r,{get:e[r],enumerable:!0})},Xr=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of qr(e))!Yr.call(t,n)&&n!==r&&nt(t,n,{get:()=>e[n],enumerable:!(o=Jr(e,n))||o.enumerable});return t};var st=t=>Xr(nt({},"__esModule",{value:!0}),t);var Me,re,ne,Zr,xt,at=T(()=>{"use strict";Me=new Map,re=[],ne=(t,e,r)=>{if(e&&typeof e.init=="function"&&typeof e.createInferenceSessionHandler=="function"){let o=Me.get(t);if(o===void 0)Me.set(t,{backend:e,priority:r});else{if(o.priority>r)return;if(o.priority===r&&o.backend!==e)throw new Error(`cannot register backend "${t}" using priority ${r}`)}if(r>=0){let n=re.indexOf(t);n!==-1&&re.splice(n,1);for(let s=0;s<re.length;s++)if(Me.get(re[s]).priority<=r){re.splice(s,0,t);return}re.push(t)}return}throw new TypeError("not a valid backend")},Zr=async t=>{let e=Me.get(t);if(!e)return"backend not found.";if(e.initialized)return e.backend;if(e.aborted)return e.error;{let r=!!e.initPromise;try{return r||(e.initPromise=e.backend.init(t)),await e.initPromise,e.initialized=!0,e.backend}catch(o){return r||(e.error=`${o}`,e.aborted=!0),e.error}finally{delete e.initPromise}}},xt=async t=>{let e=t.executionProviders||[],r=e.map(u=>typeof u=="string"?u:u.name),o=r.length===0?re:r,n,s=[],a=new Set;for(let u of o){let f=await Zr(u);typeof f=="string"?s.push({name:u,err:f}):(n||(n=f),n===f&&a.add(u))}if(!n)throw new Error(`no available backend found. ERR: ${s.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of s)r.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let i=e.filter(u=>a.has(typeof u=="string"?u:u.name));return[n,new Proxy(t,{get:(u,f)=>f==="executionProviders"?i:Reflect.get(u,f)})]}});var Bt=T(()=>{"use strict";at()});var Ot,Ut=T(()=>{"use strict";Ot="1.26.0"});var Dt,U,it=T(()=>{"use strict";Ut();Dt="warning",U={wasm:{},webgl:{},webgpu:{},versions:{common:Ot},set logLevel(t){if(t!==void 0){if(typeof t!="string"||["verbose","info","warning","error","fatal"].indexOf(t)===-1)throw new Error(`Unsupported logging level: ${t}`);Dt=t}},get logLevel(){return Dt}};Object.defineProperty(U,"logLevel",{enumerable:!0})});var v,Ct=T(()=>{"use strict";it();v=U});var Pt,_t,Rt=T(()=>{"use strict";Pt=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=t.dims[3],r.height=t.dims[2];let o=r.getContext("2d");if(o!=null){let n,s;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[3]):(n=t.dims[3],s=t.dims[2]);let a=e?.format!==void 0?e.format:"RGB",i=e?.norm,u,f;i===void 0||i.mean===void 0?u=[255,255,255,255]:typeof i.mean=="number"?u=[i.mean,i.mean,i.mean,i.mean]:(u=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(u[3]=i.mean[3])),i===void 0||i.bias===void 0?f=[0,0,0,0]:typeof i.bias=="number"?f=[i.bias,i.bias,i.bias,i.bias]:(f=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(f[3]=i.bias[3]));let c=s*n,d=0,p=c,l=c*2,y=-1;a==="RGBA"?(d=0,p=c,l=c*2,y=c*3):a==="RGB"?(d=0,p=c,l=c*2):a==="RBG"&&(d=0,l=c,p=c*2);for(let w=0;w<s;w++)for(let L=0;L<n;L++){let h=(t.data[d++]-f[0])*u[0],m=(t.data[p++]-f[1])*u[1],A=(t.data[l++]-f[2])*u[2],b=y===-1?255:(t.data[y++]-f[3])*u[3];o.fillStyle="rgba("+h+","+m+","+A+","+b+")",o.fillRect(L,w,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},_t=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(r!=null){let n,s,a;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[1],a=t.dims[3]):(n=t.dims[3],s=t.dims[2],a=t.dims[1]);let i=e!==void 0&&e.format!==void 0?e.format:"RGB",u=e?.norm,f,c;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?c=[0,0,0,0]:typeof u.bias=="number"?c=[u.bias,u.bias,u.bias,u.bias]:(c=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(c[3]=u.bias[3]));let d=s*n;if(e!==void 0&&(e.format!==void 0&&a===4&&e.format!=="RGBA"||a===3&&e.format!=="RGB"&&e.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let p=4,l=0,y=1,w=2,L=3,h=0,m=d,A=d*2,b=-1;i==="RGBA"?(h=0,m=d,A=d*2,b=d*3):i==="RGB"?(h=0,m=d,A=d*2):i==="RBG"&&(h=0,A=d,m=d*2),o=r.createImageData(n,s);for(let I=0;I<s*n;l+=p,y+=p,w+=p,L+=p,I++)o.data[l]=(t.data[h++]-c[0])*f[0],o.data[y]=(t.data[m++]-c[1])*f[1],o.data[w]=(t.data[A++]-c[2])*f[2],o.data[L]=b===-1?255:(t.data[b++]-c[3])*f[3]}else throw new Error("Can not access image data");return o}});var ut,Nt,Ft,Wt,kt,Gt,$t=T(()=>{"use strict";xe();ut=(t,e)=>{if(t===void 0)throw new Error("Image buffer must be defined");if(e.height===void 0||e.width===void 0)throw new Error("Image height and width must be defined");if(e.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:o}=e,n=e.norm??{mean:255,bias:0},s,a;typeof n.mean=="number"?s=[n.mean,n.mean,n.mean,n.mean]:s=[n.mean[0],n.mean[1],n.mean[2],n.mean[3]??255],typeof n.bias=="number"?a=[n.bias,n.bias,n.bias,n.bias]:a=[n.bias[0],n.bias[1],n.bias[2],n.bias[3]??0];let i=e.format!==void 0?e.format:"RGBA",u=e.tensorFormat!==void 0&&e.tensorFormat!==void 0?e.tensorFormat:"RGB",f=r*o,c=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),d=4,p=0,l=1,y=2,w=3,L=0,h=f,m=f*2,A=-1;i==="RGB"&&(d=3,p=0,l=1,y=2,w=-1),u==="RGBA"?A=f*3:u==="RBG"?(L=0,m=f,h=f*2):u==="BGR"&&(m=0,h=f,L=f*2);for(let I=0;I<f;I++,p+=d,y+=d,l+=d,w+=d)c[L++]=(t[p]+a[0])/s[0],c[h++]=(t[l]+a[1])/s[1],c[m++]=(t[y]+a[2])/s[2],A!==-1&&w!==-1&&(c[A++]=(t[w]+a[3])/s[3]);return u==="RGBA"?new _("float32",c,[1,4,r,o]):new _("float32",c,[1,3,r,o])},Nt=async(t,e)=>{let r=typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement,o=typeof ImageData<"u"&&t instanceof ImageData,n=typeof ImageBitmap<"u"&&t instanceof ImageBitmap,s=typeof t=="string",a,i=e??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=c=>typeof HTMLCanvasElement<"u"&&c instanceof HTMLCanvasElement||c instanceof OffscreenCanvas?c.getContext("2d"):null;if(r){let c=u();c.width=t.width,c.height=t.height;let d=f(c);if(d!=null){let p=t.height,l=t.width;if(e!==void 0&&e.resizedHeight!==void 0&&e.resizedWidth!==void 0&&(p=e.resizedHeight,l=e.resizedWidth),e!==void 0){if(i=e,e.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=p,i.width=l}else i.tensorFormat="RGBA",i.height=p,i.width=l;d.drawImage(t,0,0),a=d.getImageData(0,0,l,p).data}else throw new Error("Can not access image data")}else if(o){let c,d;if(e!==void 0&&e.resizedWidth!==void 0&&e.resizedHeight!==void 0?(c=e.resizedHeight,d=e.resizedWidth):(c=t.height,d=t.width),e!==void 0&&(i=e),i.format="RGBA",i.height=c,i.width=d,e!==void 0){let p=u();p.width=d,p.height=c;let l=f(p);if(l!=null)l.putImageData(t,0,0),a=l.getImageData(0,0,d,c).data;else throw new Error("Can not access image data")}else a=t.data}else if(n){if(e===void 0)throw new Error("Please provide image config with format for Imagebitmap");let c=u();c.width=t.width,c.height=t.height;let d=f(c);if(d!=null){let p=t.height,l=t.width;return d.drawImage(t,0,0,l,p),a=d.getImageData(0,0,l,p).data,i.height=p,i.width=l,ut(a,i)}else throw new Error("Can not access image data")}else{if(s)return new Promise((c,d)=>{let p=u(),l=f(p);if(!t||!l)return d();let y=new Image;y.crossOrigin="Anonymous",y.src=t,y.onload=()=>{p.width=y.width,p.height=y.height,l.drawImage(y,0,0,p.width,p.height);let w=l.getImageData(0,0,p.width,p.height);i.height=p.height,i.width=p.width,c(ut(w.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return ut(a,i);throw new Error("Input data provided is not supported - aborted tensor creation")},Ft=(t,e)=>{let{width:r,height:o,download:n,dispose:s}=e,a=[1,o,r,4];return new _({location:"texture",type:"float32",texture:t,dims:a,download:n,dispose:s})},Wt=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"gpu-buffer",type:r??"float32",gpuBuffer:t,dims:o,download:n,dispose:s})},kt=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"ml-tensor",type:r??"float32",mlTensor:t,dims:o,download:n,dispose:s})},Gt=(t,e,r)=>new _({location:"cpu-pinned",type:t,data:e,dims:r??[e.length]})});var oe,we,zt,Vt,jt=T(()=>{"use strict";oe=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),we=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),zt=!1,Vt=()=>{if(!zt){zt=!0;let t=typeof BigInt64Array<"u"&&BigInt64Array.from,e=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,o=typeof r<"u"&&r.from;t&&(oe.set("int64",BigInt64Array),we.set(BigInt64Array,"int64")),e&&(oe.set("uint64",BigUint64Array),we.set(BigUint64Array,"uint64")),o?(oe.set("float16",r),we.set(r,"float16")):oe.set("float16",Uint16Array)}}});var Ht,Jt,qt=T(()=>{"use strict";xe();Ht=t=>{let e=1;for(let r=0;r<t.length;r++){let o=t[r];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${r}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${o}`);e*=o}return e},Jt=(t,e)=>{switch(t.location){case"cpu":return new _(t.type,t.data,e);case"cpu-pinned":return new _({location:"cpu-pinned",data:t.data,type:t.type,dims:e});case"texture":return new _({location:"texture",texture:t.texture,type:t.type,dims:e});case"gpu-buffer":return new _({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:e});case"ml-tensor":return new _({location:"ml-tensor",mlTensor:t.mlTensor,type:t.type,dims:e});default:throw new Error(`tensorReshape: tensor location ${t.location} is not supported`)}}});var _,xe=T(()=>{"use strict";Rt();$t();jt();qt();_=class{constructor(e,r,o){Vt();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let i=oe.get(n);if(!i)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof i))throw new TypeError(`buffer should be of type ${i.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let i,u;if(typeof e=="string")if(n=e,u=o,e==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");i=r}else{let f=oe.get(e);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(r)){if(e==="float16"&&f===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${f.name} as data.`);e==="uint64"||e==="int64"?i=f.from(r,BigInt):i=f.from(r)}else if(r instanceof f)i=r;else if(r instanceof Uint8ClampedArray)if(e==="uint8")i=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&r instanceof Uint16Array&&f!==Uint16Array)i=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${n} tensor's data must be type of ${f}`)}else if(u=r,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof e[0];if(f==="string")n="string",i=e;else if(f==="boolean")n="bool",i=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",i=Uint8Array.from(e);else{let f=we.get(e.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=f,i=e}if(u===void 0)u=[i.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");s=u,this.cpuData=i,this.dataLocation="cpu"}let a=Ht(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,r){return Nt(e,r)}static fromTexture(e,r){return Ft(e,r)}static fromGpuBuffer(e,r){return Wt(e,r)}static fromMLTensor(e,r){return kt(e,r)}static fromPinnedBuffer(e,r,o){return Gt(e,r,o)}toDataURL(e){return Pt(this,e)}toImageData(e){return _t(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,e&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Jt(this,e)}}});var V,ft=T(()=>{"use strict";xe();V=_});var Yt,Xt,se,ae,Z,K,ct=T(()=>{"use strict";it();Yt=(t,e)=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.timeStamp(`${t}::ORT::${e}`)},Xt=(t,e)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let n=0;n<r.length;n++){if(o&&!r[n].includes("TRACE_FUNC")){let s=`FUNC_${t}::${r[n].trim().split(" ")[1]}`;e&&(s+=`::${e}`),Yt("CPU",s);return}r[n].includes("TRACE_FUNC")&&(o=!0)}},se=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||Xt("BEGIN",t)},ae=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||Xt("END",t)},Z=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.time(`ORT::${t}`)},K=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.timeEnd(`ORT::${t}`)}});var Be,Zt=T(()=>{"use strict";at();ft();ct();Be=class t{constructor(e){this.handler=e}async run(e,r,o){se(),Z("InferenceSession.run");let n={},s={};if(typeof e!="object"||e===null||e instanceof V||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof V)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw new TypeError("'fetches' cannot be an empty array.");a=!1;for(let f of r){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);n[f]=null}if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,c=Object.getOwnPropertyNames(r);for(let d of this.outputNames)if(c.indexOf(d)!==-1){let p=r[d];(p===null||p instanceof V)&&(f=!0,a=!1,n[d]=p)}if(f){if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else s=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof e[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)n[f]=null;let i=await this.handler.run(e,n,s),u={};for(let f in i)if(Object.hasOwnProperty.call(i,f)){let c=i[f];c instanceof V?u[f]=c:u[f]=new V(c.type,c.data,c.dims)}return K("InferenceSession.run"),ae(),u}async release(){return this.handler.dispose()}static async create(e,r,o,n){se(),Z("InferenceSession.create");let s,a={};if(typeof e=="string"){if(s=e,typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(s=e,typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer){let c=e,d=0,p=e.byteLength;if(typeof r=="object"&&r!==null)a=r;else if(typeof r=="number"){if(d=r,!Number.isSafeInteger(d))throw new RangeError("'byteOffset' must be an integer.");if(d<0||d>=c.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${c.byteLength}).`);if(p=e.byteLength-d,typeof o=="number"){if(p=o,!Number.isSafeInteger(p))throw new RangeError("'byteLength' must be an integer.");if(p<=0||d+p>c.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${c.byteLength-d}].`);if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");s=new Uint8Array(c,d,p)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,u]=await xt(a),f=await i.createInferenceSessionHandler(s,u);return K("InferenceSession.create"),ae(),new t(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Kr,Kt=T(()=>{"use strict";Zt();Kr=Be});var Qt=T(()=>{"use strict"});var er=T(()=>{"use strict"});var tr=T(()=>{"use strict"});var rr=T(()=>{"use strict"});var dt={};ve(dt,{InferenceSession:()=>Kr,TRACE:()=>Yt,TRACE_EVENT_BEGIN:()=>Z,TRACE_EVENT_END:()=>K,TRACE_FUNC_BEGIN:()=>se,TRACE_FUNC_END:()=>ae,Tensor:()=>V,env:()=>v,registerBackend:()=>ne});var Q=T(()=>{"use strict";Bt();Ct();Kt();ft();Qt();er();ct();tr();rr()});var Oe=T(()=>{"use strict"});var ar={};ve(ar,{default:()=>Qr});var or,sr,Qr,ir=T(()=>{"use strict";pt();ee();Ue();or="ort-wasm-proxy-worker",sr=globalThis.self?.name===or;sr&&(self.onmessage=t=>{let{type:e,in:r}=t.data;try{switch(e){case"init-wasm":De(r.wasm).then(()=>{Ce(r).then(()=>{postMessage({type:e})},o=>{postMessage({type:e,err:o})})},o=>{postMessage({type:e,err:o})});break;case"init-ep":{let{epName:o,env:n}=r;Pe(n,o).then(()=>{postMessage({type:e})},s=>{postMessage({type:e,err:s})});break}case"copy-from":{let{buffer:o}=r,n=ge(o);postMessage({type:e,out:n});break}case"create":{let{model:o,options:n}=r;_e(o,n).then(s=>{postMessage({type:e,out:s})},s=>{postMessage({type:e,err:s})});break}case"release":Re(r),postMessage({type:e});break;case"run":{let{sessionId:o,inputIndices:n,inputs:s,outputIndices:a,options:i}=r;Ne(o,n,s,a,new Array(a.length).fill(null),i).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:e,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:e,out:u},We([...s,...u]))},u=>{postMessage({type:e,err:u})});break}case"end-profiling":Fe(r),postMessage({type:e});break;default:}}catch(o){postMessage({type:e,err:o})}});Qr=sr?null:t=>new Worker(t??G,{type:"module",name:or})});var cr,en,tn,G,ke,lt,rn,nn,dr,on,ur,pr,fr,lr,Ue=T(()=>{"use strict";Oe();cr=typeof location>"u"?void 0:location.origin,en=import.meta.url>"file:"&&import.meta.url<"file;",tn=()=>{if(!!1){if(en){let t=URL;return new URL(new t("ort.webgpu.min.mjs",import.meta.url).href,cr).href}return import.meta.url}},G=tn(),ke=()=>{if(G&&!G.startsWith("blob:"))return G.substring(0,G.lastIndexOf("/")+1)},lt=(t,e)=>{try{let r=e??G;return(r?new URL(t,r):new URL(t)).origin===cr}catch{return!1}},rn=(t,e)=>{let r=e??G;try{return(r?new URL(t,r):new URL(t)).href}catch{return}},nn=(t,e)=>`${e??"./"}${t}`,dr=async t=>{let r=await(await fetch(t,{credentials:"same-origin"})).blob();return URL.createObjectURL(r)},on=async t=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/t)).default,ur=(ir(),st(ar)).default,pr=async()=>{if(!G)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(lt(G))return[void 0,ur()];let t=await dr(G);return[t,ur(t)]},fr=void 0,lr=async(t,e,r,o)=>{let n=fr&&!(t||e);if(n)if(G)n=lt(G)||o&&!r;else if(o&&!r)n=!0;else throw new Error("cannot determine the script source URL.");if(n)return[void 0,fr];{let s="ort-wasm-simd-threaded.asyncify.mjs",a=t??rn(s,e),i=!!1&&r&&a&&!lt(a,e),u=i?await dr(a):a??nn(s,e);return[i?u:void 0,await on(u)]}}});var mt,yt,Ge,mr,sn,an,un,De,S,ee=T(()=>{"use strict";Ue();yt=!1,Ge=!1,mr=!1,sn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},an=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},un=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},De=async t=>{if(yt)return Promise.resolve();if(Ge)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(mr)throw new Error("previous call to 'initializeWebAssembly()' failed.");Ge=!0;let e=t.initTimeout,r=t.numThreads;if(t.simd!==!1){if(t.simd==="relaxed"){if(!un())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!an())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=sn();r>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),t.numThreads=r=1);let n=t.wasmPaths,s=typeof n=="string"?n:void 0,a=n?.mjs,i=a?.href??a,u=n?.wasm,f=u?.href??u,c=t.wasmBinary,[d,p]=await lr(i,s,r>1,!!c||!!f),l=!1,y=[];if(e>0&&y.push(new Promise(w=>{setTimeout(()=>{l=!0,w()},e)})),y.push(new Promise((w,L)=>{let h={numThreads:r};if(c)h.wasmBinary=c,h.locateFile=m=>m;else if(f||s)h.locateFile=m=>f??s+m;else if(i&&i.indexOf("blob:")!==0)h.locateFile=m=>new URL(m,i).href;else if(d){let m=ke();m&&(h.locateFile=A=>m+A)}p(h).then(m=>{Ge=!1,yt=!0,mt=m,w(),d&&URL.revokeObjectURL(d)},m=>{Ge=!1,mr=!0,L(m)})})),await Promise.race(y),l)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},S=()=>{if(yt&&mt)return mt;throw new Error("WebAssembly is not initialized yet.")}});var F,Te,E,$e=T(()=>{"use strict";ee();F=(t,e)=>{let r=S(),o=r.lengthBytesUTF8(t)+1,n=r._malloc(o);return r.stringToUTF8(t,n,o),e.push(n),n},Te=(t,e,r,o)=>{if(typeof t=="object"&&t!==null){if(r.has(t))throw new Error("Circular reference in options");r.add(t)}Object.entries(t).forEach(([n,s])=>{let a=e?e+n:n;if(typeof s=="object")Te(s,a+".",r,o);else if(typeof s=="string"||typeof s=="number")o(a,s.toString());else if(typeof s=="boolean")o(a,s?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof s}`)})},E=t=>{let e=S(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetLastError(n,n+o);let s=Number(e.getValue(n,o===4?"i32":"i64")),a=e.getValue(n+o,"*"),i=a?e.UTF8ToString(a):"";throw new Error(`${t} ERROR_CODE: ${s}, ERROR_MESSAGE: ${i}`)}finally{e.stackRestore(r)}}});var yr,hr=T(()=>{"use strict";ee();$e();yr=t=>{let e=S(),r=0,o=[],n=t||{};try{if(t?.logSeverityLevel===void 0)n.logSeverityLevel=2;else if(typeof t.logSeverityLevel!="number"||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${t.logSeverityLevel}`);if(t?.logVerbosityLevel===void 0)n.logVerbosityLevel=0;else if(typeof t.logVerbosityLevel!="number"||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);t?.terminate===void 0&&(n.terminate=!1);let s=0;return t?.tag!==void 0&&(s=F(t.tag,o)),r=e._OrtCreateRunOptions(n.logSeverityLevel,n.logVerbosityLevel,!!n.terminate,s),r===0&&E("Can't create run options."),t?.extra!==void 0&&Te(t.extra,"",new WeakSet,(a,i)=>{let u=F(a,o),f=F(i,o);e._OrtAddRunConfigEntry(r,u,f)!==0&&E(`Can't set a run config entry: ${a} - ${i}.`)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseRunOptions(r),o.forEach(a=>e._free(a)),s}}});var fn,cn,dn,Ee,ue,pn,br,wr=T(()=>{"use strict";ee();$e();fn=t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}},cn=t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}},dn=t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});let e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly="1"),t.executionProviders&&t.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(t.enableMemPattern=!1)},Ee=(t,e,r,o)=>{let n=F(e,o),s=F(r,o);S()._OrtAddSessionConfigEntry(t,n,s)!==0&&E(`Can't set a session config entry: ${e} - ${r}.`)},ue=(t,e,r,o)=>{let n=F(e,o),s=F(r,o);t.push([n,s])},pn=async(t,e,r)=>{let o=e.executionProviders;for(let n of o){let s=typeof n=="string"?n:n.name,a=[];switch(s){case"webnn":if(s="WEBNN",Ee(t,"session.disable_quant_qdq","1",r),Ee(t,"session.disable_qdq_constant_folding","1",r),typeof n!="string"){let p=n?.deviceType;p&&Ee(t,"deviceType",p,r)}break;case"webgpu":{s="WebGPU";let d;if(typeof n!="string"){let l=n;if(l.device)if(typeof GPUDevice<"u"&&l.device instanceof GPUDevice)d=l.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:y}=e;if(typeof y=="boolean"&&y&&ue(a,"enableGraphCapture","1",r),typeof l.preferredLayout=="string"&&ue(a,"preferredLayout",l.preferredLayout,r),l.forceCpuNodeNames){let w=Array.isArray(l.forceCpuNodeNames)?l.forceCpuNodeNames:[l.forceCpuNodeNames];ue(a,"forceCpuNodeNames",w.join(`
|
| 7 |
+
`),r)}l.validationMode&&ue(a,"validationMode",l.validationMode,r)}let p=S().webgpuRegisterDevice(d);if(p){let[l,y,w]=p;ue(a,"deviceId",l.toString(),r),ue(a,"webgpuInstance",y.toString(),r),ue(a,"webgpuDevice",w.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${s}`)}let i=F(s,r),u=a.length,f=0,c=0;if(u>0){f=S()._malloc(u*S().PTR_SIZE),r.push(f),c=S()._malloc(u*S().PTR_SIZE),r.push(c);for(let d=0;d<u;d++)S().setValue(f+d*S().PTR_SIZE,a[d][0],"*"),S().setValue(c+d*S().PTR_SIZE,a[d][1],"*")}await S()._OrtAppendExecutionProvider(t,i,f,c,u)!==0&&E(`Can't append execution provider: ${s}.`)}},br=async t=>{let e=S(),r=0,o=[],n=t||{};dn(n);try{let s=fn(n.graphOptimizationLevel??"all"),a=cn(n.executionMode??"sequential"),i=typeof n.logId=="string"?F(n.logId,o):0,u=n.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=n.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let c=typeof n.optimizedModelFilePath=="string"?F(n.optimizedModelFilePath,o):0;if(r=e._OrtCreateSessionOptions(s,!!n.enableCpuMemArena,!!n.enableMemPattern,a,!!n.enableProfiling,0,i,u,f,c),r===0&&E("Can't create session options."),n.executionProviders&&await pn(r,n,o),n.enableGraphCapture!==void 0){if(typeof n.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${n.enableGraphCapture}`);Ee(r,"enableGraphCapture",n.enableGraphCapture.toString(),o)}if(n.freeDimensionOverrides)for(let[d,p]of Object.entries(n.freeDimensionOverrides)){if(typeof d!="string")throw new Error(`free dimension override name must be a string: ${d}`);if(typeof p!="number"||!Number.isInteger(p)||p<0)throw new Error(`free dimension override value must be a non-negative integer: ${p}`);let l=F(d,o);e._OrtAddFreeDimensionOverride(r,l,p)!==0&&E(`Can't set a free dimension override: ${d} - ${p}.`)}return n.extra!==void 0&&Te(n.extra,"",new WeakSet,(d,p)=>{Ee(r,d,p,o)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseSessionOptions(r)!==0&&E("Can't release session options."),o.forEach(a=>e._free(a)),s}}});var te,ze,le,fe,Se,Ve,je,ht,ce=T(()=>{"use strict";te=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${t}`)}},ze=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${t}`)}},le=(t,e)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][t],o=typeof e=="number"?e:e.reduce((n,s)=>n*s,1);return r>0?Math.ceil(o*r):void 0},fe=t=>{switch(t){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}},Se=t=>{switch(t){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${t}`)}},Ve=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",je=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint64"||t==="int8"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",ht=t=>{switch(t){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${t}`)}}});var Ie,bt=T(()=>{"use strict";Oe();Ie=async t=>{if(typeof t=="string")if(!1)try{let{readFile:e}=ot("node:fs/promises");return new Uint8Array(await e(t))}catch(e){if(e.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:r}=ot("node:fs"),o=r(t),n=[];for await(let s of o)n.push(s);return new Uint8Array(Buffer.concat(n))}throw e}else{let e=await fetch(t);if(!e.ok)throw new Error(`failed to load external data file: ${t}`);let r=e.headers.get("Content-Length"),o=r?parseInt(r,10):0;if(o<1073741824)return new Uint8Array(await e.arrayBuffer());{if(!e.body)throw new Error(`failed to load external data file: ${t}, no response body.`);let n=e.body.getReader(),s;try{s=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let u=Math.ceil(o/65536);s=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw i}let a=0;for(;;){let{done:i,value:u}=await n.read();if(i)break;let f=u.byteLength;new Uint8Array(s,a,f).set(u),a+=f}return new Uint8Array(s,0,o)}}else return t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t instanceof Uint8Array?t:new Uint8Array(t)}});var gr,Tr=T(()=>{"use strict";ce();gr=(t,e)=>new(fe(e))(t)});var ln,mn,Er,Sr,Ir,yn,R,wt=T(()=>{"use strict";ce();ln=["V","I","W","E","F"],mn=(t,e)=>{console.log(`[${ln[t]},${new Date().toISOString()}]${e}`)},Ir=(t,e)=>{Er=t,Sr=e},yn=(t,e)=>{let r=Se(t),o=Se(Er);r>=o&&mn(r,typeof e=="function"?e():e)},R=(...t)=>{Sr&&yn(...t)}});var Ar,Tt,vr,hn,Lr,bn,Mr,He,Je,gt,xr,Br=T(()=>{"use strict";ce();wt();Ar=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),Tt=(t,e)=>{if(e==="int32")return t;let r=Ar.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);let o=r/8;if(t.byteLength%o!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${o}.`);let n=t.byteLength/o,s=new(fe(e))(t.buffer,t.byteOffset,n);switch(e){case"int64":case"uint64":{let a=new Int32Array(n);for(let i=0;i<n;i++){let u=s[i];if(u>2147483647n||u<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");a[i]=Number(u)}return new Uint8Array(a.buffer)}case"int8":case"uint8":case"uint32":{if(e==="uint32"&&s.some(i=>i>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let a=Int32Array.from(s,Number);return new Uint8Array(a.buffer)}default:throw new Error(`Unsupported data conversion from ${e} to 'int32'`)}},vr=(t,e)=>{if(e==="int32")return t;if(t.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=t.byteLength/4,o=new Int32Array(t.buffer,t.byteOffset,r);switch(e){case"int64":{let n=BigInt64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"uint64":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let n=BigUint64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"int8":{if(o.some(s=>s<-128||s>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let n=Int8Array.from(o,Number);return new Uint8Array(n.buffer)}case"uint8":{if(o.some(n=>n<0||n>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(o,Number)}case"uint32":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let n=Uint32Array.from(o,Number);return new Uint8Array(n.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${e}`)}},hn=1,Lr=()=>hn++,bn=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),Mr=(t,e)=>{let r=Ar.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);return e.length>0?Math.ceil(e.reduce((o,n)=>o*n)*r/8):0},He=class{constructor(e){this.isDataConverted=!1;let{sessionId:r,context:o,tensor:n,dataType:s,shape:a,fallbackDataType:i}=e;this.sessionId=r,this.mlContext=o,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=i}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return Mr(this.dataType,this.tensorShape)}destroy(){R("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let r=await this.mlContext.readTensor(this.mlTensor),o=vr(new Uint8Array(r),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(o);return}else return o.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,r,o){return this.mlContext===e&&this.dataType===r&&this.tensorShape.length===o.length&&this.tensorShape.every((n,s)=>n===o[s])}setIsDataConverted(e){this.isDataConverted=e}},Je=class{constructor(e,r){this.tensorManager=e;this.wrapper=r}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,r,o,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),i;if(!a?.input.dataTypes.includes(r)){if(i=bn.get(r),!i||a?.input.dataTypes.includes(i))throw new Error(`WebNN backend does not support data type: ${r}`);R("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${r} to ${i}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,r,o))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==Mr(r,o))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let u=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,r,o,u,!0,!0,i),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let r=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")r=Tt(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(r);return}else R("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(r):this.activeUpload=new Uint8Array(r)}async download(e){if(this.activeUpload){let r=this.wrapper?.isDataConverted?vr(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(r):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(r);return}else return r.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},gt=class{constructor(e){this.backend=e;this.tensorTrackersById=new Map;this.freeTensors=[];this.externalTensors=new Set}getMLContext(e){let r=this.backend.getMLContext(e);if(!r)throw new Error("MLContext not found for session.");return r}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Lr();return this.tensorTrackersById.set(e,new Je(this)),e}releaseTensorId(e){let r=this.tensorTrackersById.get(e);r&&(this.tensorTrackersById.delete(e),r.tensorWrapper&&this.releaseTensor(r.tensorWrapper))}async ensureTensor(e,r,o,n,s){R("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${r}, dataType: ${o}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(r);if(!a)throw new Error("Tensor not found.");return a.ensureTensor(e,o,n,s)}upload(e,r){let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");o.upload(r)}async download(e,r){R("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${r?.byteLength}}`);let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");return o.download(r)}releaseTensorsForSession(e){for(let r of this.freeTensors)r.sessionId===e&&r.destroy();this.freeTensors=this.freeTensors.filter(r=>r.sessionId!==e)}registerTensor(e,r,o,n){let s=this.getMLContext(e),a=Lr(),i=new He({sessionId:e,context:s,tensor:r,dataType:o,shape:n});return this.tensorTrackersById.set(a,new Je(this,i)),this.externalTensors.add(i),a}async getCachedTensor(e,r,o,n,s,a,i){let u=this.getMLContext(e);for(let[c,d]of this.freeTensors.entries())if(d.canReuseTensor(u,r,o)){R("verbose",()=>`[WebNN] Reusing tensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}`);let p=this.freeTensors.splice(c,1)[0];return p.sessionId=e,p}R("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}}`);let f=await u.createTensor({dataType:i??r,shape:o,dimensions:o,usage:n,writable:s,readable:a});return new He({sessionId:e,context:u,tensor:f,dataType:r,shape:o,fallbackDataType:i})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},xr=(...t)=>new gt(...t)});var Or={};ve(Or,{WebNNBackend:()=>Et});var qe,wn,Et,Ur=T(()=>{"use strict";ce();ee();Tr();Br();wt();qe=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),wn=(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;let r=Object.keys(t).sort(),o=Object.keys(e).sort();return r.length===o.length&&r.every((n,s)=>n===o[s]&&t[n]===e[n])},Et=class{constructor(e){this.tensorManager=xr(this);this.mlContextBySessionId=new Map;this.sessionIdsByMLContext=new Map;this.mlContextCache=[];this.sessionGraphInputs=new Map;this.sessionGraphOutputs=new Map;this.temporaryGraphInputs=[];this.temporaryGraphOutputs=[];this.temporarySessionTensorIds=new Map;this.mlOpSupportLimitsBySessionId=new Map;Ir(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){R("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){R("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let r=this.temporarySessionTensorIds.get(e);if(r){for(let o of r)R("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${o}}`),this.tensorManager.releaseTensorId(o);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let o=this.mlContextCache.findIndex(n=>n.gpuDevice===e);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let o=this.mlContextCache.findIndex(n=>n.options===void 0&&n.gpuDevice===void 0);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let r=this.mlContextCache.findIndex(o=>wn(o.options,e));if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:o}),o}}registerMLContext(e,r){this.mlContextBySessionId.set(e,r);let o=this.sessionIdsByMLContext.get(r);o||(o=new Set,this.sessionIdsByMLContext.set(r,o)),o.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,r.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let r=this.mlContextBySessionId.get(e);if(!r)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let o=this.sessionIdsByMLContext.get(r);if(o.delete(e),o.size===0){this.sessionIdsByMLContext.delete(r);let n=this.mlContextCache.findIndex(s=>s.mlContext===r);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){R("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,r,o,n,s){let a=qe.get(o);if(!a)throw new Error(`Unsupported ONNX data type: ${o}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,r,a,n,s)}async createTemporaryTensor(e,r,o){R("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${r}, shape: ${o}}`);let n=qe.get(r);if(!n)throw new Error(`Unsupported ONNX data type: ${r}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,o,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,r){if(!S().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");R("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${r.byteLength}}`),this.tensorManager.upload(e,r)}async downloadTensor(e,r){return this.tensorManager.download(e,r)}createMLTensorDownloader(e,r){return async()=>{let o=await this.tensorManager.download(e);return gr(o,r)}}registerMLTensor(e,r,o,n){let s=qe.get(o);if(!s)throw new Error(`Unsupported ONNX data type: ${o}`);let a=this.tensorManager.registerTensor(e,r,s,n);return R("verbose",()=>`[WebNN] registerMLTensor {tensor: ${r}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerMLConstant(e,r,o,n,s,a,i=!1){if(!a)throw new Error("External mounted files are not available.");let u=e;e.startsWith("./")&&(u=e.substring(2));let f=a.get(u);if(!f)throw new Error(`File with name ${u} not found in preloaded files.`);if(r+o>f.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let c=f.slice(r,r+o).buffer,d;switch(s.dataType){case"float32":d=new Float32Array(c);break;case"float16":d=typeof Float16Array<"u"&&Float16Array.from?new Float16Array(c):new Uint16Array(c);break;case"int32":d=new Int32Array(c);break;case"uint32":d=new Uint32Array(c);break;case"int64":if(i){let p=Tt(new Uint8Array(c),"int64");d=new Int32Array(p.buffer),s.dataType="int32"}else d=new BigInt64Array(c);break;case"uint64":d=new BigUint64Array(c);break;case"int8":d=new Int8Array(c);break;case"int4":case"uint4":case"uint8":d=new Uint8Array(c);break;default:throw new Error(`Unsupported data type: ${s.dataType} in creating WebNN Constant from external data.`)}return R("verbose",()=>`[WebNN] registerMLConstant {dataType: ${s.dataType}, shape: ${s.shape}}} ${i?"(Note: it was int64 data type and registered to int32 as workaround)":""}`),n.constant(s,d)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,r){let o=this.sessionGraphInputs.get(e);return o?o.includes(r):!1}isGraphOutput(e,r){let o=this.sessionGraphOutputs.get(e);return o?o.includes(r):!1}isGraphInputOutputTypeSupported(e,r,o=!0){let n=qe.get(te(r)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:o?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}});var gn,Ce,Pe,de,Tn,Dr,ge,_e,Re,Cr,Ne,Fe,We,pt=T(()=>{"use strict";Q();hr();wr();ce();ee();$e();bt();gn=(t,e)=>{S()._OrtInit(t,e)!==0&&E("Can't initialize onnxruntime.")},Ce=async t=>{gn(t.wasm.numThreads,Se(t.logLevel))},Pe=async(t,e)=>{S().asyncInit?.();let r=t.webgpu.adapter;if(e==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=t.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let n=t.webgpu.forceFallbackAdapter;if(n!==void 0&&typeof n!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${n}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:n}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(e==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(e==="webgpu"&&S().webgpuInit(o=>{t.webgpu.device=o}),e==="webnn"){let o=new(Ur(),st(Or)).WebNNBackend(t);S().webnnInit([o,()=>o.reserveTensorId(),n=>o.releaseTensorId(n),async(n,s,a,i,u)=>o.ensureTensor(n,s,a,i,u),(n,s)=>{o.uploadTensor(n,s)},async(n,s)=>o.downloadTensor(n,s),(n,s)=>o.registerMLContext(n,s),!!t.trace])}},de=new Map,Tn=t=>{let e=S(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetInputOutputCount(t,n,n+o)!==0&&E("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(e.getValue(n,a)),Number(e.getValue(n+o,a))]}finally{e.stackRestore(r)}},Dr=(t,e)=>{let r=S(),o=r.stackSave(),n=0;try{let s=r.PTR_SIZE,a=r.stackAlloc(2*s);r._OrtGetInputOutputMetadata(t,e,a,a+s)!==0&&E("Can't get session input/output metadata.");let u=Number(r.getValue(a,"*"));n=Number(r.getValue(a+s,"*"));let f=r.HEAP32[n/4];if(f===0)return[u,0];let c=r.HEAPU32[n/4+1],d=[];for(let p=0;p<c;p++){let l=Number(r.getValue(n+8+p*s,"*"));d.push(l!==0?r.UTF8ToString(l):Number(r.getValue(n+8+(p+c)*s,"*")))}return[u,f,d]}finally{r.stackRestore(o),n!==0&&r._OrtFree(n)}},ge=t=>{let e=S(),r=e._malloc(t.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${t.byteLength}.`);return e.HEAPU8.set(t,r),[r,t.byteLength]},_e=async(t,e)=>{let r,o,n=S();Array.isArray(t)?[r,o]=t:t.buffer===n.HEAPU8.buffer?[r,o]=[t.byteOffset,t.byteLength]:[r,o]=ge(t);let s=0,a=0,i=0,u=[],f=[],c=[];try{if([a,u]=await br(e),e?.externalData&&n.mountExternalData){let b=[];for(let I of e.externalData){let D=typeof I=="string"?I:I.path;b.push(Ie(typeof I=="string"?I:I.data).then(k=>{n.mountExternalData(D,k)}))}await Promise.all(b)}for(let b of e?.executionProviders??[])if((typeof b=="string"?b:b.name)==="webnn"){if(n.shouldTransferToMLTensor=!1,typeof b!="string"){let D=b,k=D?.context,C=D?.gpuDevice,W=D?.deviceType,H=D?.powerPreference;k?n.currentContext=k:C?n.currentContext=await n.webnnCreateMLContext(C):n.currentContext=await n.webnnCreateMLContext({deviceType:W,powerPreference:H})}else n.currentContext=await n.webnnCreateMLContext();break}s=await n._OrtCreateSession(r,o,a),n.webgpuOnCreateSession?.(s),s===0&&E("Can't create a session."),n.jsepOnCreateSession?.(),n.currentContext&&(n.webnnRegisterMLContext(s,n.currentContext),n.currentContext=void 0,n.shouldTransferToMLTensor=!0);let[d,p]=Tn(s),l=!!e?.enableGraphCapture,y=[],w=[],L=[],h=[],m=[];for(let b=0;b<d;b++){let[I,D,k]=Dr(s,b);I===0&&E("Can't get an input name."),f.push(I);let C=n.UTF8ToString(I);y.push(C),L.push(D===0?{name:C,isTensor:!1}:{name:C,isTensor:!0,type:ze(D),shape:k})}for(let b=0;b<p;b++){let[I,D,k]=Dr(s,b+d);I===0&&E("Can't get an output name."),c.push(I);let C=n.UTF8ToString(I);w.push(C),h.push(D===0?{name:C,isTensor:!1}:{name:C,isTensor:!0,type:ze(D),shape:k});{if(l&&e?.preferredOutputLocation===void 0){m.push("gpu-buffer");continue}let W=typeof e?.preferredOutputLocation=="string"?e.preferredOutputLocation:e?.preferredOutputLocation?.[C]??"cpu",H=n.webnnIsGraphOutput;if(W==="cpu"&&H&&H(s,C)){m.push("ml-tensor-cpu-output");continue}if(W!=="cpu"&&W!=="cpu-pinned"&&W!=="gpu-buffer"&&W!=="ml-tensor")throw new Error(`Not supported preferred output location: ${W}.`);if(l&&W!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${W}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);m.push(W)}}let A=null;return m.some(b=>b==="gpu-buffer"||b==="ml-tensor"||b==="ml-tensor-cpu-output")&&(i=n._OrtCreateBinding(s),i===0&&E("Can't create IO binding."),A={handle:i,outputPreferredLocations:m,outputPreferredLocationsEncoded:m.map(b=>b==="ml-tensor-cpu-output"?"ml-tensor":b).map(b=>ht(b))}),de.set(s,[s,f,c,A,l,!1]),[s,y,w,L,h]}catch(d){throw f.forEach(p=>n._OrtFree(p)),c.forEach(p=>n._OrtFree(p)),i!==0&&n._OrtReleaseBinding(i)!==0&&E("Can't release IO binding."),s!==0&&n._OrtReleaseSession(s)!==0&&E("Can't release session."),d}finally{n._free(r),a!==0&&n._OrtReleaseSessionOptions(a)!==0&&E("Can't release session options."),u.forEach(d=>n._free(d)),n.unmountExternalData?.()}},Re=t=>{let e=S(),r=de.get(t);if(!r)throw new Error(`cannot release session. invalid session id: ${t}`);let[o,n,s,a,i]=r;a&&(i&&e._OrtClearBoundOutputs(a.handle)!==0&&E("Can't clear bound outputs."),e._OrtReleaseBinding(a.handle)!==0&&E("Can't release IO binding.")),e.jsepOnReleaseSession?.(t),e.webnnOnReleaseSession?.(t),e.webgpuOnReleaseSession?.(t),n.forEach(u=>e._OrtFree(u)),s.forEach(u=>e._OrtFree(u)),e._OrtReleaseSession(o)!==0&&E("Can't release session."),de.delete(t)},Cr=async(t,e,r,o,n,s,a=!1)=>{if(!t){e.push(0);return}let i=S(),u=i.PTR_SIZE,f=t[0],c=t[1],d=t[3],p=d,l,y;if(f==="string"&&(d==="gpu-buffer"||d==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&d!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${s} when enableGraphCapture is true.`);if(d==="gpu-buffer"){let h=t[2].gpuBuffer;y=le(te(f),c);{let m=i.webgpuRegisterBuffer;if(!m)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');l=m(h,o)}}else if(d==="ml-tensor"){let h=t[2].mlTensor;y=le(te(f),c);let m=i.webnnRegisterMLTensor;if(!m)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');l=m(o,h,te(f),c)}else{let h=t[2];if(Array.isArray(h)){y=u*h.length,l=i._malloc(y),r.push(l);for(let m=0;m<h.length;m++){if(typeof h[m]!="string")throw new TypeError(`tensor data at index ${m} is not a string`);i.setValue(l+m*u,F(h[m],r),"*")}}else{let m=i.webnnIsGraphInput,A=i.webnnIsGraphOutput;if(f!=="string"&&m&&A){let b=i.UTF8ToString(n);if(m(o,b)||A(o,b)){let I=te(f);y=le(I,c),p="ml-tensor";let D=i.webnnCreateTemporaryTensor,k=i.webnnUploadTensor;if(!D||!k)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let C=await D(o,I,c);k(C,new Uint8Array(h.buffer,h.byteOffset,h.byteLength)),l=C}else y=h.byteLength,l=i._malloc(y),r.push(l),i.HEAPU8.set(new Uint8Array(h.buffer,h.byteOffset,y),l)}else y=h.byteLength,l=i._malloc(y),r.push(l),i.HEAPU8.set(new Uint8Array(h.buffer,h.byteOffset,y),l)}}let w=i.stackSave(),L=i.stackAlloc(4*c.length);try{c.forEach((m,A)=>i.setValue(L+A*u,m,u===4?"i32":"i64"));let h=i._OrtCreateTensor(te(f),l,y,L,c.length,ht(p));h===0&&E(`Can't create tensor for input/output. session=${o}, index=${s}.`),e.push(h)}finally{i.stackRestore(w)}},Ne=async(t,e,r,o,n,s)=>{let a=S(),i=a.PTR_SIZE,u=de.get(t);if(!u)throw new Error(`cannot run inference. invalid session id: ${t}`);let f=u[0],c=u[1],d=u[2],p=u[3],l=u[4],y=u[5],w=e.length,L=o.length,h=0,m=[],A=[],b=[],I=[],D=[],k=a.stackSave(),C=a.stackAlloc(w*i),W=a.stackAlloc(w*i),H=a.stackAlloc(L*i),At=a.stackAlloc(L*i);try{[h,m]=yr(s),Z("wasm prepareInputOutputTensor");for(let g=0;g<w;g++)await Cr(r[g],A,I,t,c[e[g]],e[g],l);for(let g=0;g<L;g++)await Cr(n[g],b,I,t,d[o[g]],w+o[g],l);K("wasm prepareInputOutputTensor");for(let g=0;g<w;g++)a.setValue(C+g*i,A[g],"*"),a.setValue(W+g*i,c[e[g]],"*");for(let g=0;g<L;g++)a.setValue(H+g*i,b[g],"*"),a.setValue(At+g*i,d[o[g]],"*");if(p&&!y){let{handle:g,outputPreferredLocations:$,outputPreferredLocationsEncoded:et}=p;if(c.length!==w)throw new Error(`input count from feeds (${w}) is expected to be always equal to model's input count (${c.length}).`);Z("wasm bindInputsOutputs");for(let M=0;M<w;M++){let j=e[M];await a._OrtBindInput(g,c[j],A[M])!==0&&E(`Can't bind input[${M}] for session=${t}.`)}for(let M=0;M<L;M++){let j=o[M];n[M]?.[3]?(D.push(b[M]),a._OrtBindOutput(g,d[j],b[M],0)!==0&&E(`Can't bind pre-allocated output[${M}] for session=${t}.`)):a._OrtBindOutput(g,d[j],0,et[j])!==0&&E(`Can't bind output[${M}] to ${$[M]} for session=${t}.`)}K("wasm bindInputsOutputs"),de.set(t,[f,c,d,p,l,!0])}a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let O;p?O=await a._OrtRunWithBinding(f,p.handle,L,H,h):O=await a._OrtRun(f,W,C,w,At,L,H,h),O!==0&&E("failed to call OrtRun().");let J=[],vt=[];Z("wasm ProcessOutputTensor");for(let g=0;g<L;g++){let $=Number(a.getValue(H+g*i,"*"));if($===b[g]||D.includes(b[g])){J.push(n[g]),$!==b[g]&&a._OrtReleaseTensor($)!==0&&E("Can't release tensor.");continue}let et=a.stackSave(),M=a.stackAlloc(4*i),j=!1,B,N=0;try{a._OrtGetTensorData($,M,M+i,M+2*i,M+3*i)!==0&&E(`Can't access output tensor data on index ${g}.`);let tt=i===4?"i32":"i64",Ae=Number(a.getValue(M,tt));N=a.getValue(M+i,"*");let Mt=a.getValue(M+i*2,"*"),Hr=Number(a.getValue(M+i*3,tt)),q=[];for(let P=0;P<Hr;P++)q.push(Number(a.getValue(Mt+P*i,tt)));a._OrtFree(Mt)!==0&&E("Can't free memory for tensor dims.");let Y=q.reduce((P,x)=>P*x,1);B=ze(Ae);let he=p?.outputPreferredLocations[o[g]];if(B==="string"){if(he==="gpu-buffer"||he==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let P=[];for(let x=0;x<Y;x++){let X=a.getValue(N+x*i,"*"),be=a.getValue(N+(x+1)*i,"*"),rt=x===Y-1?void 0:be-X;P.push(a.UTF8ToString(X,rt))}J.push([B,q,P,"cpu"])}else if(he==="gpu-buffer"&&Y>0){let P=a.webgpuGetBuffer;if(!P)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let x=P(N),X=le(Ae,Y);if(X===void 0||!Ve(B))throw new Error(`Unsupported data type: ${B}`);j=!0;{a.webgpuRegisterBuffer(x,t,N);let be=a.webgpuCreateDownloader(x,X,t);J.push([B,q,{gpuBuffer:x,download:async()=>{let rt=await be();return new(fe(B))(rt)},dispose:()=>{a._OrtReleaseTensor($)!==0&&E("Can't release tensor.")}},"gpu-buffer"])}}else if(he==="ml-tensor"&&Y>0){let P=a.webnnEnsureTensor,x=a.webnnIsGraphInputOutputTypeSupported;if(!P||!x)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(le(Ae,Y)===void 0||!je(B))throw new Error(`Unsupported data type: ${B}`);if(!x(t,B,!1))throw new Error(`preferredLocation "ml-tensor" for ${B} output is not supported by current WebNN Context.`);let be=await P(t,N,Ae,q,!1);j=!0,J.push([B,q,{mlTensor:be,download:a.webnnCreateMLTensorDownloader(N,B),dispose:()=>{a.webnnReleaseTensorId(N),a._OrtReleaseTensor($)}},"ml-tensor"])}else if(he==="ml-tensor-cpu-output"&&Y>0){let P=a.webnnCreateMLTensorDownloader(N,B)(),x=J.length;j=!0,vt.push((async()=>{let X=[x,await P];return a.webnnReleaseTensorId(N),a._OrtReleaseTensor($),X})()),J.push([B,q,[],"cpu"])}else{let P=fe(B),x=new P(Y);new Uint8Array(x.buffer,x.byteOffset,x.byteLength).set(a.HEAPU8.subarray(N,N+x.byteLength)),J.push([B,q,x,"cpu"])}}finally{a.stackRestore(et),B==="string"&&N&&a._free(N),j||a._OrtReleaseTensor($)}}p&&!l&&(a._OrtClearBoundOutputs(p.handle)!==0&&E("Can't clear bound outputs."),de.set(t,[f,c,d,p,l,!1]));for(let[g,$]of await Promise.all(vt))J[g][2]=$;return K("wasm ProcessOutputTensor"),J}finally{a.webnnOnRunEnd?.(f),a.stackRestore(k),r.forEach(O=>{O&&O[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(O[2].gpuBuffer)}),n.forEach(O=>{O&&O[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(O[2].gpuBuffer)}),A.forEach(O=>a._OrtReleaseTensor(O)),b.forEach(O=>a._OrtReleaseTensor(O)),I.forEach(O=>a._free(O)),h!==0&&a._OrtReleaseRunOptions(h),m.forEach(O=>a._free(O))}},Fe=t=>{let e=S(),r=de.get(t);if(!r)throw new Error("invalid session id");let o=r[0],n=e._OrtEndProfiling(o);n===0&&E("Can't get an profile file name."),e._OrtFree(n)},We=t=>{let e=[];for(let r of t){let o=r[2];!Array.isArray(o)&&"buffer"in o&&e.push(o.buffer)}return e}});var pe,z,Le,Xe,Ze,Ye,St,It,me,ye,Sn,Pr,_r,Rr,Nr,Fr,Wr,kr,Lt=T(()=>{"use strict";Q();pt();ee();Ue();pe=()=>!!v.wasm.proxy&&typeof document<"u",Le=!1,Xe=!1,Ze=!1,It=new Map,me=(t,e)=>{let r=It.get(t);r?r.push(e):It.set(t,[e])},ye=()=>{if(Le||!Xe||Ze||!z)throw new Error("worker not ready")},Sn=t=>{switch(t.data.type){case"init-wasm":Le=!1,t.data.err?(Ze=!0,St[1](t.data.err)):(Xe=!0,St[0]()),Ye&&(URL.revokeObjectURL(Ye),Ye=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let e=It.get(t.data.type);t.data.err?e.shift()[1](t.data.err):e.shift()[0](t.data.out);break}default:}},Pr=async()=>{if(!Xe){if(Le)throw new Error("multiple calls to 'initWasm()' detected.");if(Ze)throw new Error("previous call to 'initWasm()' failed.");if(Le=!0,pe())return new Promise((t,e)=>{z?.terminate(),pr().then(([r,o])=>{try{z=o,z.onerror=s=>e(s),z.onmessage=Sn,St=[t,e];let n={type:"init-wasm",in:v};if(!n.in.wasm.wasmPaths&&r){let s=ke();s&&(n.in.wasm.wasmPaths=s)}z.postMessage(n),Ye=r}catch(n){e(n)}},e)});try{await De(v.wasm),await Ce(v),Xe=!0}catch(t){throw Ze=!0,t}finally{Le=!1}}},_r=async t=>{if(pe())return ye(),new Promise((e,r)=>{me("init-ep",[e,r]);let o={type:"init-ep",in:{epName:t,env:v}};z.postMessage(o)});await Pe(v,t)},Rr=async t=>pe()?(ye(),new Promise((e,r)=>{me("copy-from",[e,r]);let o={type:"copy-from",in:{buffer:t}};z.postMessage(o,[t.buffer])})):ge(t),Nr=async(t,e)=>{if(pe()){if(e?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ye(),new Promise((r,o)=>{me("create",[r,o]);let n={type:"create",in:{model:t,options:{...e}}},s=[];t instanceof Uint8Array&&s.push(t.buffer),z.postMessage(n,s)})}else return _e(t,e)},Fr=async t=>{if(pe())return ye(),new Promise((e,r)=>{me("release",[e,r]);let o={type:"release",in:t};z.postMessage(o)});Re(t)},Wr=async(t,e,r,o,n,s)=>{if(pe()){if(r.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(n.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return ye(),new Promise((a,i)=>{me("run",[a,i]);let u=r,f={type:"run",in:{sessionId:t,inputIndices:e,inputs:u,outputIndices:o,options:s}};z.postMessage(f,We(u))})}else return Ne(t,e,r,o,n,s)},kr=async t=>{if(pe())return ye(),new Promise((e,r)=>{me("end-profiling",[e,r]);let o={type:"end-profiling",in:t};z.postMessage(o)});Fe(t)}});var Gr,In,Ke,$r=T(()=>{"use strict";Q();Lt();ce();Oe();bt();Gr=(t,e)=>{switch(t.location){case"cpu":return[t.type,t.dims,t.data,"cpu"];case"gpu-buffer":return[t.type,t.dims,{gpuBuffer:t.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[t.type,t.dims,{mlTensor:t.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${t.location} for ${e()}`)}},In=t=>{switch(t[3]){case"cpu":return new V(t[0],t[2],t[1]);case"gpu-buffer":{let e=t[0];if(!Ve(e))throw new Error(`not supported data type: ${e} for deserializing GPU tensor`);let{gpuBuffer:r,download:o,dispose:n}=t[2];return V.fromGpuBuffer(r,{dataType:e,dims:t[1],download:o,dispose:n})}case"ml-tensor":{let e=t[0];if(!je(e))throw new Error(`not supported data type: ${e} for deserializing MLTensor tensor`);let{mlTensor:r,download:o,dispose:n}=t[2];return V.fromMLTensor(r,{dataType:e,dims:t[1],download:o,dispose:n})}default:throw new Error(`invalid data location: ${t[3]}`)}},Ke=class{async fetchModelAndCopyToWasmMemory(e){return Rr(await Ie(e))}async loadModel(e,r){se();let o;typeof e=="string"?o=await this.fetchModelAndCopyToWasmMemory(e):o=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Nr(o,r),ae()}async dispose(){return Fr(this.sessionId)}async run(e,r,o){se();let n=[],s=[];Object.entries(e).forEach(p=>{let l=p[0],y=p[1],w=this.inputNames.indexOf(l);if(w===-1)throw new Error(`invalid input '${l}'`);n.push(y),s.push(w)});let a=[],i=[];Object.entries(r).forEach(p=>{let l=p[0],y=p[1],w=this.outputNames.indexOf(l);if(w===-1)throw new Error(`invalid output '${l}'`);a.push(y),i.push(w)});let u=n.map((p,l)=>Gr(p,()=>`input "${this.inputNames[s[l]]}"`)),f=a.map((p,l)=>p?Gr(p,()=>`output "${this.outputNames[i[l]]}"`):null),c=await Wr(this.sessionId,s,u,i,f,o),d={};for(let p=0;p<c.length;p++)d[this.outputNames[i[p]]]=a[p]??In(c[p]);return ae(),d}startProfiling(){}endProfiling(){kr(this.sessionId)}}});var Vr={};ve(Vr,{OnnxruntimeWebAssemblyBackend:()=>Qe,initializeFlags:()=>zr,wasmBackend:()=>Ln});var zr,Qe,Ln,jr=T(()=>{"use strict";Q();Lt();$r();zr=()=>{(typeof v.wasm.initTimeout!="number"||v.wasm.initTimeout<0)&&(v.wasm.initTimeout=0);let t=v.wasm.simd;if(typeof t!="boolean"&&t!==void 0&&t!=="fixed"&&t!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${t}". Reset it to \`false\` and ignore SIMD feature checking.`),v.wasm.simd=!1),typeof v.wasm.proxy!="boolean"&&(v.wasm.proxy=!1),typeof v.wasm.trace!="boolean"&&(v.wasm.trace=!1),typeof v.wasm.numThreads!="number"||!Number.isInteger(v.wasm.numThreads)||v.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)v.wasm.numThreads=1;else{let e=typeof navigator>"u"?ot("node:os").cpus().length:navigator.hardwareConcurrency;v.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},Qe=class{async init(e){zr(),await Pr(),await _r(e)}async createInferenceSessionHandler(e,r){let o=new Ke;return await o.loadModel(e,r),o}},Ln=new Qe});Q();Q();Q();var nr="1.26.0";var Ls=dt;{let t=(jr(),st(Vr)).wasmBackend;ne("webgpu",t,5),ne("webnn",t,5),ne("cpu",t,10),ne("wasm",t,10)}Object.defineProperty(v.versions,"web",{value:nr,enumerable:!0});export{Kr as InferenceSession,Yt as TRACE,Z as TRACE_EVENT_BEGIN,K as TRACE_EVENT_END,se as TRACE_FUNC_BEGIN,ae as TRACE_FUNC_END,V as Tensor,Ls as default,v as env,ne as registerBackend};
|
| 8 |
+
//# sourceMappingURL=ort.webgpu.min.mjs.map
|
ort-wasm/ort.webgpu.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|