@fahnestockj/numcodecs-fork
Version:
Buffer compression and transformation codecs for use in data storage and communication applications.
727 lines (725 loc) • 753 kB
JavaScript
import {
__toBinary
} from "./chunk-INHXZS53.js";
// codecs/zstd/zstd_codec.js
var zstd_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), r = f.printErr || console.error.bind(console);
Object.assign(f, ba);
ba = null;
var t;
f.wasmBinary && (t = f.wasmBinary);
"object" != typeof WebAssembly && u("no native wasm support detected");
var x, ca = false, y, z, B, C, D, E, da, ea;
function fa() {
var a = x.buffer;
f.HEAP8 = y = new Int8Array(a);
f.HEAP16 = B = new Int16Array(a);
f.HEAPU8 = z = new Uint8Array(a);
f.HEAPU16 = C = new Uint16Array(a);
f.HEAP32 = D = new Int32Array(a);
f.HEAPU32 = E = new Uint32Array(a);
f.HEAPF32 = da = new Float32Array(a);
f.HEAPF64 = ea = new Float64Array(a);
}
var ha = [], ia = [], ja = [], ka = false;
function la() {
var a = f.preRun.shift();
ha.unshift(a);
}
var F = 0, G = null, H = null;
function u(a) {
f.onAbort?.(a);
a = "Aborted(" + a + ")";
r(a);
ca = true;
a += ". Build with -sASSERTIONS for more info.";
ka && ma();
a = new WebAssembly.RuntimeError(a);
q(a);
throw a;
}
var na = (a) => a.startsWith("data:application/octet-stream;base64,"), oa = (a) => a.startsWith("file://"), I;
I = "zstd_codec.wasm";
if (!na(I)) {
var pa = I;
I = f.locateFile ? f.locateFile(pa, "") : "" + pa;
}
function qa(a) {
return Promise.resolve().then(() => {
if (a == I && t)
var b = new Uint8Array(t);
else
throw "both async and sync fetching of the wasm failed";
return b;
});
}
function ra(a, b, c) {
return qa(a).then((d) => WebAssembly.instantiate(d, b)).then((d) => d).then(c, (d) => {
r(`failed to asynchronously prepare wasm: ${d}`);
u(d);
});
}
function sa(a, b) {
var c = I;
return t || "function" != typeof WebAssembly.instantiateStreaming || na(c) || oa(c) || "function" != typeof fetch ? ra(c, a, b) : fetch(c, { credentials: "same-origin" }).then((d) => WebAssembly.instantiateStreaming(d, a).then(b, function(e) {
r(`wasm streaming compile failed: ${e}`);
r("falling back to ArrayBuffer instantiation");
return ra(c, a, b);
}));
}
var J = (a) => {
for (; 0 < a.length; )
a.shift()(f);
}, va = (a) => {
var b = ta();
a = a();
ua(b);
return a;
}, wa = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0, K = (a, b) => {
var c = z, d = a + b;
for (b = a; c[b] && !(b >= d); )
++b;
if (16 < b - a && c.buffer && wa)
return wa.decode(c.subarray(a, b));
for (d = ""; a < b; ) {
var e = c[a++];
if (e & 128) {
var g = c[a++] & 63;
if (192 == (e & 224))
d += String.fromCharCode((e & 31) << 6 | g);
else {
var h = c[a++] & 63;
e = 224 == (e & 240) ? (e & 15) << 12 | g << 6 | h : (e & 7) << 18 | g << 12 | h << 6 | c[a++] & 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;
}, ya = (a) => va(() => {
var b = L(4), c = L(4);
xa(a, b, c);
b = E[b >> 2];
c = E[c >> 2];
var d = b ? K(b) : "";
M(b);
if (c) {
var e = c ? K(c) : "";
M(c);
}
return [d, e];
});
f.getExceptionMessage = (a) => {
a = a.getArg(N.C, 0);
a = za(a);
return ya(a);
};
var Aa, O = (a) => {
for (var b = ""; z[a]; )
b += Aa[z[a++]];
return b;
}, P = {}, Q = {}, R = {}, S, T, Ba = (a, b) => {
function c(k) {
k = b(k);
if (k.length !== d.length)
throw new T("Mismatched type converter count");
for (var l = 0; l < d.length; ++l)
U(d[l], k[l]);
}
var d = [];
d.forEach(function(k) {
R[k] = a;
});
var e = Array(a.length), g = [], h = 0;
a.forEach((k, l) => {
Q.hasOwnProperty(k) ? e[l] = Q[k] : (g.push(k), P.hasOwnProperty(k) || (P[k] = []), P[k].push(() => {
e[l] = Q[k];
++h;
h === g.length && c(e);
}));
});
0 === g.length && c(e);
};
function Ca(a, b, c = {}) {
var d = b.name;
if (!a)
throw new S(`type "${d}" must have a positive integer typeid pointer`);
if (Q.hasOwnProperty(a)) {
if (c.N)
return;
throw new S(`Cannot register type '${d}' twice`);
}
Q[a] = b;
delete R[a];
P.hasOwnProperty(a) && (b = P[a], delete P[a], b.forEach((e) => e()));
}
function U(a, b, c = {}) {
if (!("argPackAdvance" in b))
throw new TypeError("registerType registeredInstance requires argPackAdvance");
Ca(a, b, c);
}
function Da() {
this.F = [void 0];
this.I = [];
}
var V = new Da(), Ea = (a) => {
a >= V.H && 0 === --V.get(a).J && V.L(a);
}, Fa = (a) => {
switch (a) {
case void 0:
return 1;
case null:
return 2;
case true:
return 3;
case false:
return 4;
default:
return V.K({ J: 1, value: a });
}
};
function Ga(a) {
return this.fromWireType(D[a >> 2]);
}
var Ha = (a, b) => {
switch (b) {
case 4:
return function(c) {
return this.fromWireType(da[c >> 2]);
};
case 8:
return function(c) {
return this.fromWireType(ea[c >> 3]);
};
default:
throw new TypeError(`invalid float width (${b}): ${a}`);
}
}, Ia = (a, b) => Object.defineProperty(b, "name", { value: a });
function Ja(a) {
for (var b = 1; b < a.length; ++b)
if (null !== a[b] && void 0 === a[b].G)
return true;
return false;
}
function Ka(a, b, c, d) {
var e = b.length;
if (2 > e)
throw new S("argTypes array size mismatch! Must at least get return value and 'this' types!");
var g = null !== b[1] && false, h = Ja(b), k = "void" !== b[0].name, l = e - 2, m = Array(l), n = [], p = [];
return Ia(a, function() {
if (arguments.length !== l)
throw new S(`function ${a} called with ${arguments.length} arguments, expected ${l}`);
p.length = 0;
n.length = g ? 2 : 1;
n[0] = d;
if (g) {
var v = b[1].toWireType(p, this);
n[1] = v;
}
for (var w = 0; w < l; ++w)
m[w] = b[w + 2].toWireType(p, arguments[w]), n.push(m[w]);
w = c.apply(
null,
n
);
if (h)
for (; p.length; )
v = p.pop(), p.pop()(v);
else
for (var A = g ? 1 : 2; A < b.length; A++) {
var Ra = 1 === A ? v : m[A - 2];
null !== b[A].G && b[A].G(Ra);
}
v = k ? b[0].fromWireType(w) : void 0;
return v;
});
}
var La = (a, b) => {
if (void 0 === f[a].D) {
var c = f[a];
f[a] = function() {
if (!f[a].D.hasOwnProperty(arguments.length))
throw new S(`Function '${b}' called with an invalid number of arguments (${arguments.length}) - expects one of (${f[a].D})!`);
return f[a].D[arguments.length].apply(this, arguments);
};
f[a].D = [];
f[a].D[c.M] = c;
}
}, Ma = (a, b, c) => {
if (f.hasOwnProperty(a)) {
if (void 0 === c || void 0 !== f[a].D && void 0 !== f[a].D[c])
throw new S(`Cannot register public name '${a}' twice`);
La(a, a);
if (f.hasOwnProperty(c))
throw new S(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);
f[a].D[c] = b;
} else
f[a] = b, void 0 !== c && (f[a].P = c);
}, Na = (a, b) => {
for (var c = [], d = 0; d < a; d++)
c.push(E[b + 4 * d >> 2]);
return c;
}, W, Oa = (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 = W.get(b).apply(null, c);
return d;
};
}, Pa = (a, b) => {
a = O(a);
var c = a.includes("j") ? Oa(a, b) : W.get(b);
if ("function" != typeof c)
throw new S(`unknown function pointer with signature ${a}: ${b}`);
return c;
}, Qa, Ta = (a) => {
a = Sa(a);
var b = O(a);
M(a);
return b;
}, Ua = (a, b) => {
function c(g) {
e[g] || Q[g] || (R[g] ? R[g].forEach(c) : (d.push(g), e[g] = true));
}
var d = [], e = {};
b.forEach(c);
throw new Qa(`${a}: ` + d.map(Ta).join([", "]));
}, Va = (a) => {
a = a.trim();
const b = a.indexOf("(");
return -1 !== b ? a.substr(0, b) : a;
}, Wa = (a, b, c) => {
switch (b) {
case 1:
return c ? (d) => y[d >> 0] : (d) => z[d >> 0];
case 2:
return c ? (d) => B[d >> 1] : (d) => C[d >> 1];
case 4:
return c ? (d) => D[d >> 2] : (d) => E[d >> 2];
default:
throw new TypeError(`invalid integer width (${b}): ${a}`);
}
};
function Xa(a) {
return this.fromWireType(E[a >> 2]);
}
for (var Ya = "undefined" != typeof TextDecoder ? new TextDecoder("utf-16le") : void 0, Za = (a, b) => {
var c = a >> 1;
for (var d = c + b / 2; !(c >= d) && C[c]; )
++c;
c <<= 1;
if (32 < c - a && Ya)
return Ya.decode(z.subarray(a, c));
c = "";
for (d = 0; !(d >= b / 2); ++d) {
var e = B[a + 2 * d >> 1];
if (0 == e)
break;
c += String.fromCharCode(e);
}
return c;
}, $a = (a, b, 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)
B[b >> 1] = a.charCodeAt(e), b += 2;
B[b >> 1] = 0;
return b - d;
}, ab = (a) => 2 * a.length, bb = (a, b) => {
for (var c = 0, d = ""; !(c >= b / 4); ) {
var e = D[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;
}, cb = (a, b, c) => {
c ??= 2147483647;
if (4 > c)
return 0;
var d = b;
c = d + c - 4;
for (var e = 0; e < a.length; ++e) {
var g = a.charCodeAt(e);
if (55296 <= g && 57343 >= g) {
var h = a.charCodeAt(++e);
g = 65536 + ((g & 1023) << 10) | h & 1023;
}
D[b >> 2] = g;
b += 4;
if (b + 4 > c)
break;
}
D[b >> 2] = 0;
return b - d;
}, db = (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;
}, eb = Array(256), X = 0; 256 > X; ++X)
eb[X] = String.fromCharCode(X);
Aa = eb;
S = f.BindingError = class extends Error {
constructor(a) {
super(a);
this.name = "BindingError";
}
};
T = f.InternalError = class extends Error {
constructor(a) {
super(a);
this.name = "InternalError";
}
};
Object.assign(Da.prototype, { get(a) {
return this.F[a];
}, has(a) {
return void 0 !== this.F[a];
}, K(a) {
var b = this.I.pop() || this.F.length;
this.F[b] = a;
return b;
}, L(a) {
this.F[a] = void 0;
this.I.push(a);
} });
V.F.push({ value: void 0 }, { value: null }, { value: true }, { value: false });
V.H = V.F.length;
f.count_emval_handles = () => {
for (var a = 0, b = V.H; b < V.F.length; ++b)
void 0 !== V.F[b] && ++a;
return a;
};
Qa = f.UnboundTypeError = ((a, b) => {
var c = Ia(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 fb = { m: () => {
}, k: (a, b, c, d) => {
b = O(b);
U(a, { name: b, fromWireType: function(e) {
return !!e;
}, toWireType: function(e, g) {
return g ? c : d;
}, argPackAdvance: 8, readValueFromPointer: function(e) {
return this.fromWireType(z[e]);
}, G: null });
}, j: (a, b) => {
b = O(b);
U(a, { name: b, fromWireType: (c) => {
if (!c)
throw new S("Cannot use deleted val. handle = " + c);
var d = V.get(c).value;
Ea(c);
return d;
}, toWireType: (c, d) => Fa(d), argPackAdvance: 8, readValueFromPointer: Ga, G: null });
}, h: (a, b, c) => {
b = O(b);
U(a, {
name: b,
fromWireType: (d) => d,
toWireType: (d, e) => e,
argPackAdvance: 8,
readValueFromPointer: Ha(b, c),
G: null
});
}, e: (a, b, c, d, e, g) => {
var h = Na(b, c);
a = O(a);
a = Va(a);
e = Pa(d, e);
Ma(a, function() {
Ua(`Cannot call ${a} due to unbound types`, h);
}, b - 1);
Ba(h, function(k) {
var l = a;
k = Ka(a, [k[0], null].concat(k.slice(1)), e, g);
var m = b - 1;
if (!f.hasOwnProperty(l))
throw new T("Replacing nonexistant public symbol");
void 0 !== f[l].D && void 0 !== m ? f[l].D[m] = k : (f[l] = k, f[l].M = m);
return [];
});
}, b: (a, b, c, d, e) => {
b = O(b);
-1 === e && (e = 4294967295);
e = (k) => k;
if (0 === d) {
var g = 32 - 8 * c;
e = (k) => k << g >>> g;
}
var h = b.includes("unsigned") ? function(k, l) {
return l >>> 0;
} : function(k, l) {
return l;
};
U(a, { name: b, fromWireType: e, toWireType: h, argPackAdvance: 8, readValueFromPointer: Wa(b, c, 0 !== d), G: null });
}, a: (a, b, c) => {
function d(g) {
return new e(y.buffer, E[g + 4 >> 2], E[g >> 2]);
}
var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][b];
c = O(c);
U(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { N: true });
}, f: (a, b) => {
b = O(b);
var c = "std::string" === b;
U(a, { name: b, fromWireType: function(d) {
var e = E[d >> 2], g = d + 4;
if (c)
for (var h = g, k = 0; k <= e; ++k) {
var l = g + k;
if (k == e || 0 == z[l]) {
h = h ? K(h, l - h) : "";
if (void 0 === m)
var m = h;
else
m += String.fromCharCode(0), m += h;
h = l + 1;
}
}
else {
m = Array(e);
for (k = 0; k < e; ++k)
m[k] = String.fromCharCode(z[g + k]);
m = m.join("");
}
M(d);
return m;
}, toWireType: function(d, e) {
e instanceof ArrayBuffer && (e = new Uint8Array(e));
var g, h = "string" == typeof e;
if (!(h || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array))
throw new S("Cannot pass non-string to std::string");
var k;
if (c && h)
for (g = k = 0; g < e.length; ++g) {
var l = e.charCodeAt(g);
127 >= l ? k++ : 2047 >= l ? k += 2 : 55296 <= l && 57343 >= l ? (k += 4, ++g) : k += 3;
}
else
k = e.length;
g = k;
k = Y(4 + g + 1);
l = k + 4;
E[k >> 2] = g;
if (c && h) {
if (h = l, l = g + 1, g = z, 0 < l) {
l = h + l - 1;
for (var m = 0; m < e.length; ++m) {
var n = e.charCodeAt(m);
if (55296 <= n && 57343 >= n) {
var p = e.charCodeAt(++m);
n = 65536 + ((n & 1023) << 10) | p & 1023;
}
if (127 >= n) {
if (h >= l)
break;
g[h++] = n;
} else {
if (2047 >= n) {
if (h + 1 >= l)
break;
g[h++] = 192 | n >> 6;
} else {
if (65535 >= n) {
if (h + 2 >= l)
break;
g[h++] = 224 | n >> 12;
} else {
if (h + 3 >= l)
break;
g[h++] = 240 | n >> 18;
g[h++] = 128 | n >> 12 & 63;
}
g[h++] = 128 | n >> 6 & 63;
}
g[h++] = 128 | n & 63;
}
}
g[h] = 0;
}
} else if (h)
for (h = 0; h < g; ++h) {
m = e.charCodeAt(h);
if (255 < m)
throw M(l), new S("String has UTF-16 code units that do not fit in 8 bits");
z[l + h] = m;
}
else
for (h = 0; h < g; ++h)
z[l + h] = e[h];
null !== d && d.push(M, k);
return k;
}, argPackAdvance: 8, readValueFromPointer: Xa, G(d) {
M(d);
} });
}, c: (a, b, c) => {
c = O(c);
if (2 === b) {
var d = Za;
var e = $a;
var g = ab;
var h = () => C;
var k = 1;
} else
4 === b && (d = bb, e = cb, g = db, h = () => E, k = 2);
U(a, { name: c, fromWireType: (l) => {
for (var m = E[l >> 2], n = h(), p, v = l + 4, w = 0; w <= m; ++w) {
var A = l + 4 + w * b;
if (w == m || 0 == n[A >> k])
v = d(v, A - v), void 0 === p ? p = v : (p += String.fromCharCode(0), p += v), v = A + b;
}
M(l);
return p;
}, toWireType: (l, m) => {
if ("string" != typeof m)
throw new S(`Cannot pass non-string to C++ string type ${c}`);
var n = g(m), p = Y(4 + n + b);
E[p >> 2] = n >> k;
e(m, p + 4, n + b);
null !== l && l.push(M, p);
return p;
}, argPackAdvance: 8, readValueFromPointer: Ga, G(l) {
M(l);
} });
}, l: (a, b) => {
b = O(b);
U(a, { O: true, name: b, argPackAdvance: 0, fromWireType: () => {
}, toWireType: () => {
} });
}, d: Ea, i: (a) => {
4 < a && (V.get(a).J += 1);
}, g: (a, b) => {
var c = Q[a];
if (void 0 === c)
throw a = "_emval_take_value has unknown type " + Ta(a), new S(a);
a = c;
a = a.readValueFromPointer(b);
return Fa(a);
}, n: () => {
u("");
}, p: (a, b, c) => z.copyWithin(a, b, b + c), o: (a) => {
var b = z.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) - x.buffer.byteLength + 65535) / 65536;
try {
x.grow(e);
fa();
var g = 1;
break a;
} catch (h) {
}
g = void 0;
}
if (g)
return true;
}
return false;
} }, N = function() {
function a(c) {
N = c.exports;
x = N.q;
fa();
W = N.v;
ia.unshift(N.r);
F--;
f.monitorRunDependencies?.(F);
0 == F && (null !== G && (clearInterval(G), G = null), H && (c = H, H = null, c()));
return N;
}
var b = { a: fb };
F++;
f.monitorRunDependencies?.(F);
if (f.instantiateWasm)
try {
return f.instantiateWasm(b, a);
} catch (c) {
r(`Module.instantiateWasm callback failed with error: ${c}`), q(c);
}
sa(b, function(c) {
a(c.instance);
}).catch(q);
return {};
}(), Y = (a) => (Y = N.s)(a), M = f._free = (a) => (M = f._free = N.t)(a), Sa = (a) => (Sa = N.u)(a), ma = () => (ma = N.w)(), ta = () => (ta = N.x)(), ua = (a) => (ua = N.y)(a), L = (a) => (L = N.z)(a), za = f.___thrown_object_from_unwind_exception = (a) => (za = f.___thrown_object_from_unwind_exception = N.A)(a), xa = f.___get_exception_message = (a, b, c) => (xa = f.___get_exception_message = N.B)(a, b, c), Z;
H = function gb() {
Z || hb();
Z || (H = gb);
};
function hb() {
function a() {
if (!Z && (Z = true, f.calledRun = true, !ca)) {
ka = true;
J(ia);
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();
ja.unshift(b);
}
J(ja);
}
}
if (!(0 < F)) {
if (f.preRun)
for ("function" == typeof f.preRun && (f.preRun = [f.preRun]); f.preRun.length; )
la();
J(ha);
0 < F || (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()();
hb();
return moduleArg.ready;
};
})();
var zstd_codec_default = zstd_codec;
// codecs/zstd/zstd_codec.wasm
var zstd_codec_default2 = __toBinary("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ACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsGACAAEBcL0AIBBX8gAARAIABBBGsiAygCACIEIQEgAyECIABBCGsoAgAiACAAQX5xIgBHBEAgAiAAayICKAIEIgEgAigCCCIFNgIIIAUgATYCBCAAIARqIQELIAMgBGoiACgCACIDIAAgA2pBBGsoAgBHBEAgACgCBCIEIAAoAggiADYCCCAAIAQ2AgQgASADaiEBCyACIAE2AgAgAiABQXxxakEEayABQQFyNgIAIAICfyACKAIAQQhrIgBB/wBNBEAgAEEDdkEBawwBCyAAZyEDIABBHSADa3ZBBHMgA0ECdGtB7gBqIABB/x9NDQAaQT8gAEEeIANrdkECcyADQQF0a0HHAGoiACAAQT9PGwsiAUEEdCIAQfDeAWo2AgQgAiAAQfjeAWoiACgCADYCCCAAIAI2AgAgAigCCCACNgIEQfjmAUH45gEpAwBCASABrYaENwMACwvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBCGsgATYCACACQQxrIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQRBrIAE2AgAgAkEUayABNgIAIAJBGGsgATYCACACQRxrIAE2AgAgBCADQQRxQRhyIgRrIgJBIEkNACABrUKBgICAEH4hBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsgAAtFACAAIAE6AAQgAEHslgE2AgAgACAALwAFQYDgA3EgAkE/cSADQQZ0QcABcXIgBEEDcUEIdHIgBUEDcUEKdHJyOwAFIAALGwEBfyACIAEgAGtJBH8gACACai0AAAUgAwvACzAAIAAgASAAKAIAKAIQEQAAIAAvAAVBwAFxQcAARwRAIAAgASAAKAIAKAIUEQAACwttAgJ/AX4jAEEgayICJAAgAkEYaiAAKAIAIgMgACgCBCADaxAsIQMgAiABKQIAIgQ3AxAgAiADKQIANwMIIAIgBDcDACACQQhqIAIQ5gEiAQRAIAAgACgCACAEQiCIp2o2AgALIAJBIGokACABC+gCAQJ/AkAgACABRg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACEBUPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIAALlR8CEX8BfiMAQSBrIgMkACADQQA2AhwCQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCACIBIAAoAgQiAkEAEBoiBEHBAGsOOhghHhchJB8hISEAIRkhHRshHCAaIwAhISEhISEhISEhBQMEEhMRFAYJCiELDA8QISEABwgWAQINDhUhCwJAIAEgAiABIAJBAkEBIARB8gBGIgQbIAQgASACIAQQGkHWAEYbIgQQGkHLAEYgBGoiBBAaQf8BcUHEAGsOAwAjJCMLIAEgAiAEQQFqEBpB/wFxIgFB7wBrIgJBCUtBASACdEGBBnFFcg0hDCMLIAAgAUEBajYCACAAQeEXECEhBQwmCyAAIAFBAWo2AgAg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