@securecoms/agent-bridge 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +41 -0
  2. package/dist/bin.d.ts +1 -1
  3. package/dist/bin.js +3396 -380
  4. package/dist/bridge-agent.d.ts +182 -1
  5. package/dist/config.d.ts +7 -0
  6. package/dist/embedder-manifest.json +52 -0
  7. package/dist/embedder-worker.js +2898 -0
  8. package/dist/embedder.js +1574 -0
  9. package/dist/index.js +3201 -306
  10. package/dist/memory/consumer-recall.d.ts +21 -0
  11. package/dist/memory/embedder/client.d.ts +103 -0
  12. package/dist/memory/embedder/download.d.ts +28 -0
  13. package/dist/memory/embedder/embedder-main.d.ts +1 -0
  14. package/dist/memory/embedder/embedder-paths.d.ts +14 -0
  15. package/dist/memory/embedder/engine.d.ts +21 -0
  16. package/dist/memory/embedder/gc.d.ts +2 -0
  17. package/dist/memory/embedder/handshake.d.ts +7 -0
  18. package/dist/memory/embedder/heartbeats.d.ts +4 -0
  19. package/dist/memory/embedder/import-bundle.d.ts +6 -0
  20. package/dist/memory/embedder/inner-source.d.ts +2 -0
  21. package/dist/memory/embedder/layout.d.ts +36 -0
  22. package/dist/memory/embedder/locks.d.ts +17 -0
  23. package/dist/memory/embedder/manifest.d.ts +30 -0
  24. package/dist/memory/embedder/no-dial.d.ts +3 -0
  25. package/dist/memory/embedder/protocol.d.ts +55 -0
  26. package/dist/memory/embedder/run-dir.d.ts +11 -0
  27. package/dist/memory/embedder/scheduler.d.ts +24 -0
  28. package/dist/memory/embedder/server.d.ts +46 -0
  29. package/dist/memory/embedder/session.d.ts +17 -0
  30. package/dist/memory/embedder/spawn.d.ts +40 -0
  31. package/dist/memory/embedder/tokenizer.d.ts +41 -0
  32. package/dist/memory/embedder/types.d.ts +32 -0
  33. package/dist/memory/embedder/windows.d.ts +46 -0
  34. package/dist/memory/embedder/worker-body.d.ts +44 -0
  35. package/dist/memory/embedder/worker.d.ts +1 -0
  36. package/dist/memory/memory-config.d.ts +13 -0
  37. package/dist/memory/note-frames.d.ts +5 -2
  38. package/dist/memory/notes-book.d.ts +21 -3
  39. package/dist/memory/provider.d.ts +2 -0
  40. package/dist/memory/recall/call-heartbeat.d.ts +35 -0
  41. package/dist/memory/recall/membership-purge.d.ts +82 -0
  42. package/dist/memory/recall/rank.d.ts +15 -0
  43. package/dist/memory/recall/recall-book.d.ts +140 -0
  44. package/dist/memory/recall/reembed.d.ts +35 -0
  45. package/dist/memory-taps.d.ts +3 -2
  46. package/dist/ort-wasm-simd-threaded.wasm +0 -0
  47. package/dist/version.d.ts +1 -1
  48. package/dist/ws-server.d.ts +13 -1
  49. package/package.json +2 -1
@@ -0,0 +1,2898 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
3
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
4
+ }) : x)(function(x) {
5
+ if (typeof require !== "undefined") return require.apply(this, arguments);
6
+ throw Error('Dynamic require of "' + x + '" is not supported');
7
+ });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+
13
+ // src/memory/embedder/worker.ts
14
+ import { parentPort, workerData } from "node:worker_threads";
15
+
16
+ // ../../node_modules/onnxruntime-web/dist/ort.wasm.bundle.min.mjs
17
+ var ort_wasm_bundle_min_exports = {};
18
+ __export(ort_wasm_bundle_min_exports, {
19
+ InferenceSession: () => ts,
20
+ TRACE: () => xr,
21
+ TRACE_EVENT_BEGIN: () => Pe,
22
+ TRACE_EVENT_END: () => Ue,
23
+ TRACE_FUNC_BEGIN: () => _e,
24
+ TRACE_FUNC_END: () => De,
25
+ Tensor: () => de,
26
+ default: () => au,
27
+ env: () => Y,
28
+ registerBackend: () => qe
29
+ });
30
+ var Jt = Object.defineProperty;
31
+ var Xa = Object.getOwnPropertyDescriptor;
32
+ var Qa = Object.getOwnPropertyNames;
33
+ var Za = Object.prototype.hasOwnProperty;
34
+ 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) {
35
+ if (typeof __require < "u") return __require.apply(this, arguments);
36
+ throw Error('Dynamic require of "' + n + '" is not supported');
37
+ });
38
+ var F = (n, t, a) => () => {
39
+ if (a) throw a[0];
40
+ try {
41
+ return n && (t = n(n = 0)), t;
42
+ } catch (u) {
43
+ throw a = [u], u;
44
+ }
45
+ };
46
+ var ut = (n, t) => {
47
+ for (var a in t) Jt(n, a, { get: t[a], enumerable: true });
48
+ };
49
+ var Ka = (n, t, a, u) => {
50
+ 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 });
51
+ return n;
52
+ };
53
+ var Xt = (n) => Ka(Jt({}, "__esModule", { value: true }), n);
54
+ var ft;
55
+ var Be;
56
+ var qe;
57
+ var es;
58
+ var dr;
59
+ var Qt = F(() => {
60
+ "use strict";
61
+ ft = /* @__PURE__ */ new Map(), Be = [], qe = (n, t, a) => {
62
+ if (t && typeof t.init == "function" && typeof t.createInferenceSessionHandler == "function") {
63
+ let u = ft.get(n);
64
+ if (u === void 0) ft.set(n, { backend: t, priority: a });
65
+ else {
66
+ if (u.priority > a) return;
67
+ if (u.priority === a && u.backend !== t) throw new Error(`cannot register backend "${n}" using priority ${a}`);
68
+ }
69
+ if (a >= 0) {
70
+ let o = Be.indexOf(n);
71
+ o !== -1 && Be.splice(o, 1);
72
+ for (let d2 = 0; d2 < Be.length; d2++) if (ft.get(Be[d2]).priority <= a) {
73
+ Be.splice(d2, 0, n);
74
+ return;
75
+ }
76
+ Be.push(n);
77
+ }
78
+ return;
79
+ }
80
+ throw new TypeError("not a valid backend");
81
+ }, es = async (n) => {
82
+ let t = ft.get(n);
83
+ if (!t) return "backend not found.";
84
+ if (t.initialized) return t.backend;
85
+ if (t.aborted) return t.error;
86
+ {
87
+ let a = !!t.initPromise;
88
+ try {
89
+ return a || (t.initPromise = t.backend.init(n)), await t.initPromise, t.initialized = true, t.backend;
90
+ } catch (u) {
91
+ return a || (t.error = `${u}`, t.aborted = true), t.error;
92
+ } finally {
93
+ delete t.initPromise;
94
+ }
95
+ }
96
+ }, dr = async (n) => {
97
+ let t = n.executionProviders || [], a = t.map((m) => typeof m == "string" ? m : m.name), u = a.length === 0 ? Be : a, o, d2 = [], c = /* @__PURE__ */ new Set();
98
+ for (let m of u) {
99
+ let h = await es(m);
100
+ typeof h == "string" ? d2.push({ name: m, err: h }) : (o || (o = h), o === h && c.add(m));
101
+ }
102
+ if (!o) throw new Error(`no available backend found. ERR: ${d2.map((m) => `[${m.name}] ${m.err}`).join(", ")}`);
103
+ for (let { name: m, err: h } of d2) a.includes(m) && console.warn(`removing requested execution provider "${m}" from session options because it is not available: ${h}`);
104
+ let l = t.filter((m) => c.has(typeof m == "string" ? m : m.name));
105
+ return [o, new Proxy(n, { get: (m, h) => h === "executionProviders" ? l : Reflect.get(m, h) })];
106
+ };
107
+ });
108
+ var pr = F(() => {
109
+ "use strict";
110
+ Qt();
111
+ });
112
+ var mr;
113
+ var hr = F(() => {
114
+ "use strict";
115
+ mr = "1.29.0";
116
+ });
117
+ var wr;
118
+ var J;
119
+ var Zt = F(() => {
120
+ "use strict";
121
+ hr();
122
+ wr = "warning", J = { wasm: {}, webgl: {}, webgpu: {}, versions: { common: mr }, set logLevel(n) {
123
+ if (n !== void 0) {
124
+ if (typeof n != "string" || ["verbose", "info", "warning", "error", "fatal"].indexOf(n) === -1) throw new Error(`Unsupported logging level: ${n}`);
125
+ wr = n;
126
+ }
127
+ }, get logLevel() {
128
+ return wr;
129
+ } };
130
+ Object.defineProperty(J, "logLevel", { enumerable: true });
131
+ });
132
+ var Y;
133
+ var br = F(() => {
134
+ "use strict";
135
+ Zt();
136
+ Y = J;
137
+ });
138
+ var yr;
139
+ var gr;
140
+ var Er = F(() => {
141
+ "use strict";
142
+ yr = (n, t) => {
143
+ let a = typeof document < "u" ? document.createElement("canvas") : new OffscreenCanvas(1, 1);
144
+ a.width = n.dims[3], a.height = n.dims[2];
145
+ let u = a.getContext("2d");
146
+ if (u != null) {
147
+ let o, d2;
148
+ t?.tensorLayout !== void 0 && t.tensorLayout === "NHWC" ? (o = n.dims[2], d2 = n.dims[3]) : (o = n.dims[3], d2 = n.dims[2]);
149
+ let c = t?.format !== void 0 ? t.format : "RGB", l = t?.norm, m, h;
150
+ 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]));
151
+ let g = d2 * o, b = 0, y = g, T = g * 2, I = -1;
152
+ 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);
153
+ for (let _ = 0; _ < d2; _++) for (let $ = 0; $ < o; $++) {
154
+ let v = (n.data[b++] - h[0]) * m[0], O = (n.data[y++] - h[1]) * m[1], N = (n.data[T++] - h[2]) * m[2], D = I === -1 ? 255 : (n.data[I++] - h[3]) * m[3];
155
+ u.fillStyle = "rgba(" + v + "," + O + "," + N + "," + D + ")", u.fillRect($, _, 1, 1);
156
+ }
157
+ if ("toDataURL" in a) return a.toDataURL();
158
+ throw new Error("toDataURL is not supported");
159
+ } else throw new Error("Can not access image data");
160
+ }, gr = (n, t) => {
161
+ let a = typeof document < "u" ? document.createElement("canvas").getContext("2d") : new OffscreenCanvas(1, 1).getContext("2d"), u;
162
+ if (a != null) {
163
+ let o, d2, c;
164
+ t?.tensorLayout !== void 0 && t.tensorLayout === "NHWC" ? (o = n.dims[2], d2 = n.dims[1], c = n.dims[3]) : (o = n.dims[3], d2 = n.dims[2], c = n.dims[1]);
165
+ let l = t !== void 0 && t.format !== void 0 ? t.format : "RGB", m = t?.norm, h, g;
166
+ 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]));
167
+ let b = d2 * o;
168
+ 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");
169
+ let y = 4, T = 0, I = 1, _ = 2, $ = 3, v = 0, O = b, N = b * 2, D = -1;
170
+ l === "RGBA" ? (v = 0, O = b, N = b * 2, D = b * 3) : l === "RGB" ? (v = 0, O = b, N = b * 2) : l === "RBG" && (v = 0, N = b, O = b * 2), u = a.createImageData(o, d2);
171
+ for (let k = 0; k < d2 * o; T += y, I += y, _ += y, $ += y, k++) u.data[T] = (n.data[v++] - g[0]) * h[0], u.data[I] = (n.data[O++] - g[1]) * h[1], u.data[_] = (n.data[N++] - g[2]) * h[2], u.data[$] = D === -1 ? 255 : (n.data[D++] - g[3]) * h[3];
172
+ } else throw new Error("Can not access image data");
173
+ return u;
174
+ };
175
+ });
176
+ var Kt;
177
+ var Tr;
178
+ var Sr;
179
+ var vr;
180
+ var Or;
181
+ var Ar;
182
+ var Ir = F(() => {
183
+ "use strict";
184
+ ct();
185
+ Kt = (n, t) => {
186
+ if (n === void 0) throw new Error("Image buffer must be defined");
187
+ if (t.height === void 0 || t.width === void 0) throw new Error("Image height and width must be defined");
188
+ if (t.tensorLayout === "NHWC") throw new Error("NHWC Tensor layout is not supported yet");
189
+ let { height: a, width: u } = t, o = t.norm ?? { mean: 255, bias: 0 }, d2, c;
190
+ typeof o.mean == "number" ? d2 = [o.mean, o.mean, o.mean, o.mean] : d2 = [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];
191
+ 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, _ = 3, $ = 0, v = h, O = h * 2, N = -1;
192
+ l === "RGB" && (b = 3, y = 0, T = 1, I = 2, _ = -1), m === "RGBA" ? N = h * 3 : m === "RBG" ? ($ = 0, O = h, v = h * 2) : m === "BGR" && (O = 0, v = h, $ = h * 2);
193
+ for (let k = 0; k < h; k++, y += b, I += b, T += b, _ += b) g[$++] = (n[y] + c[0]) / d2[0], g[v++] = (n[T] + c[1]) / d2[1], g[O++] = (n[I] + c[2]) / d2[2], N !== -1 && _ !== -1 && (g[N++] = (n[_] + c[3]) / d2[3]);
194
+ return m === "RGBA" ? new Q("float32", g, [1, 4, a, u]) : new Q("float32", g, [1, 3, a, u]);
195
+ }, Tr = async (n, t) => {
196
+ let a = typeof HTMLImageElement < "u" && n instanceof HTMLImageElement, u = typeof ImageData < "u" && n instanceof ImageData, o = typeof ImageBitmap < "u" && n instanceof ImageBitmap, d2 = typeof n == "string", c, l = t ?? {}, m = () => {
197
+ if (typeof document < "u") return document.createElement("canvas");
198
+ if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(1, 1);
199
+ throw new Error("Canvas is not supported");
200
+ }, h = (g) => typeof HTMLCanvasElement < "u" && g instanceof HTMLCanvasElement || g instanceof OffscreenCanvas ? g.getContext("2d") : null;
201
+ if (a) {
202
+ let g = m();
203
+ g.width = n.width, g.height = n.height;
204
+ let b = h(g);
205
+ if (b != null) {
206
+ let y = n.height, T = n.width;
207
+ if (t !== void 0 && t.resizedHeight !== void 0 && t.resizedWidth !== void 0 && (y = t.resizedHeight, T = t.resizedWidth), t !== void 0) {
208
+ if (l = t, t.tensorFormat !== void 0) throw new Error("Image input config format must be RGBA for HTMLImageElement");
209
+ l.tensorFormat = "RGBA", l.height = y, l.width = T;
210
+ } else l.tensorFormat = "RGBA", l.height = y, l.width = T;
211
+ b.drawImage(n, 0, 0), c = b.getImageData(0, 0, T, y).data;
212
+ } else throw new Error("Can not access image data");
213
+ } else if (u) {
214
+ let g, b;
215
+ 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) {
216
+ let y = m();
217
+ y.width = b, y.height = g;
218
+ let T = h(y);
219
+ if (T != null) T.putImageData(n, 0, 0), c = T.getImageData(0, 0, b, g).data;
220
+ else throw new Error("Can not access image data");
221
+ } else c = n.data;
222
+ } else if (o) {
223
+ if (t === void 0) throw new Error("Please provide image config with format for Imagebitmap");
224
+ let g = m();
225
+ g.width = n.width, g.height = n.height;
226
+ let b = h(g);
227
+ if (b != null) {
228
+ let y = n.height, T = n.width;
229
+ 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);
230
+ } else throw new Error("Can not access image data");
231
+ } else {
232
+ if (d2) return new Promise((g, b) => {
233
+ let y = m(), T = h(y);
234
+ if (!n || !T) return b();
235
+ let I = new Image();
236
+ I.crossOrigin = "Anonymous", I.src = n, I.onload = () => {
237
+ y.width = I.width, y.height = I.height, T.drawImage(I, 0, 0, y.width, y.height);
238
+ let _ = T.getImageData(0, 0, y.width, y.height);
239
+ l.height = y.height, l.width = y.width, g(Kt(_.data, l));
240
+ };
241
+ });
242
+ throw new Error("Input data provided is not supported - aborted tensor creation");
243
+ }
244
+ if (c !== void 0) return Kt(c, l);
245
+ throw new Error("Input data provided is not supported - aborted tensor creation");
246
+ }, Sr = (n, t) => {
247
+ let { width: a, height: u, download: o, dispose: d2 } = t, c = [1, u, a, 4];
248
+ return new Q({ location: "texture", type: "float32", texture: n, dims: c, download: o, dispose: d2 });
249
+ }, vr = (n, t) => {
250
+ let { dataType: a, dims: u, download: o, dispose: d2 } = t;
251
+ return new Q({ location: "gpu-buffer", type: a ?? "float32", gpuBuffer: n, dims: u, download: o, dispose: d2 });
252
+ }, Or = (n, t) => {
253
+ let { dataType: a, dims: u, download: o, dispose: d2 } = t;
254
+ return new Q({ location: "ml-tensor", type: a ?? "float32", mlTensor: n, dims: u, download: o, dispose: d2 });
255
+ }, Ar = (n, t, a) => new Q({ location: "cpu-pinned", type: n, data: t, dims: a ?? [t.length] });
256
+ });
257
+ var Le;
258
+ var Xe;
259
+ var Br;
260
+ var Lr;
261
+ var _r = F(() => {
262
+ "use strict";
263
+ Le = /* @__PURE__ */ 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 = /* @__PURE__ */ new Map([[Float32Array, "float32"], [Uint8Array, "uint8"], [Int8Array, "int8"], [Uint16Array, "uint16"], [Int16Array, "int16"], [Int32Array, "int32"], [Float64Array, "float64"], [Uint32Array, "uint32"]]), Br = false, Lr = () => {
264
+ if (!Br) {
265
+ Br = true;
266
+ let n = typeof BigInt64Array < "u" && BigInt64Array.from, t = typeof BigUint64Array < "u" && BigUint64Array.from, a = globalThis.Float16Array, u = typeof a < "u" && a.from;
267
+ 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);
268
+ }
269
+ };
270
+ });
271
+ var Dr;
272
+ var Pr;
273
+ var Ur = F(() => {
274
+ "use strict";
275
+ ct();
276
+ Dr = (n) => {
277
+ let t = 1;
278
+ for (let a = 0; a < n.length; a++) {
279
+ let u = n[a];
280
+ if (typeof u != "number" || !Number.isSafeInteger(u)) throw new TypeError(`dims[${a}] must be an integer, got: ${u}`);
281
+ if (u < 0) throw new RangeError(`dims[${a}] must be a non-negative integer, got: ${u}`);
282
+ t *= u;
283
+ }
284
+ return t;
285
+ }, Pr = (n, t) => {
286
+ switch (n.location) {
287
+ case "cpu":
288
+ return new Q(n.type, n.data, t);
289
+ case "cpu-pinned":
290
+ return new Q({ location: "cpu-pinned", data: n.data, type: n.type, dims: t });
291
+ case "texture":
292
+ return new Q({ location: "texture", texture: n.texture, type: n.type, dims: t });
293
+ case "gpu-buffer":
294
+ return new Q({ location: "gpu-buffer", gpuBuffer: n.gpuBuffer, type: n.type, dims: t });
295
+ case "ml-tensor":
296
+ return new Q({ location: "ml-tensor", mlTensor: n.mlTensor, type: n.type, dims: t });
297
+ default:
298
+ throw new Error(`tensorReshape: tensor location ${n.location} is not supported`);
299
+ }
300
+ };
301
+ });
302
+ var Q;
303
+ var ct = F(() => {
304
+ "use strict";
305
+ Er();
306
+ Ir();
307
+ _r();
308
+ Ur();
309
+ Q = class {
310
+ constructor(t, a, u) {
311
+ Lr();
312
+ let o, d2;
313
+ if (typeof t == "object" && "location" in t) switch (this.dataLocation = t.location, o = t.type, d2 = t.dims, t.location) {
314
+ case "cpu-pinned": {
315
+ let l = Le.get(o);
316
+ if (!l) throw new TypeError(`unsupported type "${o}" to create tensor from pinned buffer`);
317
+ if (!(t.data instanceof l)) throw new TypeError(`buffer should be of type ${l.name}`);
318
+ this.cpuData = t.data;
319
+ break;
320
+ }
321
+ case "texture": {
322
+ if (o !== "float32") throw new TypeError(`unsupported type "${o}" to create tensor from texture`);
323
+ this.gpuTextureData = t.texture, this.downloader = t.download, this.disposer = t.dispose;
324
+ break;
325
+ }
326
+ case "gpu-buffer": {
327
+ 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`);
328
+ this.gpuBufferData = t.gpuBuffer, this.downloader = t.download, this.disposer = t.dispose;
329
+ break;
330
+ }
331
+ case "ml-tensor": {
332
+ 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`);
333
+ this.mlTensorData = t.mlTensor, this.downloader = t.download, this.disposer = t.dispose;
334
+ break;
335
+ }
336
+ default:
337
+ throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`);
338
+ }
339
+ else {
340
+ let l, m;
341
+ if (typeof t == "string") if (o = t, m = u, t === "string") {
342
+ if (!Array.isArray(a)) throw new TypeError("A string tensor's data must be a string array.");
343
+ l = a;
344
+ } else {
345
+ let h = Le.get(t);
346
+ if (h === void 0) throw new TypeError(`Unsupported tensor type: ${t}.`);
347
+ if (Array.isArray(a)) {
348
+ 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.`);
349
+ t === "uint64" || t === "int64" ? l = h.from(a, BigInt) : l = h.from(a);
350
+ } else if (a instanceof h) l = a;
351
+ else if (a instanceof Uint8ClampedArray) if (t === "uint8") l = Uint8Array.from(a);
352
+ else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");
353
+ else if (t === "float16" && a instanceof Uint16Array && h !== Uint16Array) l = new globalThis.Float16Array(a.buffer, a.byteOffset, a.length);
354
+ else throw new TypeError(`A ${o} tensor's data must be type of ${h}`);
355
+ }
356
+ else if (m = a, Array.isArray(t)) {
357
+ if (t.length === 0) throw new TypeError("Tensor type cannot be inferred from an empty array.");
358
+ let h = typeof t[0];
359
+ if (h === "string") o = "string", l = t;
360
+ else if (h === "boolean") o = "bool", l = Uint8Array.from(t);
361
+ else throw new TypeError(`Invalid element type of data array: ${h}.`);
362
+ } else if (t instanceof Uint8ClampedArray) o = "uint8", l = Uint8Array.from(t);
363
+ else {
364
+ let h = Xe.get(t.constructor);
365
+ if (h === void 0) throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);
366
+ o = h, l = t;
367
+ }
368
+ if (m === void 0) m = [l.length];
369
+ else if (!Array.isArray(m)) throw new TypeError("A tensor's dims must be a number array");
370
+ d2 = m, this.cpuData = l, this.dataLocation = "cpu";
371
+ }
372
+ let c = Dr(d2);
373
+ 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}).`);
374
+ this.type = o, this.dims = d2, this.size = c;
375
+ }
376
+ static async fromImage(t, a) {
377
+ return Tr(t, a);
378
+ }
379
+ static fromTexture(t, a) {
380
+ return Sr(t, a);
381
+ }
382
+ static fromGpuBuffer(t, a) {
383
+ return vr(t, a);
384
+ }
385
+ static fromMLTensor(t, a) {
386
+ return Or(t, a);
387
+ }
388
+ static fromPinnedBuffer(t, a, u) {
389
+ return Ar(t, a, u);
390
+ }
391
+ toDataURL(t) {
392
+ return yr(this, t);
393
+ }
394
+ toImageData(t) {
395
+ return gr(this, t);
396
+ }
397
+ get data() {
398
+ 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.");
399
+ return this.cpuData;
400
+ }
401
+ get location() {
402
+ return this.dataLocation;
403
+ }
404
+ get texture() {
405
+ if (this.ensureValid(), !this.gpuTextureData) throw new Error("The data is not stored as a WebGL texture.");
406
+ return this.gpuTextureData;
407
+ }
408
+ get gpuBuffer() {
409
+ if (this.ensureValid(), !this.gpuBufferData) throw new Error("The data is not stored as a WebGPU buffer.");
410
+ return this.gpuBufferData;
411
+ }
412
+ get mlTensor() {
413
+ if (this.ensureValid(), !this.mlTensorData) throw new Error("The data is not stored as a WebNN MLTensor.");
414
+ return this.mlTensorData;
415
+ }
416
+ async getData(t) {
417
+ switch (this.ensureValid(), this.dataLocation) {
418
+ case "cpu":
419
+ case "cpu-pinned":
420
+ return this.data;
421
+ case "texture":
422
+ case "gpu-buffer":
423
+ case "ml-tensor": {
424
+ if (!this.downloader) throw new Error("The current tensor is not created with a specified data downloader.");
425
+ if (this.isDownloading) throw new Error("The current tensor is being downloaded.");
426
+ try {
427
+ this.isDownloading = true;
428
+ let a = await this.downloader();
429
+ return this.downloader = void 0, this.dataLocation = "cpu", this.cpuData = a, t && this.disposer && (this.disposer(), this.disposer = void 0), a;
430
+ } finally {
431
+ this.isDownloading = false;
432
+ }
433
+ }
434
+ default:
435
+ throw new Error(`cannot get data from location: ${this.dataLocation}`);
436
+ }
437
+ }
438
+ dispose() {
439
+ if (this.isDownloading) throw new Error("The current tensor is being downloaded.");
440
+ 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";
441
+ }
442
+ ensureValid() {
443
+ if (this.dataLocation === "none") throw new Error("The tensor is disposed.");
444
+ }
445
+ reshape(t) {
446
+ if (this.ensureValid(), this.downloader || this.disposer) throw new Error("Cannot reshape a tensor that owns GPU resource.");
447
+ return Pr(this, t);
448
+ }
449
+ };
450
+ });
451
+ var de;
452
+ var en = F(() => {
453
+ "use strict";
454
+ ct();
455
+ de = Q;
456
+ });
457
+ var xr;
458
+ var Cr;
459
+ var _e;
460
+ var De;
461
+ var Pe;
462
+ var Ue;
463
+ var tn = F(() => {
464
+ "use strict";
465
+ Zt();
466
+ xr = (n, t) => {
467
+ (typeof J.trace > "u" ? !J.wasm.trace : !J.trace) || console.timeStamp(`${n}::ORT::${t}`);
468
+ }, Cr = (n, t) => {
469
+ let a = new Error().stack?.split(/\r\n|\r|\n/g) || [], u = false;
470
+ for (let o = 0; o < a.length; o++) {
471
+ if (u && !a[o].includes("TRACE_FUNC")) {
472
+ let d2 = `FUNC_${n}::${a[o].trim().split(" ")[1]}`;
473
+ t && (d2 += `::${t}`), xr("CPU", d2);
474
+ return;
475
+ }
476
+ a[o].includes("TRACE_FUNC") && (u = true);
477
+ }
478
+ }, _e = (n) => {
479
+ (typeof J.trace > "u" ? !J.wasm.trace : !J.trace) || Cr("BEGIN", n);
480
+ }, De = (n) => {
481
+ (typeof J.trace > "u" ? !J.wasm.trace : !J.trace) || Cr("END", n);
482
+ }, Pe = (n) => {
483
+ (typeof J.trace > "u" ? !J.wasm.trace : !J.trace) || console.time(`ORT::${n}`);
484
+ }, Ue = (n) => {
485
+ (typeof J.trace > "u" ? !J.wasm.trace : !J.trace) || console.timeEnd(`ORT::${n}`);
486
+ };
487
+ });
488
+ var lt;
489
+ var Mr = F(() => {
490
+ "use strict";
491
+ Qt();
492
+ en();
493
+ tn();
494
+ lt = class n {
495
+ constructor(t) {
496
+ this.handler = t;
497
+ }
498
+ async run(t, a, u) {
499
+ _e(), Pe("InferenceSession.run");
500
+ let o = {}, d2 = {};
501
+ 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.");
502
+ let c = true;
503
+ if (typeof a == "object") {
504
+ if (a === null) throw new TypeError("Unexpected argument[1]: cannot be null.");
505
+ if (a instanceof de) throw new TypeError("'fetches' cannot be a Tensor");
506
+ if (Array.isArray(a)) {
507
+ if (a.length === 0) throw new TypeError("'fetches' cannot be an empty array.");
508
+ c = false;
509
+ for (let h of a) {
510
+ if (typeof h != "string") throw new TypeError("'fetches' must be a string array or an object.");
511
+ if (this.outputNames.indexOf(h) === -1) throw new RangeError(`'fetches' contains invalid output name: ${h}.`);
512
+ o[h] = null;
513
+ }
514
+ if (typeof u == "object" && u !== null) d2 = u;
515
+ else if (typeof u < "u") throw new TypeError("'options' must be an object.");
516
+ } else {
517
+ let h = false, g = Object.getOwnPropertyNames(a);
518
+ for (let b of this.outputNames) if (g.indexOf(b) !== -1) {
519
+ let y = a[b];
520
+ (y === null || y instanceof de) && (h = true, c = false, o[b] = y);
521
+ }
522
+ if (h) {
523
+ if (typeof u == "object" && u !== null) d2 = u;
524
+ else if (typeof u < "u") throw new TypeError("'options' must be an object.");
525
+ } else d2 = a;
526
+ }
527
+ } else if (typeof a < "u") throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");
528
+ for (let h of this.inputNames) if (typeof t[h] > "u") throw new Error(`input '${h}' is missing in 'feeds'.`);
529
+ if (c) for (let h of this.outputNames) o[h] = null;
530
+ let l = await this.handler.run(t, o, d2), m = {};
531
+ for (let h in l) if (Object.hasOwnProperty.call(l, h)) {
532
+ let g = l[h];
533
+ g instanceof de ? m[h] = g : m[h] = new de(g.type, g.data, g.dims);
534
+ }
535
+ return Ue("InferenceSession.run"), De(), m;
536
+ }
537
+ async release() {
538
+ return this.handler.dispose();
539
+ }
540
+ static async create(t, a, u, o) {
541
+ _e(), Pe("InferenceSession.create");
542
+ let d2, c = {};
543
+ if (typeof t == "string") {
544
+ if (d2 = t, typeof a == "object" && a !== null) c = a;
545
+ else if (typeof a < "u") throw new TypeError("'options' must be an object.");
546
+ } else if (t instanceof Uint8Array) {
547
+ if (d2 = t, typeof a == "object" && a !== null) c = a;
548
+ else if (typeof a < "u") throw new TypeError("'options' must be an object.");
549
+ } else if (t instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && t instanceof SharedArrayBuffer) {
550
+ let g = t, b = 0, y = t.byteLength;
551
+ if (typeof a == "object" && a !== null) c = a;
552
+ else if (typeof a == "number") {
553
+ if (b = a, !Number.isSafeInteger(b)) throw new RangeError("'byteOffset' must be an integer.");
554
+ if (b < 0 || b >= g.byteLength) throw new RangeError(`'byteOffset' is out of range [0, ${g.byteLength}).`);
555
+ if (y = t.byteLength - b, typeof u == "number") {
556
+ if (y = u, !Number.isSafeInteger(y)) throw new RangeError("'byteLength' must be an integer.");
557
+ if (y <= 0 || b + y > g.byteLength) throw new RangeError(`'byteLength' is out of range (0, ${g.byteLength - b}].`);
558
+ if (typeof o == "object" && o !== null) c = o;
559
+ else if (typeof o < "u") throw new TypeError("'options' must be an object.");
560
+ } else if (typeof u < "u") throw new TypeError("'byteLength' must be a number.");
561
+ } else if (typeof a < "u") throw new TypeError("'options' must be an object.");
562
+ d2 = new Uint8Array(g, b, y);
563
+ } else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");
564
+ let [l, m] = await dr(c), h = await l.createInferenceSessionHandler(d2, m);
565
+ return Ue("InferenceSession.create"), De(), new n(h);
566
+ }
567
+ startProfiling() {
568
+ this.handler.startProfiling();
569
+ }
570
+ endProfiling() {
571
+ this.handler.endProfiling();
572
+ }
573
+ get inputNames() {
574
+ return this.handler.inputNames;
575
+ }
576
+ get outputNames() {
577
+ return this.handler.outputNames;
578
+ }
579
+ get inputMetadata() {
580
+ return this.handler.inputMetadata;
581
+ }
582
+ get outputMetadata() {
583
+ return this.handler.outputMetadata;
584
+ }
585
+ };
586
+ });
587
+ var ts;
588
+ var Rr = F(() => {
589
+ "use strict";
590
+ Mr();
591
+ ts = lt;
592
+ });
593
+ var Nr = F(() => {
594
+ "use strict";
595
+ });
596
+ var Fr = F(() => {
597
+ "use strict";
598
+ });
599
+ var kr = F(() => {
600
+ "use strict";
601
+ });
602
+ var Wr = F(() => {
603
+ "use strict";
604
+ });
605
+ var nn = {};
606
+ ut(nn, { InferenceSession: () => ts, TRACE: () => xr, TRACE_EVENT_BEGIN: () => Pe, TRACE_EVENT_END: () => Ue, TRACE_FUNC_BEGIN: () => _e, TRACE_FUNC_END: () => De, Tensor: () => de, env: () => Y, registerBackend: () => qe });
607
+ var Te = F(() => {
608
+ "use strict";
609
+ pr();
610
+ br();
611
+ Rr();
612
+ en();
613
+ Nr();
614
+ Fr();
615
+ tn();
616
+ kr();
617
+ Wr();
618
+ });
619
+ var dt = F(() => {
620
+ "use strict";
621
+ });
622
+ var Hr = {};
623
+ ut(Hr, { default: () => ns });
624
+ var $r;
625
+ var zr;
626
+ var ns;
627
+ var jr = F(() => {
628
+ "use strict";
629
+ rn();
630
+ xe();
631
+ pt();
632
+ $r = "ort-wasm-proxy-worker", zr = globalThis.self?.name === $r;
633
+ zr && (self.onmessage = (n) => {
634
+ let { type: t, in: a } = n.data;
635
+ try {
636
+ switch (t) {
637
+ case "init-wasm":
638
+ mt(a.wasm).then(() => {
639
+ ht(a).then(() => {
640
+ postMessage({ type: t });
641
+ }, (u) => {
642
+ postMessage({ type: t, err: u });
643
+ });
644
+ }, (u) => {
645
+ postMessage({ type: t, err: u });
646
+ });
647
+ break;
648
+ case "init-ep": {
649
+ let { epName: u, env: o } = a;
650
+ wt(o, u).then(() => {
651
+ postMessage({ type: t });
652
+ }, (d2) => {
653
+ postMessage({ type: t, err: d2 });
654
+ });
655
+ break;
656
+ }
657
+ case "copy-from": {
658
+ let { buffer: u } = a, o = Qe(u);
659
+ postMessage({ type: t, out: o });
660
+ break;
661
+ }
662
+ case "create": {
663
+ let { model: u, options: o } = a;
664
+ bt(u, o).then((d2) => {
665
+ postMessage({ type: t, out: d2 });
666
+ }, (d2) => {
667
+ postMessage({ type: t, err: d2 });
668
+ });
669
+ break;
670
+ }
671
+ case "release":
672
+ yt(a), postMessage({ type: t });
673
+ break;
674
+ case "run": {
675
+ let { sessionId: u, inputIndices: o, inputs: d2, outputIndices: c, options: l } = a;
676
+ gt(u, o, d2, c, new Array(c.length).fill(null), l).then((m) => {
677
+ m.some((h) => h[3] !== "cpu") ? postMessage({ type: t, err: "Proxy does not support non-cpu tensor location." }) : postMessage({ type: t, out: m }, Tt([...d2, ...m]));
678
+ }, (m) => {
679
+ postMessage({ type: t, err: m });
680
+ });
681
+ break;
682
+ }
683
+ case "end-profiling":
684
+ Et(a), postMessage({ type: t });
685
+ break;
686
+ default:
687
+ }
688
+ } catch (u) {
689
+ postMessage({ type: t, err: u });
690
+ }
691
+ });
692
+ ns = zr ? null : (n) => new Worker(n ?? oe, { type: "module", name: $r });
693
+ });
694
+ var Yr = {};
695
+ ut(Yr, { default: () => rs });
696
+ async function Vr(n = {}) {
697
+ var t = n, a = !!globalThis.window, u = !!globalThis.WorkerGlobalScope, o = u && self.name?.startsWith("em-pthread");
698
+ t.mountExternalData = (e, r) => {
699
+ e.startsWith("./") && (e = e.substring(2)), (t.Rb || (t.Rb = /* @__PURE__ */ new Map())).set(e, r);
700
+ }, t.unmountExternalData = () => {
701
+ delete t.Rb, delete t.kc, delete t.jc, delete t.lc;
702
+ }, globalThis.SharedArrayBuffer ?? new WebAssembly.Memory({ initial: 0, maximum: 0, shared: true }).buffer.constructor;
703
+ var d2, c, l = (e, r) => {
704
+ throw r;
705
+ }, m = import.meta.url, h = "";
706
+ if (a || u) {
707
+ try {
708
+ h = new URL(".", m).href;
709
+ } catch {
710
+ }
711
+ u && (c = (e) => {
712
+ var r = new XMLHttpRequest();
713
+ return r.open("GET", e, false), r.responseType = "arraybuffer", r.send(null), new Uint8Array(r.response);
714
+ }), d2 = async (e) => {
715
+ if (k(e)) return new Promise((i, s) => {
716
+ var f = new XMLHttpRequest();
717
+ f.open("GET", e, true), f.responseType = "arraybuffer", f.onload = () => {
718
+ f.status == 200 || f.status == 0 && f.response ? i(f.response) : s(f.status);
719
+ }, f.onerror = s, f.send(null);
720
+ });
721
+ var r = await fetch(e, { credentials: "same-origin" });
722
+ if (r.ok) return r.arrayBuffer();
723
+ throw Error(r.status + " : " + r.url);
724
+ };
725
+ }
726
+ var g, b, y, T, I, _, $ = console.log.bind(console), v = console.error.bind(console), O = $, N = v, D = false, k = (e) => e.startsWith("file://");
727
+ function w() {
728
+ ge.buffer != H.buffer && ee();
729
+ }
730
+ if (o) {
731
+ let e = function(r) {
732
+ try {
733
+ var i = r.data, s = i.Pb;
734
+ if (s === "load") {
735
+ let f = [];
736
+ self.onmessage = (p) => f.push(p), _ = () => {
737
+ postMessage({ Pb: "loaded" });
738
+ for (let p of f) e(p);
739
+ self.onmessage = e;
740
+ };
741
+ for (let p of i.Zb) t[p] && !t[p].proxy || (t[p] = (...E) => {
742
+ postMessage({ Pb: "callHandler", Yb: p, args: E });
743
+ }, p == "print" && (O = t[p]), p == "printErr" && (N = t[p]));
744
+ ge = i.dc, ee(), b = i.ec, Ut(), it();
745
+ } else if (s === "run") {
746
+ (function(f) {
747
+ var p = (w(), W)[f + 52 >>> 2 >>> 0];
748
+ f = (w(), W)[f + 56 >>> 2 >>> 0], sr(p, p - f), P(p);
749
+ })(i.Ob), zt(i.Ob, 0, 0, 1, 0, 0), wn(), Nt(i.Ob), Z ||= true;
750
+ try {
751
+ Ao(i.bc, i.Tb);
752
+ } catch (f) {
753
+ if (f != "unwind") throw f;
754
+ }
755
+ } else i.target !== "setimmediate" && (s === "checkMailbox" ? Z && rt() : s && (N(`worker: received unknown command ${s}`), N(i)));
756
+ } catch (f) {
757
+ throw tr(), f;
758
+ }
759
+ };
760
+ var Ss = e, Z = false;
761
+ self.onunhandledrejection = (r) => {
762
+ throw r.reason || r;
763
+ }, self.onmessage = e;
764
+ }
765
+ var H, ne, pe, B, W, re, me, A, K, je = false;
766
+ function ee() {
767
+ var e = ge.buffer;
768
+ t.HEAP8 = H = 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);
769
+ }
770
+ function he() {
771
+ je = true, o ? _() : Ee.Ta();
772
+ }
773
+ function j(e) {
774
+ throw N(e = "Aborted(" + e + ")"), D = true, e = new WebAssembly.RuntimeError(e + ". Build with -sASSERTIONS for more info."), I?.(e), e;
775
+ }
776
+ function q() {
777
+ return { a: { T: fa, f: Io, w: Bo, e: Lo, k: _o, h: Do, L: Po, b: Uo, G: xo, ta: vn, j: Co, M: In, Ja: Bn, pa: Ln, ra: _n, Ka: Dn, Ha: Pn, Aa: Un, Ga: xn, Z: Cn, qa: Mn, na: Rn, Ia: Nn, oa: Fn, Pa: Mo, Da: Ro, la: Fo, ua: ko, ia: Wo, U: Go, Ca: Nt, Ma: $o, xa: zo, ya: Ho, za: jo, va: $n, wa: zn, ja: Hn, Ra: Yo, Oa: Xo, W: Qo, V: Zo, Na: Jo, F: Ko, La: ea, ma: ta, u: Vo, H: na, R: at, ka: oa, ba: ra, Sa: aa, Ea: Yn, Fa: Jn, sa: ye, I: qn, Y: Xn, Ba: Qn, X: Zn, $: ja, N: Wa, aa: Ha, O: ka, v: _a, d: pa, m: la, n: ca, r: va, ca: Ra, E: Ma, o: wa, P: Na, C: Ga, J: Ca, da: xa, ea: Ua, z: Oa, Q: Pa, fa: Da, y: Ba, D: Fa, c: da, q: ha, i: ma, _: Va, l: ya, p: ga, s: ba, t: Ea, x: Aa, S: La, A: $a, K: Ia, B: za, ga: Sa, ha: Ta, g: ia, a: ge, Qa: V } };
778
+ }
779
+ async function Ut() {
780
+ function e(s, f) {
781
+ return Ee = s.exports, Ee = function() {
782
+ var p = Ee, E = (x) => () => x() >>> 0, S = (x) => (R) => x(R) >>> 0;
783
+ 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;
784
+ }(), 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, C = 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;
785
+ }
786
+ var r, i = q();
787
+ return t.instantiateWasm ? new Promise((s) => {
788
+ t.instantiateWasm(i, (f, p) => {
789
+ s(e(f, p));
790
+ });
791
+ }) : 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) {
792
+ var f = K;
793
+ if (!g && !k(f)) try {
794
+ var p = fetch(f, { credentials: "same-origin" });
795
+ return await WebAssembly.instantiateStreaming(p, s);
796
+ } catch (E) {
797
+ N(`wasm streaming compile failed: ${E}`), N("falling back to ArrayBuffer instantiation");
798
+ }
799
+ return async function(E, S) {
800
+ try {
801
+ var x = await async function(R) {
802
+ if (!g) try {
803
+ var X = await d2(R);
804
+ return new Uint8Array(X);
805
+ } catch {
806
+ }
807
+ if (R == K && g) R = new Uint8Array(g);
808
+ else {
809
+ if (!c) throw "both async and sync fetching of the wasm failed";
810
+ R = c(R);
811
+ }
812
+ return R;
813
+ }(E);
814
+ return await WebAssembly.instantiate(x, S);
815
+ } catch (R) {
816
+ N(`failed to asynchronously prepare wasm: ${R}`), j(R);
817
+ }
818
+ }(f, s);
819
+ }(i), e(r.instance, r.module));
820
+ }
821
+ class Se {
822
+ name = "ExitStatus";
823
+ constructor(r) {
824
+ this.message = `Program terminated with exit(${r})`, this.status = r;
825
+ }
826
+ }
827
+ var ve = (e) => {
828
+ e.terminate(), e.onmessage = () => {
829
+ };
830
+ }, Ve = [], Re = 0, te = null, ue = (e) => {
831
+ ce.length == 0 && (yn(), bn(ce[0]));
832
+ var r = ce.pop();
833
+ if (!r) return 6;
834
+ Ne.push(r), Oe[e.Ob] = r, r.Ob = e.Ob;
835
+ var i = { Pb: "run", bc: e.ac, Tb: e.Tb, Ob: e.Ob };
836
+ return r.postMessage(i, e.Xb), 0;
837
+ }, se = 0, L = (e, r, ...i) => {
838
+ var s, f = 16 * i.length, p = U(), E = jt(f), S = E >>> 3;
839
+ 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);
840
+ return e = nr(e, 0, f, E, r), P(p), e;
841
+ };
842
+ function V(e) {
843
+ if (o) return L(0, 1, e);
844
+ if (y = e, !(0 < se)) {
845
+ for (var r of Ne) ve(r);
846
+ for (r of ce) ve(r);
847
+ ce = [], Ne = [], Oe = {}, D = true;
848
+ }
849
+ l(0, new Se(e));
850
+ }
851
+ function fe(e) {
852
+ if (o) return L(1, 0, e);
853
+ ye(e);
854
+ }
855
+ var ye = (e) => {
856
+ if (y = e, o) throw fe(e), "unwind";
857
+ V(e);
858
+ }, ce = [], Ne = [], mn = [], Oe = {}, hn = (e) => {
859
+ var r = e.Ob;
860
+ delete Oe[r], ce.push(e), Ne.splice(Ne.indexOf(e), 1), e.Ob = 0, rr(r);
861
+ };
862
+ function wn() {
863
+ mn.forEach((e) => e());
864
+ }
865
+ var bn = (e) => new Promise((r) => {
866
+ e.onmessage = (f) => {
867
+ var p = f.data;
868
+ if (f = p.Pb, p.Sb && p.Sb != st()) {
869
+ var E = Oe[p.Sb];
870
+ E ? E.postMessage(p, p.Xb) : N(`Internal error! Worker sent a message "${f}" to target pthread ${p.Sb}, but that thread no longer exists!`);
871
+ } else f === "checkMailbox" ? rt() : f === "spawnThread" ? ue(p) : f === "cleanupThread" ? Rt(() => {
872
+ hn(Oe[p.cc]);
873
+ }) : f === "loaded" ? (e.loaded = true, r(e)) : p.target === "setimmediate" ? e.postMessage(p) : f === "uncaughtException" ? e.onerror(p.error) : f === "callHandler" ? t[p.Yb](...p.args) : f && N(`worker sent an unknown command ${f}`);
874
+ }, e.onerror = (f) => {
875
+ throw N(`worker sent an error! ${f.filename}:${f.lineno}: ${f.message}`), f;
876
+ };
877
+ var i, s = [];
878
+ for (i of []) t.propertyIsEnumerable(i) && s.push(i);
879
+ e.postMessage({ Pb: "load", Zb: s, dc: ge, ec: b });
880
+ });
881
+ function yn() {
882
+ var e = new Worker((() => {
883
+ let r = URL;
884
+ return import.meta.url > "file:" && import.meta.url < "file;" ? new r("ort.wasm.bundle.min.mjs", import.meta.url) : new URL(import.meta.url);
885
+ })(), { type: "module", workerData: "em-pthread", name: "em-pthread" });
886
+ ce.push(e);
887
+ }
888
+ var ge, gn = [], M = (e) => {
889
+ var r = gn[e];
890
+ return r || (gn[e] = r = cr.get(e)), r;
891
+ }, Ao = (e, r) => {
892
+ se = 0, e = M(e)(r), 0 < se ? y = e : Ht(e);
893
+ }, tt = [], nt = 0;
894
+ function Io(e) {
895
+ var r = new xt(e >>>= 0);
896
+ return (w(), H)[r.Qb + 12 >>> 0] == 0 && (En(r, true), nt--), Tn(r, false), tt.push(r), fr(e);
897
+ }
898
+ var Fe = 0, Bo = () => {
899
+ C(0, 0);
900
+ var e = tt.pop();
901
+ ir(e.Ub), Fe = 0;
902
+ };
903
+ function En(e, r) {
904
+ r = r ? 1 : 0, (w(), H)[e.Qb + 12 >>> 0] = r;
905
+ }
906
+ function Tn(e, r) {
907
+ r = r ? 1 : 0, (w(), H)[e.Qb + 13 >>> 0] = r;
908
+ }
909
+ class xt {
910
+ constructor(r) {
911
+ this.Ub = r, this.Qb = r - 24;
912
+ }
913
+ }
914
+ var Ct = (e) => {
915
+ var r = Fe;
916
+ if (!r) return Je(0), 0;
917
+ var i = new xt(r);
918
+ (w(), W)[i.Qb + 16 >>> 2 >>> 0] = r;
919
+ var s = (w(), W)[i.Qb + 4 >>> 2 >>> 0];
920
+ if (!s) return Je(0), r;
921
+ for (var f of e) {
922
+ if (f === 0 || f === s) break;
923
+ if (ur(f, s, i.Qb + 16)) return Je(f), r;
924
+ }
925
+ return Je(s), r;
926
+ };
927
+ function Lo() {
928
+ return Ct([]);
929
+ }
930
+ function _o(e) {
931
+ return Ct([e >>> 0]);
932
+ }
933
+ function Do(e, r, i, s) {
934
+ return Ct([e >>> 0, r >>> 0, i >>> 0, s >>> 0]);
935
+ }
936
+ var Po = () => {
937
+ var e = tt.pop();
938
+ e || j("no exception to throw");
939
+ var r = e.Ub;
940
+ throw (w(), H)[e.Qb + 13 >>> 0] == 0 && (tt.push(e), Tn(e, true), En(e, false), nt++), Vt(r), Fe = r;
941
+ };
942
+ function Uo(e, r, i) {
943
+ var s = new xt(e >>>= 0);
944
+ 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++, Fe = e;
945
+ }
946
+ var xo = () => nt;
947
+ function Sn(e, r, i, s) {
948
+ return o ? L(2, 1, e, r, i, s) : vn(e, r, i, s);
949
+ }
950
+ function vn(e, r, i, s) {
951
+ if (e >>>= 0, r >>>= 0, i >>>= 0, s >>>= 0, !globalThis.SharedArrayBuffer) return 6;
952
+ var f = [];
953
+ 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));
954
+ }
955
+ function Co(e) {
956
+ throw Fe ||= e >>> 0, Fe;
957
+ }
958
+ var On = globalThis.TextDecoder && new TextDecoder(), An = (e, r = 0, i, s) => {
959
+ var f = r >>>= 0;
960
+ if (i = f + i, s) s = i;
961
+ else {
962
+ for (; e[f] && !(f >= i); ) ++f;
963
+ s = f;
964
+ }
965
+ if (16 < s - r && e.buffer && On) return On.decode(e.buffer instanceof ArrayBuffer ? e.subarray(r, s) : e.slice(r, s));
966
+ for (f = ""; r < s; ) if (128 & (i = e[r++])) {
967
+ var p = 63 & e[r++];
968
+ if ((224 & i) == 192) f += String.fromCharCode((31 & i) << 6 | p);
969
+ else {
970
+ var E = 63 & e[r++];
971
+ 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));
972
+ }
973
+ } else f += String.fromCharCode(i);
974
+ return f;
975
+ }, Mt = (e, r, i) => (e >>>= 0) ? An((w(), ne), e, r, i) : "";
976
+ function In(e, r, i) {
977
+ return o ? L(3, 1, e, r, i) : 0;
978
+ }
979
+ function Bn(e, r) {
980
+ if (o) return L(4, 1, e, r);
981
+ }
982
+ function Ln(e, r) {
983
+ if (o) return L(5, 1, e, r);
984
+ }
985
+ function _n(e, r, i) {
986
+ if (o) return L(6, 1, e, r, i);
987
+ }
988
+ function Dn(e, r, i) {
989
+ return o ? L(7, 1, e, r, i) : 0;
990
+ }
991
+ function Pn(e, r) {
992
+ if (o) return L(8, 1, e, r);
993
+ }
994
+ function Un(e, r, i) {
995
+ if (o) return L(9, 1, e, r, i);
996
+ }
997
+ function xn(e, r, i, s) {
998
+ if (o) return L(10, 1, e, r, i, s);
999
+ }
1000
+ function Cn(e, r, i, s) {
1001
+ if (o) return L(11, 1, e, r, i, s);
1002
+ }
1003
+ function Mn(e, r, i, s) {
1004
+ if (o) return L(12, 1, e, r, i, s);
1005
+ }
1006
+ function Rn(e) {
1007
+ if (o) return L(13, 1, e);
1008
+ }
1009
+ function Nn(e, r) {
1010
+ if (o) return L(14, 1, e, r);
1011
+ }
1012
+ function Fn(e, r, i) {
1013
+ if (o) return L(15, 1, e, r, i);
1014
+ }
1015
+ var Mo = () => j("");
1016
+ function Ro(e) {
1017
+ zt(e >>> 0, !u, 1, !a, 131072, false), wn();
1018
+ }
1019
+ var Rt = (e) => {
1020
+ if (!D) try {
1021
+ if (e(), !(0 < se)) try {
1022
+ o ? st() && Ht(y) : ye(y);
1023
+ } catch (r) {
1024
+ r instanceof Se || r == "unwind" || l(0, r);
1025
+ }
1026
+ } catch (r) {
1027
+ r instanceof Se || r == "unwind" || l(0, r);
1028
+ }
1029
+ }, No = !Atomics.waitAsync || globalThis.navigator?.userAgent && 91 > Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./) || [])[2]);
1030
+ function Nt(e) {
1031
+ e >>>= 0, No || (Atomics.waitAsync((w(), B), e >>> 2, e).value.then(rt), e += 128, Atomics.store((w(), B), e >>> 2, 1));
1032
+ }
1033
+ var rt = () => Rt(() => {
1034
+ var e = st();
1035
+ e && (Nt(e), ar());
1036
+ });
1037
+ function Fo(e, r) {
1038
+ (e >>>= 0) == r >>> 0 ? setTimeout(rt) : o ? postMessage({ Sb: e, Pb: "checkMailbox" }) : (e = Oe[e]) && e.postMessage({ Pb: "checkMailbox" });
1039
+ }
1040
+ var Ft = [];
1041
+ function ko(e, r, i, s, f) {
1042
+ for (r >>>= 0, f >>>= 0, Ft.length = 0, i = f >>> 3, s = f + s >>> 3; i < s; ) {
1043
+ var p;
1044
+ p = (w(), A)[i++ >>> 0] ? (w(), A)[i++ >>> 0] : (w(), me)[i++ >>> 0], Ft.push(p);
1045
+ }
1046
+ return (r ? lr[r] : ua[e])(...Ft);
1047
+ }
1048
+ var Wo = () => {
1049
+ se = 0;
1050
+ };
1051
+ function Go(e) {
1052
+ e >>>= 0, o ? postMessage({ Pb: "cleanupThread", cc: e }) : hn(Oe[e]);
1053
+ }
1054
+ function $o(e) {
1055
+ }
1056
+ function zo(e, r) {
1057
+ 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;
1058
+ }
1059
+ 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];
1060
+ function Ho(e, r) {
1061
+ 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();
1062
+ var i = (kn(e.getFullYear()) ? Wn : Gn)[e.getMonth()] + e.getDate() - 1 | 0;
1063
+ (w(), B)[r + 28 >>> 2 >>> 0] = i, (w(), B)[r + 36 >>> 2 >>> 0] = -60 * e.getTimezoneOffset(), i = new Date(e.getFullYear(), 6, 1).getTimezoneOffset();
1064
+ var s = new Date(e.getFullYear(), 0, 1).getTimezoneOffset();
1065
+ e = 0 | (i != s && e.getTimezoneOffset() == Math.min(s, i)), (w(), B)[r + 32 >>> 2 >>> 0] = e;
1066
+ }
1067
+ function jo(e) {
1068
+ e >>>= 0;
1069
+ 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);
1070
+ 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);
1071
+ }
1072
+ function $n(e, r, i, s, f, p, E) {
1073
+ return o ? L(16, 1, e, r, i, s, f, p, E) : -52;
1074
+ }
1075
+ function zn(e, r, i, s, f, p) {
1076
+ if (o) return L(17, 1, e, r, i, s, f, p);
1077
+ }
1078
+ var Ye = {}, Vo = () => performance.timeOrigin + performance.now();
1079
+ function Hn(e, r) {
1080
+ if (o) return L(18, 1, e, r);
1081
+ if (Ye[e] && (clearTimeout(Ye[e].id), delete Ye[e]), !r) return 0;
1082
+ var i = setTimeout(() => {
1083
+ delete Ye[e], Rt(() => or(e, performance.timeOrigin + performance.now()));
1084
+ }, r);
1085
+ return Ye[e] = { id: i, mc: r }, 0;
1086
+ }
1087
+ var Ae = (e, r, i) => {
1088
+ var s = (w(), ne);
1089
+ if (r >>>= 0, 0 < i) {
1090
+ var f = r;
1091
+ i = r + i - 1;
1092
+ for (var p = 0; p < e.length; ++p) {
1093
+ var E = e.codePointAt(p);
1094
+ if (127 >= E) {
1095
+ if (r >= i) break;
1096
+ s[r++ >>> 0] = E;
1097
+ } else if (2047 >= E) {
1098
+ if (r + 1 >= i) break;
1099
+ s[r++ >>> 0] = 192 | E >> 6, s[r++ >>> 0] = 128 | 63 & E;
1100
+ } else if (65535 >= E) {
1101
+ if (r + 2 >= i) break;
1102
+ s[r++ >>> 0] = 224 | E >> 12, s[r++ >>> 0] = 128 | E >> 6 & 63, s[r++ >>> 0] = 128 | 63 & E;
1103
+ } else {
1104
+ if (r + 3 >= i) break;
1105
+ 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++;
1106
+ }
1107
+ }
1108
+ s[r >>> 0] = 0, e = r - f;
1109
+ } else e = 0;
1110
+ return e;
1111
+ };
1112
+ function Yo(e, r, i, s) {
1113
+ e >>>= 0, r >>>= 0, i >>>= 0, s >>>= 0;
1114
+ var f = (/* @__PURE__ */ new Date()).getFullYear(), p = new Date(f, 0, 1).getTimezoneOffset();
1115
+ f = new Date(f, 6, 1).getTimezoneOffset();
1116
+ var E = Math.max(p, f);
1117
+ (w(), W)[e >>> 2 >>> 0] = 60 * E, (w(), B)[r >>> 2 >>> 0] = +(p != f), e = (r = (S) => {
1118
+ var x = Math.abs(S);
1119
+ return `UTC${0 <= S ? "-" : "+"}${String(Math.floor(x / 60)).padStart(2, "0")}${String(x % 60).padStart(2, "0")}`;
1120
+ })(p), r = r(f), f < p ? (Ae(e, i, 17), Ae(r, s, 17)) : (Ae(e, s, 17), Ae(r, i, 17));
1121
+ }
1122
+ var Jo = () => Date.now(), qo = 1;
1123
+ function Xo(e, r, i) {
1124
+ if (i >>>= 0, !(0 <= e && 3 >= e)) return 28;
1125
+ if (e === 0) e = Date.now();
1126
+ else {
1127
+ if (!qo) return 52;
1128
+ e = performance.timeOrigin + performance.now();
1129
+ }
1130
+ return e = Math.round(1e6 * e), (w(), A)[i >>> 3 >>> 0] = BigInt(e), 0;
1131
+ }
1132
+ var kt = [];
1133
+ function Qo(e, r, i) {
1134
+ e >>>= 0, r >>>= 0, i >>>= 0, kt.length = 0;
1135
+ for (var s; s = (w(), ne)[r++ >>> 0]; ) {
1136
+ var f = s != 105;
1137
+ 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;
1138
+ }
1139
+ return lr[e](...kt);
1140
+ }
1141
+ var Zo = () => {
1142
+ };
1143
+ function Ko(e, r) {
1144
+ return N(Mt(e >>> 0, r >>> 0));
1145
+ }
1146
+ var ea = () => {
1147
+ throw se += 1, "unwind";
1148
+ };
1149
+ function ta() {
1150
+ return 4294901760;
1151
+ }
1152
+ var na = () => navigator.hardwareConcurrency, Ie = {}, Wt = (e) => {
1153
+ for (var r = 0, i = 0; i < e.length; ++i) {
1154
+ var s = e.charCodeAt(i);
1155
+ 127 >= s ? r++ : 2047 >= s ? r += 2 : 55296 <= s && 57343 >= s ? (r += 4, ++i) : r += 3;
1156
+ }
1157
+ return r;
1158
+ }, ot = (e) => {
1159
+ var r;
1160
+ return (r = /\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(e)) ? +r[1] : (r = /:(\d+):\d+(?:\)|$)/.exec(e)) ? 2147483648 | +r[1] : 0;
1161
+ }, jn = (e) => {
1162
+ for (var r of e) (e = ot(r)) && (Ie[e] = r);
1163
+ };
1164
+ function ra() {
1165
+ var e = Error().stack.toString().split(`
1166
+ `);
1167
+ return e[0] == "Error" && e.shift(), jn(e), Ie.Vb = ot(e[3]), Ie.$b = e, Ie.Vb;
1168
+ }
1169
+ function at(e) {
1170
+ if (!(e = Ie[e >>> 0])) return 0;
1171
+ var r;
1172
+ if (r = /^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(e)) e = r[1];
1173
+ else if (r = /^\s+at (.*) \(.*\)$/.exec(e)) e = r[1];
1174
+ else {
1175
+ if (!(r = /^(.+?)@/.exec(e))) return 0;
1176
+ e = r[1];
1177
+ }
1178
+ Kn(at.Wb ?? 0), r = Wt(e) + 1;
1179
+ var i = er(r);
1180
+ return i && Ae(e, i, r), at.Wb = i, at.Wb;
1181
+ }
1182
+ function oa(e) {
1183
+ e >>>= 0;
1184
+ var r = (w(), ne).length;
1185
+ if (e <= r || 4294901760 < e) return false;
1186
+ for (var i = 1; 4 >= i; i *= 2) {
1187
+ var s = r * (1 + 0.2 / i);
1188
+ s = Math.min(s, e + 100663296);
1189
+ e: {
1190
+ s = (Math.min(4294901760, 65536 * Math.ceil(Math.max(e, s) / 65536)) - ge.buffer.byteLength + 65535) / 65536 | 0;
1191
+ try {
1192
+ ge.grow(s), ee();
1193
+ var f = 1;
1194
+ break e;
1195
+ } catch {
1196
+ }
1197
+ f = void 0;
1198
+ }
1199
+ if (f) return true;
1200
+ }
1201
+ return false;
1202
+ }
1203
+ function aa(e, r, i) {
1204
+ if (e >>>= 0, r >>>= 0, Ie.Vb == e) var s = Ie.$b;
1205
+ else (s = Error().stack.toString().split(`
1206
+ `))[0] == "Error" && s.shift(), jn(s);
1207
+ for (var f = 3; s[f] && ot(s[f]) != e; ) ++f;
1208
+ for (e = 0; e < i && s[e + f]; ++e) (w(), B)[r + 4 * e >>> 2 >>> 0] = ot(s[e + f]);
1209
+ return e;
1210
+ }
1211
+ var Gt, $t = {}, Vn = () => {
1212
+ if (!Gt) {
1213
+ 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" };
1214
+ for (e in $t) $t[e] === void 0 ? delete r[e] : r[e] = $t[e];
1215
+ var i = [];
1216
+ for (e in r) i.push(`${e}=${r[e]}`);
1217
+ Gt = i;
1218
+ }
1219
+ return Gt;
1220
+ };
1221
+ function Yn(e, r) {
1222
+ if (o) return L(19, 1, e, r);
1223
+ e >>>= 0, r >>>= 0;
1224
+ var i, s = 0, f = 0;
1225
+ for (i of Vn()) {
1226
+ var p = r + s;
1227
+ (w(), W)[e + f >>> 2 >>> 0] = p, s += Ae(i, p, 1 / 0) + 1, f += 4;
1228
+ }
1229
+ return 0;
1230
+ }
1231
+ function Jn(e, r) {
1232
+ if (o) return L(20, 1, e, r);
1233
+ e >>>= 0, r >>>= 0;
1234
+ var i = Vn();
1235
+ for (var s of ((w(), W)[e >>> 2 >>> 0] = i.length, e = 0, i)) e += Wt(s) + 1;
1236
+ return (w(), W)[r >>> 2 >>> 0] = e, 0;
1237
+ }
1238
+ function qn(e) {
1239
+ return o ? L(21, 1, e) : 52;
1240
+ }
1241
+ function Xn(e, r, i, s) {
1242
+ return o ? L(22, 1, e, r, i, s) : 52;
1243
+ }
1244
+ function Qn(e, r, i, s) {
1245
+ return o ? L(23, 1, e, r, i, s) : 70;
1246
+ }
1247
+ var sa = [null, [], []];
1248
+ function Zn(e, r, i, s) {
1249
+ if (o) return L(24, 1, e, r, i, s);
1250
+ r >>>= 0, i >>>= 0, s >>>= 0;
1251
+ for (var f = 0, p = 0; p < i; p++) {
1252
+ var E = (w(), W)[r >>> 2 >>> 0], S = (w(), W)[r + 4 >>> 2 >>> 0];
1253
+ r += 8;
1254
+ for (var x = 0; x < S; x++) {
1255
+ var R = e, X = (w(), ne)[E + x >>> 0], le = sa[R];
1256
+ X === 0 || X === 10 ? ((R === 1 ? O : N)(An(le)), le.length = 0) : le.push(X);
1257
+ }
1258
+ f += S;
1259
+ }
1260
+ return (w(), W)[s >>> 2 >>> 0] = f, 0;
1261
+ }
1262
+ function ia(e) {
1263
+ return e >>> 0;
1264
+ }
1265
+ o || function() {
1266
+ for (var e = t.numThreads - 1; e--; ) yn();
1267
+ Ve.push(async () => {
1268
+ var r = async function() {
1269
+ if (!o) return Promise.all(ce.map(bn));
1270
+ }();
1271
+ Re++, await r, --Re == 0 && te && (r = te, te = null, r());
1272
+ });
1273
+ }(), o || (ge = new WebAssembly.Memory({ initial: 256, maximum: 65536, shared: true }), 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") {
1274
+ switch (i.endsWith("*") && (i = "*"), i) {
1275
+ case "i1":
1276
+ case "i8":
1277
+ (w(), H)[e >>> 0] = r;
1278
+ break;
1279
+ case "i16":
1280
+ (w(), pe)[e >>> 1 >>> 0] = r;
1281
+ break;
1282
+ case "i32":
1283
+ (w(), B)[e >>> 2 >>> 0] = r;
1284
+ break;
1285
+ case "i64":
1286
+ (w(), A)[e >>> 3 >>> 0] = BigInt(r);
1287
+ break;
1288
+ case "float":
1289
+ (w(), re)[e >>> 2 >>> 0] = r;
1290
+ break;
1291
+ case "double":
1292
+ (w(), me)[e >>> 3 >>> 0] = r;
1293
+ break;
1294
+ case "*":
1295
+ (w(), W)[e >>> 2 >>> 0] = r;
1296
+ break;
1297
+ default:
1298
+ j(`invalid type for setValue: ${i}`);
1299
+ }
1300
+ }, t.getValue = function(e, r = "i8") {
1301
+ switch (r.endsWith("*") && (r = "*"), r) {
1302
+ case "i1":
1303
+ case "i8":
1304
+ return (w(), H)[e >>> 0];
1305
+ case "i16":
1306
+ return (w(), pe)[e >>> 1 >>> 0];
1307
+ case "i32":
1308
+ return (w(), B)[e >>> 2 >>> 0];
1309
+ case "i64":
1310
+ return (w(), A)[e >>> 3 >>> 0];
1311
+ case "float":
1312
+ return (w(), re)[e >>> 2 >>> 0];
1313
+ case "double":
1314
+ return (w(), me)[e >>> 3 >>> 0];
1315
+ case "*":
1316
+ return (w(), W)[e >>> 2 >>> 0];
1317
+ default:
1318
+ j(`invalid type for getValue: ${r}`);
1319
+ }
1320
+ }, t.UTF8ToString = Mt, t.stringToUTF8 = Ae, t.lengthBytesUTF8 = Wt;
1321
+ var st, Kn, er, zt, tr, nr, rr, Ht, or, ar, C, Je, sr, P, jt, U, ir, Vt, ur, fr, cr, Ee, ua = [V, fe, Sn, In, Bn, Ln, _n, Dn, Pn, Un, xn, Cn, Mn, Rn, Nn, Fn, $n, zn, Hn, Yn, Jn, qn, Xn, Qn, Zn], lr = { 1011284: (e, r, i, s, f) => {
1322
+ if (t === void 0 || !t.Rb) return 1;
1323
+ if ((e = Mt(Number(e >>> 0))).startsWith("./") && (e = e.substring(2)), !(e = t.Rb.get(e))) return 2;
1324
+ if (r = Number(r >>> 0), i = Number(i >>> 0), s = Number(s >>> 0), r + i > e.byteLength) return 3;
1325
+ try {
1326
+ let p = e.subarray(r, r + i);
1327
+ switch (f) {
1328
+ case 0:
1329
+ (w(), ne).set(p, s >>> 0);
1330
+ break;
1331
+ case 1:
1332
+ t.fc ? t.fc(s, p) : t.ic(s, p);
1333
+ break;
1334
+ default:
1335
+ return 4;
1336
+ }
1337
+ return 0;
1338
+ } catch {
1339
+ return 4;
1340
+ }
1341
+ }, 1012108: () => typeof wasmOffsetConverter < "u" };
1342
+ function fa() {
1343
+ return typeof wasmOffsetConverter < "u";
1344
+ }
1345
+ function ca(e, r, i, s) {
1346
+ var f = U();
1347
+ try {
1348
+ return M(e)(r, i, s);
1349
+ } catch (p) {
1350
+ if (P(f), p !== p + 0) throw p;
1351
+ C(1, 0);
1352
+ }
1353
+ }
1354
+ function la(e, r, i) {
1355
+ var s = U();
1356
+ try {
1357
+ return M(e)(r, i);
1358
+ } catch (f) {
1359
+ if (P(s), f !== f + 0) throw f;
1360
+ C(1, 0);
1361
+ }
1362
+ }
1363
+ function da(e) {
1364
+ var r = U();
1365
+ try {
1366
+ M(e)();
1367
+ } catch (i) {
1368
+ if (P(r), i !== i + 0) throw i;
1369
+ C(1, 0);
1370
+ }
1371
+ }
1372
+ function pa(e, r) {
1373
+ var i = U();
1374
+ try {
1375
+ return M(e)(r);
1376
+ } catch (s) {
1377
+ if (P(i), s !== s + 0) throw s;
1378
+ C(1, 0);
1379
+ }
1380
+ }
1381
+ function ma(e, r, i) {
1382
+ var s = U();
1383
+ try {
1384
+ M(e)(r, i);
1385
+ } catch (f) {
1386
+ if (P(s), f !== f + 0) throw f;
1387
+ C(1, 0);
1388
+ }
1389
+ }
1390
+ function ha(e, r) {
1391
+ var i = U();
1392
+ try {
1393
+ M(e)(r);
1394
+ } catch (s) {
1395
+ if (P(i), s !== s + 0) throw s;
1396
+ C(1, 0);
1397
+ }
1398
+ }
1399
+ function wa(e, r, i, s, f, p, E) {
1400
+ var S = U();
1401
+ try {
1402
+ return M(e)(r, i, s, f, p, E);
1403
+ } catch (x) {
1404
+ if (P(S), x !== x + 0) throw x;
1405
+ C(1, 0);
1406
+ }
1407
+ }
1408
+ function ba(e, r, i, s, f, p) {
1409
+ var E = U();
1410
+ try {
1411
+ M(e)(r, i, s, f, p);
1412
+ } catch (S) {
1413
+ if (P(E), S !== S + 0) throw S;
1414
+ C(1, 0);
1415
+ }
1416
+ }
1417
+ function ya(e, r, i, s) {
1418
+ var f = U();
1419
+ try {
1420
+ M(e)(r, i, s);
1421
+ } catch (p) {
1422
+ if (P(f), p !== p + 0) throw p;
1423
+ C(1, 0);
1424
+ }
1425
+ }
1426
+ function ga(e, r, i, s, f) {
1427
+ var p = U();
1428
+ try {
1429
+ M(e)(r, i, s, f);
1430
+ } catch (E) {
1431
+ if (P(p), E !== E + 0) throw E;
1432
+ C(1, 0);
1433
+ }
1434
+ }
1435
+ function Ea(e, r, i, s, f, p, E) {
1436
+ var S = U();
1437
+ try {
1438
+ M(e)(r, i, s, f, p, E);
1439
+ } catch (x) {
1440
+ if (P(S), x !== x + 0) throw x;
1441
+ C(1, 0);
1442
+ }
1443
+ }
1444
+ function Ta(e, r, i, s, f, p, E) {
1445
+ var S = U();
1446
+ try {
1447
+ M(e)(r, i, s, f, p, E);
1448
+ } catch (x) {
1449
+ if (P(S), x !== x + 0) throw x;
1450
+ C(1, 0);
1451
+ }
1452
+ }
1453
+ function Sa(e, r, i, s, f, p, E, S) {
1454
+ var x = U();
1455
+ try {
1456
+ M(e)(r, i, s, f, p, E, S);
1457
+ } catch (R) {
1458
+ if (P(x), R !== R + 0) throw R;
1459
+ C(1, 0);
1460
+ }
1461
+ }
1462
+ function va(e, r, i, s, f) {
1463
+ var p = U();
1464
+ try {
1465
+ return M(e)(r, i, s, f);
1466
+ } catch (E) {
1467
+ if (P(p), E !== E + 0) throw E;
1468
+ C(1, 0);
1469
+ }
1470
+ }
1471
+ function Oa(e, r, i) {
1472
+ var s = U();
1473
+ try {
1474
+ return M(e)(r, i);
1475
+ } catch (f) {
1476
+ if (P(s), f !== f + 0) throw f;
1477
+ C(1, 0);
1478
+ }
1479
+ }
1480
+ function Aa(e, r, i, s, f, p, E, S) {
1481
+ var x = U();
1482
+ try {
1483
+ M(e)(r, i, s, f, p, E, S);
1484
+ } catch (R) {
1485
+ if (P(x), R !== R + 0) throw R;
1486
+ C(1, 0);
1487
+ }
1488
+ }
1489
+ function Ia(e, r, i, s, f, p, E, S, x, R, X, le) {
1490
+ var we = U();
1491
+ try {
1492
+ M(e)(r, i, s, f, p, E, S, x, R, X, le);
1493
+ } catch (be) {
1494
+ if (P(we), be !== be + 0) throw be;
1495
+ C(1, 0);
1496
+ }
1497
+ }
1498
+ function Ba(e, r, i) {
1499
+ var s = U();
1500
+ try {
1501
+ return M(e)(r, i);
1502
+ } catch (f) {
1503
+ if (P(s), f !== f + 0) throw f;
1504
+ return C(1, 0), 0n;
1505
+ }
1506
+ }
1507
+ function La(e, r, i, s, f, p, E, S, x) {
1508
+ var R = U();
1509
+ try {
1510
+ M(e)(r, i, s, f, p, E, S, x);
1511
+ } catch (X) {
1512
+ if (P(R), X !== X + 0) throw X;
1513
+ C(1, 0);
1514
+ }
1515
+ }
1516
+ function _a(e) {
1517
+ var r = U();
1518
+ try {
1519
+ return M(e)();
1520
+ } catch (i) {
1521
+ if (P(r), i !== i + 0) throw i;
1522
+ C(1, 0);
1523
+ }
1524
+ }
1525
+ function Da(e, r) {
1526
+ var i = U();
1527
+ try {
1528
+ return M(e)(r);
1529
+ } catch (s) {
1530
+ if (P(i), s !== s + 0) throw s;
1531
+ return C(1, 0), 0n;
1532
+ }
1533
+ }
1534
+ function Pa(e) {
1535
+ var r = U();
1536
+ try {
1537
+ return M(e)();
1538
+ } catch (i) {
1539
+ if (P(r), i !== i + 0) throw i;
1540
+ return C(1, 0), 0n;
1541
+ }
1542
+ }
1543
+ function Ua(e, r, i, s) {
1544
+ var f = U();
1545
+ try {
1546
+ return M(e)(r, i, s);
1547
+ } catch (p) {
1548
+ if (P(f), p !== p + 0) throw p;
1549
+ C(1, 0);
1550
+ }
1551
+ }
1552
+ function xa(e, r, i, s, f) {
1553
+ var p = U();
1554
+ try {
1555
+ return M(e)(r, i, s, f);
1556
+ } catch (E) {
1557
+ if (P(p), E !== E + 0) throw E;
1558
+ C(1, 0);
1559
+ }
1560
+ }
1561
+ function Ca(e, r, i, s, f, p) {
1562
+ var E = U();
1563
+ try {
1564
+ return M(e)(r, i, s, f, p);
1565
+ } catch (S) {
1566
+ if (P(E), S !== S + 0) throw S;
1567
+ C(1, 0);
1568
+ }
1569
+ }
1570
+ function Ma(e, r, i, s, f, p) {
1571
+ var E = U();
1572
+ try {
1573
+ return M(e)(r, i, s, f, p);
1574
+ } catch (S) {
1575
+ if (P(E), S !== S + 0) throw S;
1576
+ C(1, 0);
1577
+ }
1578
+ }
1579
+ function Ra(e, r, i, s, f, p) {
1580
+ var E = U();
1581
+ try {
1582
+ return M(e)(r, i, s, f, p);
1583
+ } catch (S) {
1584
+ if (P(E), S !== S + 0) throw S;
1585
+ C(1, 0);
1586
+ }
1587
+ }
1588
+ function Na(e, r, i, s, f, p, E, S) {
1589
+ var x = U();
1590
+ try {
1591
+ return M(e)(r, i, s, f, p, E, S);
1592
+ } catch (R) {
1593
+ if (P(x), R !== R + 0) throw R;
1594
+ C(1, 0);
1595
+ }
1596
+ }
1597
+ function Fa(e, r, i, s, f) {
1598
+ var p = U();
1599
+ try {
1600
+ return M(e)(r, i, s, f);
1601
+ } catch (E) {
1602
+ if (P(p), E !== E + 0) throw E;
1603
+ return C(1, 0), 0n;
1604
+ }
1605
+ }
1606
+ function ka(e, r, i, s) {
1607
+ var f = U();
1608
+ try {
1609
+ return M(e)(r, i, s);
1610
+ } catch (p) {
1611
+ if (P(f), p !== p + 0) throw p;
1612
+ C(1, 0);
1613
+ }
1614
+ }
1615
+ function Wa(e, r, i, s) {
1616
+ var f = U();
1617
+ try {
1618
+ return M(e)(r, i, s);
1619
+ } catch (p) {
1620
+ if (P(f), p !== p + 0) throw p;
1621
+ C(1, 0);
1622
+ }
1623
+ }
1624
+ function Ga(e, r, i, s, f, p, E, S, x, R, X, le) {
1625
+ var we = U();
1626
+ try {
1627
+ return M(e)(r, i, s, f, p, E, S, x, R, X, le);
1628
+ } catch (be) {
1629
+ if (P(we), be !== be + 0) throw be;
1630
+ C(1, 0);
1631
+ }
1632
+ }
1633
+ function $a(e, r, i, s, f, p, E, S, x, R, X) {
1634
+ var le = U();
1635
+ try {
1636
+ M(e)(r, i, s, f, p, E, S, x, R, X);
1637
+ } catch (we) {
1638
+ if (P(le), we !== we + 0) throw we;
1639
+ C(1, 0);
1640
+ }
1641
+ }
1642
+ function za(e, r, i, s, f, p, E, S, x, R, X, le, we, be, Ya, Ja) {
1643
+ var qa = U();
1644
+ try {
1645
+ M(e)(r, i, s, f, p, E, S, x, R, X, le, we, be, Ya, Ja);
1646
+ } catch (Yt) {
1647
+ if (P(qa), Yt !== Yt + 0) throw Yt;
1648
+ C(1, 0);
1649
+ }
1650
+ }
1651
+ function Ha(e, r, i) {
1652
+ var s = U();
1653
+ try {
1654
+ return M(e)(r, i);
1655
+ } catch (f) {
1656
+ if (P(s), f !== f + 0) throw f;
1657
+ C(1, 0);
1658
+ }
1659
+ }
1660
+ function ja(e, r, i) {
1661
+ var s = U();
1662
+ try {
1663
+ return M(e)(r, i);
1664
+ } catch (f) {
1665
+ if (P(s), f !== f + 0) throw f;
1666
+ C(1, 0);
1667
+ }
1668
+ }
1669
+ function Va(e, r, i, s) {
1670
+ var f = U();
1671
+ try {
1672
+ M(e)(r, i, s);
1673
+ } catch (p) {
1674
+ if (P(f), p !== p + 0) throw p;
1675
+ C(1, 0);
1676
+ }
1677
+ }
1678
+ function it() {
1679
+ if (0 < Re) te = it;
1680
+ else if (o) T?.(t), he();
1681
+ else {
1682
+ for (var e = Ve; 0 < e.length; ) e.shift()(t);
1683
+ 0 < Re ? te = it : (t.calledRun = true, D || (he(), T?.(t)));
1684
+ }
1685
+ }
1686
+ return o || (Ee = await Ut(), it()), t.PTR_SIZE = 4, je ? t : new Promise((e, r) => {
1687
+ T = e, I = r;
1688
+ });
1689
+ }
1690
+ var rs;
1691
+ var os;
1692
+ var Jr = F(() => {
1693
+ "use strict";
1694
+ rs = Vr, os = globalThis.self?.name?.startsWith("em-pthread");
1695
+ os && Vr();
1696
+ });
1697
+ var Qr;
1698
+ var an;
1699
+ var as;
1700
+ var oe;
1701
+ var Zr;
1702
+ var on;
1703
+ var ss;
1704
+ var is;
1705
+ var Kr;
1706
+ var us;
1707
+ var qr;
1708
+ var eo;
1709
+ var Xr;
1710
+ var to;
1711
+ var pt = F(() => {
1712
+ "use strict";
1713
+ dt();
1714
+ Qr = typeof location > "u" ? void 0 : location.origin, an = import.meta.url > "file:" && import.meta.url < "file;", as = () => {
1715
+ if (true) {
1716
+ if (an) {
1717
+ let n = URL;
1718
+ return new URL(new n("ort.wasm.bundle.min.mjs", import.meta.url).href, Qr).href;
1719
+ }
1720
+ return import.meta.url;
1721
+ }
1722
+ }, oe = as(), Zr = () => {
1723
+ if (oe && !oe.startsWith("blob:")) return oe.substring(0, oe.lastIndexOf("/") + 1);
1724
+ }, on = (n, t) => {
1725
+ try {
1726
+ let a = t ?? oe;
1727
+ return (a ? new URL(n, a) : new URL(n)).origin === Qr;
1728
+ } catch {
1729
+ return false;
1730
+ }
1731
+ }, ss = (n, t) => {
1732
+ let a = t ?? oe;
1733
+ try {
1734
+ return (a ? new URL(n, a) : new URL(n)).href;
1735
+ } catch {
1736
+ return;
1737
+ }
1738
+ }, is = (n, t) => `${t ?? "./"}${n}`, Kr = async (n) => {
1739
+ let a = await (await fetch(n, { credentials: "same-origin" })).blob();
1740
+ return URL.createObjectURL(a);
1741
+ }, us = async (n) => (await import(
1742
+ /*webpackIgnore:true*/
1743
+ /*@vite-ignore*/
1744
+ n
1745
+ )).default, qr = (jr(), Xt(Hr)).default, eo = async () => {
1746
+ if (!oe) throw new Error("Failed to load proxy worker: cannot determine the script source URL.");
1747
+ if (on(oe)) return [void 0, qr()];
1748
+ let n = await Kr(oe);
1749
+ return [n, qr(n)];
1750
+ }, Xr = (Jr(), Xt(Yr)).default, to = async (n, t, a, u) => {
1751
+ let o = Xr && !(n || t);
1752
+ if (o) if (oe) o = on(oe) || u && !a;
1753
+ else if (u && !a) o = true;
1754
+ else throw new Error("cannot determine the script source URL.");
1755
+ if (o) return [void 0, Xr];
1756
+ {
1757
+ let d2 = "ort-wasm-simd-threaded.mjs", c = n ?? ss(d2, t), l = a && c && !on(c, t), m = l ? await Kr(c) : c ?? is(d2, t);
1758
+ return [l ? m : void 0, await us(m)];
1759
+ }
1760
+ };
1761
+ });
1762
+ var sn;
1763
+ var un;
1764
+ var St;
1765
+ var no;
1766
+ var fs;
1767
+ var cs;
1768
+ var ls;
1769
+ var mt;
1770
+ var z;
1771
+ var xe = F(() => {
1772
+ "use strict";
1773
+ pt();
1774
+ un = false, St = false, no = false, fs = () => {
1775
+ if (typeof SharedArrayBuffer > "u") return false;
1776
+ try {
1777
+ 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]));
1778
+ } catch {
1779
+ return false;
1780
+ }
1781
+ }, cs = () => {
1782
+ try {
1783
+ 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]));
1784
+ } catch {
1785
+ return false;
1786
+ }
1787
+ }, ls = () => {
1788
+ try {
1789
+ 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]));
1790
+ } catch {
1791
+ return false;
1792
+ }
1793
+ }, mt = async (n) => {
1794
+ if (un) return Promise.resolve();
1795
+ if (St) throw new Error("multiple calls to 'initializeWebAssembly()' detected.");
1796
+ if (no) throw new Error("previous call to 'initializeWebAssembly()' failed.");
1797
+ St = true;
1798
+ let t = n.initTimeout, a = n.numThreads;
1799
+ if (n.simd !== false) {
1800
+ if (n.simd === "relaxed") {
1801
+ if (!ls()) throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.");
1802
+ } else if (!cs()) throw new Error("WebAssembly SIMD is not supported in the current environment.");
1803
+ }
1804
+ let u = fs();
1805
+ 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);
1806
+ let o = n.wasmPaths, d2 = 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, d2, a > 1, !!g || !!h), T = false, I = [];
1807
+ if (t > 0 && I.push(new Promise((_) => {
1808
+ setTimeout(() => {
1809
+ T = true, _();
1810
+ }, t);
1811
+ })), I.push(new Promise((_, $) => {
1812
+ let v = { numThreads: a };
1813
+ if (g) v.wasmBinary = g, v.locateFile = (O) => O;
1814
+ else if (h || d2) v.locateFile = (O) => h ?? d2 + O;
1815
+ else if (l && l.indexOf("blob:") !== 0) v.locateFile = (O) => new URL(O, l).href;
1816
+ else if (b) {
1817
+ let O = Zr();
1818
+ O && (v.locateFile = (N) => O + N);
1819
+ }
1820
+ y(v).then((O) => {
1821
+ St = false, un = true, sn = O, _(), b && URL.revokeObjectURL(b);
1822
+ }, (O) => {
1823
+ St = false, no = true, $(O);
1824
+ });
1825
+ })), await Promise.race(I), T) throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`);
1826
+ }, z = () => {
1827
+ if (un && sn) return sn;
1828
+ throw new Error("WebAssembly is not initialized yet.");
1829
+ };
1830
+ });
1831
+ var ae;
1832
+ var Ze;
1833
+ var G;
1834
+ var vt = F(() => {
1835
+ "use strict";
1836
+ xe();
1837
+ ae = (n, t) => {
1838
+ let a = z(), u = a.lengthBytesUTF8(n) + 1, o = a._malloc(u);
1839
+ return a.stringToUTF8(n, o, u), t.push(o), o;
1840
+ }, Ze = (n, t, a, u) => {
1841
+ if (typeof n == "object" && n !== null) {
1842
+ if (a.has(n)) throw new Error("Circular reference in options");
1843
+ a.add(n);
1844
+ }
1845
+ Object.entries(n).forEach(([o, d2]) => {
1846
+ let c = t ? t + o : o;
1847
+ if (typeof d2 == "object") Ze(d2, c + ".", a, u);
1848
+ else if (typeof d2 == "string" || typeof d2 == "number") u(c, d2.toString());
1849
+ else if (typeof d2 == "boolean") u(c, d2 ? "1" : "0");
1850
+ else throw new Error(`Can't handle extra config type: ${typeof d2}`);
1851
+ });
1852
+ }, G = (n) => {
1853
+ let t = z(), a = t.stackSave();
1854
+ try {
1855
+ let u = t.PTR_SIZE, o = t.stackAlloc(2 * u);
1856
+ t._OrtGetLastError(o, o + u);
1857
+ let d2 = Number(t.getValue(o, u === 4 ? "i32" : "i64")), c = t.getValue(o + u, "*"), l = c ? t.UTF8ToString(c) : "";
1858
+ throw new Error(`${n} ERROR_CODE: ${d2}, ERROR_MESSAGE: ${l}`);
1859
+ } finally {
1860
+ t.stackRestore(a);
1861
+ }
1862
+ };
1863
+ });
1864
+ var ro;
1865
+ var oo = F(() => {
1866
+ "use strict";
1867
+ xe();
1868
+ vt();
1869
+ ro = (n) => {
1870
+ let t = z(), a = 0, u = [], o = n || {};
1871
+ try {
1872
+ if (n?.logSeverityLevel === void 0) o.logSeverityLevel = 2;
1873
+ 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}`);
1874
+ if (n?.logVerbosityLevel === void 0) o.logVerbosityLevel = 0;
1875
+ else if (typeof n.logVerbosityLevel != "number" || !Number.isInteger(n.logVerbosityLevel)) throw new Error(`log verbosity level is not valid: ${n.logVerbosityLevel}`);
1876
+ n?.terminate === void 0 && (o.terminate = false);
1877
+ let d2 = 0;
1878
+ return n?.tag !== void 0 && (d2 = ae(n.tag, u)), a = t._OrtCreateRunOptions(o.logSeverityLevel, o.logVerbosityLevel, !!o.terminate, d2), a === 0 && G("Can't create run options."), n?.extra !== void 0 && Ze(n.extra, "", /* @__PURE__ */ new WeakSet(), (c, l) => {
1879
+ let m = ae(c, u), h = ae(l, u);
1880
+ t._OrtAddRunConfigEntry(a, m, h) !== 0 && G(`Can't set a run config entry: ${c} - ${l}.`);
1881
+ }), [a, u];
1882
+ } catch (d2) {
1883
+ throw a !== 0 && t._OrtReleaseRunOptions(a), u.forEach((c) => t._free(c)), d2;
1884
+ }
1885
+ };
1886
+ });
1887
+ var ds;
1888
+ var ps;
1889
+ var ms;
1890
+ var ke;
1891
+ var hs;
1892
+ var ao;
1893
+ var so = F(() => {
1894
+ "use strict";
1895
+ xe();
1896
+ vt();
1897
+ ds = (n) => {
1898
+ switch (n) {
1899
+ case "disabled":
1900
+ return 0;
1901
+ case "basic":
1902
+ return 1;
1903
+ case "extended":
1904
+ return 2;
1905
+ case "layout":
1906
+ return 3;
1907
+ case "all":
1908
+ return 99;
1909
+ default:
1910
+ throw new Error(`unsupported graph optimization level: ${n}`);
1911
+ }
1912
+ }, ps = (n) => {
1913
+ switch (n) {
1914
+ case "sequential":
1915
+ return 0;
1916
+ case "parallel":
1917
+ return 1;
1918
+ default:
1919
+ throw new Error(`unsupported execution mode: ${n}`);
1920
+ }
1921
+ }, ms = (n) => {
1922
+ n.extra || (n.extra = {}), n.extra.session || (n.extra.session = {});
1923
+ let t = n.extra.session;
1924
+ 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 = false);
1925
+ }, ke = (n, t, a, u) => {
1926
+ let o = ae(t, u), d2 = ae(a, u);
1927
+ z()._OrtAddSessionConfigEntry(n, o, d2) !== 0 && G(`Can't set a session config entry: ${t} - ${a}.`);
1928
+ }, hs = async (n, t, a) => {
1929
+ let u = t.executionProviders;
1930
+ for (let o of u) {
1931
+ let d2 = typeof o == "string" ? o : o.name, c = [];
1932
+ switch (d2) {
1933
+ case "webnn":
1934
+ if (d2 = "WEBNN", ke(n, "session.disable_quant_qdq", "1", a), ke(n, "session.disable_qdq_constant_folding", "1", a), typeof o != "string") {
1935
+ let y = o?.deviceType;
1936
+ y && ke(n, "deviceType", y, a);
1937
+ }
1938
+ break;
1939
+ case "webgpu":
1940
+ if (d2 = "JS", typeof o != "string") {
1941
+ let b = o;
1942
+ if (b?.preferredLayout) {
1943
+ if (b.preferredLayout !== "NCHW" && b.preferredLayout !== "NHWC") throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${b.preferredLayout}`);
1944
+ ke(n, "preferredLayout", b.preferredLayout, a);
1945
+ }
1946
+ }
1947
+ break;
1948
+ case "wasm":
1949
+ case "cpu":
1950
+ continue;
1951
+ default:
1952
+ throw new Error(`not supported execution provider: ${d2}`);
1953
+ }
1954
+ let l = ae(d2, a), m = c.length, h = 0, g = 0;
1955
+ if (m > 0) {
1956
+ h = z()._malloc(m * z().PTR_SIZE), a.push(h), g = z()._malloc(m * z().PTR_SIZE), a.push(g);
1957
+ for (let b = 0; b < m; b++) z().setValue(h + b * z().PTR_SIZE, c[b][0], "*"), z().setValue(g + b * z().PTR_SIZE, c[b][1], "*");
1958
+ }
1959
+ await z()._OrtAppendExecutionProvider(n, l, h, g, m) !== 0 && G(`Can't append execution provider: ${d2}.`);
1960
+ }
1961
+ }, ao = async (n) => {
1962
+ let t = z(), a = 0, u = [], o = n || {};
1963
+ ms(o);
1964
+ try {
1965
+ let d2 = ds(o.graphOptimizationLevel ?? "all"), c = ps(o.executionMode ?? "sequential"), l = typeof o.logId == "string" ? ae(o.logId, u) : 0, m = o.logSeverityLevel ?? 2;
1966
+ if (!Number.isInteger(m) || m < 0 || m > 4) throw new Error(`log severity level is not valid: ${m}`);
1967
+ let h = o.logVerbosityLevel ?? 0;
1968
+ if (!Number.isInteger(h) || h < 0 || h > 4) throw new Error(`log verbosity level is not valid: ${h}`);
1969
+ let g = typeof o.optimizedModelFilePath == "string" ? ae(o.optimizedModelFilePath, u) : 0;
1970
+ if (a = t._OrtCreateSessionOptions(d2, !!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) {
1971
+ if (typeof o.enableGraphCapture != "boolean") throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);
1972
+ ke(a, "enableGraphCapture", o.enableGraphCapture.toString(), u);
1973
+ }
1974
+ if (o.freeDimensionOverrides) for (let [b, y] of Object.entries(o.freeDimensionOverrides)) {
1975
+ if (typeof b != "string") throw new Error(`free dimension override name must be a string: ${b}`);
1976
+ if (typeof y != "number" || !Number.isInteger(y) || y < 0) throw new Error(`free dimension override value must be a non-negative integer: ${y}`);
1977
+ let T = ae(b, u);
1978
+ t._OrtAddFreeDimensionOverride(a, T, y) !== 0 && G(`Can't set a free dimension override: ${b} - ${y}.`);
1979
+ }
1980
+ return o.extra !== void 0 && Ze(o.extra, "", /* @__PURE__ */ new WeakSet(), (b, y) => {
1981
+ ke(a, b, y, u);
1982
+ }), [a, u];
1983
+ } catch (d2) {
1984
+ throw a !== 0 && t._OrtReleaseSessionOptions(a) !== 0 && G("Can't release session options."), u.forEach((c) => t._free(c)), d2;
1985
+ }
1986
+ };
1987
+ });
1988
+ var We;
1989
+ var Ot;
1990
+ var Ge;
1991
+ var io;
1992
+ var uo;
1993
+ var At;
1994
+ var It;
1995
+ var fo;
1996
+ var fn = F(() => {
1997
+ "use strict";
1998
+ We = (n) => {
1999
+ switch (n) {
2000
+ case "int8":
2001
+ return 3;
2002
+ case "uint8":
2003
+ return 2;
2004
+ case "bool":
2005
+ return 9;
2006
+ case "int16":
2007
+ return 5;
2008
+ case "uint16":
2009
+ return 4;
2010
+ case "int32":
2011
+ return 6;
2012
+ case "uint32":
2013
+ return 12;
2014
+ case "float16":
2015
+ return 10;
2016
+ case "float32":
2017
+ return 1;
2018
+ case "float64":
2019
+ return 11;
2020
+ case "string":
2021
+ return 8;
2022
+ case "int64":
2023
+ return 7;
2024
+ case "uint64":
2025
+ return 13;
2026
+ case "int4":
2027
+ return 22;
2028
+ case "uint4":
2029
+ return 21;
2030
+ default:
2031
+ throw new Error(`unsupported data type: ${n}`);
2032
+ }
2033
+ }, Ot = (n) => {
2034
+ switch (n) {
2035
+ case 3:
2036
+ return "int8";
2037
+ case 2:
2038
+ return "uint8";
2039
+ case 9:
2040
+ return "bool";
2041
+ case 5:
2042
+ return "int16";
2043
+ case 4:
2044
+ return "uint16";
2045
+ case 6:
2046
+ return "int32";
2047
+ case 12:
2048
+ return "uint32";
2049
+ case 10:
2050
+ return "float16";
2051
+ case 1:
2052
+ return "float32";
2053
+ case 11:
2054
+ return "float64";
2055
+ case 8:
2056
+ return "string";
2057
+ case 7:
2058
+ return "int64";
2059
+ case 13:
2060
+ return "uint64";
2061
+ case 22:
2062
+ return "int4";
2063
+ case 21:
2064
+ return "uint4";
2065
+ default:
2066
+ throw new Error(`unsupported data type: ${n}`);
2067
+ }
2068
+ }, Ge = (n, t) => {
2069
+ let a = [-1, 4, 1, 1, 2, 2, 4, 8, -1, 1, 2, 8, 4, 8, -1, -1, -1, -1, -1, -1, -1, 0.5, 0.5][n], u = typeof t == "number" ? t : t.reduce((o, d2) => o * d2, 1);
2070
+ return a > 0 ? Math.ceil(u * a) : void 0;
2071
+ }, io = (n) => {
2072
+ switch (n) {
2073
+ case "float16":
2074
+ return typeof Float16Array < "u" ? Float16Array : Uint16Array;
2075
+ case "float32":
2076
+ return Float32Array;
2077
+ case "uint8":
2078
+ return Uint8Array;
2079
+ case "int8":
2080
+ return Int8Array;
2081
+ case "uint16":
2082
+ return Uint16Array;
2083
+ case "int16":
2084
+ return Int16Array;
2085
+ case "int32":
2086
+ return Int32Array;
2087
+ case "bool":
2088
+ return Uint8Array;
2089
+ case "float64":
2090
+ return Float64Array;
2091
+ case "uint32":
2092
+ return Uint32Array;
2093
+ case "int64":
2094
+ return BigInt64Array;
2095
+ case "uint64":
2096
+ return BigUint64Array;
2097
+ default:
2098
+ throw new Error(`unsupported type: ${n}`);
2099
+ }
2100
+ }, uo = (n) => {
2101
+ switch (n) {
2102
+ case "verbose":
2103
+ return 0;
2104
+ case "info":
2105
+ return 1;
2106
+ case "warning":
2107
+ return 2;
2108
+ case "error":
2109
+ return 3;
2110
+ case "fatal":
2111
+ return 4;
2112
+ default:
2113
+ throw new Error(`unsupported logging level: ${n}`);
2114
+ }
2115
+ }, 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) => {
2116
+ switch (n) {
2117
+ case "none":
2118
+ return 0;
2119
+ case "cpu":
2120
+ return 1;
2121
+ case "cpu-pinned":
2122
+ return 2;
2123
+ case "texture":
2124
+ return 3;
2125
+ case "gpu-buffer":
2126
+ return 4;
2127
+ case "ml-tensor":
2128
+ return 5;
2129
+ default:
2130
+ throw new Error(`unsupported data location: ${n}`);
2131
+ }
2132
+ };
2133
+ });
2134
+ var Ke;
2135
+ var cn = F(() => {
2136
+ "use strict";
2137
+ dt();
2138
+ Ke = async (n) => {
2139
+ if (typeof n == "string") if (false) try {
2140
+ let { readFile: t } = qt("node:fs/promises");
2141
+ return new Uint8Array(await t(n));
2142
+ } catch (t) {
2143
+ if (t.code === "ERR_FS_FILE_TOO_LARGE") {
2144
+ let { createReadStream: a } = qt("node:fs"), u = a(n), o = [];
2145
+ for await (let d2 of u) o.push(d2);
2146
+ return new Uint8Array(Buffer.concat(o));
2147
+ }
2148
+ throw t;
2149
+ }
2150
+ else {
2151
+ let t = await fetch(n);
2152
+ if (!t.ok) throw new Error(`failed to load external data file: ${n}`);
2153
+ let a = t.headers.get("Content-Length"), u = a ? parseInt(a, 10) : 0;
2154
+ if (u < 1073741824) return new Uint8Array(await t.arrayBuffer());
2155
+ {
2156
+ if (!t.body) throw new Error(`failed to load external data file: ${n}, no response body.`);
2157
+ let o = t.body.getReader(), d2;
2158
+ try {
2159
+ d2 = new ArrayBuffer(u);
2160
+ } catch (l) {
2161
+ if (l instanceof RangeError) {
2162
+ let m = Math.ceil(u / 65536);
2163
+ d2 = new WebAssembly.Memory({ initial: m, maximum: m }).buffer;
2164
+ } else throw l;
2165
+ }
2166
+ let c = 0;
2167
+ for (; ; ) {
2168
+ let { done: l, value: m } = await o.read();
2169
+ if (l) break;
2170
+ let h = m.byteLength;
2171
+ new Uint8Array(d2, c, h).set(m), c += h;
2172
+ }
2173
+ return new Uint8Array(d2, 0, u);
2174
+ }
2175
+ }
2176
+ else return n instanceof Blob ? new Uint8Array(await n.arrayBuffer()) : n instanceof Uint8Array ? n : new Uint8Array(n);
2177
+ };
2178
+ });
2179
+ var ws;
2180
+ var ht;
2181
+ var wt;
2182
+ var $e;
2183
+ var bs;
2184
+ var co;
2185
+ var Qe;
2186
+ var bt;
2187
+ var yt;
2188
+ var lo;
2189
+ var gt;
2190
+ var Et;
2191
+ var Tt;
2192
+ var rn = F(() => {
2193
+ "use strict";
2194
+ Te();
2195
+ oo();
2196
+ so();
2197
+ fn();
2198
+ xe();
2199
+ vt();
2200
+ cn();
2201
+ ws = (n, t) => {
2202
+ z()._OrtInit(n, t) !== 0 && G("Can't initialize onnxruntime.");
2203
+ }, ht = async (n) => {
2204
+ ws(n.wasm.numThreads, uo(n.logLevel));
2205
+ }, wt = async (n, t) => {
2206
+ z().asyncInit?.();
2207
+ let a = n.webgpu.adapter;
2208
+ if (t === "webgpu") {
2209
+ if (typeof navigator > "u" || !navigator.gpu) throw new Error("WebGPU is not supported in current environment");
2210
+ if (a) {
2211
+ 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.");
2212
+ } else {
2213
+ let u = n.webgpu.powerPreference;
2214
+ if (u !== void 0 && u !== "low-power" && u !== "high-performance") throw new Error(`Invalid powerPreference setting: "${u}"`);
2215
+ let o = n.webgpu.forceFallbackAdapter;
2216
+ if (o !== void 0 && typeof o != "boolean") throw new Error(`Invalid forceFallbackAdapter setting: "${o}"`);
2217
+ 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.');
2218
+ }
2219
+ }
2220
+ if (t === "webnn" && (typeof navigator > "u" || !navigator.ml)) throw new Error("WebNN is not supported in current environment");
2221
+ }, $e = /* @__PURE__ */ new Map(), bs = (n) => {
2222
+ let t = z(), a = t.stackSave();
2223
+ try {
2224
+ let u = t.PTR_SIZE, o = t.stackAlloc(2 * u);
2225
+ t._OrtGetInputOutputCount(n, o, o + u) !== 0 && G("Can't get session input/output count.");
2226
+ let c = u === 4 ? "i32" : "i64";
2227
+ return [Number(t.getValue(o, c)), Number(t.getValue(o + u, c))];
2228
+ } finally {
2229
+ t.stackRestore(a);
2230
+ }
2231
+ }, co = (n, t) => {
2232
+ let a = z(), u = a.stackSave(), o = 0;
2233
+ try {
2234
+ let d2 = a.PTR_SIZE, c = a.stackAlloc(2 * d2);
2235
+ a._OrtGetInputOutputMetadata(n, t, c, c + d2) !== 0 && G("Can't get session input/output metadata.");
2236
+ let m = Number(a.getValue(c, "*"));
2237
+ o = Number(a.getValue(c + d2, "*"));
2238
+ let h = a.HEAP32[o / 4];
2239
+ if (h === 0) return [m, 0];
2240
+ let g = a.HEAPU32[o / 4 + 1], b = [];
2241
+ for (let y = 0; y < g; y++) {
2242
+ let T = Number(a.getValue(o + 8 + y * d2, "*"));
2243
+ b.push(T !== 0 ? a.UTF8ToString(T) : Number(a.getValue(o + 8 + (y + g) * d2, "*")));
2244
+ }
2245
+ return [m, h, b];
2246
+ } finally {
2247
+ a.stackRestore(u), o !== 0 && a._OrtFree(o);
2248
+ }
2249
+ }, Qe = (n) => {
2250
+ let t = z(), a = t._malloc(n.byteLength);
2251
+ if (a === 0) throw new Error(`Can't create a session. failed to allocate a buffer of size ${n.byteLength}.`);
2252
+ return t.HEAPU8.set(n, a), [a, n.byteLength];
2253
+ }, bt = async (n, t) => {
2254
+ let a, u, o = z();
2255
+ Array.isArray(n) ? [a, u] = n : n.buffer === o.HEAPU8.buffer ? [a, u] = [n.byteOffset, n.byteLength] : [a, u] = Qe(n);
2256
+ let d2 = 0, c = 0, l = 0, m = [], h = [], g = [];
2257
+ try {
2258
+ if ([c, m] = await ao(t), t?.externalData && o.mountExternalData) {
2259
+ let D = [];
2260
+ for (let k of t.externalData) {
2261
+ let w = typeof k == "string" ? k : k.path, Z = typeof k == "string" ? k : k.data;
2262
+ D.push(Ke(Z).then((H) => {
2263
+ o.mountExternalData(w, H);
2264
+ }));
2265
+ }
2266
+ await Promise.all(D);
2267
+ }
2268
+ for (let D of t?.executionProviders ?? []) if ((typeof D == "string" ? D : D.name) === "webnn") {
2269
+ if (o.shouldTransferToMLTensor = false, typeof D != "string") {
2270
+ let w = D, Z = w?.context, H = w?.gpuDevice, ne = w?.deviceType, pe = w?.powerPreference;
2271
+ Z ? o.currentContext = Z : H ? o.currentContext = await o.webnnCreateMLContext(H) : o.currentContext = await o.webnnCreateMLContext({ deviceType: ne, powerPreference: pe });
2272
+ } else o.currentContext = await o.webnnCreateMLContext();
2273
+ break;
2274
+ }
2275
+ d2 = await o._OrtCreateSession(a, u, c), o.webgpuOnCreateSession?.(d2), d2 === 0 && G("Can't create a session."), o.jsepOnCreateSession?.(), o.currentContext && (o.webnnRegisterMLContext(d2, o.currentContext), o.currentContext = void 0, o.shouldTransferToMLTensor = true);
2276
+ let [b, y] = bs(d2), T = !!t?.enableGraphCapture, I = [], _ = [], $ = [], v = [], O = [];
2277
+ for (let D = 0; D < b; D++) {
2278
+ let [k, w, Z] = co(d2, D);
2279
+ k === 0 && G("Can't get an input name."), h.push(k);
2280
+ let H = o.UTF8ToString(k);
2281
+ I.push(H), $.push(w === 0 ? { name: H, isTensor: false } : { name: H, isTensor: true, type: Ot(w), shape: Z });
2282
+ }
2283
+ for (let D = 0; D < y; D++) {
2284
+ let [k, w, Z] = co(d2, D + b);
2285
+ k === 0 && G("Can't get an output name."), g.push(k);
2286
+ let H = o.UTF8ToString(k);
2287
+ _.push(H), v.push(w === 0 ? { name: H, isTensor: false } : { name: H, isTensor: true, type: Ot(w), shape: Z });
2288
+ }
2289
+ return $e.set(d2, [d2, h, g, null, T, false]), [d2, I, _, $, v];
2290
+ } catch (b) {
2291
+ 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."), d2 !== 0 && o._OrtReleaseSession(d2) !== 0 && G("Can't release session."), b;
2292
+ } finally {
2293
+ o._free(a), c !== 0 && o._OrtReleaseSessionOptions(c) !== 0 && G("Can't release session options."), m.forEach((b) => o._free(b)), o.unmountExternalData?.();
2294
+ }
2295
+ }, yt = (n) => {
2296
+ let t = z(), a = $e.get(n);
2297
+ if (!a) throw new Error(`cannot release session. invalid session id: ${n}`);
2298
+ let [u, o, d2, c, l] = a;
2299
+ 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)), d2.forEach((m) => t._OrtFree(m)), t._OrtReleaseSession(u) !== 0 && G("Can't release session."), $e.delete(n);
2300
+ }, lo = async (n, t, a, u, o, d2, c = false) => {
2301
+ if (!n) {
2302
+ t.push(0);
2303
+ return;
2304
+ }
2305
+ let l = z(), m = l.PTR_SIZE, h = n[0], g = n[1], b = n[3], y = b, T, I;
2306
+ if (h === "string" && (b === "gpu-buffer" || b === "ml-tensor")) throw new Error("String tensor is not supported on GPU.");
2307
+ if (c && b !== "gpu-buffer") throw new Error(`External buffer must be provided for input/output index ${d2} when enableGraphCapture is true.`);
2308
+ if (b === "gpu-buffer") {
2309
+ let v = n[2].gpuBuffer;
2310
+ I = Ge(We(h), g);
2311
+ {
2312
+ let O = l.jsepRegisterBuffer;
2313
+ if (!O) throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');
2314
+ T = O(u, d2, v, I);
2315
+ }
2316
+ } else if (b === "ml-tensor") {
2317
+ let v = n[2].mlTensor;
2318
+ I = Ge(We(h), g);
2319
+ let O = l.webnnRegisterMLTensor;
2320
+ if (!O) throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');
2321
+ T = O(u, v, We(h), g);
2322
+ } else {
2323
+ let v = n[2];
2324
+ if (Array.isArray(v)) {
2325
+ I = m * v.length, T = l._malloc(I), a.push(T);
2326
+ for (let O = 0; O < v.length; O++) {
2327
+ if (typeof v[O] != "string") throw new TypeError(`tensor data at index ${O} is not a string`);
2328
+ l.setValue(T + O * m, ae(v[O], a), "*");
2329
+ }
2330
+ } else {
2331
+ let O = l.webnnIsGraphInput, N = l.webnnIsGraphOutput;
2332
+ if (h !== "string" && O && N) {
2333
+ let D = l.UTF8ToString(o);
2334
+ if (O(u, D) || N(u, D)) {
2335
+ let k = We(h);
2336
+ I = Ge(k, g), y = "ml-tensor";
2337
+ let w = l.webnnCreateTemporaryTensor, Z = l.webnnUploadTensor;
2338
+ if (!w || !Z) throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');
2339
+ let H = await w(u, k, g);
2340
+ Z(H, new Uint8Array(v.buffer, v.byteOffset, v.byteLength)), T = H;
2341
+ } else I = v.byteLength, T = l._malloc(I), a.push(T), l.HEAPU8.set(new Uint8Array(v.buffer, v.byteOffset, I), T);
2342
+ } else I = v.byteLength, T = l._malloc(I), a.push(T), l.HEAPU8.set(new Uint8Array(v.buffer, v.byteOffset, I), T);
2343
+ }
2344
+ }
2345
+ let _ = l.stackSave(), $ = l.stackAlloc(4 * g.length);
2346
+ try {
2347
+ g.forEach((O, N) => l.setValue($ + N * m, O, m === 4 ? "i32" : "i64"));
2348
+ let v = l._OrtCreateTensor(We(h), T, I, $, g.length, fo(y));
2349
+ v === 0 && G(`Can't create tensor for input/output. session=${u}, index=${d2}.`), t.push(v);
2350
+ } finally {
2351
+ l.stackRestore(_);
2352
+ }
2353
+ }, gt = async (n, t, a, u, o, d2) => {
2354
+ let c = z(), l = c.PTR_SIZE, m = $e.get(n);
2355
+ if (!m) throw new Error(`cannot run inference. invalid session id: ${n}`);
2356
+ let h = m[0], g = m[1], b = m[2], y = m[3], T = m[4], I = m[5], _ = t.length, $ = u.length, v = 0, O = [], N = [], D = [], k = [], w = [], Z = c.stackSave(), H = c.stackAlloc(_ * l), ne = c.stackAlloc(_ * l), pe = c.stackAlloc($ * l), B = c.stackAlloc($ * l);
2357
+ try {
2358
+ [v, O] = ro(d2), Pe("wasm prepareInputOutputTensor");
2359
+ for (let A = 0; A < _; A++) await lo(a[A], N, k, n, g[t[A]], t[A], T);
2360
+ for (let A = 0; A < $; A++) await lo(o[A], D, k, n, b[u[A]], _ + u[A], T);
2361
+ Ue("wasm prepareInputOutputTensor");
2362
+ for (let A = 0; A < _; A++) c.setValue(H + A * l, N[A], "*"), c.setValue(ne + A * l, g[t[A]], "*");
2363
+ for (let A = 0; A < $; A++) c.setValue(pe + A * l, D[A], "*"), c.setValue(B + A * l, b[u[A]], "*");
2364
+ c.jsepOnRunStart?.(h), c.webnnOnRunStart?.(h);
2365
+ let W;
2366
+ W = await c._OrtRun(h, ne, H, _, B, $, pe, v), W !== 0 && G("failed to call OrtRun().");
2367
+ let re = [], me = [];
2368
+ Pe("wasm ProcessOutputTensor");
2369
+ for (let A = 0; A < $; A++) {
2370
+ let K = Number(c.getValue(pe + A * l, "*"));
2371
+ if (K === D[A] || w.includes(D[A])) {
2372
+ re.push(o[A]), K !== D[A] && c._OrtReleaseTensor(K) !== 0 && G("Can't release tensor.");
2373
+ continue;
2374
+ }
2375
+ let je = c.stackSave(), ee = c.stackAlloc(4 * l), he = false, j, q = 0;
2376
+ try {
2377
+ c._OrtGetTensorData(K, ee, ee + l, ee + 2 * l, ee + 3 * l) !== 0 && G(`Can't access output tensor data on index ${A}.`);
2378
+ let Se = l === 4 ? "i32" : "i64", ve = Number(c.getValue(ee, Se));
2379
+ q = c.getValue(ee + l, "*");
2380
+ let Ve = c.getValue(ee + l * 2, "*"), Re = Number(c.getValue(ee + l * 3, Se)), te = [];
2381
+ for (let L = 0; L < Re; L++) te.push(Number(c.getValue(Ve + L * l, Se)));
2382
+ c._OrtFree(Ve) !== 0 && G("Can't free memory for tensor dims.");
2383
+ let ue = te.reduce((L, V) => L * V, 1);
2384
+ j = Ot(ve);
2385
+ let se = y?.outputPreferredLocations[u[A]];
2386
+ if (j === "string") {
2387
+ if (se === "gpu-buffer" || se === "ml-tensor") throw new Error("String tensor is not supported on GPU.");
2388
+ let L = [];
2389
+ for (let V = 0; V < ue; V++) {
2390
+ let fe = c.getValue(q + V * l, "*"), ye = c.getValue(q + (V + 1) * l, "*"), ce = V === ue - 1 ? void 0 : ye - fe;
2391
+ L.push(c.UTF8ToString(fe, ce));
2392
+ }
2393
+ re.push([j, te, L, "cpu"]);
2394
+ } else if (se === "gpu-buffer" && ue > 0) {
2395
+ let L = c.jsepGetBuffer;
2396
+ if (!L) throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');
2397
+ let V = L(q), fe = Ge(ve, ue);
2398
+ if (fe === void 0 || !At(j)) throw new Error(`Unsupported data type: ${j}`);
2399
+ he = true, re.push([j, te, { gpuBuffer: V, download: c.jsepCreateDownloader(V, fe, j), dispose: () => {
2400
+ c._OrtReleaseTensor(K) !== 0 && G("Can't release tensor.");
2401
+ } }, "gpu-buffer"]);
2402
+ } else if (se === "ml-tensor" && ue > 0) {
2403
+ let L = c.webnnEnsureTensor, V = c.webnnIsGraphInputOutputTypeSupported;
2404
+ if (!L || !V) throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');
2405
+ if (Ge(ve, ue) === void 0 || !It(j)) throw new Error(`Unsupported data type: ${j}`);
2406
+ if (!V(n, j, false)) throw new Error(`preferredLocation "ml-tensor" for ${j} output is not supported by current WebNN Context.`);
2407
+ let ye = await L(n, q, ve, te, false);
2408
+ he = true, re.push([j, te, { mlTensor: ye, download: c.webnnCreateMLTensorDownloader(q, j), dispose: () => {
2409
+ c.webnnReleaseTensorId(q), c._OrtReleaseTensor(K);
2410
+ } }, "ml-tensor"]);
2411
+ } else if (se === "ml-tensor-cpu-output" && ue > 0) {
2412
+ let L = c.webnnCreateMLTensorDownloader(q, j)(), V = re.length;
2413
+ he = true, me.push((async () => {
2414
+ let fe = [V, await L];
2415
+ return c.webnnReleaseTensorId(q), c._OrtReleaseTensor(K), fe;
2416
+ })()), re.push([j, te, [], "cpu"]);
2417
+ } else {
2418
+ let L = io(j), V = new L(ue);
2419
+ new Uint8Array(V.buffer, V.byteOffset, V.byteLength).set(c.HEAPU8.subarray(q, q + V.byteLength)), re.push([j, te, V, "cpu"]);
2420
+ }
2421
+ } finally {
2422
+ c.stackRestore(je), j === "string" && q && c._free(q), he || c._OrtReleaseTensor(K);
2423
+ }
2424
+ }
2425
+ y && !T && (c._OrtClearBoundOutputs(y.handle) !== 0 && G("Can't clear bound outputs."), $e.set(n, [h, g, b, y, T, false]));
2426
+ for (let [A, K] of await Promise.all(me)) re[A][2] = K;
2427
+ return Ue("wasm ProcessOutputTensor"), re;
2428
+ } finally {
2429
+ c.webnnOnRunEnd?.(h), c.stackRestore(Z), N.forEach((W) => c._OrtReleaseTensor(W)), D.forEach((W) => c._OrtReleaseTensor(W)), k.forEach((W) => c._free(W)), v !== 0 && c._OrtReleaseRunOptions(v), O.forEach((W) => c._free(W));
2430
+ }
2431
+ }, Et = (n) => {
2432
+ let t = z(), a = $e.get(n);
2433
+ if (!a) throw new Error("invalid session id");
2434
+ let u = a[0], o = t._OrtEndProfiling(u);
2435
+ o === 0 && G("Can't get an profile file name."), t._OrtFree(o);
2436
+ }, Tt = (n) => {
2437
+ let t = [];
2438
+ for (let a of n) {
2439
+ let u = a[2];
2440
+ !Array.isArray(u) && "buffer" in u && t.push(u.buffer);
2441
+ }
2442
+ return t;
2443
+ };
2444
+ });
2445
+ var Me;
2446
+ var ie;
2447
+ var et;
2448
+ var Lt;
2449
+ var _t;
2450
+ var Bt;
2451
+ var ln;
2452
+ var dn;
2453
+ var ze;
2454
+ var He;
2455
+ var gs;
2456
+ var po;
2457
+ var mo;
2458
+ var ho;
2459
+ var wo;
2460
+ var bo;
2461
+ var yo;
2462
+ var go;
2463
+ var pn = F(() => {
2464
+ "use strict";
2465
+ Te();
2466
+ rn();
2467
+ xe();
2468
+ pt();
2469
+ Me = () => !!Y.wasm.proxy && typeof document < "u", et = false, Lt = false, _t = false, dn = /* @__PURE__ */ new Map(), ze = (n, t) => {
2470
+ let a = dn.get(n);
2471
+ a ? a.push(t) : dn.set(n, [t]);
2472
+ }, He = () => {
2473
+ if (et || !Lt || _t || !ie) throw new Error("worker not ready");
2474
+ }, gs = (n) => {
2475
+ switch (n.data.type) {
2476
+ case "init-wasm":
2477
+ et = false, n.data.err ? (_t = true, ln[1](n.data.err)) : (Lt = true, ln[0]()), Bt && (URL.revokeObjectURL(Bt), Bt = void 0);
2478
+ break;
2479
+ case "init-ep":
2480
+ case "copy-from":
2481
+ case "create":
2482
+ case "release":
2483
+ case "run":
2484
+ case "end-profiling": {
2485
+ let t = dn.get(n.data.type);
2486
+ n.data.err ? t.shift()[1](n.data.err) : t.shift()[0](n.data.out);
2487
+ break;
2488
+ }
2489
+ default:
2490
+ }
2491
+ }, po = async () => {
2492
+ if (!Lt) {
2493
+ if (et) throw new Error("multiple calls to 'initWasm()' detected.");
2494
+ if (_t) throw new Error("previous call to 'initWasm()' failed.");
2495
+ if (et = true, Me()) return new Promise((n, t) => {
2496
+ ie?.terminate(), eo().then(([a, u]) => {
2497
+ try {
2498
+ ie = u, ie.onerror = (d2) => t(d2), ie.onmessage = gs, ln = [n, t];
2499
+ let o = { type: "init-wasm", in: Y };
2500
+ !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;
2501
+ } catch (o) {
2502
+ t(o);
2503
+ }
2504
+ }, t);
2505
+ });
2506
+ try {
2507
+ await mt(Y.wasm), await ht(Y), Lt = true;
2508
+ } catch (n) {
2509
+ throw _t = true, n;
2510
+ } finally {
2511
+ et = false;
2512
+ }
2513
+ }
2514
+ }, mo = async (n) => {
2515
+ if (Me()) return He(), new Promise((t, a) => {
2516
+ ze("init-ep", [t, a]);
2517
+ let u = { type: "init-ep", in: { epName: n, env: Y } };
2518
+ ie.postMessage(u);
2519
+ });
2520
+ await wt(Y, n);
2521
+ }, ho = async (n) => Me() ? (He(), new Promise((t, a) => {
2522
+ ze("copy-from", [t, a]);
2523
+ let u = { type: "copy-from", in: { buffer: n } };
2524
+ ie.postMessage(u, [n.buffer]);
2525
+ })) : Qe(n), wo = async (n, t) => {
2526
+ if (Me()) {
2527
+ if (t?.preferredOutputLocation) throw new Error('session option "preferredOutputLocation" is not supported for proxy.');
2528
+ return He(), new Promise((a, u) => {
2529
+ ze("create", [a, u]);
2530
+ let o = { type: "create", in: { model: n, options: { ...t } } }, d2 = [];
2531
+ n instanceof Uint8Array && d2.push(n.buffer), ie.postMessage(o, d2);
2532
+ });
2533
+ } else return bt(n, t);
2534
+ }, bo = async (n) => {
2535
+ if (Me()) return He(), new Promise((t, a) => {
2536
+ ze("release", [t, a]);
2537
+ let u = { type: "release", in: n };
2538
+ ie.postMessage(u);
2539
+ });
2540
+ yt(n);
2541
+ }, yo = async (n, t, a, u, o, d2) => {
2542
+ if (Me()) {
2543
+ if (a.some((c) => c[3] !== "cpu")) throw new Error("input tensor on GPU is not supported for proxy.");
2544
+ if (o.some((c) => c)) throw new Error("pre-allocated output tensor is not supported for proxy.");
2545
+ return He(), new Promise((c, l) => {
2546
+ ze("run", [c, l]);
2547
+ let m = a, h = { type: "run", in: { sessionId: n, inputIndices: t, inputs: m, outputIndices: u, options: d2 } };
2548
+ ie.postMessage(h, Tt(m));
2549
+ });
2550
+ } else return gt(n, t, a, u, o, d2);
2551
+ }, go = async (n) => {
2552
+ if (Me()) return He(), new Promise((t, a) => {
2553
+ ze("end-profiling", [t, a]);
2554
+ let u = { type: "end-profiling", in: n };
2555
+ ie.postMessage(u);
2556
+ });
2557
+ Et(n);
2558
+ };
2559
+ });
2560
+ var Eo;
2561
+ var Es;
2562
+ var Dt;
2563
+ var To = F(() => {
2564
+ "use strict";
2565
+ Te();
2566
+ pn();
2567
+ fn();
2568
+ dt();
2569
+ cn();
2570
+ Eo = (n, t) => {
2571
+ switch (n.location) {
2572
+ case "cpu":
2573
+ return [n.type, n.dims, n.data, "cpu"];
2574
+ case "gpu-buffer":
2575
+ return [n.type, n.dims, { gpuBuffer: n.gpuBuffer }, "gpu-buffer"];
2576
+ case "ml-tensor":
2577
+ return [n.type, n.dims, { mlTensor: n.mlTensor }, "ml-tensor"];
2578
+ default:
2579
+ throw new Error(`invalid data location: ${n.location} for ${t()}`);
2580
+ }
2581
+ }, Es = (n) => {
2582
+ switch (n[3]) {
2583
+ case "cpu":
2584
+ return new de(n[0], n[2], n[1]);
2585
+ case "gpu-buffer": {
2586
+ let t = n[0];
2587
+ if (!At(t)) throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);
2588
+ let { gpuBuffer: a, download: u, dispose: o } = n[2];
2589
+ return de.fromGpuBuffer(a, { dataType: t, dims: n[1], download: u, dispose: o });
2590
+ }
2591
+ case "ml-tensor": {
2592
+ let t = n[0];
2593
+ if (!It(t)) throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);
2594
+ let { mlTensor: a, download: u, dispose: o } = n[2];
2595
+ return de.fromMLTensor(a, { dataType: t, dims: n[1], download: u, dispose: o });
2596
+ }
2597
+ default:
2598
+ throw new Error(`invalid data location: ${n[3]}`);
2599
+ }
2600
+ }, Dt = class {
2601
+ async fetchModelAndCopyToWasmMemory(t) {
2602
+ return ho(await Ke(t));
2603
+ }
2604
+ async loadModel(t, a) {
2605
+ _e();
2606
+ let u;
2607
+ typeof t == "string" ? u = await this.fetchModelAndCopyToWasmMemory(t) : u = t, [this.sessionId, this.inputNames, this.outputNames, this.inputMetadata, this.outputMetadata] = await wo(u, a), De();
2608
+ }
2609
+ async dispose() {
2610
+ return bo(this.sessionId);
2611
+ }
2612
+ async run(t, a, u) {
2613
+ _e();
2614
+ let o = [], d2 = [];
2615
+ Object.entries(t).forEach((y) => {
2616
+ let T = y[0], I = y[1], _ = this.inputNames.indexOf(T);
2617
+ if (_ === -1) throw new Error(`invalid input '${T}'`);
2618
+ o.push(I), d2.push(_);
2619
+ });
2620
+ let c = [], l = [];
2621
+ Object.entries(a).forEach((y) => {
2622
+ let T = y[0], I = y[1], _ = this.outputNames.indexOf(T);
2623
+ if (_ === -1) throw new Error(`invalid output '${T}'`);
2624
+ c.push(I), l.push(_);
2625
+ });
2626
+ let m = o.map((y, T) => Eo(y, () => `input "${this.inputNames[d2[T]]}"`)), h = c.map((y, T) => y ? Eo(y, () => `output "${this.outputNames[l[T]]}"`) : null), g = await yo(this.sessionId, d2, m, l, h, u), b = {};
2627
+ for (let y = 0; y < g.length; y++) b[this.outputNames[l[y]]] = c[y] ?? Es(g[y]);
2628
+ return De(), b;
2629
+ }
2630
+ startProfiling() {
2631
+ }
2632
+ endProfiling() {
2633
+ go(this.sessionId);
2634
+ }
2635
+ };
2636
+ });
2637
+ var vo = {};
2638
+ ut(vo, { OnnxruntimeWebAssemblyBackend: () => Pt, initializeFlags: () => So, wasmBackend: () => Ts });
2639
+ var So;
2640
+ var Pt;
2641
+ var Ts;
2642
+ var Oo = F(() => {
2643
+ "use strict";
2644
+ Te();
2645
+ pn();
2646
+ To();
2647
+ So = () => {
2648
+ (typeof Y.wasm.initTimeout != "number" || Y.wasm.initTimeout < 0) && (Y.wasm.initTimeout = 0);
2649
+ let n = Y.wasm.simd;
2650
+ 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 = false), typeof Y.wasm.proxy != "boolean" && (Y.wasm.proxy = false), typeof Y.wasm.trace != "boolean" && (Y.wasm.trace = false), typeof Y.wasm.numThreads != "number" || !Number.isInteger(Y.wasm.numThreads) || Y.wasm.numThreads <= 0) if (typeof self < "u" && !self.crossOriginIsolated) Y.wasm.numThreads = 1;
2651
+ else {
2652
+ let t = typeof navigator > "u" ? qt("node:os").cpus().length : navigator.hardwareConcurrency;
2653
+ Y.wasm.numThreads = Math.min(4, Math.ceil((t || 1) / 2));
2654
+ }
2655
+ }, Pt = class {
2656
+ async init(t) {
2657
+ So(), await po(), await mo(t);
2658
+ }
2659
+ async createInferenceSessionHandler(t, a) {
2660
+ let u = new Dt();
2661
+ return await u.loadModel(t, a), u;
2662
+ }
2663
+ }, Ts = new Pt();
2664
+ });
2665
+ Te();
2666
+ Te();
2667
+ Te();
2668
+ var Gr = "1.29.0";
2669
+ var au = nn;
2670
+ {
2671
+ let n = (Oo(), Xt(vo)).wasmBackend;
2672
+ qe("cpu", n, 10), qe("wasm", n, 10);
2673
+ }
2674
+ Object.defineProperty(Y.versions, "web", { value: Gr, enumerable: true });
2675
+
2676
+ // src/memory/embedder/engine.ts
2677
+ import { createHash } from "node:crypto";
2678
+ var HashMismatch = class extends Error {
2679
+ };
2680
+ function verifyBuffer(bytes, sha256, size) {
2681
+ if (bytes.length !== size || createHash("sha256").update(bytes).digest("hex") !== sha256) throw new HashMismatch("embedder file mismatch");
2682
+ }
2683
+ function pool(hidden, tokens, dims, mode) {
2684
+ const v = new Float32Array(dims);
2685
+ if (mode === "cls") {
2686
+ v.set(hidden.subarray(0, dims));
2687
+ return v;
2688
+ }
2689
+ for (let t = 0; t < tokens; t++) for (let d2 = 0; d2 < dims; d2++) v[d2] += hidden[t * dims + d2];
2690
+ for (let d2 = 0; d2 < dims; d2++) v[d2] /= tokens;
2691
+ return v;
2692
+ }
2693
+ function l2normalize(v) {
2694
+ let s = 0;
2695
+ for (const x of v) s += x * x;
2696
+ s = Math.sqrt(s);
2697
+ if (s > 0) for (let d2 = 0; d2 < v.length; d2++) v[d2] /= s;
2698
+ return v;
2699
+ }
2700
+ async function loadVerified(o) {
2701
+ const wasm = o.read(o.wasm.path);
2702
+ verifyBuffer(wasm, o.wasm.sha256, o.wasm.size);
2703
+ const vocab = o.read(o.vocab.path);
2704
+ verifyBuffer(vocab, o.vocab.sha256, o.vocab.size);
2705
+ const model = o.read(o.model.path);
2706
+ verifyBuffer(model, o.model.sha256, o.model.size);
2707
+ return { session: await o.createSession(model, wasm), vocabText: new TextDecoder().decode(vocab) };
2708
+ }
2709
+
2710
+ // src/memory/embedder/tokenizer.ts
2711
+ var ADDED_TOKENS = ["[PAD]", "[UNK]", "[CLS]", "[SEP]", "[MASK]"];
2712
+ var isControl = (ch) => {
2713
+ if (ch === " " || ch === "\n" || ch === "\r") return false;
2714
+ return /[\p{Cc}\p{Cf}\p{Co}\p{Cs}]/u.test(ch);
2715
+ };
2716
+ var isWhitespace = (ch) => new RegExp("\\p{White_Space}", "u").test(ch);
2717
+ var isPunct = (ch) => {
2718
+ const c = ch.codePointAt(0);
2719
+ if (c >= 33 && c <= 47 || c >= 58 && c <= 64 || c >= 91 && c <= 96 || c >= 123 && c <= 126) return true;
2720
+ return new RegExp("\\p{P}", "u").test(ch);
2721
+ };
2722
+ var isCjk = (c) => c >= 19968 && c <= 40959 || c >= 13312 && c <= 19903 || c >= 131072 && c <= 173791 || c >= 173824 && c <= 177983 || c >= 177984 && c <= 178207 || c >= 178464 && c <= 183983 || c >= 63744 && c <= 64255 || c >= 194560 && c <= 195103;
2723
+ var lowerEachCodePoint = (s) => {
2724
+ let out = "";
2725
+ for (const ch of s) out += ch.toLowerCase();
2726
+ return out;
2727
+ };
2728
+ var WordPieceTokenizer = class _WordPieceTokenizer {
2729
+ constructor(vocab, o) {
2730
+ this.vocab = vocab;
2731
+ this.o = o;
2732
+ const added = /* @__PURE__ */ new Map();
2733
+ for (const tok of ADDED_TOKENS) {
2734
+ const id = vocab.get(tok);
2735
+ if (id !== void 0) added.set(tok, id);
2736
+ }
2737
+ this.added = added;
2738
+ }
2739
+ added;
2740
+ static fromVocab(vocabText, opts) {
2741
+ const m = /* @__PURE__ */ new Map();
2742
+ vocabText.split("\n").forEach((line, i) => {
2743
+ const tok = line.replace(/\r$/, "");
2744
+ if (tok.length > 0 && !m.has(tok)) m.set(tok, i);
2745
+ });
2746
+ if (!m.has(opts.unkToken)) throw new Error("vocabulary has no unknown token");
2747
+ return new _WordPieceTokenizer(m, opts);
2748
+ }
2749
+ /** Normalization and pre-tokenization of text that holds no literal special token. */
2750
+ basicTokenize(text) {
2751
+ let clean = "";
2752
+ for (const ch of text) {
2753
+ const c = ch.codePointAt(0);
2754
+ if (c === 0 || c === 65533 || isControl(ch)) continue;
2755
+ clean += isWhitespace(ch) ? " " : isCjk(c) ? ` ${ch} ` : ch;
2756
+ }
2757
+ if (this.o.stripAccents) clean = clean.normalize("NFD").replace(new RegExp("\\p{Mn}", "gu"), "");
2758
+ if (this.o.lowercase) clean = lowerEachCodePoint(clean);
2759
+ const out = [];
2760
+ for (const word of clean.split(new RegExp("\\p{White_Space}+", "u"))) {
2761
+ let cur = "";
2762
+ for (const ch of word) {
2763
+ if (isPunct(ch)) {
2764
+ if (cur) out.push(cur);
2765
+ out.push(ch);
2766
+ cur = "";
2767
+ } else cur += ch;
2768
+ }
2769
+ if (cur) out.push(cur);
2770
+ }
2771
+ return out;
2772
+ }
2773
+ wordPiece(word) {
2774
+ const unk = this.vocab.get(this.o.unkToken);
2775
+ const chars = [...word];
2776
+ if (chars.length > this.o.maxInputCharsPerWord) return [unk];
2777
+ const ids = [];
2778
+ let start = 0;
2779
+ while (start < chars.length) {
2780
+ let end = chars.length;
2781
+ let found;
2782
+ while (start < end) {
2783
+ const sub = (start > 0 ? "##" : "") + chars.slice(start, end).join("");
2784
+ const id = this.vocab.get(sub);
2785
+ if (id !== void 0) {
2786
+ found = id;
2787
+ break;
2788
+ }
2789
+ end--;
2790
+ }
2791
+ if (found === void 0) return [unk];
2792
+ ids.push(found);
2793
+ start = end;
2794
+ }
2795
+ return ids;
2796
+ }
2797
+ /** Splits out literal special tokens (exact case, leftmost first), as the reference does before normalizing. */
2798
+ segments(text) {
2799
+ const out = [];
2800
+ let rest = text;
2801
+ for (; ; ) {
2802
+ let at = -1, tok = "";
2803
+ for (const t of this.added.keys()) {
2804
+ const i = rest.indexOf(t);
2805
+ if (i >= 0 && (at < 0 || i < at)) {
2806
+ at = i;
2807
+ tok = t;
2808
+ }
2809
+ }
2810
+ if (at < 0) {
2811
+ if (rest) out.push(rest);
2812
+ return out;
2813
+ }
2814
+ if (at > 0) out.push(rest.slice(0, at));
2815
+ out.push(this.added.get(tok));
2816
+ rest = rest.slice(at + tok.length);
2817
+ }
2818
+ }
2819
+ encode(text, maxTokens) {
2820
+ const unk = this.vocab.get(this.o.unkToken);
2821
+ let ids = this.segments(text).flatMap((s) => typeof s === "number" ? [s] : this.basicTokenize(s).flatMap((w) => this.wordPiece(w)));
2822
+ if (this.o.unknownDropped) ids = ids.filter((id) => id !== unk);
2823
+ if (this.o.addSpecialTokens) {
2824
+ const cls = this.vocab.get("[CLS]"), sep = this.vocab.get("[SEP]");
2825
+ if (cls === void 0 || sep === void 0) throw new Error("vocabulary has no [CLS]/[SEP]");
2826
+ return [cls, ...ids.slice(0, Math.max(0, maxTokens - 2)), sep];
2827
+ }
2828
+ return ids.slice(0, maxTokens);
2829
+ }
2830
+ };
2831
+
2832
+ // src/memory/embedder/worker-body.ts
2833
+ async function runWorker(o) {
2834
+ const { ort, port, data: d2 } = o;
2835
+ let session;
2836
+ let tok;
2837
+ try {
2838
+ const r = await loadVerified({
2839
+ read: o.read,
2840
+ model: d2.model,
2841
+ vocab: d2.vocab,
2842
+ wasm: d2.wasm,
2843
+ createSession: async (modelBytes, wasmBytes) => {
2844
+ ort.env.wasm.wasmBinary = wasmBytes;
2845
+ ort.env.wasm.numThreads = 1;
2846
+ ort.env.wasm.proxy = false;
2847
+ return ort.InferenceSession.create(modelBytes);
2848
+ }
2849
+ });
2850
+ session = r.session;
2851
+ tok = WordPieceTokenizer.fromVocab(r.vocabText, d2.tokenizer);
2852
+ } catch (e) {
2853
+ port.postMessage({ fatal: e instanceof HashMismatch ? "verify_failed" : "load_failed" });
2854
+ return "fatal";
2855
+ }
2856
+ let chain = Promise.resolve();
2857
+ const handle = async (m) => {
2858
+ try {
2859
+ const ids = tok.encode(m.text, d2.maxTokens);
2860
+ const n = ids.length;
2861
+ const feeds = {
2862
+ input_ids: new ort.Tensor("int64", BigInt64Array.from(ids, BigInt), [1, n]),
2863
+ attention_mask: new ort.Tensor("int64", new BigInt64Array(n).fill(1n), [1, n])
2864
+ };
2865
+ if (d2.inputs.includes("token_type_ids")) feeds.token_type_ids = new ort.Tensor("int64", new BigInt64Array(n), [1, n]);
2866
+ const out = await session.run(feeds);
2867
+ const hidden = out[d2.output].data;
2868
+ if (!(hidden instanceof Float32Array) || hidden.length !== n * d2.dims || !hidden.every(Number.isFinite)) throw new Error("bad output");
2869
+ const v = pool(hidden, n, d2.dims, d2.pooling);
2870
+ const vec = d2.normalize ? l2normalize(v) : v;
2871
+ port.postMessage({ job_id: m.job_id, vec }, [vec.buffer]);
2872
+ } catch {
2873
+ port.postMessage({ job_id: m.job_id, error: true });
2874
+ }
2875
+ };
2876
+ port.on("message", (m) => {
2877
+ chain = chain.then(() => handle(m));
2878
+ });
2879
+ port.postMessage({ ready: true });
2880
+ return "ready";
2881
+ }
2882
+
2883
+ // src/memory/embedder/worker.ts
2884
+ globalThis.fetch = () => {
2885
+ throw new Error("network forbidden in the embedder worker");
2886
+ };
2887
+ var d = workerData;
2888
+ var data = { ...d, model: { path: "model", ...d.model }, vocab: { path: "vocab", ...d.vocab }, wasm: { path: "wasm", ...d.wasm } };
2889
+ if (await runWorker({ read: (k) => d.bytes[k], ort: ort_wasm_bundle_min_exports, port: parentPort, data }) === "fatal") process.exit(0);
2890
+ /*! Bundled license information:
2891
+
2892
+ onnxruntime-web/dist/ort.wasm.bundle.min.mjs:
2893
+ (*!
2894
+ * ONNX Runtime Web v1.29.0
2895
+ * Copyright (c) Microsoft Corporation. All rights reserved.
2896
+ * Licensed under the MIT License.
2897
+ *)
2898
+ */