UNPKG

woolball-client

Version:

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

1,017 lines (1,016 loc) 13.2 MB
"use strict"; (() => { var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __require = /* @__PURE__ */ ((x3) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x3, { get: (a3, b4) => (typeof require !== "undefined" ? require : a3)[b4] }) : x3)(function(x3) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x3 + '" is not supported'); }); var __esm = (fn3, res) => function __init() { return fn3 && (res = (0, fn3[__getOwnPropNames(fn3)[0]])(fn3 = 0)), res; }; var __commonJS = (cb, mod) => function __require2() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to2, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to2, key) && key !== except) __defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to2; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); // node_modules/onnxruntime-web/dist/ort.webgpu.bundle.min.mjs var ort_webgpu_bundle_min_exports = {}; __export(ort_webgpu_bundle_min_exports, { InferenceSession: () => nc, TRACE: () => qa, TRACE_EVENT_BEGIN: () => Ge, TRACE_EVENT_END: () => $e, TRACE_FUNC_BEGIN: () => tt, TRACE_FUNC_END: () => rt, Tensor: () => xe, default: () => Ol, env: () => ee, registerBackend: () => Qe }); async function is(a3 = {}) { var r3 = a3, s4 = !!globalThis.window, f4 = !!globalThis.WorkerGlobalScope, i4 = f4 && self.name?.startsWith("em-pthread"); r3.mountExternalData = (e3, t3) => { e3.startsWith("./") && (e3 = e3.substring(2)), (r3.Zc || (r3.Zc = /* @__PURE__ */ new Map())).set(e3, t3); }, r3.unmountExternalData = () => { delete r3.Zc; }, globalThis.SharedArrayBuffer ?? new WebAssembly.Memory({ initial: 0, maximum: 0, Me: true }).buffer.constructor; let d4 = () => { let e3 = (t3) => (...n3) => { let o4 = Be3; return n3 = t3(...n3), Be3 != o4 ? new Promise((u4, c4) => { Mr3 = { resolve: u4, reject: c4 }; }) : n3; }; (() => { for (let t3 of ["_OrtAppendExecutionProvider", "_OrtCreateSession", "_OrtRun", "_OrtRunWithBinding", "_OrtBindInput"]) r3[t3] = e3(r3[t3]); })(), typeof jsepRunAsync < "u" && (r3._OrtRun = jsepRunAsync(r3._OrtRun), r3._OrtRunWithBinding = jsepRunAsync(r3._OrtRunWithBinding)), d4 = void 0; }; r3.asyncInit = () => { d4?.(); }; var p4, m4, y4 = (e3, t3) => { throw t3; }, w4 = import_meta.url, T3 = ""; if (s4 || f4) { try { T3 = new URL(".", w4).href; } catch { } f4 && (m4 = (e3) => { var t3 = new XMLHttpRequest(); return t3.open("GET", e3, false), t3.responseType = "arraybuffer", t3.send(null), new Uint8Array(t3.response); }), p4 = async (e3) => { if (oe3(e3)) return new Promise((n3, o4) => { var u4 = new XMLHttpRequest(); u4.open("GET", e3, true), u4.responseType = "arraybuffer", u4.onload = () => { u4.status == 200 || u4.status == 0 && u4.response ? n3(u4.response) : o4(u4.status); }, u4.onerror = o4, u4.send(null); }); var t3 = await fetch(e3, { credentials: "same-origin" }); if (t3.ok) return t3.arrayBuffer(); throw Error(t3.status + " : " + t3.url); }; } 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://"); function l3() { ke3.buffer != Z3.buffer && se4(); } if (i4) { let e3 = function(t3) { try { var n3 = t3.data, o4 = n3.Uc; if (o4 === "load") { let u4 = []; self.onmessage = (c4) => u4.push(c4), j3 = () => { postMessage({ Uc: "loaded" }); for (let c4 of u4) e3(c4); self.onmessage = e3; }; for (let c4 of n3.ne) r3[c4] && !r3[c4].proxy || (r3[c4] = (...h4) => { postMessage({ Uc: "callHandler", me: c4, args: h4 }); }, c4 == "print" && (Y3 = r3[c4]), c4 == "printErr" && (O3 = r3[c4])); ke3 = n3.we, se4(), v4 = n3.xe, wt2(), Vt3(); } else if (o4 === "run") { (function(u4) { var c4 = (l3(), A4)[u4 + 52 >>> 2 >>> 0]; u4 = (l3(), A4)[u4 + 56 >>> 2 >>> 0], Ro(c4, c4 - u4), C3(c4); })(n3.Sc), $r3(n3.Sc, 0, 0, 1, 0, 0), Tn2(), Lr3(n3.Sc), ne4 || (wo2(), ne4 = true); try { Js2(n3.te, n3.ad); } catch (u4) { if (u4 != "unwind") throw u4; } } else n3.target !== "setimmediate" && (o4 === "checkMailbox" ? ne4 && Pt2() : o4 && (O3(`worker: received unknown command ${o4}`), O3(n3))); } catch (u4) { throw Uo(), u4; } }; var Mc = e3, ne4 = false; self.onunhandledrejection = (t3) => { throw t3.reason || t3; }, self.onmessage = e3; } var Z3, J4, Ce3, K3, x3, A4, _4, ae3, le2, q3, ye2, re3 = false; function se4() { var e3 = ke3.buffer; 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); } function wr3() { re3 = true, i4 ? j3() : Ne3.dc(); } function we2(e3) { throw O3(e3 = "Aborted(" + e3 + ")"), G4 = true, e3 = new WebAssembly.RuntimeError(e3 + ". Build with -sASSERTIONS for more info."), R3?.(e3), e3; } function je3() { 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 } }; } async function wt2() { function e3(o4, u4) { var c4 = Ne3 = o4.exports; o4 = {}; for (let [h4, b4] of Object.entries(c4)) typeof b4 == "function" ? (c4 = Ui(b4), o4[h4] = c4) : o4[h4] = b4; return Ne3 = o4, Ne3 = function() { var h4 = Ne3, b4 = (I3) => (N4) => I3(N4) >>> 0, E3 = (I3) => () => I3() >>> 0; 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; }(), 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; } var t3, n3 = je3(); return r3.instantiateWasm ? new Promise((o4) => { r3.instantiateWasm(n3, (u4, c4) => { o4(e3(u4, c4)); }); }) : 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) { var u4 = ye2; if (!g4 && !oe3(u4)) try { var c4 = fetch(u4, { credentials: "same-origin" }); return await WebAssembly.instantiateStreaming(c4, o4); } catch (h4) { O3(`wasm streaming compile failed: ${h4}`), O3("falling back to ArrayBuffer instantiation"); } return async function(h4, b4) { try { var E3 = await async function(I3) { if (!g4) try { var N4 = await p4(I3); return new Uint8Array(N4); } catch { } if (I3 == ye2 && g4) I3 = new Uint8Array(g4); else { if (!m4) throw "both async and sync fetching of the wasm failed"; I3 = m4(I3); } return I3; }(h4); return await WebAssembly.instantiate(E3, b4); } catch (I3) { O3(`failed to asynchronously prepare wasm: ${I3}`), we2(I3); } }(u4, o4); }(n3), e3(t3.instance, t3.module)); } class gt3 { constructor(t3) { __publicField(this, "name", "ExitStatus"); this.message = `Program terminated with exit(${t3})`, this.status = t3; } } var Se3 = (e3) => { e3.terminate(), e3.onmessage = () => { }; }, Ae4 = [], Le3 = 0, te3 = null, Q4 = (e3) => { We3.length == 0 && (En2(), vn2(We3[0])); var t3 = We3.pop(); if (!t3) return 6; Tt3.push(t3), qe3[e3.Sc] = t3, t3.Sc = e3.Sc; var n3 = { Uc: "run", te: e3.se, ad: e3.ad, Sc: e3.Sc }; return t3.postMessage(n3, e3.he), 0; }, $4 = 0, H3 = (e3, t3, ...n3) => { var o4, u4 = 16 * n3.length, c4 = D3(), h4 = zt2(u4), b4 = h4 >>> 3; 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); return e3 = Co2(e3, 0, u4, h4, t3), C3(c4), e3; }; function Ye3(e3) { if (i4) return H3(0, 1, e3); if (S3 = e3, !(0 < $4)) { for (var t3 of Tt3) Se3(t3); for (t3 of We3) Se3(t3); We3 = [], Tt3 = [], qe3 = {}, G4 = true; } y4(0, new gt3(e3)); } function gr3(e3) { if (i4) return H3(1, 0, e3); Tr3(e3); } var Tr3 = (e3) => { if (S3 = e3, i4) throw gr3(e3), "unwind"; Ye3(e3); }, We3 = [], Tt3 = [], wn2 = [], qe3 = {}, gn2 = (e3) => { var t3 = e3.Sc; delete qe3[t3], We3.push(e3), Tt3.splice(Tt3.indexOf(e3), 1), e3.Sc = 0, Do(t3); }; function Tn2() { wn2.forEach((e3) => e3()); } var vn2 = (e3) => new Promise((t3) => { e3.onmessage = (u4) => { var c4 = u4.data; if (u4 = c4.Uc, c4.$c && c4.$c != $t3()) { var h4 = qe3[c4.$c]; 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!`); } else u4 === "checkMailbox" ? Pt2() : u4 === "spawnThread" ? Q4(c4) : u4 === "cleanupThread" ? Dt3(() => { gn2(qe3[c4.ue]); }) : 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}`); }, e3.onerror = (u4) => { throw O3(`worker sent an error! ${u4.filename}:${u4.lineno}: ${u4.message}`), u4; }; var n3, o4 = []; for (n3 of []) r3.propertyIsEnumerable(n3) && o4.push(n3); e3.postMessage({ Uc: "load", ne: o4, we: ke3, xe: v4 }); }); function En2() { var e3 = new Worker((() => { let t3 = URL; return import_meta.url > "file:" && import_meta.url < "file;" ? new t3("ort.webgpu.bundle.min.mjs", import_meta.url) : new URL(import_meta.url); })(), { type: "module", workerData: "em-pthread", name: "em-pthread" }); We3.push(e3); } var ke3, Js2 = (e3, t3) => { $4 = 0, e3 = jr3(e3, t3), 0 < $4 ? S3 = e3 : zr3(e3); }, Ut3 = [], Ct3 = 0, pe3 = (e3) => -9007199254740992 > e3 || 9007199254740992 < e3 ? NaN : Number(e3); function Xs2(e3) { var t3 = new vr3(e3 >>>= 0); return (l3(), Z3)[t3.Vc + 12 >>> 0] == 0 && (Sn2(t3, true), Ct3--), An2(t3, false), Ut3.push(t3), ko2(e3); } var ft2 = 0, Zs2 = () => { k5(0, 0); var e3 = Ut3.pop(); No(e3.nd), ft2 = 0; }; function Sn2(e3, t3) { t3 = t3 ? 1 : 0, (l3(), Z3)[e3.Vc + 12 >>> 0] = t3; } function An2(e3, t3) { t3 = t3 ? 1 : 0, (l3(), Z3)[e3.Vc + 13 >>> 0] = t3; } class vr3 { constructor(t3) { this.nd = t3, this.Vc = t3 - 24; } } var Er3 = (e3) => { var t3 = ft2; if (!t3) return St2(0), 0; var n3 = new vr3(t3); (l3(), A4)[n3.Vc + 16 >>> 2 >>> 0] = t3; var o4 = (l3(), A4)[n3.Vc + 4 >>> 2 >>> 0]; if (!o4) return St2(0), t3; for (var u4 of e3) { if (u4 === 0 || u4 === o4) break; if (Wo(u4, o4, n3.Vc + 16)) return St2(u4), t3; } return St2(o4), t3; }; function Ks2() { return Er3([]); } function Qs2(e3) { return Er3([e3 >>> 0]); } function ei2(e3, t3, n3, o4) { return Er3([e3 >>> 0, t3 >>> 0, n3 >>> 0, o4 >>> 0]); } var ti2 = () => { var e3 = Ut3.pop(); e3 || we2("no exception to throw"); var t3 = e3.nd; throw (l3(), Z3)[e3.Vc + 13 >>> 0] == 0 && (Ut3.push(e3), An2(e3, true), Sn2(e3, false), Ct3++), Hr3(t3), ft2 = t3; }; function ri(e3, t3, n3) { var o4 = new vr3(e3 >>>= 0); 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; } var ni2 = () => Ct3; function In2(e3, t3, n3, o4) { return i4 ? H3(2, 1, e3, t3, n3, o4) : xn2(e3, t3, n3, o4); } function xn2(e3, t3, n3, o4) { if (e3 >>>= 0, t3 >>>= 0, n3 >>>= 0, o4 >>>= 0, !globalThis.SharedArrayBuffer) return 6; var u4 = []; 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)); } function oi(e3) { throw ft2 || (ft2 = e3 >>> 0), ft2; } var Ln3 = globalThis.TextDecoder && new TextDecoder(), On3 = (e3, t3, n3, o4) => { if (n3 = t3 + n3, o4) return n3; for (; e3[t3] && !(t3 >= n3); ) ++t3; return t3; }, Bn3 = (e3, t3 = 0, n3, o4) => { 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)); for (o4 = ""; t3 < n3; ) { var u4 = e3[t3++]; if (128 & u4) { var c4 = 63 & e3[t3++]; if ((224 & u4) == 192) o4 += String.fromCharCode((31 & u4) << 6 | c4); else { var h4 = 63 & e3[t3++]; 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)); } } else o4 += String.fromCharCode(u4); } return o4; }, ct2 = (e3, t3, n3) => (e3 >>>= 0) ? Bn3((l3(), J4), e3, t3, n3) : ""; function Mn3(e3, t3, n3) { return i4 ? H3(3, 1, e3, t3, n3) : 0; } function Un3(e3, t3) { if (i4) return H3(4, 1, e3, t3); } function Cn2(e3, t3) { if (i4) return H3(5, 1, e3, t3); } function Dn3(e3, t3, n3) { if (i4) return H3(6, 1, e3, t3, n3); } function Pn2(e3, t3, n3) { return i4 ? H3(7, 1, e3, t3, n3) : 0; } function _n2(e3, t3) { if (i4) return H3(8, 1, e3, t3); } function Rn3(e3, t3, n3) { if (i4) return H3(9, 1, e3, t3, n3); } function Nn3(e3, t3, n3, o4) { if (i4) return H3(10, 1, e3, t3, n3, o4); } function Wn3(e3, t3, n3, o4) { if (i4) return H3(11, 1, e3, t3, n3, o4); } function kn2(e3, t3, n3, o4) { if (i4) return H3(12, 1, e3, t3, n3, o4); } function Fn3(e3) { if (i4) return H3(13, 1, e3); } function Gn3(e3, t3) { if (i4) return H3(14, 1, e3, t3); } function $n2(e3, t3, n3) { if (i4) return H3(15, 1, e3, t3, n3); } var ai = () => we2(""), Oe3 = (e3) => { e3 >>>= 0; for (var t3 = ""; ; ) { var n3 = (l3(), J4)[e3++ >>> 0]; if (!n3) return t3; t3 += String.fromCharCode(n3); } }, Sr3 = {}, Ar3 = {}, si = {}, dt2 = class extends Error { constructor(e3) { super(e3), this.name = "BindingError"; } }; function De2(e3, t3, n3 = {}) { return function(o4, u4, c4 = {}) { var h4 = u4.name; if (!o4) throw new dt2(`type "${h4}" must have a positive integer typeid pointer`); if (Ar3.hasOwnProperty(o4)) { if (c4.oe) return; throw new dt2(`Cannot register type '${h4}' twice`); } Ar3[o4] = u4, delete si[o4], Sr3.hasOwnProperty(o4) && (u4 = Sr3[o4], delete Sr3[o4], u4.forEach((b4) => b4())); }(e3, t3, n3); } var zn3 = (e3, t3, n3) => { switch (t3) { case 1: return n3 ? (o4) => (l3(), Z3)[o4 >>> 0] : (o4) => (l3(), J4)[o4 >>> 0]; case 2: return n3 ? (o4) => (l3(), Ce3)[o4 >>> 1 >>> 0] : (o4) => (l3(), K3)[o4 >>> 1 >>> 0]; case 4: return n3 ? (o4) => (l3(), x3)[o4 >>> 2 >>> 0] : (o4) => (l3(), A4)[o4 >>> 2 >>> 0]; case 8: return n3 ? (o4) => (l3(), le2)[o4 >>> 3 >>> 0] : (o4) => (l3(), q3)[o4 >>> 3 >>> 0]; default: throw new TypeError(`invalid integer width (${t3}): ${e3}`); } }; function ii(e3, t3, n3, o4, u4) { e3 >>>= 0, n3 >>>= 0, t3 = Oe3(t3 >>> 0); let c4 = (h4) => h4; if (o4 = o4 === 0n) { let h4 = 8 * n3; c4 = (b4) => BigInt.asUintN(h4, b4), u4 = c4(u4); } De2(e3, { name: t3, Rc: c4, Xc: (h4, b4) => (typeof b4 == "number" && (b4 = BigInt(b4)), b4), Wc: zn3(t3, n3, !o4), Yc: null }); } function ui(e3, t3, n3, o4) { De2(e3 >>>= 0, { name: t3 = Oe3(t3 >>> 0), Rc: function(u4) { return !!u4; }, Xc: function(u4, c4) { return c4 ? n3 : o4; }, Wc: function(u4) { return this.Rc((l3(), J4)[u4 >>> 0]); }, Yc: null }); } var Vn3 = [], Je3 = [0, 1, , 1, null, 1, true, 1, false, 1]; function Ir3(e3) { 9 < (e3 >>>= 0) && --Je3[e3 + 1] == 0 && (Je3[e3] = void 0, Vn3.push(e3)); } var ge4 = (e3) => { if (!e3) throw new dt2(`Cannot use deleted val. handle = ${e3}`); return Je3[e3]; }, Ie4 = (e3) => { switch (e3) { case void 0: return 2; case null: return 4; case true: return 6; case false: return 8; default: let t3 = Vn3.pop() || Je3.length; return Je3[t3] = e3, Je3[t3 + 1] = 1, t3; } }; function xr3(e3) { return this.Rc((l3(), A4)[e3 >>> 2 >>> 0]); } var fi = { name: "emscripten::val", Rc: (e3) => { var t3 = ge4(e3); return Ir3(e3), t3; }, Xc: (e3, t3) => Ie4(t3), Wc: xr3, Yc: null }; function ci(e3) { return De2(e3 >>> 0, fi); } var di = (e3, t3) => { switch (t3) { case 4: return function(n3) { return this.Rc((l3(), _4)[n3 >>> 2 >>> 0]); }; case 8: return function(n3) { return this.Rc((l3(), ae3)[n3 >>> 3 >>> 0]); }; default: throw new TypeError(`invalid float width (${t3}): ${e3}`); } }; function li(e3, t3, n3) { n3 >>>= 0, De2(e3 >>>= 0, { name: t3 = Oe3(t3 >>> 0), Rc: (o4) => o4, Xc: (o4, u4) => u4, Wc: di(t3, n3), Yc: null }); } function pi(e3, t3, n3, o4, u4) { e3 >>>= 0, n3 >>>= 0, t3 = Oe3(t3 >>> 0); let c4 = (b4) => b4; if (o4 === 0) { var h4 = 32 - 8 * n3; c4 = (b4) => b4 << h4 >>> h4, u4 = c4(u4); } De2(e3, { name: t3, Rc: c4, Xc: (b4, E3) => E3, Wc: zn3(t3, n3, o4 !== 0), Yc: null }); } function mi(e3, t3, n3) { function o4(c4) { var h4 = (l3(), A4)[c4 >>> 2 >>> 0]; return c4 = (l3(), A4)[c4 + 4 >>> 2 >>> 0], new u4((l3(), Z3).buffer, c4, h4); } var u4 = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array][t3]; De2(e3 >>>= 0, { name: n3 = Oe3(n3 >>> 0), Rc: o4, Wc: o4 }, { oe: true }); } var Pe3 = (e3, t3, n3) => { var o4 = (l3(), J4); if (t3 >>>= 0, 0 < n3) { var u4 = t3; n3 = t3 + n3 - 1; for (var c4 = 0; c4 < e3.length; ++c4) { var h4 = e3.codePointAt(c4); if (127 >= h4) { if (t3 >= n3) break; o4[t3++ >>> 0] = h4; } else if (2047 >= h4) { if (t3 + 1 >= n3) break; o4[t3++ >>> 0] = 192 | h4 >> 6, o4[t3++ >>> 0] = 128 | 63 & h4; } else if (65535 >= h4) { if (t3 + 2 >= n3) break; o4[t3++ >>> 0] = 224 | h4 >> 12, o4[t3++ >>> 0] = 128 | h4 >> 6 & 63, o4[t3++ >>> 0] = 128 | 63 & h4; } else { if (t3 + 3 >= n3) break; 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++; } } o4[t3 >>> 0] = 0, e3 = t3 - u4; } else e3 = 0; return e3; }, _e2 = (e3) => { for (var t3 = 0, n3 = 0; n3 < e3.length; ++n3) { var o4 = e3.charCodeAt(n3); 127 >= o4 ? t3++ : 2047 >= o4 ? t3 += 2 : 55296 <= o4 && 57343 >= o4 ? (t3 += 4, ++n3) : t3 += 3; } return t3; }; function hi(e3, t3) { De2(e3 >>>= 0, { name: t3 = Oe3(t3 >>> 0), Rc(n3) { var o4 = (l3(), A4)[n3 >>> 2 >>> 0]; return o4 = ct2(n3 + 4, o4, true), Te2(n3), o4; }, Xc(n3, o4) { o4 instanceof ArrayBuffer && (o4 = new Uint8Array(o4)); var u4 = typeof o4 == "string"; if (!(u4 || ArrayBuffer.isView(o4) && o4.BYTES_PER_ELEMENT == 1)) throw new dt2("Cannot pass non-string to std::string"); var c4 = u4 ? _e2(o4) : o4.length, h4 = mt2(4 + c4 + 1), b4 = h4 + 4; 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; }, Wc: xr3, Yc(n3) { Te2(n3); } }); } var Hn3 = globalThis.TextDecoder ? new TextDecoder("utf-16le") : void 0, yi = (e3, t3, n3) => { if (e3 >>>= 1, 16 < (t3 = On3((l3(), K3), e3, t3 / 2, n3)) - e3 && Hn3) return Hn3.decode((l3(), K3).slice(e3, t3)); for (n3 = ""; e3 < t3; ++e3) { var o4 = (l3(), K3)[e3 >>> 0]; n3 += String.fromCharCode(o4); } return n3; }, bi = (e3, t3, n3) => { if (n3 ?? (n3 = 2147483647), 2 > n3) return 0; var o4 = t3; n3 = (n3 -= 2) < 2 * e3.length ? n3 / 2 : e3.length; for (var u4 = 0; u4 < n3; ++u4) { var c4 = e3.charCodeAt(u4); (l3(), Ce3)[t3 >>> 1 >>> 0] = c4, t3 += 2; } return (l3(), Ce3)[t3 >>> 1 >>> 0] = 0, t3 - o4; }, wi = (e3) => 2 * e3.length, gi = (e3, t3, n3) => { var o4 = ""; e3 >>>= 2; for (var u4 = 0; !(u4 >= t3 / 4); u4++) { var c4 = (l3(), A4)[e3 + u4 >>> 0]; if (!c4 && !n3) break; o4 += String.fromCodePoint(c4); } return o4; }, Ti = (e3, t3, n3) => { if (t3 >>>= 0, n3 ?? (n3 = 2147483647), 4 > n3) return 0; var o4 = t3; n3 = o4 + n3 - 4; for (var u4 = 0; u4 < e3.length; ++u4) { var c4 = e3.codePointAt(u4); if (65535 < c4 && u4++, (l3(), x3)[t3 >>> 2 >>> 0] = c4, (t3 += 4) + 4 > n3) break; } return (l3(), x3)[t3 >>> 2 >>> 0] = 0, t3 - o4; }, vi = (e3) => { for (var t3 = 0, n3 = 0; n3 < e3.length; ++n3) 65535 < e3.codePointAt(n3) && n3++, t3 += 4; return t3; }; function Ei(e3, t3, n3) { if (e3 >>>= 0, t3 >>>= 0, n3 = Oe3(n3 >>>= 0), t3 === 2) var o4 = yi, u4 = bi, c4 = wi; else o4 = gi, u4 = Ti, c4 = vi; De2(e3, { name: n3, Rc: (h4) => { var b4 = (l3(), A4)[h4 >>> 2 >>> 0]; return b4 = o4(h4 + 4, b4 * t3, true), Te2(h4), b4; }, Xc: (h4, b4) => { if (typeof b4 != "string") throw new dt2(`Cannot pass non-string to C++ string type ${n3}`); var E3 = c4(b4), I3 = mt2(4 + E3 + t3); return (l3(), A4)[I3 >>> 2 >>> 0] = E3 / t3, u4(b4, I3 + 4, E3 + t3), h4 !== null && h4.push(Te2, I3), I3; }, Wc: xr3, Yc(h4) { Te2(h4); } }); } function Si(e3, t3) { De2(e3 >>>= 0, { pe: true, name: t3 = Oe3(t3 >>> 0), Rc: () => { }, Xc: () => { } }); } function Ai(e3) { $r3(e3 >>> 0, !f4, 1, !s4, 131072, false), Tn2(); } var Dt3 = (e3) => { if (!G4) try { if (e3(), !(0 < $4)) try { i4 ? $t3() && zr3(S3) : Tr3(S3); } catch (t3) { t3 instanceof gt3 || t3 == "unwind" || y4(0, t3); } } catch (t3) { t3 instanceof gt3 || t3 == "unwind" || y4(0, t3); } }, Ii = !Atomics.waitAsync || globalThis.navigator?.userAgent && 91 > Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./) || [])[2]); function Lr3(e3) { e3 >>>= 0, Ii || (Atomics.waitAsync((l3(), x3), e3 >>> 2, e3).value.then(Pt2), e3 += 128, Atomics.store((l3(), x3), e3 >>> 2, 1)); } var Pt2 = () => Dt3(() => { var e3 = $t3(); e3 && (Lr3(e3), _o2()); }); function xi(e3, t3) { (e3 >>>= 0) == t3 >>> 0 ? setTimeout(Pt2) : i4 ? postMessage({ $c: e3, Uc: "checkMailbox" }) : (e3 = qe3[e3]) && e3.postMessage({ Uc: "checkMailbox" }); } var Or3 = []; function Li(e3, t3, n3, o4, u4) { for (t3 >>>= 0, u4 >>>= 0, Or3.length = 0, n3 = u4 >>> 3, o4 = u4 + o4 >>> 3; n3 < o4; ) { var c4; c4 = (l3(), le2)[n3++ >>> 0] ? (l3(), le2)[n3++ >>> 0] : (l3(), ae3)[n3++ >>> 0], Or3.push(c4); } return (t3 ? Yr3[t3] : df2[e3])(...Or3); } var Oi = () => { $4 = 0; }; function Bi(e3) { e3 >>>= 0, i4 ? postMessage({ Uc: "cleanupThread", ue: e3 }) : gn2(qe3[e3]); } function Mi(e3) { } var _t2 = (e3) => { try { e3(); } catch (t3) { we2(t3); } }; function Ui(e3) { var t3 = (...n3) => { Rt3.push(e3); try { return e3(...n3); } finally { G4 || (Rt3.pop(), Be3 && Fe3 === 1 && Rt3.length === 0 && (Fe3 = 0, $4 += 1, _t2(Aa2), typeof Fibers < "u" && Fibers.Oe())); } }; return qn3.set(e3, t3), t3; } 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) { if (!G4) { if (Fe3 === 0) { var n3 = false, o4 = false; t3((u4 = 0) => { if (!G4 && (jn3 = u4, n3 = true, o4)) { Fe3 = 2, _t2(() => Ia2(Be3)), typeof MainLoop < "u" && MainLoop.le && MainLoop.resume(), u4 = false; try { var c4 = function() { var E3 = (l3(), x3)[Be3 + 8 >>> 2 >>> 0]; return E3 = Yn3.get(E3), E3 = qn3.get(E3), --$4, E3(); }(); } catch (E3) { c4 = E3, u4 = true; } var h4 = false; if (!Be3) { var b4 = Mr3; b4 && (Mr3 = null, (u4 ? b4.reject : b4.resolve)(c4), h4 = true); } if (u4 && !h4) throw c4; } }), o4 = true, n3 || (Fe3 = 1, Be3 = function() { var u4 = mt2(65548), c4 = u4 + 12; if ((l3(), A4)[u4 >>> 2 >>> 0] = c4, (l3(), A4)[u4 + 4 >>> 2 >>> 0] = c4 + 65536, c4 = Rt3[0], !Br3.has(c4)) { var h4 = Ci++; Br3.set(c4, h4), Yn3.set(h4, c4); } return c4 = Br3.get(c4), (l3(), x3)[u4 + 8 >>> 2 >>> 0] = c4, u4; }(), typeof MainLoop < "u" && MainLoop.le && MainLoop.pause(), _t2(() => Sa2(Be3))); } else Fe3 === 2 ? (Fe3 = 0, _t2(xa2), Te2(Be3), Be3 = null, Di.forEach(Dt3)) : we2(`invalid state: ${Fe3}`); return jn3; } }((t3) => { e3().then(t3); }); function Pi(e3) { return e3 >>>= 0, Jn3(async () => { var t3 = await ge4(e3); return Ie4(t3); }); } var Ur3 = [], _i = (e3) => { var t3 = Ur3.length; return Ur3.push(e3), t3; }, Ri = (e3, t3) => { for (var n3 = Array(e3), o4 = 0; o4 < e3; ++o4) { var u4 = o4, c4 = (l3(), A4)[t3 + 4 * o4 >>> 2 >>> 0], h4 = Ar3[c4]; if (h4 === void 0) throw e3 = `parameter ${o4}`, c4 = bo2(c4), t3 = Oe3(c4), Te2(c4), new dt2(`${e3} has unknown type ${t3}`); n3[u4] = h4; } return n3; }, Ni = (e3, t3, n3) => { var o4 = []; return e3 = e3(o4, n3), o4.length && ((l3(), A4)[t3 >>> 2 >>> 0] = Ie4(o4)), e3; }, Wi = {}, Nt3 = (e3) => { var t3 = Wi[e3]; return t3 === void 0 ? Oe3(e3) : t3; }; function ki(e3, t3, n3) { var [o4, ...u4] = Ri(e3, t3 >>> 0); t3 = o4.Xc.bind(o4); var c4 = u4.map((E3) => E3.Wc.bind(E3)); e3--; var h4 = { toValue: ge4 }; switch (e3 = c4.map((E3, I3) => { var N4 = `argFromPtr${I3}`; return h4[N4] = E3, `${N4}(args${I3 ? "+" + 8 * I3 : ""})`; }), n3) { case 0: var b4 = "toValue(handle)"; break; case 2: b4 = "new (toValue(handle))"; break; case 3: b4 = ""; break; case 1: h4.getStringOrSymbol = Nt3, b4 = "toValue(handle)[getStringOrSymbol(methodName)]"; } 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) { ${b4} }`, 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 })); } function Fi2(e3, t3) { return t3 >>>= 0, (e3 = ge4(e3 >>> 0)) == ge4(t3); } function Gi(e3) { return (e3 >>>= 0) ? (e3 = Nt3(e3), Ie4(globalThis[e3])) : Ie4(globalThis); } function $i(e3) { return e3 = Nt3(e3 >>> 0), Ie4(r3[e3]); } function zi(e3, t3) { return t3 >>>= 0, e3 = ge4(e3 >>> 0), t3 = ge4(t3), Ie4(e3[t3]); } function Vi(e3) { 9 < (e3 >>>= 0) && (Je3[e3 + 1] += 1); } function Xn3(e3, t3, n3, o4, u4) { return Ur3[e3 >>> 0](t3 >>> 0, n3 >>> 0, o4 >>> 0, u4 >>> 0); } function Hi(e3, t3, n3, o4, u4) { return Xn3(e3 >>> 0, t3 >>> 0, n3 >>> 0, o4 >>> 0, u4 >>> 0); } function ji2() { return Ie4([]); } function Yi2(e3) { e3 = ge4(e3 >>> 0); for (var t3 = Array(e3.length), n3 = 0; n3 < e3.length; n3++) t3[n3] = e3[n3]; return Ie4(t3); } function qi2(e3) { return Ie4(Nt3(e3 >>> 0)); } function Ji2() { return Ie4({}); } function Xi2(e3) { for (var t3 = ge4(e3 >>>= 0); t3.length; ) { var n3 = t3.pop(); t3.pop()(n3); } Ir3(e3); } function Zi2(e3, t3, n3) { t3 >>>= 0, n3 >>>= 0, e3 = ge4(e3 >>> 0), t3 = ge4(t3), n3 = ge4(n3), e3[t3] = n3; } function Ki2(e3, t3) { 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; } 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]; function Qi2(e3, t3) { 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(); var n3 = (Zn3(e3.getFullYear()) ? Kn3 : Qn3)[e3.getMonth()] + e3.getDate() - 1 | 0; (l3(), x3)[t3 + 28 >>> 2 >>> 0] = n3, (l3(), x3)[t3 + 36 >>> 2 >>> 0] = -60 * e3.getTimezoneOffset(), n3 = new Date(e3.getFullYear(), 6, 1).getTimezoneOffset(); var o4 = new Date(e3.getFullYear(), 0, 1).getTimezoneOffset(); e3 = 0 | (n3 != o4 && e3.getTimezoneOffset() == Math.min(o4, n3)), (l3(), x3)[t3 + 32 >>> 2 >>> 0] = e3; } function eu2(e3) { e3 >>>= 0; 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); 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); } function eo2(e3, t3, n3, o4, u4, c4, h4) { return i4 ? H3(16, 1, e3, t3, n3, o4, u4, c4, h4) : -52; } function to2(e3, t3, n3, o4, u4, c4) { if (i4) return H3(17, 1, e3, t3, n3, o4, u4, c4); } var vt3 = {}, tu2 = () => performance.timeOrigin + performance.now(); function ro2(e3, t3) { if (i4) return H3(18, 1, e3, t3); if (vt3[e3] && (clearTimeout(vt3[e3].id), delete vt3[e3]), !t3) return 0; var n3 = setTimeout(() => { delete vt3[e3], Dt3(() => Po2(e3, performance.timeOrigin + performance.now())); }, t3); return vt3[e3] = { id: n3, Ne: t3 }, 0; } function ru2(e3, t3, n3, o4) { e3 >>>= 0, t3 >>>= 0, n3 >>>= 0, o4 >>>= 0; var u4 = (/* @__PURE__ */ new Date()).getFullYear(), c4 = new Date(u4, 0, 1).getTimezoneOffset(); u4 = new Date(u4, 6, 1).getTimezoneOffset(); var h4 = Math.max(c4, u4); (l3(), A4)[e3 >>> 2 >>> 0] = 60 * h4, (l3(), x3)[t3 >>> 2 >>> 0] = +(c4 != u4), e3 = (t3 = (b4) => { var E3 = Math.abs(b4); return `UTC${0 <= b4 ? "-" : "+"}${String(Math.floor(E3 / 60)).padStart(2, "0")}${String(E3 % 60).padStart(2, "0")}`; })(c4), t3 = t3(u4), u4 < c4 ? (Pe3(e3, n3, 17), Pe3(t3, o4, 17)) : (Pe3(e3, o4, 17), Pe3(t3, n3, 17)); } var nu2 = () => Date.now(), ou2 = 1; function au2(e3, t3, n3) { if (n3 >>>= 0, !(0 <= e3 && 3 >= e3)) return 28; if (e3 === 0) e3 = Date.now(); else { if (!ou2) return 52; e3 = performance.timeOrigin + performance.now(); } return e3 = Math.round(1e6 * e3), (l3(), le2)[n3 >>> 3 >>> 0] = BigInt(e3), 0; } var Cr3 = [], no2 = (e3, t3) => { Cr3.length = 0; for (var n3; n3 = (l3(), J4)[e3++ >>> 0]; ) { var o4 = n3 != 105; 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; } return Cr3; }; function su2(e3, t3, n3) { return e3 >>>= 0, t3 = no2(t3 >>> 0, n3 >>> 0), Yr3[e3](...t3); } function iu2(e3, t3, n3) { return e3 >>>= 0, t3 = no2(t3 >>> 0, n3 >>> 0), Yr3[e3](...t3); } var uu2 = () => { }; function fu2(e3, t3) { return O3(ct2(e3 >>> 0, t3 >>> 0)); } var cu2 = () => { throw $4 += 1, "unwind"; }; function du2() { return 4294901760; } var lu2 = () => 1, pu2 = () => navigator.hardwareConcurrency, Xe3 = {}, oo2 = (e3) => { var t3 = _e2(e3) + 1, n3 = mt2(t3); return n3 && Pe3(e3, n3, t3), n3; }, Wt3 = (e3) => { var t3; return (t3 = /\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(e3)) ? +t3[1] : (t3 = /:(\d+):\d+(?:\)|$)/.exec(e3)) ? 2147483648 | +t3[1] : 0; }, ao2 = (e3) => { for (var t3 of e3) (e3 = Wt3(t3)) && (Xe3[e3] = t3); }; function mu2() { var e3 = Error().stack.toString().split(` `); return e3[0] == "Error" && e3.shift(), ao2(e3), Xe3.Xd = Wt3(e3[3]), Xe3.re = e3, Xe3.Xd; } function kt2(e3) { if (!(e3 = Xe3[e3 >>> 0])) return 0; var t3; if (t3 = /^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(e3)) e3 = t3[1]; else if (t3 = /^\s+at (.*) \(.*\)$/.exec(e3)) e3 = t3[1]; else { if (!(t3 = /^(.+?)@/.exec(e3))) return 0; e3 = t3[1]; } return Te2(kt2.ae ?? 0), kt2.ae = oo2(e3), kt2.ae; } function hu2(e3) { e3 >>>= 0; var t3 = (l3(), J4).length; if (e3 <= t3 || 4294901760 < e3) return false; for (var n3 = 1; 4 >= n3; n3 *= 2) { var o4 = t3 * (1 + 0.2 / n3); o4 = Math.min(o4, e3 + 100663296); e: { o4 = (Math.min(4294901760, 65536 * Math.ceil(Math.max(e3, o4) / 65536)) - ke3.buffer.byteLength + 65535) / 65536 | 0; try { ke3.grow(o4), se4(); var u4 = 1; break e; } catch { } u4 = void 0; } if (u4) return true; } return false; } function yu2(e3, t3, n3) { if (e3 >>>= 0, t3 >>>= 0, Xe3.Xd == e3) var o4 = Xe3.re; else (o4 = Error().stack.toString().split(` `))[0] == "Error" && o4.shift(), ao2(o4); for (var u4 = 3; o4[u4] && Wt3(o4[u4]) != e3; ) ++u4; for (e3 = 0; e3 < n3 && o4[e3 + u4]; ++e3) (l3(), x3)[t3 + 4 * e3 >>> 2 >>> 0] = Wt3(o4[e3 + u4]); return e3; } var Me3 = (e3) => { var t3 = _e2(e3) + 1, n3 = zt2(t3); return Pe3(e3, n3, t3), n3; }, Dr3 = [], me3 = (e3, t3) => { Dr3[e3 >>>= 0] = t3; }, Ue3 = [], Ft3 = [], lt2 = (e3, t3) => { Ft3[e3] = new Promise((n3) => t3.finally(() => n3(e3))); }, B3 = (e3) => { if (e3) return Dr3[e3 >>> 0]; }, Gt2 = (e3, t3, n3) => { (l3(), A4)[e3 >>> 2 >>> 0] = t3, (l3(), A4)[e3 + 4 >>> 2 >>> 0] = n3; }, so2 = (e3) => { var t3 = (l3(), A4)[e3 >>> 2 >>> 0]; return e3 = (l3(), A4)[e3 + 4 >>> 2 >>> 0], ct2(t3, e3); }, Re3 = (e3) => { var t3 = (l3(), A4)[e3 >>> 2 >>> 0]; return e3 = (l3(), A4)[e3 + 4 >>> 2 >>> 0], t3 ? ct2(t3, e3) : e3 === 0 ? "" : void 0; }, bu = (e3) => { var t3 = Re3(e3 + 4), n3 = (n3 = (l3(), A4)[e3 + 12 >>> 2 >>> 0]) ? B3(n3) : "auto"; if (e3 += 16) { var o4 = B3((l3(), A4)[e3 + 4 >>> 2 >>> 0]), u4 = (l3(), A4)[e3 + 16 >>> 2 >>> 0], c4 = (l3(), A4)[e3 + 20 >>> 2 >>> 0]; if (u4) { for (var h4 = {}, b4 = 0; b4 < u4; ++b4) { var E3 = c4 + 24 * b4; h4[so2(E3 + 4)] = (l3(), ae3)[E3 + 16 >>> 3 >>> 0]; } u4 = h4; } else u4 = void 0; e3 = { module: o4, constants: u4, entryPoint: Re3(e3 + 8) }; } else e3 = void 0; return { label: t3, layout: n3, compute: e3 }; }, io2 = (e3, t3) => { function n3(u4, c4) { u4 = e3[u4], (l3(), x3)[t3 + c4 >>> 2 >>> 0] = u4; } function o4(u4, c4) { u4 = e3[u4], (l3(), le2)[t3 + c4 >>> 3 >>> 0] = BigInt(u4); } 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); }, 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 }; function Su2(e3, t3, n3, o4, u4, c4) { t3 = pe3(t3), n3 = pe3(n3), o4 >>>= 0, u4 >>>= 0, c4 >>>= 0; var h4 = B3(e3 >>> 0); if (e3 = {}, c4) { var b4 = (l3(), A4)[c4 + 12 >>> 2 >>> 0]; if (b4) { var E3 = (l3(), A4)[c4 + 16 >>> 2 >>> 0]; e3.requiredFeatures = Array.from((l3(), A4).subarray(E3 >>> 2 >>> 0, E3 + 4 * b4 >>> 2 >>> 0), (L3) => uo2[L3]); } var I3 = (l3(), A4)[c4 + 20 >>> 2 >>> 0]; if (I3) { let L3 = function(ve2, ie4, Ze2 = false) { ie4 = I3 + ie4, (ie4 = (l3(), A4)[ie4 >>> 2 >>> 0]) == 4294967295 || Ze2 && ie4 == 0 || (N4[ve2] = ie4); }, fe4 = function(ve2, ie4) { ie4 = I3 + ie4; var Ze2 = (l3(), A4)[ie4 >>> 2 >>> 0], Zf2 = (l3(), A4)[ie4 + 4 >>> 2 >>> 0]; Ze2 == 4294967295 && Zf2 == 4294967295 || (N4[ve2] = 4294967296 * (l3(), A4)[ie4 + 4 >>> 2 >>> 0] + (l3(), A4)[ie4 >>> 2 >>> 0]); }; var W3 = L3, X3 = fe4, N4 = {}; 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), L3("maxColorAttachments", 116), L3("maxColorAttachmentBytesPerSample", 120), L3("maxComputeWorkgroupStorageSize", 124), L3("maxComputeInvocationsPerWorkgroup", 128), L3("maxComputeWorkgroupSizeX", 132), L3("maxComputeWorkgroupSizeY", 136), L3("maxComputeWorkgroupSizeZ", 140), L3("maxComputeWorkgroupsPerDimension", 144), L3("maxImmediateSize", 148, true), e3.requiredLimits = N4; } (b4 = (l3(), A4)[c4 + 24 >>> 2 >>> 0]) && (b4 = { label: Re3(b4 + 4) }, e3.defaultQueue = b4), e3.label = Re3(c4 + 4); } $4 += 1, lt2(t3, h4.requestDevice(e3).then((L3) => { --$4, me3(u4, L3.queue), me3(o4, L3), n3 && ($4 += 1, lt2(n3, L3.lost.then((fe4) => { --$4, L3.onuncapturederror = () => { }; var ve2 = D3(), ie4 = Me3(fe4.message); Wr3(n3, Eu2[fe4.reason], ie4), C3(ve2); }))), L3.onuncapturederror = (fe4) => { var ve2 = 5; fe4.error instanceof GPUValidationError ? ve2 = 2 : fe4.error instanceof GPUOutOfMemoryError ? ve2 = 3 : fe4.error instanceof GPUInternalError && (ve2 = 4); var ie4 = D3(); fe4 = Me3(fe4.error.message), Mo(o4, ve2, fe4), C3(ie4); }, "adapterInfo" in L3 || (L3.adapterInfo = h4.info), Gr3(t3, 1, o4, 0); }, (L3) => { --$4; var fe4 = D3(); L3 = Me3(L3.message), Gr3(t3, 3, o4, L3), n3 && Wr3(n3, 4, L3), C3(fe4); })); } function Au2(e3) { var t3 = B3(e3 >>>= 0), n3 = Ue3[e3]; if (n3) { f