UNPKG

@spz-loader/playcanvas

Version:

.spz GaussianSplatting loader for PlayCanvas Engine

757 lines 254 kB
import { GSplatData as VI, GSplatResource as XI, Application as OI } from "playcanvas"; async function bI(F = {}) { var a, y, i = F, q = typeof window == "object", U = typeof WorkerGlobalScope < "u", S = typeof process == "object" && ((a = process.versions) == null ? void 0 : a.node) && process.type != "renderer"; if (S) { const { createRequire: I } = await Promise.resolve().then(() => $I); var k = I(import.meta.url); } var L = "./this.program", b = import.meta.url, P; if (S) { var s = k("fs"); b.startsWith("file:") && k("path").dirname(k("url").fileURLToPath(b)), P = (I) => (I = oI(I) ? new URL(I) : I, s.readFileSync(I)), 1 < process.argv.length && (L = process.argv[1].replace(/\\/g, "/")), process.argv.slice(2); } else if (q || U) { try { new URL(".", b); } catch { } U && (P = (I) => { var A = new XMLHttpRequest(); return A.open("GET", I, !1), A.responseType = "arraybuffer", A.send(null), new Uint8Array(A.response); }); } var eA = console.log.bind(console), IA = console.error.bind(console), aA, dA = !1, oI = (I) => I.startsWith("file://"), sA, RA, gA, BA, r, m, u, T, M, lA, xA, WA, ZA, TA = !1; function jA() { var I = gA.buffer; BA = new Int8Array(I), m = new Int16Array(I), i.HEAPU8 = r = new Uint8Array(I), u = new Uint16Array(I), T = new Int32Array(I), M = new Uint32Array(I), i.HEAPF32 = lA = new Float32Array(I), xA = new Float64Array(I), WA = new BigInt64Array(I), ZA = new BigUint64Array(I); } var x = 0, z = null; function pA(I) { var A; throw (A = i.onAbort) == null || A.call(i, I), I = "Aborted(" + I + ")", IA(I), dA = !0, I = new WebAssembly.RuntimeError(I + ". Build with -sASSERTIONS for more info."), RA == null || RA(I), I; } var QA; async function FI(I) { if (!ArrayBuffer.isView(I)) if (I == QA && aA) I = new Uint8Array(aA); else if (P) I = P(I); else throw "both async and sync fetching of the wasm failed"; return I; } async function GI(I) { var A = QA; try { var g = await FI(A); return await WebAssembly.instantiate(g, I); } catch (B) { IA(`failed to asynchronously prepare wasm: ${B}`), pA(B); } } async function aI(I) { return GI(I); } var VA = (I) => { for (; 0 < I.length; ) I.shift()(i); }, XA = [], OA = [], sI = () => { var I = i.preRun.shift(); OA.push(I); }, RI = (I) => { if (S) return I = Buffer.from(I, "base64"), new Uint8Array(I.buffer, I.byteOffset, I.length); for (var A, g, B = 0, Q = 0, E = I.length, C = new Uint8Array((3 * E >> 2) - (I[E - 2] == "=") - (I[E - 1] == "=")); B < E; B += 4, Q += 3) A = f[I.charCodeAt(B + 1)], g = f[I.charCodeAt(B + 2)], C[Q] = f[I.charCodeAt(B)] << 2 | A >> 4, C[Q + 1] = A << 4 | g >> 2, C[Q + 2] = g << 6 | f[I.charCodeAt(B + 3)]; return C; }, CA = {}, yA = (I) => { for (; I.length; ) { var A = I.pop(); I.pop()(A); } }; function v(I) { return this.N(M[I >> 2]); } var j = {}, W = {}, EA = {}, DA = class extends Error { constructor(I) { super(I), this.name = "InternalError"; } }, Z = (I, A, g) => { function B(D) { if (D = g(D), D.length !== I.length) throw new DA("Mismatched type converter count"); for (var o = 0; o < I.length; ++o) H(I[o], D[o]); } I.forEach((D) => EA[D] = A); var Q = Array(A.length), E = [], C = 0; A.forEach((D, o) => { W.hasOwnProperty(D) ? Q[o] = W[D] : (E.push(D), j.hasOwnProperty(D) || (j[D] = []), j[D].push(() => { Q[o] = W[D], ++C, C === E.length && B(Q); })); }), E.length === 0 && B(Q); }, N = (I) => { for (var A = ""; ; ) { var g = r[I++]; if (!g) return A; A += String.fromCharCode(g); } }, R = class extends Error { constructor(I) { super(I), this.name = "BindingError"; } }, yI = (I) => { throw new R(I); }; function hI(I, A, g = {}) { var B = A.name; if (!I) throw new R(`type "${B}" must have a positive integer typeid pointer`); if (W.hasOwnProperty(I)) { if (g.wa) return; throw new R(`Cannot register type '${B}' twice`); } W[I] = A, delete EA[I], j.hasOwnProperty(I) && (A = j[I], delete j[I], A.forEach((Q) => Q())); } function H(I, A, g = {}) { return hI(I, A, g); } var bA = (I, A, g) => { switch (A) { case 1: return g ? (B) => BA[B] : (B) => r[B]; case 2: return g ? (B) => m[B >> 1] : (B) => u[B >> 1]; case 4: return g ? (B) => T[B >> 2] : (B) => M[B >> 2]; case 8: return g ? (B) => WA[B >> 3] : (B) => ZA[B >> 3]; default: throw new TypeError(`invalid integer width (${A}): ${I}`); } }, hA = (I) => { throw new R(I.L.P.M.name + " instance already deleted"); }, MA = !1, PA = () => { }, $ = (I) => typeof FinalizationRegistry > "u" ? ($ = (A) => A, I) : (MA = new FinalizationRegistry((A) => { A = A.L, --A.count.value, A.count.value === 0 && (A.S ? A.W.Y(A.S) : A.P.M.Y(A.O)); }), $ = (A) => { var g = A.L; return g.S && MA.register(A, { L: g }, A), A; }, PA = (A) => { MA.unregister(A); }, $(I)); function iA() { } var wA = (I, A) => Object.defineProperty(A, "name", { value: I }), mA = {}, uA = (I, A, g) => { if (I[A].R === void 0) { var B = I[A]; I[A] = function(...Q) { if (!I[A].R.hasOwnProperty(Q.length)) throw new R(`Function '${g}' called with an invalid number of arguments (${Q.length}) - expects one of (${I[A].R})!`); return I[A].R[Q.length].apply(this, Q); }, I[A].R = [], I[A].R[B.aa] = B; } }, NA = (I, A, g) => { if (i.hasOwnProperty(I)) { if (g === void 0 || i[I].R !== void 0 && i[I].R[g] !== void 0) throw new R(`Cannot register public name '${I}' twice`); if (uA(i, I, I), i[I].R.hasOwnProperty(g)) throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${g})!`); i[I].R[g] = A; } else i[I] = A, i[I].aa = g; }, MI = (I) => { I = I.replace(/[^a-zA-Z0-9_]/g, "$"); var A = I.charCodeAt(0); return 48 <= A && 57 >= A ? `_${I}` : I; }; function NI(I, A, g, B, Q, E, C, D) { this.name = I, this.constructor = A, this.$ = g, this.Y = B, this.U = Q, this.ra = E, this.ea = C, this.pa = D, this.ya = []; } var UA = (I, A, g) => { for (; A !== g; ) { if (!A.ea) throw new R(`Expected null or instance of ${g.name}, got an instance of ${A.name}`); I = A.ea(I), A = A.U; } return I; }, SA = (I) => { if (I === null) return "null"; var A = typeof I; return A === "object" || A === "array" || A === "function" ? I.toString() : "" + I; }; function UI(I, A) { if (A === null) { if (this.ha) throw new R(`null is not a valid ${this.name}`); return 0; } if (!A.L) throw new R(`Cannot pass "${SA(A)}" as a ${this.name}`); if (!A.L.O) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`); return UA(A.L.O, A.L.P.M, this.M); } function SI(I, A) { if (A === null) { if (this.ha) throw new R(`null is not a valid ${this.name}`); if (this.ga) { var g = this.ia(); return I !== null && I.push(this.Y, g), g; } return 0; } if (!A || !A.L) throw new R(`Cannot pass "${SA(A)}" as a ${this.name}`); if (!A.L.O) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`); if (!this.fa && A.L.P.fa) throw new R(`Cannot convert argument of type ${A.L.W ? A.L.W.name : A.L.P.name} to parameter type ${this.name}`); if (g = UA(A.L.O, A.L.P.M, this.M), this.ga) { if (A.L.S === void 0) throw new R("Passing raw pointer to smart pointer is illegal"); switch (this.Da) { case 0: if (A.L.W === this) g = A.L.S; else throw new R(`Cannot convert argument of type ${A.L.W ? A.L.W.name : A.L.P.name} to parameter type ${this.name}`); break; case 1: g = A.L.S; break; case 2: if (A.L.W === this) g = A.L.S; else { var B = A.clone(); g = this.za(g, cA(() => B.delete())), I !== null && I.push(this.Y, g); } break; default: throw new R("Unsupporting sharing policy"); } } return g; } function JI(I, A) { if (A === null) { if (this.ha) throw new R(`null is not a valid ${this.name}`); return 0; } if (!A.L) throw new R(`Cannot pass "${SA(A)}" as a ${this.name}`); if (!A.L.O) throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`); if (A.L.P.fa) throw new R(`Cannot convert argument of type ${A.L.P.name} to parameter type ${this.name}`); return UA(A.L.O, A.L.P.M, this.M); } var zA = (I, A, g) => A === g ? I : g.U === void 0 ? null : (I = zA(I, A, g.U), I === null ? null : g.pa(I)), YI = {}, LI = (I, A) => { if (A === void 0) throw new R("ptr should not be undefined"); for (; I.U; ) A = I.ea(A), I = I.U; return YI[A]; }, oA = (I, A) => { if (!A.P || !A.O) throw new DA("makeClassHandle requires ptr and ptrType"); if (!!A.W != !!A.S) throw new DA("Both smartPtrType and smartPtr must be specified"); return A.count = { value: 1 }, $(Object.create(I, { L: { value: A, writable: !0 } })); }; function FA(I, A, g, B, Q, E, C, D, o, G, w) { this.name = I, this.M = A, this.ha = g, this.fa = B, this.ga = Q, this.xa = E, this.Da = C, this.na = D, this.ia = o, this.za = G, this.Y = w, Q || A.U !== void 0 ? this.T = SI : (this.T = B ? UI : JI, this.V = null); } var vA = (I, A, g) => { if (!i.hasOwnProperty(I)) throw new DA("Replacing nonexistent public symbol"); i[I].R !== void 0 && g !== void 0 ? i[I].R[g] = A : (i[I] = A, i[I].aa = g); }, $A, n = (I, A) => { I = N(I); var g = $A.get(A); if (typeof g != "function") throw new R(`unknown function pointer with signature ${I}: ${A}`); return g; }; class kI extends Error { } var _A = (I) => { I = iI(I); var A = N(I); return l(I), A; }, GA = (I, A) => { function g(E) { Q[E] || W[E] || (EA[E] ? EA[E].forEach(g) : (B.push(E), Q[E] = !0)); } var B = [], Q = {}; throw A.forEach(g), new kI(`${I}: ` + B.map(_A).join([", "])); }, JA = (I, A) => { for (var g = [], B = 0; B < I; B++) g.push(M[A + 4 * B >> 2]); return g; }; function AI(I) { for (var A = 1; A < I.length; ++A) if (I[A] !== null && I[A].V === void 0) return !0; return !1; } function YA(I, A, g, B, Q, E) { var C = A.length; if (2 > C) throw new R("argTypes array size mismatch! Must at least get return value and 'this' types!"); var D = A[1] !== null && g !== null, o = AI(A); g = !A[0].ma; var G = A[0], w = A[1]; for (B = [I, yI, B, Q, yA, G.N.bind(G), w == null ? void 0 : w.T.bind(w)], Q = 2; Q < C; ++Q) G = A[Q], B.push(G.T.bind(G)); if (!o) for (Q = D ? 1 : 2; Q < A.length; ++Q) A[Q].V !== null && B.push(A[Q].V); for (o = AI(A), Q = A.length - 2, w = [], G = ["fn"], D && G.push("thisWired"), C = 0; C < Q; ++C) w.push(`arg${C}`), G.push(`arg${C}Wired`); w = w.join(","), G = G.join(","), w = `return function (${w}) { `, o && (w += `var destructors = []; `); var h = o ? "destructors" : "null", c = "humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" "); for (D && (w += `var thisWired = toClassParamWire(${h}, this); `), C = 0; C < Q; ++C) { var J = `toArg${C}Wire`; w += `var arg${C}Wired = ${J}(${h}, arg${C}); `, c.push(J); } if (w += (g || E ? "var rv = " : "") + `invoker(${G}); `, o) w += `runDestructors(destructors); `; else for (C = D ? 1 : 2; C < A.length; ++C) E = C === 1 ? "thisWired" : "arg" + (C - 2) + "Wired", A[C].V !== null && (w += `${E}_dtor(${E}); `, c.push(`${E}_dtor`)); return g && (w += `var ret = fromRetWire(rv); return ret; `), A = new Function(c, w + `} `)(...B), wA(I, A); } for (var II = (I) => { I = I.trim(); const A = I.indexOf("("); return A === -1 ? I : I.slice(0, A); }, gI = [], p = [0, 1, , 1, null, 1, !0, 1, !1, 1], LA = (I) => { 9 < I && --p[I + 1] === 0 && (p[I] = void 0, gI.push(I)); }, kA = (I) => { if (!I) throw new R(`Cannot use deleted val. handle = ${I}`); return p[I]; }, cA = (I) => { switch (I) { case void 0: return 2; case null: return 4; case !0: return 6; case !1: return 8; default: const A = gI.pop() || p.length; return p[A] = I, p[A + 1] = 1, A; } }, BI = { name: "emscripten::val", N: (I) => { var A = kA(I); return LA(I), A; }, T: (I, A) => cA(A), X: v, V: null }, cI = (I, A, g) => { switch (A) { case 1: return g ? function(B) { return this.N(BA[B]); } : function(B) { return this.N(r[B]); }; case 2: return g ? function(B) { return this.N(m[B >> 1]); } : function(B) { return this.N(u[B >> 1]); }; case 4: return g ? function(B) { return this.N(T[B >> 2]); } : function(B) { return this.N(M[B >> 2]); }; default: throw new TypeError(`invalid integer width (${A}): ${I}`); } }, QI = (I, A) => { var g = W[I]; if (g === void 0) throw I = `${A} has unknown type ${_A(I)}`, new R(I); return g; }, tI = (I, A) => { switch (A) { case 4: return function(g) { return this.N(lA[g >> 2]); }; case 8: return function(g) { return this.N(xA[g >> 3]); }; default: throw new TypeError(`invalid float width (${A}): ${I}`); } }, HI = Object.assign({ optional: !0 }, BI), V = (I, A, g) => { var B = r; if (!(0 < g)) return 0; var Q = A; g = A + g - 1; for (var E = 0; E < I.length; ++E) { var C = I.codePointAt(E); if (127 >= C) { if (A >= g) break; B[A++] = C; } else if (2047 >= C) { if (A + 1 >= g) break; B[A++] = 192 | C >> 6, B[A++] = 128 | C & 63; } else if (65535 >= C) { if (A + 2 >= g) break; B[A++] = 224 | C >> 12, B[A++] = 128 | C >> 6 & 63, B[A++] = 128 | C & 63; } else { if (A + 3 >= g) break; B[A++] = 240 | C >> 18, B[A++] = 128 | C >> 12 & 63, B[A++] = 128 | C >> 6 & 63, B[A++] = 128 | C & 63, E++; } } return B[A] = 0, A - Q; }, CI = (I) => { for (var A = 0, g = 0; g < I.length; ++g) { var B = I.charCodeAt(g); 127 >= B ? A++ : 2047 >= B ? A += 2 : 55296 <= B && 57343 >= B ? (A += 4, ++g) : A += 3; } return A; }, EI = new TextDecoder(), tA = (I, A, g, B) => { if (g = A + g, B) return g; for (; I[A] && !(A >= g); ) ++A; return A; }, KI = new TextDecoder("utf-16le"), rI = (I, A, g) => (I >>= 1, KI.decode(u.subarray(I, tA(u, I, A / 2, g)))), nI = (I, A, g) => { if (g ?? (g = 2147483647), 2 > g) return 0; g -= 2; var B = A; g = g < 2 * I.length ? g / 2 : I.length; for (var Q = 0; Q < g; ++Q) m[A >> 1] = I.charCodeAt(Q), A += 2; return m[A >> 1] = 0, A - B; }, qI = (I) => 2 * I.length, fI = (I, A, g) => { var B = ""; I >>= 2; for (var Q = 0; !(Q >= A / 4); Q++) { var E = M[I + Q]; if (!E && !g) break; B += String.fromCodePoint(E); } return B; }, eI = (I, A, g) => { if (g ?? (g = 2147483647), 4 > g) return 0; var B = A; g = B + g - 4; for (var Q = 0; Q < I.length; ++Q) { var E = I.codePointAt(Q); if (65535 < E && Q++, T[A >> 2] = E, A += 4, A + 4 > g) break; } return T[A >> 2] = 0, A - B; }, dI = (I) => { for (var A = 0, g = 0; g < I.length; ++g) 65535 < I.codePointAt(g) && g++, A += 4; return A; }, HA = [], lI = (I) => { var A = HA.length; return HA.push(I), A; }, xI = (I, A) => { for (var g = Array(I), B = 0; B < I; ++B) g[B] = QI(M[A + 4 * B >> 2], `parameter ${B}`); return g; }, WI = (I, A, g) => { var B = []; return I = I(B, g), B.length && (M[A >> 2] = cA(B)), I; }, ZI = {}, TI = (I) => { var A = ZI[I]; return A === void 0 ? N(I) : A; }, KA = {}, DI = () => { if (!rA) { var I = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: (typeof navigator == "object" && navigator.language || "C").replace("-", "_") + ".UTF-8", _: L || "./this.program" }, A; for (A in KA) KA[A] === void 0 ? delete I[A] : I[A] = KA[A]; var g = []; for (A in I) g.push(`${A}=${I[A]}`); rA = g; } return rA; }, rA, jI = [null, [], []], f = new Uint8Array(123), d = 25; 0 <= d; --d) f[48 + d] = 52 + d, f[65 + d] = d, f[97 + d] = 26 + d; f[43] = 62, f[47] = 63, (() => { let I = iA.prototype; Object.assign(I, { isAliasOf: function(g) { if (!(this instanceof iA && g instanceof iA)) return !1; var B = this.L.P.M, Q = this.L.O; g.L = g.L; var E = g.L.P.M; for (g = g.L.O; B.U; ) Q = B.ea(Q), B = B.U; for (; E.U; ) g = E.ea(g), E = E.U; return B === E && Q === g; }, clone: function() { if (this.L.O || hA(this), this.L.da) return this.L.count.value += 1, this; var g = $, B = Object, Q = B.create, E = Object.getPrototypeOf(this), C = this.L; return g = g(Q.call(B, E, { L: { value: { count: C.count, ba: C.ba, da: C.da, O: C.O, P: C.P, S: C.S, W: C.W } } })), g.L.count.value += 1, g.L.ba = !1, g; }, delete() { if (this.L.O || hA(this), this.L.ba && !this.L.da) throw new R("Object already scheduled for deletion"); PA(this); var g = this.L; --g.count.value, g.count.value === 0 && (g.S ? g.W.Y(g.S) : g.P.M.Y(g.O)), this.L.da || (this.L.S = void 0, this.L.O = void 0); }, isDeleted: function() { return !this.L.O; }, deleteLater: function() { if (this.L.O || hA(this), this.L.ba && !this.L.da) throw new R("Object already scheduled for deletion"); return this.L.ba = !0, this; } }); const A = Symbol.dispose; A && (I[A] = I.delete); })(), Object.assign(FA.prototype, { sa(I) { return this.na && (I = this.na(I)), I; }, ka(I) { var A; (A = this.Y) == null || A.call(this, I); }, X: v, N: function(I) { function A() { return this.ga ? oA(this.M.$, { P: this.xa, O: g, W: this, S: I }) : oA(this.M.$, { P: this, O: I }); } var g = this.sa(I); if (!g) return this.ka(I), null; var B = LI(this.M, g); if (B !== void 0) return B.L.count.value === 0 ? (B.L.O = g, B.L.S = I, B.clone()) : (B = B.clone(), this.ka(I), B); if (B = this.M.ra(g), B = mA[B], !B) return A.call(this); B = this.fa ? B.oa : B.pointerType; var Q = zA(g, this.M, B.M); return Q === null ? A.call(this) : this.ga ? oA(B.M.$, { P: B, O: Q, W: this, S: I }) : oA(B.M.$, { P: B, O: Q }); } }), i.print && (eA = i.print), i.printErr && (IA = i.printErr), i.wasmBinary && (aA = i.wasmBinary), i.thisProgram && (L = i.thisProgram); var iI, nA, l, pI = { x: () => pA(""), q: (I) => { var A = CA[I]; delete CA[I]; var g = A.ia, B = A.Y, Q = A.la, E = Q.map((C) => C.va).concat(Q.map((C) => C.Ba)); Z([I], E, (C) => { var D = {}; return Q.forEach((o, G) => { var w = C[G], h = o.ta, c = o.ua, J = C[G + Q.length], Y = o.Aa, K = o.Ca; D[o.qa] = { read: (e) => w.N(h(c, e)), write: (e, _) => { var t = []; Y(K, e, J.T(t, _)), yA(t); }, optional: C[G].optional }; }), [{ name: A.name, N: (o) => { var G = {}, w; for (w in D) G[w] = D[w].read(o); return B(o), G; }, T: (o, G) => { for (var w in D) if (!(w in G || D[w].optional)) throw new TypeError(`Missing field: "${w}"`); var h = g(); for (w in D) D[w].write(h, G[w]); return o !== null && o.push(B, h), h; }, X: v, V: B }]; }); }, n: (I, A, g, B, Q) => { A = N(A), B = B === 0n; let E = (C) => C; if (B) { const C = 8 * g; E = (D) => BigInt.asUintN(C, D), Q = E(Q); } H(I, { name: A, N: E, T: (C, D) => (typeof D == "number" && (D = BigInt(D)), D), X: bA(A, g, !B), V: null }); }, B: (I, A, g, B) => { A = N(A), H(I, { name: A, N: function(Q) { return !!Q; }, T: function(Q, E) { return E ? g : B; }, X: function(Q) { return this.N(r[Q]); }, V: null }); }, j: (I, A, g, B, Q, E, C, D, o, G, w, h, c) => { w = N(w), E = n(Q, E), D && (D = n(C, D)), G && (G = n(o, G)), c = n(h, c); var J = MI(w); NA(J, function() { GA( `Cannot construct ${w} due to unbound types`, [B] ); }), Z([I, A, g], B ? [B] : [], (Y) => { if (Y = Y[0], B) var K = Y.M, e = K.$; else e = iA.prototype; Y = wA(w, function(...fA) { if (Object.getPrototypeOf(this) !== _) throw new R(`Use 'new' to construct ${w}`); if (t.Z === void 0) throw new R(`${w} has no accessible constructor`); var wI = t.Z[fA.length]; if (wI === void 0) throw new R(`Tried to invoke ctor of ${w} with invalid number of parameters (${fA.length}) - expected (${Object.keys(t.Z).toString()}) parameters instead!`); return wI.apply(this, fA); }); var _ = Object.create(e, { constructor: { value: Y } }); Y.prototype = _; var t = new NI(w, Y, _, c, K, E, D, G); if (t.U) { var AA; (AA = t.U).ja ?? (AA.ja = []), t.U.ja.push(t); } return K = new FA(w, t, !0, !1, !1), AA = new FA(w + "*", t, !1, !1, !1), e = new FA(w + " const*", t, !1, !0, !1), mA[I] = { pointerType: AA, oa: e }, vA(J, Y), [K, AA, e]; }); }, g: (I, A, g, B, Q, E) => { var C = JA(A, g); Q = n(B, Q), Z([], [I], (D) => { D = D[0]; var o = `constructor ${D.name}`; if (D.M.Z === void 0 && (D.M.Z = []), D.M.Z[A - 1] !== void 0) throw new R(`Cannot register multiple constructors with identical number of parameters (${A - 1}) for class '${D.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); return D.M.Z[A - 1] = () => { GA(`Cannot construct ${D.name} due to unbound types`, C); }, Z([], C, (G) => (G.splice(1, 0, null), D.M.Z[A - 1] = YA(o, G, null, Q, E), [])), []; }); }, b: (I, A, g, B, Q, E, C, D, o) => { var G = JA(g, B); A = N(A), A = II(A), E = n(Q, E), Z([], [I], (w) => { function h() { GA(`Cannot call ${c} due to unbound types`, G); } w = w[0]; var c = `${w.name}.${A}`; A.startsWith("@@") && (A = Symbol[A.substring(2)]), D && w.M.ya.push(A); var J = w.M.$, Y = J[A]; return Y === void 0 || Y.R === void 0 && Y.className !== w.name && Y.aa === g - 2 ? (h.aa = g - 2, h.className = w.name, J[A] = h) : (uA( J, A, c ), J[A].R[g - 2] = h), Z([], G, (K) => (K = YA(c, K, w, E, C, o), J[A].R === void 0 ? (K.aa = g - 2, J[A] = K) : J[A].R[g - 2] = K, [])), []; }); }, z: (I) => H(I, BI), r: (I, A, g, B) => { function Q() { } A = N(A), Q.values = {}, H(I, { name: A, constructor: Q, N: function(E) { return this.constructor.values[E]; }, T: (E, C) => C.value, X: cI(A, g, B), V: null }), NA(A, Q); }, d: (I, A, g) => { var B = QI(I, "enum"); A = N(A), I = B.constructor, B = Object.create(B.constructor.prototype, { value: { value: g }, constructor: { value: wA(`${B.name}_${A}`, function() { }) } }), I.values[g] = B, I[A] = B; }, m: (I, A, g) => { A = N(A), H(I, { name: A, N: (B) => B, T: (B, Q) => Q, X: tI(A, g), V: null }); }, l: (I, A, g, B, Q, E, C) => { var D = JA(A, g); I = N(I), I = II(I), Q = n(B, Q), NA(I, function() { GA(`Cannot call ${I} due to unbound types`, D); }, A - 1), Z([], D, (o) => (o = [o[0], null].concat(o.slice(1)), vA(I, YA(I, o, null, Q, E, C), A - 1), [])); }, c: (I, A, g, B, Q) => { A = N(A); let E = (D) => D; if (B === 0) { var C = 32 - 8 * g; E = (D) => D << C >>> C, Q = E(Q); } H(I, { name: A, N: E, T: (D, o) => o, X: bA(A, g, B !== 0), V: null }); }, a: (I, A, g) => { function B(E) { return new Q(BA.buffer, M[E + 4 >> 2], M[E >> 2]); } var Q = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array ][A]; g = N(g), H(I, { name: g, N: B, X: B }, { wa: !0 }); }, h: (I) => { H(I, HI); }, A: (I, A) => { A = N(A), H(I, { name: A, N(g) { var B = (B = g + 4) ? EI.decode(r.subarray(B, tA(r, B, M[g >> 2], !0))) : ""; return l(g), B; }, T(g, B) { B instanceof ArrayBuffer && (B = new Uint8Array(B)); var Q = typeof B == "string"; if (!(Q || ArrayBuffer.isView(B) && B.BYTES_PER_ELEMENT == 1)) throw new R("Cannot pass non-string to std::string"); var E = Q ? CI(B) : B.length, C = nA(4 + E + 1), D = C + 4; return M[C >> 2] = E, Q ? V(B, D, E + 1) : r.set(B, D), g !== null && g.push(l, C), C; }, X: v, V(g) { l(g); } }); }, f: (I, A, g) => { if (g = N(g), A === 2) var B = rI, Q = nI, E = qI; else B = fI, Q = eI, E = dI; H(I, { name: g, N: (C) => { var D = B(C + 4, M[C >> 2] * A, !0); return l(C), D; }, T: (C, D) => { if (typeof D != "string") throw new R(`Cannot pass non-string to C++ string type ${g}`); var o = E(D), G = nA(4 + o + A); return M[G >> 2] = o / A, Q(D, G + 4, o + A), C !== null && C.push(l, G), G; }, X: v, V(C) { l(C); } }); }, i: (I, A, g, B, Q, E) => { CA[I] = { name: N(A), ia: n(g, B), Y: n(Q, E), la: [] }; }, e: (I, A, g, B, Q, E, C, D, o, G) => { CA[I].la.push({ qa: N(A), va: g, ta: n(B, Q), ua: E, Ba: C, Aa: n(D, o), Ca: G }); }, C: (I, A) => { A = N(A), H(I, { ma: !0, name: A, N: () => { }, T: () => { } }); }, p: (I, A, g) => { var [B, ...Q] = xI(I, A); A = B.T.bind(B); var E = Q.map((o) => o.X.bind(o)); I--; var C = { toValue: kA }; switch (I = E.map((o, G) => { var w = `argFromPtr${G}`; return C[w] = o, `${w}(args${G ? "+" + 8 * G : ""})`; }), g) { case 0: var D = "toValue(handle)"; break; case 2: D = "new (toValue(handle))"; break; case 3: D = ""; break; case 1: C.getStringOrSymbol = TI, D = "toValue(handle)[getStringOrSymbol(methodName)]"; } return D += `(${I})`, B.ma || (C.toReturnWire = A, C.emval_returnValue = WI, D = `return emval_returnValue(toReturnWire, destructorsRef, ${D})`), D = `return function (handle, methodName, destructorsRef, args) { ${D} }`, g = new Function(Object.keys(C), D)(...Object.values(C)), D = `methodCaller<(${Q.map((o) => o.name)}) => ${B.name}>`, lI(wA(D, g)); }, E: LA, o: (I, A, g, B, Q) => HA[I](A, g, B, Q), D: (I) => { var A = kA(I); yA(A), LA(I); }, s: (I, A, g, B) => { var Q = (/* @__PURE__ */ new Date()).getFullYear(), E = new Date(Q, 0, 1).getTimezoneOffset(); Q = new Date(Q, 6, 1).getTimezoneOffset(), M[I >> 2] = 60 * Math.max(E, Q), T[A >> 2] = +(E != Q), A = (C) => { var D = Math.abs(C); return `UTC${0 <= C ? "-" : "+"}${String(Math.floor(D / 60)).padStart(2, "0")}${String(D % 60).padStart(2, "0")}`; }, I = A(E), A = A(Q), Q < E ? (V(I, g, 17), V(A, B, 17)) : (V(I, B, 17), V(A, g, 17)); }, y: (I) => { var A = r.length; if (I >>>= 0, 2147483648 < I) return !1; for (var g = 1; 4 >= g; g *= 2) { var B = A * (1 + 0.2 / g); B = Math.min(B, I + 100663296); A: { B = (Math.min(2147483648, 65536 * Math.ceil(Math.max(I, B) / 65536)) - gA.buffer.byteLength + 65535) / 65536 | 0; try { gA.grow(B), jA(); var Q = 1; break A; } catch { } Q = void 0; } if (Q) return !0; } return !1; }, t: (I, A) => { var g = 0, B = 0, Q; for (Q of DI()) { var E = A + g; M[I + B >> 2] = E, g += V(Q, E, 1 / 0) + 1, B += 4; } return 0; }, u: (I, A) => { var g = DI(); M[I >> 2] = g.length, I = 0; for (var B of g) I += CI(B) + 1; return M[A >> 2] = I, 0; }, v: () => 52, w: function() { return 70; }, k: (I, A, g, B) => { for (var Q = 0, E = 0; E < g; E++) { var C = M[A >> 2], D = M[A + 4 >> 2]; A += 8; for (var o = 0; o < D; o++) { var G = I, w = r[C + o], h = jI[G]; w === 0 || w === 10 ? (G = G === 1 ? eA : IA, w = tA(h, 0), w = EI.decode(h.buffer ? h.subarray(0, w) : new Uint8Array(h.slice(0, w))), G(w), h.length = 0) : h.push(w); } Q += D; } return M[B >> 2] = Q, 0; } }, X = await async function() { var I; function A(B) { var Q; return X = B.exports, gA = X.F, jA(), $A = X.H, B = X, iI = B.I, i._malloc = nA = B.J, i._free = l = B.K, x--, (Q = i.monitorRunDependencies) == null || Q.call(i, x), x == 0 && z && (B = z, z = null, B()), X; } x++, (I = i.monitorRunDependencies) == null || I.call(i, x); var g = { a: pI }; return i.instantiateWasm ? new Promise((B) => { i.instantiateWasm(g, (Q, E) => { B(A(Q)); }); }) : (QA ?? (QA = RI("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C0EAEKEDRQRAQZiDASEBIARBmIMBQRgQiwFFDQJBsIMBIQEgBEGwgwFBGBCLAUUNAkEAIQBBvO4BLQAARQRAA0AgAEECdCAAQcYfEKIDNgKM7gEgAEEBaiIAQQZHDQALQbzuAUEBOgAAQaTuAUGM7gEoAgA2AgALQYzuASEBIAJBCGoiAEGM7gFBGBCLAUUNAkGk7gEhASAAQaTuAUEYEIsBRQ0CQRgQNCIBRQ0BCyABIAIpAgg3AgAgASACKQIYNwIQIAEgAikCEDcCCAwBC0EAIQELIAJBIGokAEGc8QFBAToAAEGY8QEgATYCACABC80KAgV/CX4jAEHgAGsiBSQAIARC////////P4MhCiACIASFQoCAgICAgICAgH+DIQsgAkL///////8/gyIMQiCIIQ8gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCELIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASANhEIAIQFQBEBCgICAgICA4P//ACELDAMLIAtCgICAgICAwP//AIQhCwwCCyABIA2EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyANQv///////z9YBEAgBUHQAGogASAMIAEgDCAMUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDWCIMQiCIIQ8gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAogAyAKIApQIggbeULAAEIAIAgbfKciCEEPaxBEIAYgCGtBEGohBiAFKQNIIQogBSkDQCEDCyAHIAlqIAZqQf//AGshBgJAIApCD4YiDkIgiEKAgICACIQiAiABQiCIIgR+IhAgA0IPhiIRQiCIIgogD0KAgASEIg1+fCIPIBBUrSAPIANCMYggDoRC/////w+DIgMgDEL/////D4MiDH58Ig4gD1StfCACIA1+fCAOIA4gEUKAgP7/D4MiDyAMfiIRIAQgCn58IhAgEVStIBAgECADIAFC/////w+DIgF+fCIQVq18fCIOVq18IAMgDX4iEiACIAx+fCIRIBJUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiANIA9+Ig0gCiAMfnwiDCABIAJ+fCICIAMgBH58IgNCIIggAiADVq0gDCANVK0gAiAMVK18fEIghoR8IgIgDlStfCACIBAgBCAPfiIMIAEgCn58IgRCIIggBCAMVK1CIIaEfCIKIBBUrSAKIANCIIZ8IgMgClStfHwiCiACVK18IAogAyAEQiCGIgIgASAPfnwiASACVK18IgIgA1StfCIEIApUrXwiA0KAgICAgIDAAINQRQRAIAZBAWohBgwBCyABQj+IIANCAYYgBEI/iIQhAyAEQgGGIAJCP4iEIQQgAUIBhiEBIAJCAYaEIQILIAZB//8BTgRAIAtCgICAgICAwP//AIQhC0IAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogASACIAZB/wBqIgYQRCAFQSBqIAQgAyAGEEQgBUEQaiABIAIgBxCKASAFIAQgAyAHEIoBIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQEgBSkDKCAFKQMYhCECIAUpAwAhBCAFKQMIDAILQgAhAQwCCyADQv///////z+DIAatQjCGhAsgC4QhCyABUCACQgBZIAJCgICAgICAgICAf1EbRQRAIAsgBEIBfCIBUK18IQsMAQsgASACQoCAgICAgICAgH+FhFBFBEAgBCEBDAELIAsgBCAEQgGDfCIBIARUrXwhCwsgACABNwMAIAAgCzcDCCAFQeAAaiQACwYAIAAQLQt8AQN/IwBBEGsiASQAIAEgADYCDCMAQRBrIgIkACAAKAIAQX9HBEAgAkEIaiACQQxqIAFBDGoQVRBVIQMDQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAMQ0gIgAEF/NgIACwsgAkEQaiQAIAAoAgQgAUEQaiQAQQFrCyAAIAAgAUEBazYCBCAAQeDVATYCACAAQZCtATYCACAAC/cFAQl/IwBBEGsiCSQAIAEQ1wIgCUEMaiABEFUhCCAAQQhqIgMQayACTQRAAkAgAkEBaiIAIAMQayIBSwRAIwBBIGsiCiQAAkAgACABayIHIAMoAgggAygCBGtBAnVNBEAgAyAHENkCDAELIApBDGohAQJ/IAMQayAHaiEFIwBBEGsiACQAIAAgBTYCDCAFELwCIgRNBEAgAxC5AiIFIARBAXZJBEAgACAFQQF0NgIIIABBCGogAEEMahCgASgCACEECyAAQRBqJAAgBAwBCxCMAQALIQQgAxBrIQUjAEEQayIAJAAgASADQQxqIgs2AhAgAUEANgIMIAQEfyAAQQhqIAsgBBC7AiAAKAIIIQYgACgCDAVBAAshBCABIAY2AgAgASAGIAVBAnRqIgU2AgggASAGIARBAnRqNgIMIAEgBTYCBCAAQRBqJAAjAEEQayIGJAAgASgCCCEEIAZBBGoiACABQQhqNgIIIAAgBDYCACAAIAQgB0ECdGo2AgQgACgCACEEA0AgACgCBCAERwRAIAEoAhAaIAQQugIgACAAKAIAQQRqIgQ2AgAMAQsLIAAoAgggACgCADYCACAGQRBqJAAgASgCBCADKAIAIgAgAygCBGtqIQQgAygCBCAAayIHBEAgBCAAIAf8CgAACyABIAQ2AgQgAyADKAIANgIEIAMgAUEEahDXASADQQRqIAFBCGoQ1wEgA0EIaiABQQxqENcBIAEgASgCBDYCACADEGsaIAEoAgQhAANAIAEoAggiBCAARwRAIAEgBEEEazYCCCABKAIQGgwBCwsgASgCACIABEAgASgCECAAIAEoAgwgASgCAGtBAnUQuAILCyAKQSBqJAAMAQsgACABSQRAIAMoAgAgAEECdGohACADEGsaIAMgABDYAgsLCyADIAIQggEoAgAEQCADIAIQggEoAgAQvwELIAgQrAEhACADIAIQggEgADYCACAIKAIAIQAgCEEANgIAIAAEQCAAEL8BCyAJQRBqJAALySgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYzqASgCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUG06gFqIgAgASgCvOoBIgEoAggiBUYEQEGM6gEgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0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KAIAKAIcEQQAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEN8BDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRAwAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQMAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEHEaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAfRSACIAFrQQVIcg0AIAEgAhDHASACQQRrIQQgABAjIgIgABAfaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtpAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABIAIgA2siA0GAAiADQYACSSIBGxCYAiABRQRAA0AgACAFQYACEEIgA0GAAmsiA0H/AUsNAAsLIAAgBSADEEILIAVBgAJqJAALBABBAAsKACAALQALQQd2CwoAIABB0PIBEHoLCgAgAEHY8gEQegvPCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5QsAAQgAgBRt8pyIFQQ9rEEQgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3lCwABCACAHG3ynIgdBD2sQREEQIAdrIQcgBikDUCEDIAYpA1gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAlCA4YgCkI9iIQgAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEEQgBkEwaiACIAEgBxCKASAGKQM4IQEgBikDMCAGKQNAIAYpA0iEQgBSrYQLIQlCgICAgICAgASEIQsgCkIDhiEKAkAgBEIAUwRAQgAhA0IAIQQgCSAKhSABIAuFhFANAiAKIAl9IQIgCyABfSAJIApWrX0iBEL/////////A1YNASAGQSBqIAIgBCACIAQgBFAiBxt5QsAAQgAgBxt8p0EMayIHEEQgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBEIAYgAiAEQQEgBWsQigEgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUNAQsLIAAgAzcDACAAIAQ3AwggBkHwAGokAAsRACAAIAEgACgCACgCLBEEAAsIACAAQYABSQsRACACBEAgACABIAL8CgAACwsJACAAECMQ9wELhAECAn8BfiMAQRBrIgMkACAAAn4gAUUEQEIADAELIAMgASABQR91IgJzIAJrIgKtQgAgAmciAkHRAGoQRCADKQMIQoCAgICAgMAAhUGegAEgAmutQjCGfEKAgICAgICAgIB/QgAgAUEASBuEIQQgAykDAAs3AwAgACAENwMIIANBEGokAAsNACAAIAFB/wBxOgALC6oMAQh/An9BACABRQ0AGiAAQX9zIQMgAkEXTwRAAkAgAUEDcUUNACABLQAAIANzQf8BcUECdCgC0DMgA0EIdnMhAyACQQFrIgBFIAFBAWoiBEEDcUVyRQRAIAEtAAEgA3NB/wFxQQJ0KALQMyADQQh2cyEDIAJBAmsiAEUgAUECaiIEQQNxRXJFBEAgAS0AAiADc0H/AXFBAnQoAtAzIANBCHZzIQMgAkEDayIARSABQQNqIgRBA3FFckUEQCABLQADIANzQf8BcUECdCgC0DMgA0EIdnMhAyABQQRqIQEgAkEEayECDAMLIAAhAiAEIQEMAgsgACECIAQhAQwBCyAAIQIgBCEBCyACQRRuIghBbGwhCgJAIAhBAWsiCUUEQEEAIQQMAQsgASEAQQAhBANAIAAoAhAgB3MiB0EWdkH8B3EoAtBTIAdBDnZB/AdxKALQSyAHQQZ2QfwHcSgC0EMgB0H/AXFBAnQoAtA7c3NzIQcgACgCDCAGcyIGQRZ2QfwHcSgC0FMgBkEOdkH8B3EoAtBLIAZBBnZB/AdxKALQQyAGQf8BcUECdCgC0Dtzc3MhBiAAKAIIIARzIgRBFnZB/AdxKALQUyAEQQ52QfwHcSgC0EsgBEEGdkH8B3EoAtBDIARB/wFxQQJ0KALQO3NzcyEEIAAoAgQgBXMiBUEWdkH8B3EoAtBTIAVBDnZB/AdxKALQSyAFQQZ2QfwHcSgC0EMgBUH/AXFBAnQoAtA7c3NzIQUgACgCACADcyIDQRZ2QfwHcSgC0FMgA0EOdkH8B3EoAtBLIANBBnZB/AdxKALQQyADQf8BcUECdCgC0Dtzc3MhAyAAQRRqIQAgCUEBayIJDQALIAEgCEEUbGpBFGshAQsgAiAKaiECIAEoAhAgASgCDCABKAIIIAEoAgQgASgCACADcyIAQQh2IABB/wFxQQJ0KALQM3MiAEEIdiAAQf8BcUECdCgC0DNzIgBBCHYgAEH/AXFBAnQoAtAzcyIAQf8BcUECdCgC0DMgBXNzIABBCHZzIgBBCHYgAEH/AXFBAnQoAtAzcyIAQQh