UNPKG

@niivue/niivue

Version:

minimal webgl2 nifti image viewer

910 lines (907 loc) 3.12 MB
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 __typeError = (msg) => { throw TypeError(msg); }; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { 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 = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; 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); var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg); var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)); var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value); var __privateSet = (obj, member, value, setter2) => (__accessCheck(obj, member, "write to private field"), setter2 ? setter2.call(obj, value) : member.set(obj, value), value); var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method); // ../../node_modules/array-equal/index.js var require_array_equal = __commonJS({ "../../node_modules/array-equal/index.js"(exports, module) { module.exports = function equal(arr1, arr2) { var length4 = arr1.length; if (arr1 === arr2) return true; if (length4 !== arr2.length) return false; for (var i = 0; i < length4; i++) if (arr1[i] !== arr2[i]) return false; return true; }; } }); // ../../node_modules/numcodecs/dist/chunk-INHXZS53.js var __toBinary; var init_chunk_INHXZS53 = __esm({ "../../node_modules/numcodecs/dist/chunk-INHXZS53.js"() { __toBinary = /* @__PURE__ */ (() => { var table = new Uint8Array(128); for (var i = 0; i < 64; i++) table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i; return (base64) => { var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0); for (var i2 = 0, j = 0; i2 < n; ) { var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)]; var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)]; bytes[j++] = c0 << 2 | c1 >> 4; bytes[j++] = c1 << 4 | c2 >> 2; bytes[j++] = c2 << 6 | c3; } return bytes; }; })(); } }); // ../../node_modules/numcodecs/dist/blosc.js var blosc_exports = {}; __export(blosc_exports, { default: () => blosc_default }); var blosc_codec, blosc_codec_default, blosc_codec_default2, COMPRESSORS, emscriptenModule, init, _a2, Blosc, blosc_default; var init_blosc = __esm({ "../../node_modules/numcodecs/dist/blosc.js"() { init_chunk_INHXZS53(); blosc_codec = (() => { var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; return function(moduleArg = {}) { var f = moduleArg, aa, q; f.ready = new Promise((a, b) => { aa = a; q = b; }); var ba = Object.assign({}, f), ca = "./this.program", ea = f.print || console.log.bind(console), t = f.printErr || console.error.bind(console); Object.assign(f, ba); ba = null; f.thisProgram && (ca = f.thisProgram); var u; f.wasmBinary && (u = f.wasmBinary); "object" != typeof WebAssembly && x("no native wasm support detected"); var y, fa = false, A, B, D, E, F, G, ha, ia; function ja() { var a = y.buffer; f.HEAP8 = A = new Int8Array(a); f.HEAP16 = D = new Int16Array(a); f.HEAPU8 = B = new Uint8Array(a); f.HEAPU16 = E = new Uint16Array(a); f.HEAP32 = F = new Int32Array(a); f.HEAPU32 = G = new Uint32Array(a); f.HEAPF32 = ha = new Float32Array(a); f.HEAPF64 = ia = new Float64Array(a); } var ka = [], la = [], ma = []; function na() { var a = f.preRun.shift(); ka.unshift(a); } var H = 0, I = null, J = null; function x(a) { f.onAbort?.(a); a = "Aborted(" + a + ")"; t(a); fa = true; a = new WebAssembly.RuntimeError(a + ". Build with -sASSERTIONS for more info."); q(a); throw a; } var oa = (a) => a.startsWith("data:application/octet-stream;base64,"), pa = (a) => a.startsWith("file://"), L; L = "blosc_codec.wasm"; if (!oa(L)) { var qa = L; L = f.locateFile ? f.locateFile(qa, "") : "" + qa; } function ra(a) { return Promise.resolve().then(() => { if (a == L && u) var b = new Uint8Array(u); else throw "both async and sync fetching of the wasm failed"; return b; }); } function sa(a, b, c) { return ra(a).then((d) => WebAssembly.instantiate(d, b)).then((d) => d).then(c, (d) => { t(`failed to asynchronously prepare wasm: ${d}`); x(d); }); } function ta(a, b) { var c = L; return u || "function" != typeof WebAssembly.instantiateStreaming || oa(c) || pa(c) || "function" != typeof fetch ? sa(c, a, b) : fetch(c, { credentials: "same-origin" }).then((d) => WebAssembly.instantiateStreaming(d, a).then(b, function(e) { t(`wasm streaming compile failed: ${e}`); t("falling back to ArrayBuffer instantiation"); return sa(c, a, b); })); } var M = (a) => { for (; 0 < a.length; ) a.shift()(f); }; function ua(a) { this.H = a - 24; this.N = function(b) { G[this.H + 4 >> 2] = b; }; this.M = function(b) { G[this.H + 8 >> 2] = b; }; this.I = function(b, c) { this.J(); this.N(b); this.M(c); }; this.J = function() { G[this.H + 16 >> 2] = 0; }; } var va = 0, wa = 0, xa, N = (a) => { for (var b = ""; B[a]; ) b += xa[B[a++]]; return b; }, O = {}, P = {}, Q = {}, R, ya = (a) => { throw new R(a); }, S, za = (a, b) => { function c(l) { l = b(l); if (l.length !== d.length) throw new S("Mismatched type converter count"); for (var g = 0; g < d.length; ++g) T(d[g], l[g]); } var d = []; d.forEach(function(l) { Q[l] = a; }); var e = Array(a.length), h = [], k = 0; a.forEach((l, g) => { P.hasOwnProperty(l) ? e[g] = P[l] : (h.push(l), O.hasOwnProperty(l) || (O[l] = []), O[l].push(() => { e[g] = P[l]; ++k; k === h.length && c(e); })); }); 0 === h.length && c(e); }; function Aa(a, b, c = {}) { var d = b.name; if (!a) throw new R(`type "${d}" must have a positive integer typeid pointer`); if (P.hasOwnProperty(a)) { if (c.P) return; throw new R(`Cannot register type '${d}' twice`); } P[a] = b; delete Q[a]; O.hasOwnProperty(a) && (b = O[a], delete O[a], b.forEach((e) => e())); } function T(a, b, c = {}) { if (!("argPackAdvance" in b)) throw new TypeError("registerType registeredInstance requires argPackAdvance"); Aa(a, b, c); } function Ba() { this.F = [void 0]; this.K = []; } var U = new Ba(), Ca = (a) => { a >= U.H && 0 === --U.get(a).L && U.J(a); }, Da = (a) => { switch (a) { case void 0: return 1; case null: return 2; case true: return 3; case false: return 4; default: return U.I({ L: 1, value: a }); } }; function Ea(a) { return this.fromWireType(F[a >> 2]); } var Fa = (a, b) => { switch (b) { case 4: return function(c) { return this.fromWireType(ha[c >> 2]); }; case 8: return function(c) { return this.fromWireType(ia[c >> 3]); }; default: throw new TypeError(`invalid float width (${b}): ${a}`); } }, V = (a, b) => Object.defineProperty(b, "name", { value: a }), Ga = (a) => { for (; a.length; ) { var b = a.pop(); a.pop()(b); } }; function Ha(a) { for (var b = 1; b < a.length; ++b) if (null !== a[b] && void 0 === a[b].G) return true; return false; } function La(a) { var b = Function; if (!(b instanceof Function)) throw new TypeError(`new_ called with constructor type ${typeof b} which is not a function`); var c = V(b.name || "unknownFunctionName", function() { }); c.prototype = b.prototype; c = new c(); a = b.apply(c, a); return a instanceof Object ? a : c; } var Ma = (a, b) => { if (void 0 === f[a].C) { var c = f[a]; f[a] = function() { if (!f[a].C.hasOwnProperty(arguments.length)) throw new R(`Function '${b}' called with an invalid number of arguments (${arguments.length}) - expects one of (${f[a].C})!`); return f[a].C[arguments.length].apply(this, arguments); }; f[a].C = []; f[a].C[c.O] = c; } }, Na = (a, b, c) => { if (f.hasOwnProperty(a)) { if (void 0 === c || void 0 !== f[a].C && void 0 !== f[a].C[c]) throw new R(`Cannot register public name '${a}' twice`); Ma(a, a); if (f.hasOwnProperty(c)) throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`); f[a].C[c] = b; } else f[a] = b, void 0 !== c && (f[a].S = c); }, Oa = (a, b) => { for (var c = [], d = 0; d < a; d++) c.push(G[b + 4 * d >> 2]); return c; }, Pa, Qa = (a, b) => { var c = []; return function() { c.length = 0; Object.assign(c, arguments); if (a.includes("j")) { var d = f["dynCall_" + a]; d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b); } else d = Pa.get(b).apply(null, c); return d; }; }, Ra = (a, b) => { a = N(a); var c = a.includes("j") ? Qa(a, b) : Pa.get(b); if ("function" != typeof c) throw new R(`unknown function pointer with signature ${a}: ${b}`); return c; }, Sa, Ua = (a) => { a = Ta(a); var b = N(a); W(a); return b; }, Va = (a, b) => { function c(h) { e[h] || P[h] || (Q[h] ? Q[h].forEach(c) : (d.push(h), e[h] = true)); } var d = [], e = {}; b.forEach(c); throw new Sa(`${a}: ` + d.map(Ua).join([", "])); }, Wa = (a) => { a = a.trim(); const b = a.indexOf("("); return -1 !== b ? a.substr(0, b) : a; }, Xa = (a, b, c) => { switch (b) { case 1: return c ? (d) => A[d >> 0] : (d) => B[d >> 0]; case 2: return c ? (d) => D[d >> 1] : (d) => E[d >> 1]; case 4: return c ? (d) => F[d >> 2] : (d) => G[d >> 2]; default: throw new TypeError(`invalid integer width (${b}): ${a}`); } }; function Ya(a) { return this.fromWireType(G[a >> 2]); } for (var Za = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0, $a = (a, b, c) => { var d = b + c; for (c = b; a[c] && !(c >= d); ) ++c; if (16 < c - b && a.buffer && Za) return Za.decode(a.subarray(b, c)); for (d = ""; b < c; ) { var e = a[b++]; if (e & 128) { var h = a[b++] & 63; if (192 == (e & 224)) d += String.fromCharCode((e & 31) << 6 | h); else { var k = a[b++] & 63; e = 224 == (e & 240) ? (e & 15) << 12 | h << 6 | k : (e & 7) << 18 | h << 12 | k << 6 | a[b++] & 63; 65536 > e ? d += String.fromCharCode(e) : (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)); } } else d += String.fromCharCode(e); } return d; }, ab = "undefined" != typeof TextDecoder ? new TextDecoder("utf-16le") : void 0, bb = (a, b) => { var c = a >> 1; for (var d = c + b / 2; !(c >= d) && E[c]; ) ++c; c <<= 1; if (32 < c - a && ab) return ab.decode(B.subarray(a, c)); c = ""; for (d = 0; !(d >= b / 2); ++d) { var e = D[a + 2 * d >> 1]; if (0 == e) break; c += String.fromCharCode(e); } return c; }, cb = (a, b, c) => { c ?? (c = 2147483647); if (2 > c) return 0; c -= 2; var d = b; c = c < 2 * a.length ? c / 2 : a.length; for (var e = 0; e < c; ++e) D[b >> 1] = a.charCodeAt(e), b += 2; D[b >> 1] = 0; return b - d; }, db = (a) => 2 * a.length, eb = (a, b) => { for (var c = 0, d = ""; !(c >= b / 4); ) { var e = F[a + 4 * c >> 2]; if (0 == e) break; ++c; 65536 <= e ? (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)) : d += String.fromCharCode(e); } return d; }, fb = (a, b, c) => { c ?? (c = 2147483647); if (4 > c) return 0; var d = b; c = d + c - 4; for (var e = 0; e < a.length; ++e) { var h = a.charCodeAt(e); if (55296 <= h && 57343 >= h) { var k = a.charCodeAt(++e); h = 65536 + ((h & 1023) << 10) | k & 1023; } F[b >> 2] = h; b += 4; if (b + 4 > c) break; } F[b >> 2] = 0; return b - d; }, gb = (a) => { for (var b = 0, c = 0; c < a.length; ++c) { var d = a.charCodeAt(c); 55296 <= d && 57343 >= d && ++c; b += 4; } return b; }, hb = {}, jb = () => { if (!ib) { var a = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: ("object" == typeof navigator && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: ca || "./this.program" }, b; for (b in hb) void 0 === hb[b] ? delete a[b] : a[b] = hb[b]; var c = []; for (b in a) c.push(`${b}=${a[b]}`); ib = c; } return ib; }, ib, kb = [null, [], []], lb = Array(256), X = 0; 256 > X; ++X) lb[X] = String.fromCharCode(X); xa = lb; R = f.BindingError = class extends Error { constructor(a) { super(a); this.name = "BindingError"; } }; S = f.InternalError = class extends Error { constructor(a) { super(a); this.name = "InternalError"; } }; Object.assign(Ba.prototype, { get(a) { return this.F[a]; }, has(a) { return void 0 !== this.F[a]; }, I(a) { var b = this.K.pop() || this.F.length; this.F[b] = a; return b; }, J(a) { this.F[a] = void 0; this.K.push(a); } }); U.F.push({ value: void 0 }, { value: null }, { value: true }, { value: false }); U.H = U.F.length; f.count_emval_handles = () => { for (var a = 0, b = U.H; b < U.F.length; ++b) void 0 !== U.F[b] && ++a; return a; }; Sa = f.UnboundTypeError = ((a, b) => { var c = V(b, function(d) { this.name = b; this.message = d; d = Error(d).stack; void 0 !== d && (this.stack = this.toString() + "\n" + d.replace(/^Error(:[^\n]*)?\n/, "")); }); c.prototype = Object.create(a.prototype); c.prototype.constructor = c; c.prototype.toString = function() { return void 0 === this.message ? this.name : `${this.name}: ${this.message}`; }; return c; })(Error, "UnboundTypeError"); var nb = { p: (a, b, c) => { new ua(a).I(b, c); va = a; wa++; throw va; }, o: () => { }, l: (a, b, c, d) => { b = N(b); T(a, { name: b, fromWireType: function(e) { return !!e; }, toWireType: function(e, h) { return h ? c : d; }, argPackAdvance: 8, readValueFromPointer: function(e) { return this.fromWireType(B[e]); }, G: null }); }, k: (a, b) => { b = N(b); T(a, { name: b, fromWireType: (c) => { if (!c) throw new R("Cannot use deleted val. handle = " + c); var d = U.get(c).value; Ca(c); return d; }, toWireType: (c, d) => Da(d), argPackAdvance: 8, readValueFromPointer: Ea, G: null }); }, i: (a, b, c) => { b = N(b); T(a, { name: b, fromWireType: (d) => d, toWireType: (d, e) => e, argPackAdvance: 8, readValueFromPointer: Fa(b, c), G: null }); }, d: (a, b, c, d, e, h, k) => { var l = Oa(b, c); a = N(a); a = Wa(a); e = Ra(d, e); Na(a, function() { Va(`Cannot call ${a} due to unbound types`, l); }, b - 1); za(l, function(g) { var m = a; var p = a; g = [g[0], null].concat(g.slice(1)); var r = e, n = g.length; if (2 > n) throw new R("argTypes array size mismatch! Must at least get return value and 'this' types!"); var v = null !== g[1] && false, C = Ha(g), Ia = "void" !== g[0].name; r = [ya, r, h, Ga, g[0], g[1]]; for (var w = 0; w < n - 2; ++w) r.push(g[w + 2]); if (!C) for (w = v ? 1 : 2; w < g.length; ++w) null !== g[w].G && r.push(g[w].G); C = Ha(g); w = g.length; var z = "", K = ""; for (n = 0; n < w - 2; ++n) z += (0 !== n ? ", " : "") + "arg" + n, K += (0 !== n ? ", " : "") + "arg" + n + "Wired"; z = ` return function (${z}) { if (arguments.length !== ${w - 2}) { throwBindingError('function ${p} called with ' + arguments.length + ' arguments, expected ${w - 2}'); }`; C && (z += "var destructors = [];\n"); var Ja = C ? "destructors" : "null", da = "throwBindingError invoker fn runDestructors retType classParam".split(" "); v && (z += "var thisWired = classParam['toWireType'](" + Ja + ", this);\n"); for (n = 0; n < w - 2; ++n) z += "var arg" + n + "Wired = argType" + n + "['toWireType'](" + Ja + ", arg" + n + "); // " + g[n + 2].name + "\n", da.push("argType" + n); v && (K = "thisWired" + (0 < K.length ? ", " : "") + K); z += (Ia || k ? "var rv = " : "") + "invoker(fn" + (0 < K.length ? ", " : "") + K + ");\n"; if (C) z += "runDestructors(destructors);\n"; else for (n = v ? 1 : 2; n < g.length; ++n) v = 1 === n ? "thisWired" : "arg" + (n - 2) + "Wired", null !== g[n].G && (z += v + "_dtor(" + v + "); // " + g[n].name + "\n", da.push(v + "_dtor")); Ia && (z += "var ret = retType['fromWireType'](rv);\nreturn ret;\n"); let [Ka, ob] = [da, z + "}\n"]; Ka.push(ob); g = La(Ka).apply(null, r); p = V(p, g); g = b - 1; if (!f.hasOwnProperty(m)) throw new S("Replacing nonexistant public symbol"); void 0 !== f[m].C && void 0 !== g ? f[m].C[g] = p : (f[m] = p, f[m].O = g); return []; }); }, b: (a, b, c, d, e) => { b = N(b); -1 === e && (e = 4294967295); e = (l) => l; if (0 === d) { var h = 32 - 8 * c; e = (l) => l << h >>> h; } var k = b.includes("unsigned") ? function(l, g) { return g >>> 0; } : function(l, g) { return g; }; T(a, { name: b, fromWireType: e, toWireType: k, argPackAdvance: 8, readValueFromPointer: Xa(b, c, 0 !== d), G: null }); }, a: (a, b, c) => { function d(h) { return new e(A.buffer, G[h + 4 >> 2], G[h >> 2]); } var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][b]; c = N(c); T(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { P: true }); }, e: (a, b) => { b = N(b); var c = "std::string" === b; T(a, { name: b, fromWireType: function(d) { var e = G[d >> 2], h = d + 4; if (c) for (var k = h, l = 0; l <= e; ++l) { var g = h + l; if (l == e || 0 == B[g]) { k = k ? $a(B, k, g - k) : ""; if (void 0 === m) var m = k; else m += String.fromCharCode(0), m += k; k = g + 1; } } else { m = Array(e); for (l = 0; l < e; ++l) m[l] = String.fromCharCode(B[h + l]); m = m.join(""); } W(d); return m; }, toWireType: function(d, e) { e instanceof ArrayBuffer && (e = new Uint8Array(e)); var h, k = "string" == typeof e; if (!(k || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array)) throw new R("Cannot pass non-string to std::string"); var l; if (c && k) for (h = l = 0; h < e.length; ++h) { var g = e.charCodeAt(h); 127 >= g ? l++ : 2047 >= g ? l += 2 : 55296 <= g && 57343 >= g ? (l += 4, ++h) : l += 3; } else l = e.length; h = l; l = mb(4 + h + 1); g = l + 4; G[l >> 2] = h; if (c && k) { if (k = g, g = h + 1, h = B, 0 < g) { g = k + g - 1; for (var m = 0; m < e.length; ++m) { var p = e.charCodeAt(m); if (55296 <= p && 57343 >= p) { var r = e.charCodeAt(++m); p = 65536 + ((p & 1023) << 10) | r & 1023; } if (127 >= p) { if (k >= g) break; h[k++] = p; } else { if (2047 >= p) { if (k + 1 >= g) break; h[k++] = 192 | p >> 6; } else { if (65535 >= p) { if (k + 2 >= g) break; h[k++] = 224 | p >> 12; } else { if (k + 3 >= g) break; h[k++] = 240 | p >> 18; h[k++] = 128 | p >> 12 & 63; } h[k++] = 128 | p >> 6 & 63; } h[k++] = 128 | p & 63; } } h[k] = 0; } } else if (k) for (k = 0; k < h; ++k) { m = e.charCodeAt(k); if (255 < m) throw W(g), new R("String has UTF-16 code units that do not fit in 8 bits"); B[g + k] = m; } else for (k = 0; k < h; ++k) B[g + k] = e[k]; null !== d && d.push(W, l); return l; }, argPackAdvance: 8, readValueFromPointer: Ya, G(d) { W(d); } }); }, c: (a, b, c) => { c = N(c); if (2 === b) { var d = bb; var e = cb; var h = db; var k = () => E; var l = 1; } else 4 === b && (d = eb, e = fb, h = gb, k = () => G, l = 2); T(a, { name: c, fromWireType: (g) => { for (var m = G[g >> 2], p = k(), r, n = g + 4, v = 0; v <= m; ++v) { var C = g + 4 + v * b; if (v == m || 0 == p[C >> l]) n = d(n, C - n), void 0 === r ? r = n : (r += String.fromCharCode(0), r += n), n = C + b; } W(g); return r; }, toWireType: (g, m) => { if ("string" != typeof m) throw new R(`Cannot pass non-string to C++ string type ${c}`); var p = h(m), r = mb(4 + p + b); G[r >> 2] = p >> l; e(m, r + 4, p + b); null !== g && g.push(W, r); return r; }, argPackAdvance: 8, readValueFromPointer: Ea, G(g) { W(g); } }); }, m: (a, b) => { b = N(b); T(a, { R: true, name: b, argPackAdvance: 0, fromWireType: () => { }, toWireType: () => { } }); }, g: Ca, j: (a) => { 4 < a && (U.get(a).L += 1); }, f: (a, b) => { var c = P[a]; if (void 0 === c) throw a = "_emval_take_value has unknown type " + Ua(a), new R(a); a = c; a = a.readValueFromPointer(b); return Da(a); }, h: () => { x(""); }, v: (a, b, c) => B.copyWithin(a, b, b + c), q: (a) => { var b = B.length; a >>>= 0; if (2147483648 < a) return false; for (var c = 1; 4 >= c; c *= 2) { var d = b * (1 + 0.2 / c); d = Math.min(d, a + 100663296); var e = Math; d = Math.max(a, d); a: { e = (e.min.call(e, 2147483648, d + (65536 - d % 65536) % 65536) - y.buffer.byteLength + 65535) / 65536; try { y.grow(e); ja(); var h = 1; break a; } catch (k) { } h = void 0; } if (h) return true; } return false; }, t: (a, b) => { var c = 0; jb().forEach((d, e) => { var h = b + c; e = G[a + 4 * e >> 2] = h; for (h = 0; h < d.length; ++h) A[e++ >> 0] = d.charCodeAt(h); A[e >> 0] = 0; c += d.length + 1; }); return 0; }, u: (a, b) => { var c = jb(); G[a >> 2] = c.length; var d = 0; c.forEach((e) => d += e.length + 1); G[b >> 2] = d; return 0; }, s: () => 52, n: function() { return 70; }, r: (a, b, c, d) => { for (var e = 0, h = 0; h < c; h++) { var k = G[b >> 2], l = G[b + 4 >> 2]; b += 8; for (var g = 0; g < l; g++) { var m = B[k + g], p = kb[a]; 0 === m || 10 === m ? ((1 === a ? ea : t)($a(p, 0)), p.length = 0) : p.push(m); } e += l; } G[d >> 2] = e; return 0; } }, Y = (function() { function a(c) { Y = c.exports; y = Y.w; ja(); Pa = Y.A; la.unshift(Y.x); H--; f.monitorRunDependencies?.(H); 0 == H && (null !== I && (clearInterval(I), I = null), J && (c = J, J = null, c())); return Y; } var b = { a: nb }; H++; f.monitorRunDependencies?.(H); if (f.instantiateWasm) try { return f.instantiateWasm( b, a ); } catch (c) { t(`Module.instantiateWasm callback failed with error: ${c}`), q(c); } ta(b, function(c) { a(c.instance); }).catch(q); return {}; })(), mb = (a) => (mb = Y.y)(a), W = (a) => (W = Y.z)(a), Ta = (a) => (Ta = Y.B)(a); f.dynCall_jiji = (a, b, c, d, e) => (f.dynCall_jiji = Y.D)(a, b, c, d, e); var Z; J = function pb() { Z || qb(); Z || (J = pb); }; function qb() { function a() { if (!Z && (Z = true, f.calledRun = true, !fa)) { M(la); aa(f); if (f.onRuntimeInitialized) f.onRuntimeInitialized(); if (f.postRun) for ("function" == typeof f.postRun && (f.postRun = [f.postRun]); f.postRun.length; ) { var b = f.postRun.shift(); ma.unshift(b); } M(ma); } } if (!(0 < H)) { if (f.preRun) for ("function" == typeof f.preRun && (f.preRun = [f.preRun]); f.preRun.length; ) na(); M(ka); 0 < H || (f.setStatus ? (f.setStatus("Running..."), setTimeout(function() { setTimeout(function() { f.setStatus(""); }, 1); a(); }, 1)) : a()); } } if (f.preInit) for ("function" == typeof f.preInit && (f.preInit = [f.preInit]); 0 < f.preInit.length; ) f.preInit.pop()(); qb(); return moduleArg.ready; }; })(); blosc_codec_default = blosc_codec; blosc_codec_default2 = __toBinary("AGFzbQEAAAABvwEWYAJ/fwBgBX9/f39/AX9gAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgBH9/f38Bf2AAAGABfwBgBH9/f38AYAZ/f39/f38AYAV/f39/fwBgBn9/f39/fwF/YAN/fn8BfmAHf39/f39/fwBgB39/f39/f38Bf2APf39/f39/f39/f39/f39/AX9gC39/f39/f39/f39/AX9gCH9/f39/f39/AX9gDX9/f39/f39/f39/f38Bf2ABfwF+YAR/f35+AAKFARYBYQFhAAUBYQFiAAsBYQFjAAUBYQFkAA4BYQFlAAABYQFmAAIBYQFnAAgBYQFoAAcBYQFpAAUBYQFqAAgBYQFrAAABYQFsAAkBYQFtAAABYQFuAAEBYQFvAA4BYQFwAAUBYQFxAAMBYQFyAAYBYQFzAAMBYQF0AAIBYQF1AAIBYQF2AAUDogGgAQEEBAgEAQkDBAQAAwYJAgsGBAgFAQgEAwAPBwMDBgwGAwEMAQEADAQIEBEBBQMEAgQHBBITBgcAAAwDAQYFBQIJCBQMBQcDBwIDFQgFBQkCAgUDAwEDAwgFBwQBAQEGAQEBAQEBAQEBAQEEAgICBgYFBgYGAAACBwgKDAADAgEDAwMKCwkJCwoEBAcHDQMNBAMDAQEBAQEBAQEBAQEBAQEEBQFwAVFRBQcBAYACgIACBg0CfwFBwPQFC38BQQALByQIAXcCAAF4AEwBeQAdAXoAGQFBAQABQgCnAQFDAJcBAUQAlAEJiAEBAEEBC1AyKJIBjAGLATIohgGAAV2TAZEBkAGPAY4BjQGJAYgBhwGFAYQBXFssigFvgwGCAYEBfH92d3h5rgGtAawBen2yAbEBsAGvAakBqAF7frMBtAG1AXWrAaoBpgGlAaQBowGiAaABMihtbZ8BYZUBYSieAZgBmQGaASidAZwBmwEyKJYBCvuTGaABggMBBH8gAyABAn8CQAJAIAAiBSAFIAMgASIGa2oiASACIAEgAkkbIgFBA2siCE8NACAFKAAAIAYoAABzIgcNAQNAIAZBBGohBiAFQQRqIgUgCE8NASAFKAAAIAYoAABzIgdFDQALIAUgB2hBA3ZqIABrDAILAkAgBSABQQFrTw0AIAYvAAAgBS8AAEcNACAGQQJqIQYgBUECaiEFCyABIAVLBH8gBSAGLQAAIAUtAABGagUgBQsgAGsMAQsgB2hBA3YLIgZqRgR/An8CQCACQQNrIgEgACAGaiIATQRAIAAhBQwBCyAAKAAAIAQoAABzIgNFBEAgACEFA0AgBEEEaiEEIAVBBGoiBSABTw0CIAUoAAAgBCgAAHMiA0UNAAsgBSADaEEDdmogAGsMAgsgA2hBA3YMAQsCQCAFIAJBAWtPDQAgBC8AACAFLwAARw0AIARBAmohBCAFQQJqIQULIAIgBUsEfyAFIAQtAAAgBS0AAEZqBSAFCyAAawsgBmoFIAYLC4AEAQN/IAJBgARPBEAgACABIAIQFSAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyAB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