UNPKG

woolball-client

Version:

Client-side library for Woolball enabling secure browser resource sharing for distributed AI task processing

3 lines 13.4 MB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const workerCode = "\"use strict\";\n(() => {\n var __create = Object.create;\n var __defProp = Object.defineProperty;\n var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames = Object.getOwnPropertyNames;\n var __getProtoOf = Object.getPrototypeOf;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\n var __require = /* @__PURE__ */ ((x3) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x3, {\n get: (a3, b4) => (typeof require !== \"undefined\" ? require : a3)[b4]\n }) : x3)(function(x3) {\n if (typeof require !== \"undefined\") return require.apply(this, arguments);\n throw Error('Dynamic require of \"' + x3 + '\" is not supported');\n });\n var __esm = (fn3, res) => function __init() {\n return fn3 && (res = (0, fn3[__getOwnPropNames(fn3)[0]])(fn3 = 0)), res;\n };\n var __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n };\n var __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps = (to2, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to2, key) && key !== except)\n __defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to2;\n };\n var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n ));\n var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n // node_modules/onnxruntime-web/dist/ort.webgpu.bundle.min.mjs\n var ort_webgpu_bundle_min_exports = {};\n __export(ort_webgpu_bundle_min_exports, {\n InferenceSession: () => nc,\n TRACE: () => qa,\n TRACE_EVENT_BEGIN: () => Ge,\n TRACE_EVENT_END: () => $e,\n TRACE_FUNC_BEGIN: () => tt,\n TRACE_FUNC_END: () => rt,\n Tensor: () => xe,\n default: () => Ol,\n env: () => ee,\n registerBackend: () => Qe\n });\n async function is(a3 = {}) {\n var r3 = a3, s4 = !!globalThis.window, f4 = !!globalThis.WorkerGlobalScope, i4 = f4 && self.name?.startsWith(\"em-pthread\");\n r3.mountExternalData = (e3, t3) => {\n e3.startsWith(\"./\") && (e3 = e3.substring(2)), (r3.Zc || (r3.Zc = /* @__PURE__ */ new Map())).set(e3, t3);\n }, r3.unmountExternalData = () => {\n delete r3.Zc;\n }, globalThis.SharedArrayBuffer ?? new WebAssembly.Memory({ initial: 0, maximum: 0, Me: true }).buffer.constructor;\n let d4 = () => {\n let e3 = (t3) => (...n3) => {\n let o4 = Be3;\n return n3 = t3(...n3), Be3 != o4 ? new Promise((u4, c4) => {\n Mr3 = { resolve: u4, reject: c4 };\n }) : n3;\n };\n (() => {\n for (let t3 of [\"_OrtAppendExecutionProvider\", \"_OrtCreateSession\", \"_OrtRun\", \"_OrtRunWithBinding\", \"_OrtBindInput\"]) r3[t3] = e3(r3[t3]);\n })(), typeof jsepRunAsync < \"u\" && (r3._OrtRun = jsepRunAsync(r3._OrtRun), r3._OrtRunWithBinding = jsepRunAsync(r3._OrtRunWithBinding)), d4 = void 0;\n };\n r3.asyncInit = () => {\n d4?.();\n };\n var p4, m4, y4 = (e3, t3) => {\n throw t3;\n }, w4 = import_meta.url, T3 = \"\";\n if (s4 || f4) {\n try {\n T3 = new URL(\".\", w4).href;\n } catch {\n }\n f4 && (m4 = (e3) => {\n var t3 = new XMLHttpRequest();\n return t3.open(\"GET\", e3, false), t3.responseType = \"arraybuffer\", t3.send(null), new Uint8Array(t3.response);\n }), p4 = async (e3) => {\n if (oe3(e3)) return new Promise((n3, o4) => {\n var u4 = new XMLHttpRequest();\n u4.open(\"GET\", e3, true), u4.responseType = \"arraybuffer\", u4.onload = () => {\n u4.status == 200 || u4.status == 0 && u4.response ? n3(u4.response) : o4(u4.status);\n }, u4.onerror = o4, u4.send(null);\n });\n var t3 = await fetch(e3, { credentials: \"same-origin\" });\n if (t3.ok) return t3.arrayBuffer();\n throw Error(t3.status + \" : \" + t3.url);\n };\n }\n var g4, v4, S3, M5, R3, j3, P4 = console.log.bind(console), U4 = console.error.bind(console), Y3 = P4, O3 = U4, G4 = false, oe3 = (e3) => e3.startsWith(\"file://\");\n function l3() {\n ke3.buffer != Z3.buffer && se4();\n }\n if (i4) {\n let e3 = function(t3) {\n try {\n var n3 = t3.data, o4 = n3.Uc;\n if (o4 === \"load\") {\n let u4 = [];\n self.onmessage = (c4) => u4.push(c4), j3 = () => {\n postMessage({ Uc: \"loaded\" });\n for (let c4 of u4) e3(c4);\n self.onmessage = e3;\n };\n for (let c4 of n3.ne) r3[c4] && !r3[c4].proxy || (r3[c4] = (...h4) => {\n postMessage({ Uc: \"callHandler\", me: c4, args: h4 });\n }, c4 == \"print\" && (Y3 = r3[c4]), c4 == \"printErr\" && (O3 = r3[c4]));\n ke3 = n3.we, se4(), v4 = n3.xe, wt2(), Vt3();\n } else if (o4 === \"run\") {\n (function(u4) {\n var c4 = (l3(), A4)[u4 + 52 >>> 2 >>> 0];\n u4 = (l3(), A4)[u4 + 56 >>> 2 >>> 0], Ro(c4, c4 - u4), C3(c4);\n })(n3.Sc), $r3(n3.Sc, 0, 0, 1, 0, 0), Tn2(), Lr3(n3.Sc), ne4 || (wo2(), ne4 = true);\n try {\n Js2(n3.te, n3.ad);\n } catch (u4) {\n if (u4 != \"unwind\") throw u4;\n }\n } else n3.target !== \"setimmediate\" && (o4 === \"checkMailbox\" ? ne4 && Pt2() : o4 && (O3(`worker: received unknown command ${o4}`), O3(n3)));\n } catch (u4) {\n throw Uo(), u4;\n }\n };\n var Mc = e3, ne4 = false;\n self.onunhandledrejection = (t3) => {\n throw t3.reason || t3;\n }, self.onmessage = e3;\n }\n var Z3, J4, Ce3, K3, x3, A4, _4, ae3, le2, q3, ye2, re3 = false;\n function se4() {\n var e3 = ke3.buffer;\n r3.HEAP8 = Z3 = new Int8Array(e3), Ce3 = new Int16Array(e3), r3.HEAPU8 = J4 = new Uint8Array(e3), K3 = new Uint16Array(e3), r3.HEAP32 = x3 = new Int32Array(e3), r3.HEAPU32 = A4 = new Uint32Array(e3), _4 = new Float32Array(e3), ae3 = new Float64Array(e3), le2 = new BigInt64Array(e3), q3 = new BigUint64Array(e3);\n }\n function wr3() {\n re3 = true, i4 ? j3() : Ne3.dc();\n }\n function we2(e3) {\n throw O3(e3 = \"Aborted(\" + e3 + \")\"), G4 = true, e3 = new WebAssembly.RuntimeError(e3 + \". Build with -sASSERTIONS for more info.\"), R3?.(e3), e3;\n }\n function je3() {\n return { a: { sa: lf2, g: Xs2, K: Zs2, f: Ks2, n: Qs2, h: ei2, wa: ti2, b: ri, ea: ni2, Ja: xn2, o: oi, fa: Mn3, Za: Un3, $b: Cn2, bc: Dn3, _a: Pn2, Xa: _n2, Qa: Rn3, Wa: Nn3, qa: Wn3, ac: kn2, Zb: Fn3, Ya: Gn3, _b: $n2, db: ai, Fa: ii, Ub: ui, Sb: ci, Ea: li, P: pi, J: mi, Tb: hi, ma: Ei, Vb: Si, Ta: Ai, Xb: xi, Ka: Li, Pb: Oi, Ha: Bi, Sa: Lr3, ab: Mi, W: Pi, r: ki, c: Ir3, tb: Fi2, y: Gi, N: $i, D: zi, m: Vi, s: Xn3, ub: Hi, I: ji2, V: Yi2, j: qi2, u: Ji2, q: Xi2, k: Zi2, Na: Ki2, Oa: Qi2, Pa: eu2, La: eo2, Ma: to2, Rb: ro2, fb: ru2, cb: au2, $: su2, sb: iu2, na: uu2, bb: nu2, Y: fu2, $a: cu2, Yb: du2, G: tu2, ib: lu2, _: pu2, ra: kt2, Wb: hu2, hb: mu2, gb: yu2, pb: Su2, F: Au2, va: Iu2, ua: xu2, rb: Lu2, Z: Ou2, w: Bu2, ob: Mu2, nb: Uu2, mb: Cu2, qb: Du2, lb: Pu2, kb: _u2, jb: Ru2, Ua: co2, Va: lo2, Ia: Tr3, ga: po2, pa: mo2, Ra: ho2, oa: yo2, Eb: Jf, za: $f2, Fb: qf2, Aa: Gf2, H: Cf2, e: yf2, t: mf2, x: pf2, B: xf2, Ib: Wf2, L: Bf2, v: wf2, Ba: kf2, ca: zf2, ja: Nf2, Gb: Yf2, Hb: jf2, Da: Df2, Ca: Rf2, Kb: Pf2, O: Mf2, da: Ff2, d: bf2, A: gf2, l: hf2, Db: Xf2, p: vf2, z: If3, C: Tf2, E: Ef2, M: Lf2, Lb: Uf2, U: Vf2, ka: Of2, ba: Hf2, Mb: Af2, Nb: Sf2, R: _f2, i: Wu2, a: ke3, eb: Ye3, Jb: ku2, la: Fu2, Q: Gu2, ta: $u2, Ob: zu2, S: Vu2, Ab: Hu2, Bb: ju2, xa: Yu2, ha: qu2, T: Ju2, Ga: Xu2, ya: Zu2, aa: Ku2, yb: Qu2, cc: ef2, X: tf2, Cb: rf, vb: nf2, wb: af2, xb: sf2, ia: uf2, zb: ff2, Qb: cf2 } };\n }\n async function wt2() {\n function e3(o4, u4) {\n var c4 = Ne3 = o4.exports;\n o4 = {};\n for (let [h4, b4] of Object.entries(c4)) typeof b4 == \"function\" ? (c4 = Ui(b4), o4[h4] = c4) : o4[h4] = b4;\n return Ne3 = o4, Ne3 = function() {\n var h4 = Ne3, b4 = (I3) => (N4) => I3(N4) >>> 0, E3 = (I3) => () => I3() >>> 0;\n return (h4 = Object.assign({}, h4)).ec = b4(h4.ec), h4.Hc = E3(h4.Hc), h4.Jc = b4(h4.Jc), h4.vd = /* @__PURE__ */ ((I3) => (N4, W3) => I3(N4, W3) >>> 0)(h4.vd), h4.Ad = b4(h4.Ad), h4.Bd = E3(h4.Bd), h4.Fd = b4(h4.Fd), h4;\n }(), wn2.push(Ne3.md), bo2 = (o4 = Ne3).ec, wo2 = o4.fc, r3._OrtInit = o4.gc, r3._OrtGetLastError = o4.hc, r3._OrtCreateSessionOptions = o4.ic, r3._OrtAppendExecutionProvider = o4.jc, r3._OrtAddFreeDimensionOverride = o4.kc, r3._OrtAddSessionConfigEntry = o4.lc, r3._OrtReleaseSessionOptions = o4.mc, r3._OrtCreateSession = o4.nc, r3._OrtReleaseSession = o4.oc, r3._OrtGetInputOutputCount = o4.pc, r3._OrtGetInputOutputMetadata = o4.qc, r3._OrtFree = o4.rc, r3._OrtCreateTensor = o4.sc, r3._OrtGetTensorData = o4.tc, r3._OrtReleaseTensor = o4.uc, r3._OrtCreateRunOptions = o4.vc, r3._OrtAddRunConfigEntry = o4.wc, r3._OrtReleaseRunOptions = o4.xc, r3._OrtCreateBinding = o4.yc, r3._OrtBindInput = o4.zc, r3._OrtBindOutput = o4.Ac, r3._OrtClearBoundOutputs = o4.Bc, r3._OrtReleaseBinding = o4.Cc, r3._OrtRunWithBinding = o4.Dc, r3._OrtRun = o4.Ec, r3._OrtEndProfiling = o4.Fc, Rr3 = r3._OrtGetWebGpuDevice = o4.Gc, $t3 = o4.Hc, Te2 = r3._free = o4.Ic, mt2 = r3._malloc = o4.Jc, go2 = r3._wgpuBufferRelease = o4.Kc, To2 = r3._wgpuCreateInstance = o4.Lc, vo2 = o4.Mc, Eo2 = o4.Nc, So2 = o4.Oc, Ao2 = o4.Pc, Io2 = o4.Qc, xo2 = o4.Tc, Lo = o4.bd, Oo = o4.cd, Bo = o4.dd, Nr3 = o4.fd, Wr3 = o4.gd, kr3 = o4.hd, Fr3 = o4.id, Et3 = o4.jd, Gr3 = o4.kd, Mo = o4.ld, $r3 = o4.od, Uo = o4.pd, Co2 = o4.qd, Do = o4.rd, zr3 = o4.sd, Po2 = o4.td, _o2 = o4.ud, Vr3 = o4.vd, k5 = o4.wd, St2 = o4.xd, Ro = o4.yd, C3 = o4.zd, zt2 = o4.Ad, D3 = o4.Bd, No = o4.Cd, Hr3 = o4.Dd, Wo = o4.Ed, ko2 = o4.Fd, Fo = o4.Gd, jr3 = o4.Hd, Go = o4.Id, $o2 = o4.Jd, zo = o4.Kd, Vo = o4.Ld, Ho = o4.Md, jo = o4.Nd, Yo = o4.Od, qo = o4.Pd, Jo = o4.Qd, Xo = o4.Rd, Zo = o4.Sd, Ko = o4.Td, Qo = o4.Ud, ea2 = o4.Vd, ta2 = o4.Wd, ra2 = o4.Yd, na2 = o4.Zd, oa2 = o4._d, aa2 = o4.$d, sa2 = o4.be, ia2 = o4.ce, ua2 = o4.de, fa2 = o4.ee, ca2 = o4.fe, da2 = o4.ge, la2 = o4.qe, pa2 = o4.ve, ma2 = o4.ye, ha2 = o4.ze, ya2 = o4.Ae, ba2 = o4.Be, wa2 = o4.Ce, ga2 = o4.De, Ta2 = o4.Ee, va2 = o4.Fe, Ea2 = o4.Ge, Sa2 = o4.ef, Aa2 = o4.ff, Ia2 = o4.gf, xa2 = o4.hf, v4 = u4, Ne3;\n }\n var t3, n3 = je3();\n return r3.instantiateWasm ? new Promise((o4) => {\n r3.instantiateWasm(n3, (u4, c4) => {\n o4(e3(u4, c4));\n });\n }) : i4 ? e3(new WebAssembly.Instance(v4, je3()), v4) : (ye2 ?? (ye2 = r3.locateFile ? r3.locateFile ? r3.locateFile(\"ort-wasm-simd-threaded.asyncify.wasm\", T3) : T3 + \"ort-wasm-simd-threaded.asyncify.wasm\" : new URL(\"ort-wasm-simd-threaded.asyncify.wasm\", import_meta.url).href), t3 = await async function(o4) {\n var u4 = ye2;\n if (!g4 && !oe3(u4)) try {\n var c4 = fetch(u4, { credentials: \"same-origin\" });\n return await WebAssembly.instantiateStreaming(c4, o4);\n } catch (h4) {\n O3(`wasm streaming compile failed: ${h4}`), O3(\"falling back to ArrayBuffer instantiation\");\n }\n return async function(h4, b4) {\n try {\n var E3 = await async function(I3) {\n if (!g4) try {\n var N4 = await p4(I3);\n return new Uint8Array(N4);\n } catch {\n }\n if (I3 == ye2 && g4) I3 = new Uint8Array(g4);\n else {\n if (!m4) throw \"both async and sync fetching of the wasm failed\";\n I3 = m4(I3);\n }\n return I3;\n }(h4);\n return await WebAssembly.instantiate(E3, b4);\n } catch (I3) {\n O3(`failed to asynchronously prepare wasm: ${I3}`), we2(I3);\n }\n }(u4, o4);\n }(n3), e3(t3.instance, t3.module));\n }\n class gt3 {\n constructor(t3) {\n __publicField(this, \"name\", \"ExitStatus\");\n this.message = `Program terminated with exit(${t3})`, this.status = t3;\n }\n }\n var Se3 = (e3) => {\n e3.terminate(), e3.onmessage = () => {\n };\n }, Ae4 = [], Le3 = 0, te3 = null, Q4 = (e3) => {\n We3.length == 0 && (En2(), vn2(We3[0]));\n var t3 = We3.pop();\n if (!t3) return 6;\n Tt3.push(t3), qe3[e3.Sc] = t3, t3.Sc = e3.Sc;\n var n3 = { Uc: \"run\", te: e3.se, ad: e3.ad, Sc: e3.Sc };\n return t3.postMessage(n3, e3.he), 0;\n }, $4 = 0, H3 = (e3, t3, ...n3) => {\n var o4, u4 = 16 * n3.length, c4 = D3(), h4 = zt2(u4), b4 = h4 >>> 3;\n for (o4 of n3) typeof o4 == \"bigint\" ? ((l3(), le2)[b4++ >>> 0] = 1n, (l3(), le2)[b4++ >>> 0] = o4) : ((l3(), le2)[b4++ >>> 0] = 0n, (l3(), ae3)[b4++ >>> 0] = o4);\n return e3 = Co2(e3, 0, u4, h4, t3), C3(c4), e3;\n };\n function Ye3(e3) {\n if (i4) return H3(0, 1, e3);\n if (S3 = e3, !(0 < $4)) {\n for (var t3 of Tt3) Se3(t3);\n for (t3 of We3) Se3(t3);\n We3 = [], Tt3 = [], qe3 = {}, G4 = true;\n }\n y4(0, new gt3(e3));\n }\n function gr3(e3) {\n if (i4) return H3(1, 0, e3);\n Tr3(e3);\n }\n var Tr3 = (e3) => {\n if (S3 = e3, i4) throw gr3(e3), \"unwind\";\n Ye3(e3);\n }, We3 = [], Tt3 = [], wn2 = [], qe3 = {}, gn2 = (e3) => {\n var t3 = e3.Sc;\n delete qe3[t3], We3.push(e3), Tt3.splice(Tt3.indexOf(e3), 1), e3.Sc = 0, Do(t3);\n };\n function Tn2() {\n wn2.forEach((e3) => e3());\n }\n var vn2 = (e3) => new Promise((t3) => {\n e3.onmessage = (u4) => {\n var c4 = u4.data;\n if (u4 = c4.Uc, c4.$c && c4.$c != $t3()) {\n var h4 = qe3[c4.$c];\n h4 ? h4.postMessage(c4, c4.he) : O3(`Internal error! Worker sent a message \"${u4}\" to target pthread ${c4.$c}, but that thread no longer exists!`);\n } else u4 === \"checkMailbox\" ? Pt2() : u4 === \"spawnThread\" ? Q4(c4) : u4 === \"cleanupThread\" ? Dt3(() => {\n gn2(qe3[c4.ue]);\n }) : u4 === \"loaded\" ? (e3.loaded = true, t3(e3)) : c4.target === \"setimmediate\" ? e3.postMessage(c4) : u4 === \"uncaughtException\" ? e3.onerror(c4.error) : u4 === \"callHandler\" ? r3[c4.me](...c4.args) : u4 && O3(`worker sent an unknown command ${u4}`);\n }, e3.onerror = (u4) => {\n throw O3(`worker sent an error! ${u4.filename}:${u4.lineno}: ${u4.message}`), u4;\n };\n var n3, o4 = [];\n for (n3 of []) r3.propertyIsEnumerable(n3) && o4.push(n3);\n e3.postMessage({ Uc: \"load\", ne: o4, we: ke3, xe: v4 });\n });\n function En2() {\n var e3 = new Worker((() => {\n let t3 = URL;\n return import_meta.url > \"file:\" && import_meta.url < \"file;\" ? new t3(\"ort.webgpu.bundle.min.mjs\", import_meta.url) : new URL(import_meta.url);\n })(), { type: \"module\", workerData: \"em-pthread\", name: \"em-pthread\" });\n We3.push(e3);\n }\n var ke3, Js2 = (e3, t3) => {\n $4 = 0, e3 = jr3(e3, t3), 0 < $4 ? S3 = e3 : zr3(e3);\n }, Ut3 = [], Ct3 = 0, pe3 = (e3) => -9007199254740992 > e3 || 9007199254740992 < e3 ? NaN : Number(e3);\n function Xs2(e3) {\n var t3 = new vr3(e3 >>>= 0);\n return (l3(), Z3)[t3.Vc + 12 >>> 0] == 0 && (Sn2(t3, true), Ct3--), An2(t3, false), Ut3.push(t3), ko2(e3);\n }\n var ft2 = 0, Zs2 = () => {\n k5(0, 0);\n var e3 = Ut3.pop();\n No(e3.nd), ft2 = 0;\n };\n function Sn2(e3, t3) {\n t3 = t3 ? 1 : 0, (l3(), Z3)[e3.Vc + 12 >>> 0] = t3;\n }\n function An2(e3, t3) {\n t3 = t3 ? 1 : 0, (l3(), Z3)[e3.Vc + 13 >>> 0] = t3;\n }\n class vr3 {\n constructor(t3) {\n this.nd = t3, this.Vc = t3 - 24;\n }\n }\n var Er3 = (e3) => {\n var t3 = ft2;\n if (!t3) return St2(0), 0;\n var n3 = new vr3(t3);\n (l3(), A4)[n3.Vc + 16 >>> 2 >>> 0] = t3;\n var o4 = (l3(), A4)[n3.Vc + 4 >>> 2 >>> 0];\n if (!o4) return St2(0), t3;\n for (var u4 of e3) {\n if (u4 === 0 || u4 === o4) break;\n if (Wo(u4, o4, n3.Vc + 16)) return St2(u4), t3;\n }\n return St2(o4), t3;\n };\n function Ks2() {\n return Er3([]);\n }\n function Qs2(e3) {\n return Er3([e3 >>> 0]);\n }\n function ei2(e3, t3, n3, o4) {\n return Er3([e3 >>> 0, t3 >>> 0, n3 >>> 0, o4 >>> 0]);\n }\n var ti2 = () => {\n var e3 = Ut3.pop();\n e3 || we2(\"no exception to throw\");\n var t3 = e3.nd;\n throw (l3(), Z3)[e3.Vc + 13 >>> 0] == 0 && (Ut3.push(e3), An2(e3, true), Sn2(e3, false), Ct3++), Hr3(t3), ft2 = t3;\n };\n function ri(e3, t3, n3) {\n var o4 = new vr3(e3 >>>= 0);\n throw t3 >>>= 0, n3 >>>= 0, (l3(), A4)[o4.Vc + 16 >>> 2 >>> 0] = 0, (l3(), A4)[o4.Vc + 4 >>> 2 >>> 0] = t3, (l3(), A4)[o4.Vc + 8 >>> 2 >>> 0] = n3, Hr3(e3), Ct3++, ft2 = e3;\n }\n var ni2 = () => Ct3;\n function In2(e3, t3, n3, o4) {\n return i4 ? H3(2, 1, e3, t3, n3, o4) : xn2(e3, t3, n3, o4);\n }\n function xn2(e3, t3, n3, o4) {\n if (e3 >>>= 0, t3 >>>= 0, n3 >>>= 0, o4 >>>= 0, !globalThis.SharedArrayBuffer) return 6;\n var u4 = [];\n return i4 && u4.length === 0 ? In2(e3, t3, n3, o4) : (e3 = { se: n3, Sc: e3, ad: o4, he: u4 }, i4 ? (e3.Uc = \"spawnThread\", postMessage(e3, u4), 0) : Q4(e3));\n }\n function oi(e3) {\n throw ft2 || (ft2 = e3 >>> 0), ft2;\n }\n var Ln3 = globalThis.TextDecoder && new TextDecoder(), On3 = (e3, t3, n3, o4) => {\n if (n3 = t3 + n3, o4) return n3;\n for (; e3[t3] && !(t3 >= n3); ) ++t3;\n return t3;\n }, Bn3 = (e3, t3 = 0, n3, o4) => {\n if (16 < (n3 = On3(e3, t3 >>>= 0, n3, o4)) - t3 && e3.buffer && Ln3) return Ln3.decode(e3.buffer instanceof ArrayBuffer ? e3.subarray(t3, n3) : e3.slice(t3, n3));\n for (o4 = \"\"; t3 < n3; ) {\n var u4 = e3[t3++];\n if (128 & u4) {\n var c4 = 63 & e3[t3++];\n if ((224 & u4) == 192) o4 += String.fromCharCode((31 & u4) << 6 | c4);\n else {\n var h4 = 63 & e3[t3++];\n 65536 > (u4 = (240 & u4) == 224 ? (15 & u4) << 12 | c4 << 6 | h4 : (7 & u4) << 18 | c4 << 12 | h4 << 6 | 63 & e3[t3++]) ? o4 += String.fromCharCode(u4) : (u4 -= 65536, o4 += String.fromCharCode(55296 | u4 >> 10, 56320 | 1023 & u4));\n }\n } else o4 += String.fromCharCode(u4);\n }\n return o4;\n }, ct2 = (e3, t3, n3) => (e3 >>>= 0) ? Bn3((l3(), J4), e3, t3, n3) : \"\";\n function Mn3(e3, t3, n3) {\n return i4 ? H3(3, 1, e3, t3, n3) : 0;\n }\n function Un3(e3, t3) {\n if (i4) return H3(4, 1, e3, t3);\n }\n function Cn2(e3, t3) {\n if (i4) return H3(5, 1, e3, t3);\n }\n function Dn3(e3, t3, n3) {\n if (i4) return H3(6, 1, e3, t3, n3);\n }\n function Pn2(e3, t3, n3) {\n return i4 ? H3(7, 1, e3, t3, n3) : 0;\n }\n function _n2(e3, t3) {\n if (i4) return H3(8, 1, e3, t3);\n }\n function Rn3(e3, t3, n3) {\n if (i4) return H3(9, 1, e3, t3, n3);\n }\n function Nn3(e3, t3, n3, o4) {\n if (i4) return H3(10, 1, e3, t3, n3, o4);\n }\n function Wn3(e3, t3, n3, o4) {\n if (i4) return H3(11, 1, e3, t3, n3, o4);\n }\n function kn2(e3, t3, n3, o4) {\n if (i4) return H3(12, 1, e3, t3, n3, o4);\n }\n function Fn3(e3) {\n if (i4) return H3(13, 1, e3);\n }\n function Gn3(e3, t3) {\n if (i4) return H3(14, 1, e3, t3);\n }\n function $n2(e3, t3, n3) {\n if (i4) return H3(15, 1, e3, t3, n3);\n }\n var ai = () => we2(\"\"), Oe3 = (e3) => {\n e3 >>>= 0;\n for (var t3 = \"\"; ; ) {\n var n3 = (l3(), J4)[e3++ >>> 0];\n if (!n3) return t3;\n t3 += String.fromCharCode(n3);\n }\n }, Sr3 = {}, Ar3 = {}, si = {}, dt2 = class extends Error {\n constructor(e3) {\n super(e3), this.name = \"BindingError\";\n }\n };\n function De2(e3, t3, n3 = {}) {\n return function(o4, u4, c4 = {}) {\n var h4 = u4.name;\n if (!o4) throw new dt2(`type \"${h4}\" must have a positive integer typeid pointer`);\n if (Ar3.hasOwnProperty(o4)) {\n if (c4.oe) return;\n throw new dt2(`Cannot register type '${h4}' twice`);\n }\n Ar3[o4] = u4, delete si[o4], Sr3.hasOwnProperty(o4) && (u4 = Sr3[o4], delete Sr3[o4], u4.forEach((b4) => b4()));\n }(e3, t3, n3);\n }\n var zn3 = (e3, t3, n3) => {\n switch (t3) {\n case 1:\n return n3 ? (o4) => (l3(), Z3)[o4 >>> 0] : (o4) => (l3(), J4)[o4 >>> 0];\n case 2:\n return n3 ? (o4) => (l3(), Ce3)[o4 >>> 1 >>> 0] : (o4) => (l3(), K3)[o4 >>> 1 >>> 0];\n case 4:\n return n3 ? (o4) => (l3(), x3)[o4 >>> 2 >>> 0] : (o4) => (l3(), A4)[o4 >>> 2 >>> 0];\n case 8:\n return n3 ? (o4) => (l3(), le2)[o4 >>> 3 >>> 0] : (o4) => (l3(), q3)[o4 >>> 3 >>> 0];\n default:\n throw new TypeError(`invalid integer width (${t3}): ${e3}`);\n }\n };\n function ii(e3, t3, n3, o4, u4) {\n e3 >>>= 0, n3 >>>= 0, t3 = Oe3(t3 >>> 0);\n let c4 = (h4) => h4;\n if (o4 = o4 === 0n) {\n let h4 = 8 * n3;\n c4 = (b4) => BigInt.asUintN(h4, b4), u4 = c4(u4);\n }\n De2(e3, { name: t3, Rc: c4, Xc: (h4, b4) => (typeof b4 == \"number\" && (b4 = BigInt(b4)), b4), Wc: zn3(t3, n3, !o4), Yc: null });\n }\n function ui(e3, t3, n3, o4) {\n De2(e3 >>>= 0, { name: t3 = Oe3(t3 >>> 0), Rc: function(u4) {\n return !!u4;\n }, Xc: function(u4, c4) {\n return c4 ? n3 : o4;\n }, Wc: function(u4) {\n return this.Rc((l3(), J4)[u4 >>> 0]);\n }, Yc: null });\n }\n var Vn3 = [], Je3 = [0, 1, , 1, null, 1, true, 1, false, 1];\n function Ir3(e3) {\n 9 < (e3 >>>= 0) && --Je3[e3 + 1] == 0 && (Je3[e3] = void 0, Vn3.push(e3));\n }\n var ge4 = (e3) => {\n if (!e3) throw new dt2(`Cannot use deleted val. handle = ${e3}`);\n return Je3[e3];\n }, Ie4 = (e3) => {\n switch (e3) {\n case void 0:\n return 2;\n case null:\n return 4;\n case true:\n return 6;\n case false:\n return 8;\n default:\n let t3 = Vn3.pop() || Je3.length;\n return Je3[t3] = e3, Je3[t3 + 1] = 1, t3;\n }\n };\n function xr3(e3) {\n return this.Rc((l3(), A4)[e3 >>> 2 >>> 0]);\n }\n var fi = { name: \"emscripten::val\", Rc: (e3) => {\n var t3 = ge4(e3);\n return Ir3(e3), t3;\n }, Xc: (e3, t3) => Ie4(t3), Wc: xr3, Yc: null };\n function ci(e3) {\n return De2(e3 >>> 0, fi);\n }\n var di = (e3, t3) => {\n switch (t3) {\n case 4:\n return function(n3) {\n return this.Rc((l3(), _4)[n3 >>> 2 >>> 0]);\n };\n case 8:\n return function(n3) {\n return this.Rc((l3(), ae3)[n3 >>> 3 >>> 0]);\n };\n default:\n throw new TypeError(`invalid float width (${t3}): ${e3}`);\n }\n };\n function li(e3, t3, n3) {\n n3 >>>= 0, De2(e3 >>>= 0, { name: t3 = Oe3(t3 >>> 0), Rc: (o4) => o4, Xc: (o4, u4) => u4, Wc: di(t3, n3), Yc: null });\n }\n function pi(e3, t3, n3, o4, u4) {\n e3 >>>= 0, n3 >>>= 0, t3 = Oe3(t3 >>> 0);\n let c4 = (b4) => b4;\n if (o4 === 0) {\n var h4 = 32 - 8 * n3;\n c4 = (b4) => b4 << h4 >>> h4, u4 = c4(u4);\n }\n De2(e3, { name: t3, Rc: c4, Xc: (b4, E3) => E3, Wc: zn3(t3, n3, o4 !== 0), Yc: null });\n }\n function mi(e3, t3, n3) {\n function o4(c4) {\n var h4 = (l3(), A4)[c4 >>> 2 >>> 0];\n return c4 = (l3(), A4)[c4 + 4 >>> 2 >>> 0], new u4((l3(), Z3).buffer, c4, h4);\n }\n var u4 = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array][t3];\n De2(e3 >>>= 0, { name: n3 = Oe3(n3 >>> 0), Rc: o4, Wc: o4 }, { oe: true });\n }\n var Pe3 = (e3, t3, n3) => {\n var o4 = (l3(), J4);\n if (t3 >>>= 0, 0 < n3) {\n var u4 = t3;\n n3 = t3 + n3 - 1;\n for (var c4 = 0; c4 < e3.length; ++c4) {\n var h4 = e3.codePointAt(c4);\n if (127 >= h4) {\n if (t3 >= n3) break;\n o4[t3++ >>> 0] = h4;\n } else if (2047 >= h4) {\n if (t3 + 1 >= n3) break;\n o4[t3++ >>> 0] = 192 | h4 >> 6, o4[t3++ >>> 0] = 128 | 63 & h4;\n } else if (65535 >= h4) {\n if (t3 + 2 >= n3) break;\n o4[t3++ >>> 0] = 224 | h4 >> 12, o4[t3++ >>> 0] = 128 | h4 >> 6 & 63, o4[t3++ >>> 0] = 128 | 63 & h4;\n } else {\n if (t3 + 3 >= n3) break;\n o4[t3++ >>> 0] = 240 | h4 >> 18, o4[t3++ >>> 0] = 128 | h4 >> 12 & 63, o4[t3++ >>> 0] = 128 | h4 >> 6 & 63, o4[t3++ >>> 0] = 128 | 63 & h4, c4++;\n }\n }\n o4[t3 >>> 0] = 0, e3 = t3 - u4;\n } else e3 = 0;\n return e3;\n }, _e2 = (e3) => {\n for (var t3 = 0, n3 = 0; n3 < e3.length; ++n3) {\n var o4 = e3.charCodeAt(n3);\n 127 >= o4 ? t3++ : 2047 >= o4 ? t3 += 2 : 55296 <= o4 && 57343 >= o4 ? (t3 += 4, ++n3) : t3 += 3;\n }\n return t3;\n };\n function hi(e3, t3) {\n De2(e3 >>>= 0, { name: t3 = Oe3(t3 >>> 0), Rc(n3) {\n var o4 = (l3(), A4)[n3 >>> 2 >>> 0];\n return o4 = ct2(n3 + 4, o4, true), Te2(n3), o4;\n }, Xc(n3, o4) {\n o4 instanceof ArrayBuffer && (o4 = new Uint8Array(o4));\n var u4 = typeof o4 == \"string\";\n if (!(u4 || ArrayBuffer.isView(o4) && o4.BYTES_PER_ELEMENT == 1)) throw new dt2(\"Cannot pass non-string to std::string\");\n var c4 = u4 ? _e2(o4) : o4.length, h4 = mt2(4 + c4 + 1), b4 = h4 + 4;\n return (l3(), A4)[h4 >>> 2 >>> 0] = c4, u4 ? Pe3(o4, b4, c4 + 1) : (l3(), J4).set(o4, b4 >>> 0), n3 !== null && n3.push(Te2, h4), h4;\n }, Wc: xr3, Yc(n3) {\n Te2(n3);\n } });\n }\n var Hn3 = globalThis.TextDecoder ? new TextDecoder(\"utf-16le\") : void 0, yi = (e3, t3, n3) => {\n if (e3 >>>= 1, 16 < (t3 = On3((l3(), K3), e3, t3 / 2, n3)) - e3 && Hn3) return Hn3.decode((l3(), K3).slice(e3, t3));\n for (n3 = \"\"; e3 < t3; ++e3) {\n var o4 = (l3(), K3)[e3 >>> 0];\n n3 += String.fromCharCode(o4);\n }\n return n3;\n }, bi = (e3, t3, n3) => {\n if (n3 ?? (n3 = 2147483647), 2 > n3) return 0;\n var o4 = t3;\n n3 = (n3 -= 2) < 2 * e3.length ? n3 / 2 : e3.length;\n for (var u4 = 0; u4 < n3; ++u4) {\n var c4 = e3.charCodeAt(u4);\n (l3(), Ce3)[t3 >>> 1 >>> 0] = c4, t3 += 2;\n }\n return (l3(), Ce3)[t3 >>> 1 >>> 0] = 0, t3 - o4;\n }, wi = (e3) => 2 * e3.length, gi = (e3, t3, n3) => {\n var o4 = \"\";\n e3 >>>= 2;\n for (var u4 = 0; !(u4 >= t3 / 4); u4++) {\n var c4 = (l3(), A4)[e3 + u4 >>> 0];\n if (!c4 && !n3) break;\n o4 += String.fromCodePoint(c4);\n }\n return o4;\n }, Ti = (e3, t3, n3) => {\n if (t3 >>>= 0, n3 ?? (n3 = 2147483647), 4 > n3) return 0;\n var o4 = t3;\n n3 = o4 + n3 - 4;\n for (var u4 = 0; u4 < e3.length; ++u4) {\n var c4 = e3.codePointAt(u4);\n if (65535 < c4 && u4++, (l3(), x3)[t3 >>> 2 >>> 0] = c4, (t3 += 4) + 4 > n3) break;\n }\n return (l3(), x3)[t3 >>> 2 >>> 0] = 0, t3 - o4;\n }, vi = (e3) => {\n for (var t3 = 0, n3 = 0; n3 < e3.length; ++n3) 65535 < e3.codePointAt(n3) && n3++, t3 += 4;\n return t3;\n };\n function Ei(e3, t3, n3) {\n if (e3 >>>= 0, t3 >>>= 0, n3 = Oe3(n3 >>>= 0), t3 === 2) var o4 = yi, u4 = bi, c4 = wi;\n else o4 = gi, u4 = Ti, c4 = vi;\n De2(e3, { name: n3, Rc: (h4) => {\n var b4 = (l3(), A4)[h4 >>> 2 >>> 0];\n return b4 = o4(h4 + 4, b4 * t3, true), Te2(h4), b4;\n }, Xc: (h4, b4) => {\n if (typeof b4 != \"string\") throw new dt2(`Cannot pass non-string to C++ string type ${n3}`);\n var E3 = c4(b4), I3 = mt2(4 + E3 + t3);\n return (l3(), A4)[I3 >>> 2 >>> 0] = E3 / t3, u4(b4, I3 + 4, E3 + t3), h4 !== null && h4.push(Te2, I3), I3;\n }, Wc: xr3, Yc(h4) {\n Te2(h4);\n } });\n }\n function Si(e3, t3) {\n De2(e3 >>>= 0, { pe: true, name: t3 = Oe3(t3 >>> 0), Rc: () => {\n }, Xc: () => {\n } });\n }\n function Ai(e3) {\n $r3(e3 >>> 0, !f4, 1, !s4, 131072, false), Tn2();\n }\n var Dt3 = (e3) => {\n if (!G4) try {\n if (e3(), !(0 < $4)) try {\n i4 ? $t3() && zr3(S3) : Tr3(S3);\n } catch (t3) {\n t3 instanceof gt3 || t3 == \"unwind\" || y4(0, t3);\n }\n } catch (t3) {\n t3 instanceof gt3 || t3 == \"unwind\" || y4(0, t3);\n }\n }, Ii = !Atomics.waitAsync || globalThis.navigator?.userAgent && 91 > Number((navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./) || [])[2]);\n function Lr3(e3) {\n e3 >>>= 0, Ii || (Atomics.waitAsync((l3(), x3), e3 >>> 2, e3).value.then(Pt2), e3 += 128, Atomics.store((l3(), x3), e3 >>> 2, 1));\n }\n var Pt2 = () => Dt3(() => {\n var e3 = $t3();\n e3 && (Lr3(e3), _o2());\n });\n function xi(e3, t3) {\n (e3 >>>= 0) == t3 >>> 0 ? setTimeout(Pt2) : i4 ? postMessage({ $c: e3, Uc: \"checkMailbox\" }) : (e3 = qe3[e3]) && e3.postMessage({ Uc: \"checkMailbox\" });\n }\n var Or3 = [];\n function Li(e3, t3, n3, o4, u4) {\n for (t3 >>>= 0, u4 >>>= 0, Or3.length = 0, n3 = u4 >>> 3, o4 = u4 + o4 >>> 3; n3 < o4; ) {\n var c4;\n c4 = (l3(), le2)[n3++ >>> 0] ? (l3(), le2)[n3++ >>> 0] : (l3(), ae3)[n3++ >>> 0], Or3.push(c4);\n }\n return (t3 ? Yr3[t3] : df2[e3])(...Or3);\n }\n var Oi = () => {\n $4 = 0;\n };\n function Bi(e3) {\n e3 >>>= 0, i4 ? postMessage({ Uc: \"cleanupThread\", ue: e3 }) : gn2(qe3[e3]);\n }\n function Mi(e3) {\n }\n var _t2 = (e3) => {\n try {\n e3();\n } catch (t3) {\n we2(t3);\n }\n };\n function Ui(e3) {\n var t3 = (...n3) => {\n Rt3.push(e3);\n try {\n return e3(...n3);\n } finally {\n G4 || (Rt3.pop(), Be3 && Fe3 === 1 && Rt3.length === 0 && (Fe3 = 0, $4 += 1, _t2(Aa2), typeof Fibers < \"u\" && Fibers.Oe()));\n }\n };\n return qn3.set(e3, t3), t3;\n }\n var Fe3 = 0, Be3 = null, jn3 = 0, Rt3 = [], Br3 = /* @__PURE__ */ new Map(), Yn3 = /* @__PURE__ */ new Map(), qn3 = /* @__PURE__ */ new Map(), Ci = 0, Mr3 = null, Di = [], Jn3 = (e3) => function(t3) {\n if (!G4) {\n if (Fe3 === 0) {\n var n3 = false, o4 = false;\n t3((u4 = 0) => {\n if (!G4 && (jn3 = u4, n3 = true, o4)) {\n Fe3 = 2, _t2(() => Ia2(Be3)), typeof MainLoop < \"u\" && MainLoop.le && MainLoop.resume(), u4 = false;\n try {\n var c4 = function() {\n var E3 = (l3(), x3)[Be3 + 8 >>> 2 >>> 0];\n return E3 = Yn3.get(E3), E3 = qn3.get(E3), --$4, E3();\n }();\n } catch (E3) {\n c4 = E3, u4 = true;\n }\n var h4 = false;\n if (!Be3) {\n var b4 = Mr3;\n b4 && (Mr3 = null, (u4 ? b4.reject : b4.resolve)(c4), h4 = true);\n }\n if (u4 && !h4) throw c4;\n }\n }), o4 = true, n3 || (Fe3 = 1, Be3 = function() {\n var u4 = mt2(65548), c4 = u4 + 12;\n if ((l3(), A4)[u4 >>> 2 >>> 0] = c4, (l3(), A4)[u4 + 4 >>> 2 >>> 0] = c4 + 65536, c4 = Rt3[0], !Br3.has(c4)) {\n var h4 = Ci++;\n Br3.set(c4, h4), Yn3.set(h4, c4);\n }\n return c4 = Br3.get(c4), (l3(), x3)[u4 + 8 >>> 2 >>> 0] = c4, u4;\n }(), typeof MainLoop < \"u\" && MainLoop.le && MainLoop.pause(), _t2(() => Sa2(Be3)));\n } else Fe3 === 2 ? (Fe3 = 0, _t2(xa2), Te2(Be3), Be3 = null, Di.forEach(Dt3)) : we2(`invalid state: ${Fe3}`);\n return jn3;\n }\n }((t3) => {\n e3().then(t3);\n });\n function Pi(e3) {\n return e3 >>>= 0, Jn3(async () => {\n var t3 = await ge4(e3);\n return Ie4(t3);\n });\n }\n var Ur3 = [], _i = (e3) => {\n var t3 = Ur3.length;\n return Ur3.push(e3), t3;\n }, Ri = (e3, t3) => {\n for (var n3 = Array(e3), o4 = 0; o4 < e3; ++o4) {\n var u4 = o4, c4 = (l3(), A4)[t3 + 4 * o4 >>> 2 >>> 0], h4 = Ar3[c4];\n if (h4 === void 0) throw e3 = `parameter ${o4}`, c4 = bo2(c4), t3 = Oe3(c4), Te2(c4), new dt2(`${e3} has unknown type ${t3}`);\n n3[u4] = h4;\n }\n return n3;\n }, Ni = (e3, t3, n3) => {\n var o4 = [];\n return e3 = e3(o4, n3), o4.length && ((l3(), A4)[t3 >>> 2 >>> 0] = Ie4(o4)), e3;\n }, Wi = {}, Nt3 = (e3) => {\n var t3 = Wi[e3];\n return t3 === void 0 ? Oe3(e3) : t3;\n };\n function ki(e3, t3, n3) {\n var [o4, ...u4] = Ri(e3, t3 >>> 0);\n t3 = o4.Xc.bind(o4);\n var c4 = u4.map((E3) => E3.Wc.bind(E3));\n e3--;\n var h4 = { toValue: ge4 };\n switch (e3 = c4.map((E3, I3) => {\n var N4 = `argFromPtr${I3}`;\n return h4[N4] = E3, `${N4}(args${I3 ? \"+\" + 8 * I3 : \"\"})`;\n }), n3) {\n case 0:\n var b4 = \"toValue(handle)\";\n break;\n case 2:\n b4 = \"new (toValue(handle))\";\n break;\n case 3:\n b4 = \"\";\n break;\n case 1:\n h4.getStringOrSymbol = Nt3, b4 = \"toValue(handle)[getStringOrSymbol(methodName)]\";\n }\n return b4 += `(${e3})`, o4.pe || (h4.toReturnWire = t3, h4.emval_returnValue = Ni, b4 = `return emval_returnValue(toReturnWire, destructorsRef, ${b4})`), b4 = `return function (handle, methodName, destructorsRef, args) {\n ${b4}\n }`, n3 = new Function(Object.keys(h4), b4)(...Object.values(h4)), b4 = `methodCaller<(${u4.map((E3) => E3.name)}) => ${o4.name}>`, _i(Object.defineProperty(n3, \"name\", { value: b4 }));\n }\n function Fi2(e3, t3) {\n return t3 >>>= 0, (e3 = ge4(e3 >>> 0)) == ge4(t3);\n }\n function Gi(e3) {\n return (e3 >>>= 0) ? (e3 = Nt3(e3), Ie4(globalThis[e3])) : Ie4(globalThis);\n }\n function $i(e3) {\n return e3 = Nt3(e3 >>> 0), Ie4(r3[e3]);\n }\n function zi(e3, t3) {\n return t3 >>>= 0, e3 = ge4(e3 >>> 0), t3 = ge4(t3), Ie4(e3[t3]);\n }\n function Vi(e3) {\n 9 < (e3 >>>= 0) && (Je3[e3 + 1] += 1);\n }\n function Xn3(e3, t3, n3, o4, u4) {\n return Ur3[e3 >>> 0](t3 >>> 0, n3 >>> 0, o4 >>> 0, u4 >>> 0);\n }\n function Hi(e3, t3, n3, o4, u4) {\n return Xn3(e3 >>> 0, t3 >>> 0, n3 >>> 0, o4 >>> 0, u4 >>> 0);\n }\n function ji2() {\n return Ie4([]);\n }\n function Yi2(e3) {\n e3 = ge4(e3 >>> 0);\n for (var t3 = Array(e3.length), n3 = 0; n3 < e3.length; n3++) t3[n3] = e3[n3];\n return Ie4(t3);\n }\n function qi2(e3) {\n return Ie4(Nt3(e3 >>> 0));\n }\n function Ji2() {\n return Ie4({});\n }\n function Xi2(e3) {\n for (var t3 = ge4(e3 >>>= 0); t3.length; ) {\n var n3 = t3.pop();\n t3.pop()(n3);\n }\n Ir3(e3);\n }\n function Zi2(e3, t3, n3) {\n t3 >>>= 0, n3 >>>= 0, e3 = ge4(e3 >>> 0), t3 = ge4(t3), n3 = ge4(n3), e3[t3] = n3;\n }\n function Ki2(e3, t3) {\n e3 = pe3(e3), t3 >>>= 0, e3 = new Date(1e3 * e3), (l3(), x3)[t3 >>> 2 >>> 0] = e3.getUTCSeconds(), (l3(), x3)[t3 + 4 >>> 2 >>> 0] = e3.getUTCMinutes(), (l3(), x3)[t3 + 8 >>> 2 >>> 0] = e3.getUTCHours(), (l3(), x3)[t3 + 12 >>> 2 >>> 0] = e3.getUTCDate(), (l3(), x3)[t3 + 16 >>> 2 >>> 0] = e3.getUTCMonth(), (l3(), x3)[t3 + 20 >>> 2 >>> 0] = e3.getUTCFullYear() - 1900, (l3(), x3)[t3 + 24 >>> 2 >>> 0] = e3.getUTCDay(), e3 = (e3.getTime() - Date.UTC(e3.getUTCFullYear(), 0, 1, 0, 0, 0, 0)) / 864e5 | 0, (l3(), x3)[t3 + 28 >>> 2 >>> 0] = e3;\n }\n var Zn3 = (e3) => e3 % 4 == 0 && (e3 % 100 != 0 || e3 % 400 == 0), Kn3 = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335], Qn3 = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n function Qi2(e3, t3) {\n e3 = pe3(e3), t3 >>>= 0, e3 = new Date(1e3 * e3), (l3(), x3)[t3 >>> 2 >>> 0] = e3.getSeconds(), (l3(), x3)[t3 + 4 >>> 2 >>> 0] = e3.getMinutes(), (l3(), x3)[t3 + 8 >>> 2 >>> 0] = e3.getHours(), (l3(), x3)[t3 + 12 >>> 2 >>> 0] = e3.getDate(), (l3(), x3)[t3 + 16 >>> 2 >>> 0] = e3.getMonth(), (l3(), x3)[t3 + 20 >>> 2 >>> 0] = e3.getFullYear() - 1900, (l3(), x3)[t3 + 24 >>> 2 >>> 0] = e3.getDay();\n var n3 = (Zn3(e3.getFullYear()) ? Kn3 : Qn3)[e3.getMonth()] + e3.getDate() - 1 | 0;\n (l3(), x3)[t3 + 28 >>> 2 >>> 0] = n3, (l3(), x3)[t3 + 36 >>> 2 >>> 0] = -60 * e3.getTimezoneOffset(), n3 = new Date(e3.getFullYear(), 6, 1).getTimezoneOffset();\n var o4 = new Date(e3.getFullYear(), 0, 1).getTimezoneOffset();\n e3 = 0 | (n3 != o4 && e3.getTimezoneOffset() == Math.min(o4, n3)), (l3(), x3)[t3 + 32 >>> 2 >>> 0] = e3;\n }\n function eu2(e3) {\n e3 >>>= 0;\n var t3 = new Date((l3(), x3)[e3 + 20 >>> 2 >>> 0] + 1900, (l3(), x3)[e3 + 16 >>> 2 >>> 0], (l3(), x3)[e3 + 12 >>> 2 >>> 0], (l3(), x3)[e3 + 8 >>> 2 >>> 0], (l3(), x3)[e3 + 4 >>> 2 >>> 0], (l3(), x3)[e3 >>> 2 >>> 0], 0), n3 = (l3(), x3)[e3 + 32 >>> 2 >>> 0], o4 = t3.getTimezoneOffset(), u4 = new Date(t3.getFullYear(), 6, 1).getTimezoneOffset(), c4 = new Date(t3.getFullYear(), 0, 1).getTimezoneOffset(), h4 = Math.min(c4, u4);\n return 0 > n3 ? (l3(), x3)[e3 + 32 >>> 2 >>> 0] = +(u4 != c4 && h4 == o4) : 0 < n3 != (h4 == o4) && (u4 = Math.max(c4, u4), t3.setTime(t3.getTime() + 6e4 * ((0 < n3 ? h4 : u4) - o4))), (l3(), x3)[e3 + 24 >>> 2 >>> 0] = t3.getDay(), n3 = (Zn3(t3.getFullYear()) ? Kn3 : Qn3)[t3.getMonth()] + t3.getDate() - 1 | 0, (l3(), x3)[e3 + 28 >>> 2 >>> 0] = n3, (l3(), x3)[e3 >>> 2 >>> 0] = t3.getSeconds(), (l3(), x3)[e3 + 4 >>> 2 >>> 0] = t3.getMinutes(), (l3(), x3)[e3 + 8 >>> 2 >>> 0] = t3.getHours(), (l3(), x3)[e3 + 12 >>> 2 >>> 0] = t3.getDate(), (l3(), x3)[e3 + 16 >>> 2 >>> 0] = t3.getMonth(), (l3(), x3)[e3 + 20 >>> 2 >>> 0] = t3.getYear(), e3 = t3.getTime(), BigInt(isNaN(e3) ? -1 : e3 / 1e3);\n }\n function eo2(e3, t3, n3, o4, u4, c4, h4) {\n return i4 ? H3(16, 1, e3, t3, n3, o4, u4, c4, h4) : -52;\n }\n function to2(e3, t3, n3, o4, u4, c4) {\n if (i4) return H3(17, 1, e3, t3, n3, o4, u4, c4);\n }\n var vt3 = {}, tu2 = () => performance.timeOrigin + performance.now();\n function ro2(e3, t3) {\n if (i4) return H3(18, 1, e3, t3);\n if (vt3[e3] && (clearTimeout(vt3[e3].id), delete vt3[e3]), !t3) return 0;\n var n3 = setTimeout(() => {\n delete vt3[e3], Dt3(() => Po2(e3, performance.timeOrigin + performance.now()));\n }, t3);\n return vt3[e3] = { id: n3, Ne: t3 }, 0;\n }\n function ru2(e3, t3, n3, o4) {\n e3 >>>= 0, t3 >>>= 0, n3 >>>= 0, o4 >>>= 0;\n var u4 = (/* @__PURE__ */ new Date()).getFullYear(), c4 = new Date(u4, 0, 1).getTimezoneOffset();\n u4 = new Date(u4, 6, 1).getTimezoneOffset();\n var h4 = Math.max(c4, u4);\n (l3(), A4)[e3 >>> 2 >>> 0] = 60 * h4, (l3(), x3)[t3 >>> 2 >>> 0] = +(c4 != u4), e3 = (t3 = (b4) => {\n var E3 = Math.abs(b4);\n return `UTC${0 <= b4 ? \"-\" : \"+\"}${String(Math.floor(E3 / 60)).padStart(2, \"0\")}${String(E3 % 60).padStart(2, \"0\")}`;\n })(c4), t3 = t3(u4), u4 < c4 ? (Pe3(e3, n3, 17), Pe3(t3, o4, 17)) : (Pe3(e3, o4, 17), Pe3(t3, n3, 17));\n }\n var nu2 = () => Date.now(), ou2 = 1;\n function au2(e3, t3, n3) {\n if (n3 >>>= 0, !(0 <= e3 && 3 >= e3)) return 28;\n if (e3 === 0) e3 = Date.now();\n else {\n if (!ou2) return 52;\n e3 = performance.timeOrigin + performance.now();\n }\n return e3 = Math.round(1e6 * e3), (l3(), le2)[n3 >>> 3 >>> 0] = BigInt(e3), 0;\n }\n var Cr3 = [], no2 = (e3, t3) => {\n Cr3.length = 0;\n for (var n3; n3 = (l3(), J4)[e3++ >>> 0]; ) {\n var o4 = n3 != 105;\n t3 += (o4 &= n3 != 112) && t3 % 8 ? 4 : 0, Cr3.push(n3 == 112 ? (l3(), A4)[t3 >>> 2 >>> 0] : n3 == 106 ? (l3(), le2)[t3 >>> 3 >>> 0] : n3 == 105 ? (l3(), x3)[t3 >>> 2 >>> 0] : (l3(), ae3)[t3 >>> 3 >>> 0]), t3 += o4 ? 8 : 4;\n }\n return Cr3;\n };\n function su2(e3, t3, n3) {\n return e3 >>>= 0, t3 = no2(t3 >>> 0, n3 >>> 0), Yr3[e3](...t3);\n }\n function iu2(e3, t3, n3) {\n return e3 >>>= 0, t3 = no2(t3 >>> 0, n3 >>> 0), Yr3[e3](...t3);\n }\n var uu2 = () => {\n };\n function fu2(e3, t3) {\n return O3(ct2(e3 >>> 0, t3 >>> 0));\n }\n var cu2 = () => {\n throw $4 += 1, \"unwind\";\n };\n function du2() {\n return 4294901760;\n }\n var lu2 = () => 1, pu2 = () => navigator.hardwareConcurrency, Xe3 = {}, oo2 = (e3) => {\n var t3 = _e2(e3) + 1, n3 = mt2(t3);\n return n3 && Pe3(e3, n3, t3), n3;\n }, Wt3 = (e3) => {\n var t3;\n return (t3 = /\\bwasm-function\\[\\d+\\]:(0x[0-9a-f]+)/.exec(e3)) ? +t3[1] : (t3 = /:(\\d+):\\d+(?:\\)|$)/.exec(e3)) ? 2147483648 | +t3[1] : 0;\n }, ao2 = (e3) => {\n for (var t3 of e3) (e3 = Wt3(t3)) && (Xe3[e3] = t3);\n };\n function mu2() {\n var e3 = Error().stack.toString().split(`\n`);\n return e3[0] == \"Error\" && e3.shift(), ao2(e3), Xe3.Xd = Wt3(e3[3]), Xe3.re = e3, Xe3.Xd;\n }\n function kt2(e3) {\n if (!(e3 = Xe3[e3 >>> 0])) return 0;\n var t3;\n if (t3 = /^\\s+at .*\\.wasm\\.(.*) \\(.*\\)$/.exec(e3)) e3 = t3[1];\n else if (t3 = /^\\s+at (.*) \\(.*\\)$/.exec(e3)) e3 = t3[1];\n else {\n if (!(t3 = /^(.+?)@/.exec(e3))) return 0;\n e3 = t3[1];\n }\n return Te2(kt2.ae ?? 0), kt2.ae = oo2(e3), kt2.ae;\n }\n function hu2(e3) {\n e3 >>>= 0;\n var t3 = (l3(), J4).length;\n if (e3 <= t3 || 4294901760 < e3) return false;\n for (var n3 = 1; 4 >= n3; n3 *= 2) {\n var o4 = t3 * (1 + 0.2 / n3);\n o4 = Math.min(o4, e3 + 100663296);\n e: {\n o4 = (Math.min(4294901760, 65536 * Math.ceil(Math.max(e3, o4) / 65536)) - ke3.buffer.byteLength + 65535) / 65536 | 0;\n try {\n ke3.grow(o4), se4();\n var u4 = 1;\n break e;\n } catch {\n }\n u4 = void 0;\n }\n if (u4) return true;\n }\n return false;\n }\n function yu2(e3, t3, n3) {\n if (e3 >>>= 0, t3 >>>= 0, Xe3.Xd == e3) var o4 = Xe3.re;\n else (o4 = Error().stack.toString().split(`\n`))[0] == \"Error\" && o4.shift(), ao2(o4);\n for (var u4 = 3; o4[u4] && Wt3(o4[u4]) != e3; ) ++u4;\n for (e3 = 0; e3 < n3 && o4[e3 + u4]; ++e3) (l3(), x3)[t3 + 4 * e3 >>> 2 >>> 0] = Wt3(o4[e3 + u4]);\n return e3;\n }\n var Me3 = (e3) => {\n var t3 = _e2(e3) + 1, n3 = zt2(t3);\n return Pe3(e3, n3, t3), n3;\n }, Dr3 = [], me3 = (e3, t3) => {\n Dr3[e3 >>>= 0] = t3;\n }, Ue3 = [], Ft3 = [], lt2 = (e3, t3) => {\n Ft3[e3] = new Promise((n3) => t3.finally(() => n3(e3)));\n }, B3 = (e3) => {\n if (e3) return Dr3[e3 >>> 0];\n }, Gt2 = (e3, t3, n3) => {\n (l3(), A4)[e3 >>> 2 >>> 0] = t3, (l3(), A4)[e3 + 4 >>> 2 >>> 0] = n3;\n }, so2 = (e3) => {\n var t3 = (l3(), A4)[e3 >>> 2 >>> 0];\n return e3 = (l3(), A4)[e3 + 4 >>> 2 >>> 0], ct2(t3, e3);\n }, Re3 = (e3) => {\n var t3 = (l3(), A4)[e3 >>> 2 >>> 0];\n return e3 = (l3(), A4)[e3 + 4 >>> 2 >>> 0], t3 ? ct2(t3, e3) : e3 === 0 ? \"\" : void 0;\n }, bu = (e3) => {\n var t3 = Re3(e3 + 4), n3 = (n3 = (l3(), A4)[e3 + 12 >>> 2 >>> 0]) ? B3(n3) : \"auto\";\n if (e3 += 16) {\n var o4 = B3((l3(), A4)[e3 + 4 >>> 2 >>> 0]), u4 = (l3(), A4)[e3 + 16 >>> 2 >>> 0], c4 = (l3(), A4)[e3 + 20 >>> 2 >>> 0];\n if (u4) {\n for (var h4 = {}, b4 = 0; b4 < u4; ++b4) {\n var E3 = c4 + 24 * b4;\n h4[so2(E3 + 4)] = (l3(), ae3)[E3 + 16 >>> 3 >>> 0];\n }\n u4 = h4;\n } else u4 = void 0;\n e3 = { module: o4, constants: u4, entryPoint: Re3(e3 + 8) };\n } else e3 = void 0;\n return { label: t3, layout: n3, compute: e3 };\n }, io2 = (e3, t3) => {\n function n3(u4, c4) {\n u4 = e3[u4], (l3(), x3)[t3 + c4 >>> 2 >>> 0] = u4;\n }\n function o4(u4, c4) {\n u4 = e3[u4], (l3(), le2)[t3 + c4 >>> 3 >>> 0] = BigInt(u4);\n }\n n3(\"maxTextureDimension1D\", 4), n3(\"maxTextureDimension2D\", 8), n3(\"maxTextureDimension3D\", 12), n3(\"maxTextureArrayLayers\", 16), n3(\"maxBindGroups\", 20), n3(\"maxBindGroupsPlusVertexBuffers\", 24), n3(\"maxBindingsPerBindGroup\", 28), n3(\"maxDynamicUniformBuffersPerPipelineLayout\", 32), n3(\"maxDynamicStorageBuffersPerPipelineLayout\", 36), n3(\"maxSampledTexturesPerShaderStage\", 40), n3(\"maxSamplersPerShaderStage\", 44), n3(\"maxStorageBuffersPerShaderStage\", 48), n3(\"maxStorageTexturesPerShaderStage\", 52), n3(\"maxUniformBuffersPerShaderStage\", 56), n3(\"minUniformBufferOffsetAlignment\", 80), n3(\"minStorageBufferOffsetAlignment\", 84), o4(\"maxUniformBufferBindingSize\", 64), o4(\"maxStorageBufferBindingSize\", 72), n3(\"maxVertexBuffers\", 88), o4(\"maxBufferSize\", 96), n3(\"maxVertexAttributes\", 104), n3(\"maxVertexBufferArrayStride\", 108), n3(\"maxInterStageShaderVariables\", 112), n3(\"maxColorAttachments\", 116), n3(\"maxColorAttachmentBytesPerSample\", 120), n3(\"maxComputeWorkgroupStorageSize\", 124), n3(\"maxComputeInvocationsPerWorkgroup\", 128), n3(\"maxComputeWorkgroupSizeX\", 132), n3(\"maxComputeWorkgroupSizeY\", 136), n3(\"maxComputeWorkgroupSizeZ\", 140), n3(\"maxComputeWorkgroupsPerDimension\", 144), e3.Le !== void 0 && n3(\"maxImmediateSize\", 148);\n }, wu2 = [, \"validation\", \"out-of-memory\", \"internal\"], gu2 = [, \"compatibility\", \"core\"], uo2 = { 1: \"core-features-and-limits\", 2: \"depth-clip-control\", 3: \"depth32float-stencil8\", 4: \"texture-compression-bc\", 5: \"texture-compression-bc-sliced-3d\", 6: \"texture-compression-etc2\", 7: \"texture-compression-astc\", 8: \"texture-compression-astc-sliced-3d\", 9: \"timestamp-query\", 10: \"indirect-first-instance\", 11: \"shader-f16\", 12: \"rg11b10ufloat-renderable\", 13: \"bgra8unorm-storage\", 14: \"float32-filterable\", 15: \"float32-blendable\", 16: \"clip-distances\", 17: \"dual-source-blending\", 18: \"subgroups\", 19: \"texture-formats-tier1\", 20: \"texture-formats-tier2\", 21: \"primitive-index\", 327692: \"chromium-experimental-unorm16-texture-formats\", 327693: \"chromium-experimental-snorm16-texture-formats\", 327732: \"chromium-experimental-multi-draw-indirect\" }, Tu2 = [, \"low-power\", \"high-performance\"], vu2 = [, \"occlusion\", \"timestamp\"], Eu2 = { undefined: 1, unknown: 1, destroyed: 2 };\n function Su2(e3, t3, n3, o4, u4, c4) {\n t3 = pe3(t3), n3 = pe3(n3), o4 >>>= 0, u4 >>>= 0, c4 >>>= 0;\n var h4 = B3(e3 >>> 0);\n if (e3 = {}, c4) {\n var b4 = (l3(), A4)[c4 + 12 >>> 2 >>> 0];\n if (b4) {\n var E3 = (l3(), A4)[c4 + 16 >>> 2 >>> 0];\n e3.requiredFeatures = Array.from((l3(), A4).subarray(E3 >>> 2 >>> 0, E3 + 4 * b4 >>> 2 >>> 0), (L3) => uo2[L3]);\n }\n var I3 = (l3(), A4)[c4 + 20 >>> 2 >>> 0];\n if (I3) {\n let L3 = function(ve2, ie4, Ze2 = false) {\n ie4 = I3 + ie4, (ie4 = (l3(), A4)[ie4 >>> 2 >>> 0]) == 4294967295 || Ze2 && ie4 == 0 || (N4[ve2] = ie4);\n }, fe4 = function(ve2, ie4) {\n ie4 = I3 + ie4;\n var Ze2 = (l3(), A4)[ie4 >>> 2 >>> 0], Zf2 = (l3(), A4)[ie4 + 4 >>> 2 >>> 0];\n Ze2 == 4294967295 && Zf2 == 4294967295 || (N4[ve2] = 4294967296 * (l3(), A4)[ie4 + 4 >>> 2 >>> 0] + (l3(), A4)[ie4 >>> 2 >>> 0]);\n };\n var W3 = L3, X3 = fe4, N4 = {};\n L3(\"maxTextureDimension1D\", 4), L3(\"maxTextureDimension2D\", 8), L3(\"maxTextureDimension3D\", 12), L3(\"maxTextureArrayLayers\", 16), L3(\"maxBindGroups\", 20), L3(\"maxBindGroupsPlusVertexBuffers\", 24), L3(\"maxDynamicUniformBuffersPerPipelineLayout\", 32), L3(\"maxDynamicStorageBuffersPerPipelineLayout\", 36), L3(\"maxSampledTexturesPerShaderStage\", 40), L3(\"maxSamplersPerShaderStage\", 44), L3(\"maxStorageBuffersPerShaderStage\", 48), L3(\"maxStorageTexturesPerShaderStage\", 52), L3(\"maxUniformBuffersPerShaderStage\", 56), L3(\"minUniformBufferOffsetAlignment\", 80), L3(\"minStorageBufferOffsetAlignment\", 84), fe4(\"maxUniformBufferBindingSize\", 64), fe4(\"maxStorageBufferBindingSize\", 72), L3(\"maxVertexBuffers\", 88), fe4(\"maxBufferSize\", 96), L3(\"maxVertexAttributes\", 104), L3(\"maxVertexBufferArrayStride\", 108), L3(\"maxInterStageShaderVariables\", 112),