@eluvio/elv-player-js 1.0.139 → 1.0.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2273 +0,0 @@
1
- import { c as cI, e as CI, r as vA, a as eI, b as fA, i as dA, s as xA, g as wI } from "./index-FmpRD8ov.mjs";
2
- class EA {
3
- constructor(I) {
4
- this.wasm = I;
5
- }
6
- /*
7
- * Converts a byte array (Uint8Array) to hex string
8
- */
9
- static bytesToHex(I) {
10
- return I.reduce(
11
- (A, Q) => A + Q.toString(16).padStart(2, "0"),
12
- ""
13
- );
14
- }
15
- static bytesToBinary(I) {
16
- return I.reduce(
17
- (A, Q) => A + Q.toString(2).padStart(8, "0") + " ",
18
- ""
19
- );
20
- }
21
- /*
22
- * Converts a hex string to a byte array (Uint8Array)
23
- */
24
- static hexToBytes(I) {
25
- return new Uint8Array(
26
- I.match(/.{1,2}/g).map((A) => parseInt(A, 16))
27
- );
28
- }
29
- static randomBytes(I) {
30
- if (typeof window < "u" && window.crypto !== "undefined") {
31
- let A = new Uint8Array(I);
32
- return window.crypto.getRandomValues(A), A;
33
- } else
34
- return cI.randomBytes(I);
35
- }
36
- /*
37
- * Write TypedArray to memory to use in a WASM function call. Caller is
38
- * responsible for freeing the pointer.
39
- *
40
- * Returns {
41
- * ptr: [for WASM],
42
- * len: arr.length
43
- * }
44
- */
45
- arrayToBuf(I) {
46
- const A = this.wasm, Q = {
47
- ptr: null,
48
- len: 0
49
- };
50
- if (!I)
51
- return Q;
52
- let C = null;
53
- if (I instanceof Uint8Array || typeof Buffer < "u" && I instanceof Buffer)
54
- C = I;
55
- else if (I instanceof ArrayBuffer || I.__proto__.toString().includes("ArrayBuffer"))
56
- C = new Uint8Array(I);
57
- else
58
- throw new Error(`arrayToBuf() failed: Expected Uint8Array, Buffer, or
59
- ArrayBuffer`);
60
- return Q.len = C.length, Q.ptr = A._malloc(C.length), A.writeArrayToMemory(C, Q.ptr), Q;
61
- }
62
- /*
63
- * Automatically free the pointer later on the event loop
64
- */
65
- arrayToSmartBuf(I) {
66
- const A = this.wasm, Q = this.arrayToBuf(I);
67
- return Q.ptr && setTimeout(() => {
68
- A._free(Q.ptr), Q.len = 0, Q.ptr = null;
69
- }, 0), Q;
70
- }
71
- /*
72
- * Allocate a buffer to be automatically freed later on the event loop
73
- */
74
- smartMalloc(I) {
75
- const A = this.wasm, Q = A._malloc(I);
76
- return setTimeout(() => {
77
- A._free(Q);
78
- }, 0), Q;
79
- }
80
- }
81
- class OA {
82
- constructor(I) {
83
- this.wasm = I, this.ptr = null, this.len = 0;
84
- }
85
- clear() {
86
- this.len = 0;
87
- }
88
- free() {
89
- this.ptr !== null && (this.wasm._free(this.ptr), this.len = 0, this.ptr = null);
90
- }
91
- resize(I) {
92
- this.ptr !== null && this.free(), this.len = I, this.ptr = this.wasm._malloc(I);
93
- }
94
- ensureSize(I) {
95
- (this.ptr === null || this.len < I) && this.resize(I);
96
- }
97
- }
98
- class yI {
99
- /*
100
- * wasm
101
- * secretKey [Uint8Array SECRET_KEY_SIZE]
102
- * symmetricKey [Uint8Array AES_KEY_SIZE]
103
- */
104
- constructor(I, A, Q) {
105
- const C = new EA(I);
106
- this.wasm = I, this.utils = C, this.context = I._NewCryptoContext(null, 0), this.scratchBuf = new OA(I), this.sk = A, this.skBuf = C.arrayToBuf(A), this.symKey = Q, this.symKeyBuf = C.arrayToBuf(Q);
107
- }
108
- clearBuf() {
109
- this.scratchBuf.clear();
110
- }
111
- free() {
112
- if (!this.context)
113
- return;
114
- const I = this.wasm;
115
- I._FreeCryptoContext(this.context), this.scratchBuf.free(), I._free(this.skBuf.ptr), I._free(this.symKeyBuf.ptr), this.context = null, this.scratchBuf = null, this.sk = null, this.skBuf = null, this.symKey = null, this.symKeyBuf = null, this.utils = null, this.wasm = null;
116
- }
117
- }
118
- class lI {
119
- /*
120
- * wasm
121
- * publicKey [Uint8Array PRIMARY_PK_KEY_SIZE]
122
- * secretKey [Uint8Array SECRET_KEY_SIZE] - Optional (needed for DecryptPrimary)
123
- * symmetricKey [Uint8Array AES_KEY_SIZE]
124
- * iv [Uint8Array IV_SIZE]
125
- */
126
- constructor(I, A, Q, C, o) {
127
- const a = new EA(I), h = EA.randomBytes(I._EMS_SEED_SIZE_()), r = a.arrayToSmartBuf(h);
128
- this.wasm = I, this.utils = a, this.context = I._NewCryptoContext(r.ptr, r.len), this.iv = o, this.pk = A, this.pkBuf = a.arrayToBuf(A), this.scratchBuf = new OA(I), this.sk = Q, this.skBuf = a.arrayToBuf(Q), this.symKey = C, this.symKeyBuf = a.arrayToBuf(C);
129
- }
130
- clearBuf() {
131
- this.scratchBuf.clear();
132
- }
133
- free() {
134
- if (!this.context)
135
- return;
136
- const I = this.wasm;
137
- I._FreeCryptoContext(this.context), I._free(this.pkBuf.ptr), this.scratchBuf.free(), I._free(this.symKeyBuf.ptr), this.context = null, this.iv = null, this.pk = null, this.pkBuf = null, this.scratchBuf = null, this.sk = null, this.skBuf = null, this.symKey = null, this.symKeyBuf = null, this.wasm = null, this.utils = null;
138
- }
139
- generateNextBlockIV() {
140
- let I = EA.randomBytes(this.iv.length);
141
- for (let A = 0; A < this.iv.length; A++)
142
- I[A] ^= this.iv[A];
143
- return I;
144
- }
145
- }
146
- var uI = (() => {
147
- var E = typeof document < "u" && document.currentScript ? document.currentScript.src : void 0;
148
- return function(I = {}) {
149
- var A = I, Q, C;
150
- A.ready = new Promise((i, s) => {
151
- Q = i, C = s;
152
- });
153
- var o = Object.assign({}, A), a = "";
154
- function h(i) {
155
- return A.locateFile ? A.locateFile(i, a) : a + i;
156
- }
157
- typeof document < "u" && document.currentScript && (a = document.currentScript.src), E && (a = E), a.indexOf("blob:") !== 0 ? a = a.substr(0, a.replace(/[?#].*/, "").lastIndexOf("/") + 1) : a = "";
158
- var r = A.print || console.log.bind(console), D = A.printErr || console.error.bind(console);
159
- Object.assign(A, o), o = null, A.arguments && A.arguments, A.thisProgram && A.thisProgram, A.quit && A.quit;
160
- var G;
161
- A.wasmBinary && (G = A.wasmBinary), A.noExitRuntime, typeof WebAssembly != "object" && IA("no native wasm support detected");
162
- var N, b = !1, q, S, R, c, y, H, F;
163
- function l() {
164
- var i = N.buffer;
165
- A.HEAP8 = q = new Int8Array(i), A.HEAP16 = R = new Int16Array(i), A.HEAPU8 = S = new Uint8Array(i), A.HEAPU16 = new Uint16Array(i), A.HEAP32 = c = new Int32Array(i), A.HEAPU32 = y = new Uint32Array(i), A.HEAPF32 = H = new Float32Array(i), A.HEAPF64 = F = new Float64Array(i);
166
- }
167
- var k = [], Y = [], W = [];
168
- function J() {
169
- if (A.preRun)
170
- for (typeof A.preRun == "function" && (A.preRun = [A.preRun]); A.preRun.length; )
171
- rA(A.preRun.shift());
172
- e(k);
173
- }
174
- function p() {
175
- e(Y);
176
- }
177
- function V() {
178
- if (A.postRun)
179
- for (typeof A.postRun == "function" && (A.postRun = [A.postRun]); A.postRun.length; )
180
- CA(A.postRun.shift());
181
- e(W);
182
- }
183
- function rA(i) {
184
- k.unshift(i);
185
- }
186
- function DA(i) {
187
- Y.unshift(i);
188
- }
189
- function CA(i) {
190
- W.unshift(i);
191
- }
192
- var X = 0, z = null;
193
- function cA(i) {
194
- X++, A.monitorRunDependencies && A.monitorRunDependencies(X);
195
- }
196
- function AA(i) {
197
- if (X--, A.monitorRunDependencies && A.monitorRunDependencies(X), X == 0 && z) {
198
- var s = z;
199
- z = null, s();
200
- }
201
- }
202
- function IA(i) {
203
- A.onAbort && A.onAbort(i), i = "Aborted(" + i + ")", D(i), b = !0, i += ". Build with -sASSERTIONS for more info.";
204
- var s = new WebAssembly.RuntimeError(i);
205
- throw C(s), s;
206
- }
207
- var gA = "data:application/octet-stream;base64,";
208
- function aA(i) {
209
- return i.startsWith(gA);
210
- }
211
- var $;
212
- $ = "data:application/octet-stream;base64,AGFzbQEAAAABqAEWYAJ/fwBgAX8AYAN/f38AYAF/AX9gA39/fwF/YAABf2ACf38Bf2AEf39/fwF/YAV/f39/fwBgBH9/f38AYAV/f39/fwF/YAp/f39/f39/f39/AX9gBH9/fn8AYAl/f39/f39/f38Bf2AHf39/f39/fwF/YAABfGAFf35+fn4AYAAAYAN/fn8BfmAGf39/f39/AGAIf39/f39/f38Bf2AGf39/f39/AX8CHwUBYQFhAAoBYQFiAAMBYQFjAAcBYQFkAAMBYQFlAA8DhQKDAgECAQECAgICEAIAAgAAAQAEAAIAAgIAAAEABAABAAACAAAAAAECAAAAAgAAAgICAAEAAAABAgADAgABCAABAwAAAQACAQMCAwMAAQAAAQEBAgABBgIDBgwCAAABAAADAAADAgECAQgDAwYGAAADAQEBDAACAQgCAQEAAAACAAAAAgkDAAEAAAQAAQgAAgICAAICAAEBAgEGAAABEQEBAQIDAgAAAAEAAgMAAAQCCQEAAgkCCQIBBgYCAwoDBAgAAAsFBQAFDQsLAAADAQACAAABAgIBAQABAQADBAABBAIGAwAAAQISBAMKBgcHBAcBDg0TBQUFBQUFBQUHFA4VAwMGAwMEBQFwAQQEBQcBAYACgIACBggBfwFBoL4ECwfPASoBZgIAAWcAoAEBaADJAQFpAP0BAWoA/gEBawD3AQFsAMYBAW0A/AEBbgD7AQFvAPoBAXAAxwEBcQDHAQFyAMYBAXMA+QEBdAD4AQF1AMkBAXYAQgF3AEwBeAD/AQF5AIcCAXoAhgIBQQCFAgFCAIQCAUMAgwIBRACCAgFFAIECAUYAgAIBRwDMAQFIAMsBAUkA9gEBSgD1AQFLAMUBAUwA9AEBTQDzAQFOAPIBAU8A8QEBUADvAQFRAPABAVIA7gEBUwDBAQFUAO0BAVUBAAkMAQBBAQsD7AHrAeoBCqjHA4MCSwIBfgJ/A0AgACACQQN0aiIDIAMpAwAgAXwiAUL//////////wODNwMAIAFCOochASACQQFqIgJBBkcNAAsgACAAKQMwIAF8NwMwC04BAX8jAEFAaiIDJAAgACABIAIQlQEgACACKAI4IAEoAjhqIgE2AjggAUGBgIAQTgRAIANBwC4QDyAAIAMQJyAAQQE2AjgLIANBQGskAAtLAgF+An8DQCAAIAJBA3RqIgMgAykDACABfCIBQv//////////AIM3AwAgAUI4hyEBIAJBAWoiAkEERw0ACyAAIAApAyAgAXw3AyALDQAgABAFIABBQGsQBQtyAQN/IwBBMGsiAyQAA0AgACAEQQN0IgVqIAIgBWopAwAgASAFaikDAHw3AwAgBEEBaiIEQQVHDQALIAAgAigCKCABKAIoaiIBNgIoIAFBgYCACE4EQCADQZApEBQgACADEC0gAEEBNgIoCyADQTBqJAALaAEBfyMAQbABayIDJAAgAjQCOCABNAI4fkKBgIAQWQRAIANBwC4QDyABIAMQJyABQQE2AjgLIAMgASACEF0gA0HwAGoiAUHALhAPIAAgAUG4LykDACADEFwgAEECNgI4IANBsAFqJAALHgAgACABIAIQDiAAQYABaiABQYABaiACQYABahAOC2kBAX8jAEGAAWsiAyQAIAI0AiggATQCKH5CgYCACFkEQCADQZApEBQgASADEC0gAUEBNgIoCyADIAEgAhDpASADQdAAaiIBQZApEBQgACABQegpKQMAIAMQdiAAQQI2AiggA0GAAWokAAt1AQF+IAAgASAEfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IAEgAn4gA0L/////D4N8IgFCIIh8NwMIIAAgBUL/////D4MgAUIghoQ3AwALGwAgACABIAIQBiAAQUBrIAFBQGsgAkFAaxAGCwsAIAAgAUEHELkBC80CAQZ/IwBB8AVrIgMkACADQcAuEA8gA0HAAWpBAEE4EBUhBUEHIQQDQCAFIARBA3QiBmogAyAGakE4aykDADcDACAEQQFqIgRBDkcNAAsgAUFAayEEAkAgAigCeCACKAI4aqwgASgCeCIFIAEoAjgiBmqsfkKBgIAQUw0AIAZBAk4EfyABEB0gASgCeAUgBQtBAkgNACAEEB0LIANBgAVqIgcgASACEF0gA0GQBGoiCCAEIAJBQGsiBhBdIANBgAFqIgUgASAEEJUBIAUQBSADQUBrIgEgAiAGEJUBIAEQBSADQaADaiICIAUgARBdIANBsAJqIgEgByAIENYBIAggA0HAAWogCBDXASAHIAcgCBDWASACIAIgARDXASAHENsBIAAgBxCQASAAQQM2AjggAhDbASAAQUBrIAIQkAEgAEECNgJ4IANB8AVqJAALTAECfyMAQfABayICJAAgAkGALxAPIAJBQGsiAyABIAIQXSACQbABaiIBQcAuEA8gACABQbgvKQMAIAMQXCAAQQI2AjggAkHwAWokAAscACAAIAFHBEAgACABEBsgAEFAayABQUBrEBsLCw4AIAAQCCAAQYABahAICwsAIAAgAUEFELkBCykBAX8gAgRAIAAhAwNAIAMgAToAACADQQFqIQMgAkEBayICDQALCyAACwsAIAAgAUEwELcBCyIBAX8jAEFAaiIDJAAgAyACECYgACABIAMQBiADQUBrJAAL1AECA38BfiMAQUBqIgMkAANAIAEgAkEDdGoiBCAEKQMAIAV8IgVC//////////8DgzcDACAFQjqHIQUgAkEBaiICQQZHDQALIAEgASkDMCAFfDcDMCADIAFBOBAfIQNBLyECA0AgACACIgFqIAMpAwAiBTwAAEEAIQIDQCADIAJBA3RqIAVCCIcgAyACQQFqIgJBA3RqKQMAIgVCMoZCgICAgICAgP4Dg4Q3AwAgAkEGRw0ACyADIAMpAzBCCIc3AzAgAUEBayECIAENAAsgA0FAayQACyIBAX8jAEEwayIDJAAgAyACEFEgACABIAMQCSADQTBqJAALngEBBn8jAEGABGsiAyQAIANBgANqIgYgASACEBAgA0GAAmoiBSABQYABaiIHIAJBgAFqIggQECADQYABaiIEIAggAhAOIAMgByABEA4gAxAIIAQQCCADIAMgBBAQIAQgBhArIAMgAyAEEA4gAxAIIAQgBRArIABBgAFqIgEgAyAEEA4gBRApIAAgBSAGEA4gABAIIAEQCCADQYAEaiQACxIAIAAgARAPIAAgASgCODYCOAs9AQF/IwBBsAFrIgIkACACENkBIAIgARDaASACQfAAaiIBQcAuEA8gACABQbgvKQMAIAIQXCACQbABaiQACygBAX8jAEFAaiIBJAAgAUHALhAPIAAgARAnIABBATYCOCABQUBrJAALtgIBCX8jAEGADGsiAiQAIAJBgApqIgogACABEBogAkGABmoiBSAAQYACaiIGIAFBgAJqIgcQGiACQYACaiIDIAAgBhALIAIgASAHEAsgAxATIAIQEyACQYAIaiIJIAMgAhAaIAMgBiAAQYAEaiIIEAsgAiAHIAFBgARqIgcQCyADEBMgAhATIAJBgARqIgQgAyACEBogAyAKED4gAiAFED4gCSAJIAMQCyAGIAkgAhALIAQgBCACEAsgBSAFIAMQCyADIAAgCBALIAIgASAHEAsgAxATIAIQEyADIAIgAxAaIAUgBSADEAsgAyAIIAcQGiACIAMQPiAIIAUgAhALIAQgBCACEAsgAxAhIAYgBiADEAsgBBATIAQQISAAIAogBBALIAAQEyAGEBMgCBATIAJBgAxqJAALMwEBfyACBEAgACEDA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAACykAIAAgARBHIAAgABCDASAAQYACaiIBIAEQggEgAEGABGoiACAAEIMBC2gBBX8jAEHAAmsiASQAIAEgAEGAAWoiAxASIAFBgAFqIgIgARASIAFBgAJqIgQgAhAbIAIgAUHAAWoiBRAmIAUgBBAbIAEgASACEA4gAyAAEBIgACABEBIgABAIIAMQCCABQcACaiQAC7ALAgd+CX8jAEGwAWsiCyQAIAE0AjgiAiACfkKBgIAQWgRAIAtBwC4QDyABIAsQJyABQQE2AjgLIwBB0AFrIgkkACAJQcABaiABKQMAIgIgAkI/hyIDIAIgAxANIAsgCSkDwAEiAkL//////////wODNwMAIAkpA8gBIgNCBoYgAkI6iIQhBSADQjqIIQZBASEMQQEhDQNAIAlBsAFqIAEpAwAiAiACQj+HIAEgDUEDdCIOaikDACICIAJCP4cQDUECIAwgDEECTRshDyAJKQO4ASEDIAkpA7ABIQJBASEKIA1BA08EQANAIAlBoAFqIAEgCkEDdGopAwAiBCAEQj+HIAEgDSAKa0EDdGopAwAiBCAEQj+HEA0gCSkDoAEiBCACfCICIARUrSAJKQOoASADfHwhAyAKQQFqIgogD0cNAAsLIA1BAWoiEEEBdiERIAsgDmogAkIBhiIEIAV8IgVC//////////8DgzcDACAJQZABaiABKQMAIgcgB0I/hyABIBBBA3QiDmopAwAiByAHQj+HEA0gBCAFVq0gA0IBhiACQj+IhCAGfHwiBEI6hyEHIAkpA5gBIQNBASEKIAkpA5ABIQIgDUECTwRAA0AgCUGAAWogASAKQQN0aikDACIGIAZCP4cgASAQIAprQQN0aikDACIGIAZCP4cQ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IAJBA3QiA2oiBiAGIAMgBGogCEIAUxspAwA3AwAgAkEBaiICQQdHDQALIAVBAUohByAFQQFrIQUgBw0ACwsgBEFAayQACwsAIAAgAUEvELcBC0wBA38jAEHAAWsiASQAIAEgABASIAFBgAFqIgMgABAbIAAgAEFAayICECYgAiADEBsgACABIAAQBiACIAFBQGsgAhAGIAFBwAFqJAALNQEBfyMAQYABayIDJAAgAyACECsgACABIAMQBiAAQUBrIAFBQGsgA0FAaxAGIANBgAFqJAALRwEDfyMAQYABayICJAAgAkFAayIDIAEgAUFAayIEEAYgAyADECYgAiADIAQQBiAAQUBrIAMgARAGIAAgAhAbIAJBgAFqJAALgQkCB34KfyMAQYABayIKJAAgATQCKCICIAJ+QoGAgAhaBEAgCkGQKRAUIAEgChAtIAFBATYCKAsjAEHAAWsiCSQAIAlBsAFqIAEpAwAiAiACQj+HIgQgAiAEEA0gCiAJKQOwASICQv//////////AIM3AwAgCSkDuAEiBEIIhiACQjiIhCEFIARCOIghBEEBIQ5BASENA0AgCUGgAWogASkDACICIAJCP4cgASANQQN0IhBqIgspAwAiAiACQj+HEA0gCSkDqAEhAyAJKQOgASECIAwEQCAJQZABaiABKQMIIgYgBkI/hyALQQhrKQMAIgYgBkI/hxANIAkpA5ABIgYgAnwiAiAGVK0gCSkDmAEgA3x8IQMLIA1BAWoiD0EBdiERIAogEGogAkIBhiIGIAV8IgVC//////////8AgzcDACAJQYABaiABKQMAIgcgB0I/hyABIA9BA3RqKQMAIgcgB0I/hxANIAUgBlStIANCAYYgAkI/iIQgBHx8IgZCOIchByAJKQOIASEEIAkpA4ABIQIgDARAIAlB8ABqIAEpAwgiAyADQj+HIAspAwAiAyADQj+HEA0gCSkDcCIDIAJ8IgIgA1StIAkpA3ggBHx8IQQLQQMhDSAJQeAAaiABIBFBA3RqKQMAIgMgA0I/hyIIIAMgCBANIAogD0EDdGogAkIBhiIIIAZCCIYgBUI4iIR8IgUgCSkDYHwiA0L//////////wCDNwMAIAMgBVStIAkpA2ggBSAIVK0gBEIBhiACQj+IhCAHfHx8fCICQjiHIQQgAkIIhiADQjiIhCEFQQEhDCAOIRJBACEOIBINAAsgCUHQAGogASkDECICIAJCP4cgASkDGCICIAJCP4cQDSAJQUBrIAEpAwgiAiACQj+HIAEpAyAiAiACQj+HEA0gCiAJKQNQIgYgCSkDQHwiAkIBhiIHIAV8IgVC//////////8AgzcDKCAJQSBqIAEpAxAiAyADQj+HIAEpAyAiAyADQj+HEA0gCUEwaiABKQMYIgMgA0I/hyIIIAMgCBANIAogCSkDICIDQgGGIgggBSAHVK0gAiAGVK0gCSkDWCAJKQNIfHxCAYYgAkI/iIQgBHx8IgZCCIYgBUI4iIR8IgIgCSkDMHwiBEL//////////wCDNwMwIAlBEGogASkDGCIFIAVCP4cgASkDICIFIAVCP4cQDSAKIAkpAxAiBUIBhiIHIAIgBFatIAkpAzggAiAIVK0gCSkDKEIBhiADQj+IhCAGQjiHfHx8fCIDQgiGIARCOIiEfCICQv//////////AIM3AzggCSABKQMgIgQgBEI/hyIGIAQgBhANIAogCSkDACIEIAIgB1StIAkpAxhCAYYgBUI/iIQgA0I4h3x8IgVCCIYgAkI4iIR8IgJC//////////8AgzcDQCAKIAIgBFStIAkpAwggBUI4h3x8QgiGIAJCOIiENwNIIAlBwAFqJAAgCkHQAGoiAUGQKRAUIAAgAUHoKSkDACAKEHYgAEECNgIoIApBgAFqJAAL/wMCBn8CfiMAQTBrIgQkAANAIAAgAkEDdGoiAyADKQMAIAh8IghC//////////8AgzcDACAIQjiHIQggAkEBaiICQQRHDQALIAAgACkDICAIfDcDIEEEIQMCQAJAA0AgACADIgJBA3QiA2opAwAiCCABIANqKQMAIglRBEAgAkEBayEDIAINAQwCCwsgCCAJVw0BCwNAIAFBARB3IAVBAWohBUEEIQMDQCAAIAMiAkEDdCIDaikDACIIIAEgA2opAwAiCVEEQCACQQFrIQMgAg0BDAILCyAIIAlVDQALA0AgASkDACEIQQAhAgNAIAEgAkEDdGogCEIBhyABIAJBAWoiAkEDdGopAwAiCEI3hkKAgICAgICAwACDhDcDACACQQRHDQALIAEgASkDIEIBhzcDIEEAIQJBACEDA0AgBCADQQN0IgZqIAAgBmopAwAgASAGaikDAH03AwAgA0EBaiIDQQVHDQALQgAhCANAIAQgAkEDdGoiAyADKQMAIAh8IghC//////////8AgzcDACAIQjiHIQggAkEBaiICQQRHDQALIAQgBCkDICAIfCIINwMgQQAhAgNAIAAgAkEDdCIDaiIGIAYgAyAEaiAIQgBTGykDADcDACACQQFqIgJBBUcNAAsgBUEBSiEHIAVBAWshBSAHDQALCyAEQTBqJAALLQAgACABIAIQhQEgAEGAAWogAUGAAWogAhCFASAAQYACaiABQYACaiACEIUBCx4AIAAgAUcEQCAAIAEQEiAAQYABaiABQYABahASCwtjAQR/IwBBwAFrIgIkACACQYABaiIDIAEgAUFAayIEEAYgAiAEECYgAkFAayIFIAEgARAGIAUQBSAAQUBrIAUgBBAKIAAgASACEAYgAxAFIAAQBSAAIAMgABAKIAJBwAFqJAALKAAgACABIAIQWSAAQUBrIAFBQGsgAhBZIABBgAFqIAFBgAFqIAIQWQuDAQEDfyMAQYABayIEJAACQCACIAJBH3UiA3MgA2siAyABKAI4bEGAgIAQTARAIAAgASADEJMBIAAgASgCOCADbDYCOAwBCyAEQUBrIgUQ3AEgBSADEF4gBRAFIAQgBRARIAAgASAEEAoLIAJBAEgEQCAAIAAQJiAAEAULIARBgAFqJAALKwAgACABIAIQmgEgAEEwaiABQTBqIAIQmgEgAEHgAGogAUHgAGogAhCaAQuUAQEEfyMAQYADayIDJAAgAyABIAFBgAFqIgQQECADQYABaiICIAQQEiADQYACaiIFIAEgBBAOIAIQKSACIAEgAhAOIAUQCCACEAggACAFIAIQECACIAMQEiACECkgAiACIAMQDiACEAggAiACECsgACAAIAIQDiAAQYABaiIBIAMgAxAOIAAQCCABEAggA0GAA2okAAsOACAAED8gAEGAAWoQPwsgAQF/IwBBQGoiAiQAIAIgARAPIAAgAhARIAJBQGskAAskACAAIAEQEiAAQYABaiABQYABahASIABBgAJqIAFBgAJqEBILWwEDfyMAQYACayICJAAgAkGAAWoiAyABEDAgAiADIAEQECAAIAIQgAEgAEGAAmoiBCACEIABIABBgARqIgAgAhCAASAEIAQgARBnIAAgACADEGcgAkGAAmokAAsOACAAENwBIABBATYCOAv8AQIFfwR+IwBB4ABrIgQkAAJAIAIgAkEfdSIDcyADayIFIAEoAihsQYCAgAhMBEAjAEEQayIDJAAgBawhCgNAIAMgASAGQQN0IgdqKQMAIgggCEI/hyAKIApCP4cQDSAAIAdqIAMpAwAiCyAJfCIIQv//////////AIM3AwAgCCALVK0gAykDCCAJQj+HfHxCCIYgCEI4iIQhCSAGQQFqIgZBBUcNAAsgA0EQaiQAIAAgASgCKCAFbDYCKAwBCyAEQTBqIgMQogEgAyAFEJ4BIAMQByAEIAMQOyAAIAEgBBAMCyACQQBIBEAgACAAEFEgABAHCyAEQeAAaiQAC00BAn8jAEGwAWsiAiQAIAJBwCkQFCACQTBqIgMgASACEOkBIAJBgAFqIgFBkCkQFCAAIAFB6CkpAwAgAxB2IABBAjYCKCACQbABaiQACwsAIAApAwBCAoGnC8ABAQR/IwBBwAZrIgMkACACEAUgAyACQQMQkwEgAxAFIANBQGsgARBHIAMQQyIEQQNOBEAgBEECayEEA0AgA0FAayIFIAUQqQECQAJAAkAgAyAEEG8gAiAEEG9rQQFqDgMBAgACCyADQUBrIAEQHgwBCyABIAEQICADQUBrIAEQHiABIAEQIAsgBEEBSiEGIARBAWshBCAGDQALCyAAIANBQGsQRyAAEDUgAEGAAmoQNSAAQYAEahA1IANBwAZqJAALXAEDfyMAQYACayICJAAgARAIIAFBgAFqIgMQCCACQYABaiIEIAEgAxAOIAQgBBArIAIgBCADEA4gAEGAAWoiAyAEIAEQDiAAIAIQEiAAEAggAxAIIAJBgAJqJAALDQAgABAdIABBQGsQHQttAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiARsQFRogAUUEQANAIAAgBUGAAhBLIANBgAJrIgNB/wFLDQALCyAAIAUgAxBLCyAFQYACaiQAC2YBAn8gACAAKAIAIgJBA3ZBPHFqIgNBKGogAUH/AXEgAygCKEEIdHI2AgAgACACQQhqIgE2AgACQAJAIAFFBEAgAEEANgIAIAAgACgCBEEBajYCBAwBCyABQf8DcQ0BCyAAELMBCwvSCwEHfwJAIABFDQAgAEEIayICIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAiACKAIAIgFrIgJB/DkoAgBJDQEgACABaiEAAkACQEGAOigCACACRwRAIAFB/wFNBEAgAUEDdiEEIAIoAgwiASACKAIIIgNGBEBB7DlB7DkoAgBBfiAEd3E2AgAMBQsgAyABNgIMIAEgAzYCCAwECyACKAIYIQYgAiACKAIMIgFHBEAgAigCCCIDIAE2AgwgASADNgIIDAMLIAJBFGoiBCgCACIDRQRAIAIoAhAiA0UNAiACQRBqIQQLA0AgBCEHIAMiAUEUaiIEKAIAIgMNACABQRBqIQQgASgCECIDDQALIAdBADYCAAwCCyAFKAIEIgFBA3FBA0cNAkH0OSAANgIAIAUgAUF+cTYCBCACIABBAXI2AgQgBSAANgIADwtBACEBCyAGRQ0AAkAgAigCHCIDQQJ0QZw8aiIEKAIAIAJGBEAgBCABNgIAIAENAUHwOUHwOSgCAEF+IAN3cTYCAAwCCyAGQRBBFCAGKAIQIAJGG2ogATYCACABRQ0BCyABIAY2AhggAigCECIDBEAgASADNgIQIAMgATYCGAsgAigCFCIDRQ0AIAEgAzYCFCADIAE2AhgLIAIgBU8NACAFKAIEIgFBAXFFDQACQAJAAkACQCABQQJxRQRAQYQ6KAIAIAVGBEBBhDogAjYCAEH4OUH4OSgCACAAaiIANgIAIAIgAEEBcjYCBCACQYA6KAIARw0GQfQ5QQA2AgBBgDpBADYCAA8LQYA6KAIAIAVGBEBBgDogAjYCAEH0OUH0OSgCACAAaiIANgIAIAIgAEEBcjYCBCAAIAJqIAA2AgAPCyABQXhxIABqIQAgAUH/AU0EQCABQQN2IQQgBSgCDCIBIAUoAggiA0YEQEHsOUHsOSgCAEF+IAR3cTYCAAwFCyADIAE2AgwgASADNgIIDAQLIAUoAhghBiAFIAUoAgwiAUcEQEH8OSgCABogBSgCCCIDIAE2AgwgASADNgIIDAMLIAVBFGoiBCgCACIDRQRAIAUoAhAiA0UNAiAFQRBqIQQLA0AgBCEHIAMiAUEUaiIEKAIAIgMNACABQRBqIQQgASgCECIDDQALIAdBADYCAAwCCyAFIAFBfnE2AgQgAiAAQQFyNgIEIAAgAmogADYCAAwDC0EAIQELIAZFDQACQCAFKAIcIgNBAnRBnDxqIgQoAgAgBUYEQCAEIAE2AgAgAQ0BQfA5QfA5KAIAQX4gA3dxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgMEQCABIAM2AhAgAyABNgIYCyAFKAIUIgNFDQAgASADNgIUIAMgATYCGAsgAiAAQQFyNgIEIAAgAmogADYCACACQYA6KAIARw0AQfQ5IAA2AgAPCyAAQf8BTQRAIABBeHFBlDpqIQECf0HsOSgCACIDQQEgAEEDdnQiAHFFBEBB7DkgACADcjYCACABDAELIAEoAggLIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDwtBHyEDIABB////B00EQCAAQSYgAEEIdmciAWt2QQFxIAFBAXRrQT5qIQMLIAIgAzYCHCACQgA3AhAgA0ECdEGcPGohAQJAAkACQEHwOSgCACIEQQEgA3QiB3FFBEBB8DkgBCAHcjYCACABIAI2AgAgAiABNgIYDAELIABBGSADQQF2a0EAIANBH0cbdCEDIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIANBHXYhASADQQF0IQMgBCABQQRxaiIHQRBqKAIAIgENAAsgByACNgIQIAIgBDYCGAsgAiACNgIMIAIgAjYCCAwBCyAEKAIIIgAgAjYCDCAEIAI2AgggAkEANgIYIAIgBDYCDCACIAA2AggLQYw6QYw6KAIAQQFrIgBBfyAAGzYCAAsLnwECAn8DfgNAIAAgAUEDdGoiAiACKQMAIAN8IgNC//////////8DgzcDACADQjqHIQMgAUEBaiIBQQZHDQALIAAgACkDMCADfDcDMEEGIQICQANAIAAgAiIBQQN0aikDACIDQgBSDQEgAUEBayECIAENAAtBAA8LIAFBOmwhAQNAIAFBAWohASADQgF8IQUgA0ICfyEDIAVCAlYNAAsgAQsSACAAIAEQFCAAIAEoAig2AigLaAEDfyABBEACQCABKAIAIgJBAEoEQANAIAAoAgAgA2oiBCAAKAIEIgJODQIgACgCCCAEaiABKAIIIANqLQAAOgAAIANBAWoiAyABKAIAIgJIDQALCyAAKAIAIAJqIQILIAAgAjYCAAsLgQIBCH8jAEGABmsiAyQAIANBgAJqIgcgAEGAAWoiBhASIANBgAVqIgQgBhAwIANBgARqIgUgByAAQYACaiIBEBAgA0GAA2oiAiABEDAgASAEIAQQDiABEAggASABIAEQDiABIAEgARAOIAEQCCACIAJB9CkoAgBBA2wQSCACECkgAhAIIANBgAFqIgggAiABEBAgAyAEIAIQDiADEAggASABIAUQECAFIAIgAhAOIAIgAiAFEA4gAhAIIAQgBCACECogBBAIIAMgAyAEEBAgBiADIAgQDiAFIAAgBxAQIAQQCCAAIAQgBRAQIAAgACAAEA4gABAIIAYQCCADQYAGaiQACywAIAAgAUcEQCAAIAEQLyAAQYACaiABQYACahAvIABBgARqIAFBgARqEC8LCxgAIAAgASACEDIgAEFAayABQUBrIAIQMgsNACAAEDkgAEFAaxA5CyYBAX8gABAdIABBQGsiARAdAn8gABBaBEBBASABEFoNARoLQQALCxgAIAAtAABBIHFFBEAgASACIAAQjAEaCwu9JwEMfyMAQRBrIgokAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEHsOSgCACIGQRAgAEELakF4cSAAQQtJGyIFQQN2IgB2IgFBA3EEQAJAIAFBf3NBAXEgAGoiAkEDdCIBQZQ6aiIAIAFBnDpqKAIAIgEoAggiBEYEQEHsOSAGQX4gAndxNgIADAELIAQgADYCDCAAIAQ2AggLIAFBCGohACABIAJBA3QiAkEDcjYCBCABIAJqIgEgASgCBEEBcjYCBAwPCyAFQfQ5KAIAIgdNDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIBQQN0IgBBlDpqIgIgAEGcOmooAgAiACgCCCIERgRAQew5IAZBfiABd3EiBjYCAAwBCyAEIAI2AgwgAiAENgIICyAAIAVBA3I2AgQgACAFaiIIIAFBA3QiASAFayIEQQFyNgIEIAAgAWogBDYCACAHBEAgB0F4cUGUOmohAUGAOigCACECAn8gBkEBIAdBA3Z0IgNxRQRAQew5IAMgBnI2AgAgAQwBCyABKAIICyEDIAEgAjYCCCADIAI2AgwgAiABNgIMIAIgAzYCCAsgAEEIaiEAQYA6IAg2AgBB9DkgBDYCAAwPC0HwOSgCACILRQ0BIAtoQQJ0QZw8aigCACICKAIEQXhxIAVrIQMgAiEBA0ACQCABKAIQIgBFBEAgASgCFCIARQ0BCyAAKAIEQXhxIAVrIgEgAyABIANJIgEbIQMgACACIAEbIQIgACEBDAELCyACKAIYIQkgAiACKAIMIgRHBEBB/DkoAgAaIAIoAggiACAENgIMIAQgADYCCAwOCyACQRRqIgEoAgAiAEUEQCACKAIQIgBFDQMgAkEQaiEBCwNAIAEhCCAAIgRBFGoiASgCACIADQAgBEEQaiEBIAQoAhAiAA0ACyAIQQA2AgAMDQtBfyEFIABBv39LDQAgAEELaiIAQXhxIQVB8DkoAgAiCEUNAEEAIAVrIQMCQAJAAkACf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQSYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QZw8aigCACIBRQRAQQAhAAwBC0EAIQAgBUEZIAdBAXZrQQAgB0EfRxt0IQIDQAJAIAEoAgRBeHEgBWsiBiADTw0AIAEhBCAGIgMNAEEAIQMgASEADAMLIAAgASgCFCIGIAYgASACQR12QQRxaigCECIBRhsgACAGGyEAIAJBAXQhAiABDQALCyAAIARyRQRAQQAhBEECIAd0IgBBACAAa3IgCHEiAEUNAyAAaEECdEGcPGooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAVrIgIgA0khASACIAMgARshAyAAIAQgARshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANB9DkoAgAgBWtPDQAgBCgCGCEHIAQgBCgCDCICRwRAQfw5KAIAGiAEKAIIIgAgAjYCDCACIAA2AggMDAsgBEEUaiIBKAIAIgBFBEAgBCgCECIARQ0DIARBEGohAQsDQCABIQYgACICQRRqIgEoAgAiAA0AIAJBEGohASACKAIQIgANAAsgBkEANgIADAsLIAVB9DkoAgAiBE0EQEGAOigCACEAAkAgBCAFayIBQRBPBEAgACAFaiICIAFBAXI2AgQgACAEaiABNgIAIAAgBUEDcjYCBAwBCyAAIARBA3I2AgQgACAEaiIBIAEoAgRBAXI2AgRBACECQQAhAQtB9DkgATYCAEGAOiACNgIAIABBCGohAAwNCyAFQfg5KAIAIgJJBEBB+DkgAiAFayIBNgIAQYQ6QYQ6KAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwNC0EAIQAgBUEvaiIDAn9BxD0oAgAEQEHMPSgCAAwBC0HQPUJ/NwIAQcg9QoCggICAgAQ3AgBBxD0gCkEMakFwcUHYqtWqBXM2AgBB2D1BADYCAEGoPUEANgIAQYAgCyIBaiIGQQAgAWsiCHEiASAFTQ0MQaQ9KAIAIgQEQEGcPSgCACIHIAFqIgkgB00gBCAJSXINDQsCQEGoPS0AAEEEcUUEQAJAAkACQAJAQYQ6KAIAIgQEQEGsPSEAA0AgBCAAKAIAIgdPBEAgByAAKAIEaiAESw0DCyAAKAIIIgANAAsLQQAQTSICQX9GDQMgASEGQcg9KAIAIgBBAWsiBCACcQRAIAEgAmsgAiAEakEAIABrcWohBgsgBSAGTw0DQaQ9KAIAIgAEQEGcPSgCACIEIAZqIgggBE0gACAISXINBAsgBhBNIgAgAkcNAQwFCyAGIAJrIAhxIgYQTSICIAAoAgAgACgCBGpGDQEgAiEACyAAQX9GDQEgBUEwaiAGTQRAIAAhAgwEC0HMPSgCACICIAMgBmtqQQAgAmtxIgIQTUF/Rg0BIAIgBmohBiAAIQIMAwsgAkF/Rw0CC0GoPUGoPSgCAEEEcjYCAAsgARBNIgJBf0ZBABBNIgBBf0ZyIAAgAk1yDQUgACACayIGIAVBKGpNDQULQZw9QZw9KAIAIAZqIgA2AgBBoD0oAgAgAEkEQEGgPSAANgIACwJAQYQ6KAIAIgMEQEGsPSEAA0AgAiAAKAIAIgEgACgCBCIEakYNAiAAKAIIIgANAAsMBAtB/DkoAgAiAEEAIAAgAk0bRQRAQfw5IAI2AgALQQAhAEGwPSAGNgIAQaw9IAI2AgBBjDpBfzYCAEGQOkHEPSgCADYCAEG4PUEANgIAA0AgAEEDdCIBQZw6aiABQZQ6aiIENgIAIAFBoDpqIAQ2AgAgAEEBaiIAQSBHDQALQfg5IAZBKGsiAEF4IAJrQQdxIgFrIgQ2AgBBhDogASACaiIBNgIAIAEgBEEBcjYCBCAAIAJqQSg2AgRBiDpB1D0oAgA2AgAMBAsgAiADTSABIANLcg0CIAAoAgxBCHENAiAAIAQgBmo2AgRBhDogA0F4IANrQQdxIgBqIgE2AgBB+DlB+DkoAgAgBmoiAiAAayIANgIAIAEgAEEBcjYCBCACIANqQSg2AgRBiDpB1D0oAgA2AgAMAwtBACEEDAoLQQAhAgwIC0H8OSgCACACSwRAQfw5IAI2AgALIAIgBmohAUGsPSEAAkACQAJAA0AgASAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0GsPSEAA0AgAyAAKAIAIgFPBEAgASAAKAIEaiIEIANLDQMLIAAoAgghAAwACwALIAAgAjYCACAAIAAoAgQgBmo2AgQgAkF4IAJrQQdxaiIHIAVBA3I2AgQgAUF4IAFrQQdxaiIGIAUgB2oiBWshACADIAZGBEBBhDogBTYCAEH4OUH4OSgCACAAaiIANgIAIAUgAEEBcjYCBAwIC0GAOigCACAGRgRAQYA6IAU2AgBB9DlB9DkoAgAgAGoiADYCACAFIABBAXI2AgQgACAFaiAANgIADAgLIAYoAgQiA0EDcUEBRw0GIANBeHEhCSADQf8BTQRAIAYoAgwiASAGKAIIIgJGBEBB7DlB7DkoAgBBfiADQQN2d3E2AgAMBwsgAiABNgIMIAEgAjYCCAwGCyAGKAIYIQggBiAGKAIMIgJHBEAgBigCCCIBIAI2AgwgAiABNgIIDAULIAZBFGoiASgCACIDRQRAIAYoAhAiA0UNBCAGQRBqIQELA0AgASEEIAMiAkEUaiIBKAIAIgMNACACQRBqIQEgAigCECIDDQALIARBADYCAAwEC0H4OSAGQShrIgBBeCACa0EHcSIBayIINgIAQYQ6IAEgAmoiATYCACABIAhBAXI2AgQgACACakEoNgIEQYg6QdQ9KAIANgIAIAMgBEEnIARrQQdxakEvayIAIAAgA0EQakkbIgFBGzYCBCABQbQ9KQIANwIQIAFBrD0pAgA3AghBtD0gAUEIajYCAEGwPSAGNgIAQaw9IAI2AgBBuD1BADYCACABQRhqIQADQCAAQQc2AgQgAEEIaiEMIABBBGohACAMIARJDQALIAEgA0YNACABIAEoAgRBfnE2AgQgAyABIANrIgJBAXI2AgQgASACNgIAIAJB/wFNBEAgAkF4cUGUOmohAAJ/Qew5KAIAIgFBASACQQN2dCICcUUEQEHsOSABIAJyNgIAIAAMAQsgACgCCAshASAAIAM2AgggASADNgIMIAMgADYCDCADIAE2AggMAQtBHyEAIAJB////B00EQCACQSYgAkEIdmciAGt2QQFxIABBAXRrQT5qIQALIAMgADYCHCADQgA3AhAgAEECdEGcPGohAQJAAkBB8DkoAgAiBEEBIAB0IgZxRQRAQfA5IAQgBnI2AgAgASADNgIADAELIAJBGSAAQQF2a0EAIABBH0cbdCEAIAEoAgAhBANAIAQiASgCBEF4cSACRg0CIABBHXYhBCAAQQF0IQAgASAEQQRxaiIGKAIQIgQNAAsgBiADNgIQCyADIAE2AhggAyADNgIMIAMgAzYCCAwBCyABKAIIIgAgAzYCDCABIAM2AgggA0EANgIYIAMgATYCDCADIAA2AggLQfg5KAIAIgAgBU0NAEH4OSAAIAVrIgE2AgBBhDpBhDooAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIaiEADAgLQeg5QTA2AgBBACEADAcLQQAhAgsgCEUNAAJAIAYoAhwiAUECdEGcPGoiBCgCACAGRgRAIAQgAjYCACACDQFB8DlB8DkoAgBBfiABd3E2AgAMAgsgCEEQQRQgCCgCECAGRhtqIAI2AgAgAkUNAQsgAiAINgIYIAYoAhAiAQRAIAIgATYCECABIAI2AhgLIAYoAhQiAUUNACACIAE2AhQgASACNgIYCyAAIAlqIQAgBiAJaiIGKAIEIQMLIAYgA0F+cTYCBCAFIABBAXI2AgQgACAFaiAANgIAIABB/wFNBEAgAEF4cUGUOmohAQJ/Qew5KAIAIgJBASAAQQN2dCIAcUUEQEHsOSAAIAJyNgIAIAEMAQsgASgCCAshACABIAU2AgggACAFNgIMIAUgATYCDCAFIAA2AggMAQtBHyEDIABB////B00EQCAAQSYgAEEIdmciAWt2QQFxIAFBAXRrQT5qIQMLIAUgAzYCHCAFQgA3AhAgA0ECdEGcPGohAQJAAkBB8DkoAgAiAkEBIAN0IgRxRQRAQfA5IAIgBHI2AgAgASAFNgIADAELIABBGSADQQF2a0EAIANBH0cbdCEDIAEoAgAhAgNAIAIiASgCBEF4cSAARg0CIANBHXYhAiADQQF0IQMgASACQQRxaiIEKAIQIgINAAsgBCAFNgIQCyAFIAE2AhggBSAFNgIMIAUgBTYCCAwBCyABKAIIIgAgBTYCDCABIAU2AgggBUEANgIYIAUgATYCDCAFIAA2AggLIAdBCGohAAwCCwJAIAdFDQACQCAEKAIcIgBBAnRBnDxqIgEoAgAgBEYEQCABIAI2AgAgAg0BQfA5IAhBfiAAd3EiCDYCAAwCCyAHQRBBFCAHKAIQIARGG2ogAjYCACACRQ0BCyACIAc2AhggBCgCECIABEAgAiAANgIQIAAgAjYCGAsgBCgCFCIARQ0AIAIgADYCFCAAIAI2AhgLAkAgA0EPTQRAIAQgAyAFaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgBUEDcjYCBCAEIAVqIgIgA0EBcjYCBCACIANqIAM2AgAgA0H/AU0EQCADQXhxQZQ6aiEAAn9B7DkoAgAiAUEBIANBA3Z0IgNxRQRAQew5IAEgA3I2AgAgAAwBCyAAKAIICyEBIAAgAjYCCCABIAI2AgwgAiAANgIMIAIgATYCCAwBC0EfIQAgA0H///8HTQRAIANBJiADQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAAsgAiAANgIcIAJCADcCECAAQQJ0QZw8aiEBAkACQCAIQQEgAHQiBnFFBEBB8DkgBiAIcjYCACABIAI2AgAMAQsgA0EZIABBAXZrQQAgAEEfRxt0IQAgASgCACEFA0AgBSIBKAIEQXhxIANGDQIgAEEddiEGIABBAXQhACABIAZBBHFqIgYoAhAiBQ0ACyAGIAI2AhALIAIgATYCGCACIAI2AgwgAiACNgIIDAELIAEoAggiACACNgIMIAEgAjYCCCACQQA2AhggAiABNgIMIAIgADYCCAsgBEEIaiEADAELAkAgCUUNAAJAIAIoAhwiAEECdEGcPGoiASgCACACRgRAIAEgBDYCACAEDQFB8DkgC0F+IAB3cTYCAAwCCyAJQRBBFCAJKAIQIAJGG2ogBDYCACAERQ0BCyAEIAk2AhggAigCECIABEAgBCAANgIQIAAgBDYCGAsgAigCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAIgAyAFaiIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDAELIAIgBUEDcjYCBCACIAVqIgQgA0EBcjYCBCADIARqIAM2AgAgBwRAIAdBeHFBlDpqIQBBgDooAgAhAQJ/QQEgB0EDdnQiBSAGcUUEQEHsOSAFIAZyNgIAIAAMAQsgACgCCAshBiAAIAE2AgggBiABNgIMIAEgADYCDCABIAY2AggLQYA6IAQ2AgBB9DkgAzYCAAsgAkEIaiEACyAKQRBqJAAgAAtPAQJ/QdA3KAIAIgEgAEEHakF4cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQAUUNAQtB0DcgADYCACABDwtB6DlBMDYCAEF/CyIAIAAgARAbIABBQGsgAUFAaxAbIABBgAFqIAFBgAFqEBsLHwEBfyMAQUBqIgEkACABENgBIAAgARARIAFBQGskAAsiACAAIAEQRCAAQTBqIAFBMGoQRCAAQeAAaiABQeAAahBEC7UBAQR/IwBB4ABrIgMkACADQZApEBQgAyABKAIoQQFrIgJBAXYgAnIiAkECdiACciICQQR2IAJyIgJBCHYgAnIiAkEQdiACcmkiBRB3QQAhAgNAIAAgAkEDdCIEaiADIARqKQMAIAEgBGopAwB9NwMAIAJBAWoiAkEFRw0ACyAAQQEgBXQiATYCKCABQYGAgAhOBEAgA0EwaiIBQZApEBQgACABEC0gAEEBNgIoCyADQeAAaiQACxYAIABBgAFqIgAQCCAAIAAQKyAAEAgLDAAgAEEAQYABEBUaC+4BAQh/IwBBEGsiBEIANwMIIARCADcDAEEIIQEDQCAAIAJqQYAQai0AAEEBIAFBAWsiAXRxIQZBACEFA0AgBCAFQQJ0IgdqIgggCCgCACAAIANBBHRqIAdqKAIAQQAgBhtzNgIAIAVBAWoiBUEERw0ACwJAIAFFBEBBCCEBIAJBAWoiAkEQRg0BCyADQQFqIgNBgAFHDQELC0EAIQFBACECA0AgACABakGAEGogBCACQQJ0aigCACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZycjYAACABQQRqIQEgAkEBaiICQQRHDQALC+ADAwZ/AXwBfiMAQYABayIEJAACfhAERAAAAAAAQI9AoyIJmUQAAAAAAADgQ2MEQCAJsAwBC0KAgICAgICAgIB/CyEKIAQEQCAEIAo3AwALIAQgBCgCACIDQRh2OgATIAQgA0EQdjoAEiAEIANBCHY6ABEgBCADOgAQIARC5ICAgMAMNwIEIAQgBEEQajYCDEEAIQMDQCADQeAARwRAIAMgBCgCDGoCfyADIAFFDQAaIAMgAiADTA0AGiABIANqLQAACzoABCADQQFqIQMMAQsLQQAhAyAEKAIEIQEgBCgCDCECIwBBkANrIgYkACAAQQA2AlwgAEEAQdQAEBUhBSABQQBKBEAgBkEEahCfAQNAIAZBBGoiACACIANqLAAAEEEgA0EBaiIDIAFHDQALIAAgBkHwAmoQhAEDQCAGQfACaiAHQQJ0aigCACEBIAVCADcCVCAFIAEgBSgCAHM2AgBBASECQQEhAwNAIAUgA0EDdEH4AXFBFXBBAnRqIgggAiIAIAgoAgBzNgIAIAEgAGshAiAAIQEgA0EBaiIDQRVHDQALQQAhAwNAIAUQrQEaIANBAWoiA0GQzgBHDQALIAdBAWoiB0EIRw0ACwsgBRCqASAGQZADaiQAIARBgAFqJAALNgAgAQJ/QaQ5KAIAQQBIBEAgACABQdg4EIwBDAELIAAgAUHYOBCMAQsiAEYEQA8LIAAgAW4aC/8FAQh/IwBBgARrIgMkAAJAQfApKAIARQRAIANBwANqIgIgAEFAayIHECIgA0GAA2oiBiAHIABBgAFqIgEQCiADQcACaiIEIAEQIiABIAIgAhAGIAEQBSABIAEgARAGIAEgASABEAYgARAFIAQgBEH0KSgCAEEDbBAyIANBwAFqIgggBCABEAogA0GAAWoiBSACIAQQBiAFEAUgASABIAYQCiAGIAQgBBAGIAQgBCAGEAYgAiACIAQQFyACEAUgBSAFIAIQCiAFIAUgCBAGIAYgACAHEAogAhAFIAAgAiAGEAogACAAIAAQBiAAEAUgByAFEBsMAQtB9CkoAgAiBEUEQCADQYAqEDYLIANBwANqIAAQIiADQYADaiAAQUBrIgUQIiADQcACaiICIABBgAFqIgcQIiADQYACaiIBIAAgBRAKIAEgASABEAYgARAFIANBQGsiASAHIAAQCiABIAEgARAGIAEQBQJAIARFBEAgA0GAAWogAiADEAoMAQsgA0GAAWogA0HAAmogBBAyCyADQYABaiIBIAEgA0FAayIGEBcgA0HAAWoiAiABIAEQBiACEAUgASABIAIQBiACIANBgANqIgggARAXIAIQBSABIAEgCBAGIAEQBSABIAEgAhAKIAIgAiADQYACaiICEAogAiADQcACaiIBIAEQBiABIAEgAhAGAkAgBEUEQCAGIAYgAxAKDAELIANBQGsiASABIAQQMgsgA0FAayICIAIgA0HAAmoiBhAXIAIgAiADQcADaiIBEBcgAhAFIANBgAJqIgQgAiACEAYgAiACIAQQBiACEAUgBCABIAEQBiABIAEgBBAGIAEgASAGEBcgARAFIAEgASACEAogA0GAAWoiBCAEIAEQBiABIAUgBxAKIAEgASABEAYgARAFIAIgAiABEAogACADQcABaiACEBcgASABIAEQBiABEAUgA0GAA2oiAiACIAIQBiACEAUgByABIAIQCiAAEAUgBSAEEBsgBRAFCyAHEAUgA0GABGokAAuHAQIEfwJ+IwBBQGoiAiQAIAJBwC4QDyAAIAIQJyAAQQE2AjggAkHALhAPIAEgAhAnIAFBATYCOAJ/QQYhAwJAA0AgACADIgRBA3QiA2opAwAiBiABIANqKQMAIgdSDQEgBEEBayEDIAQNAAtBAAwBC0EBQX8gBiAHVRsLIQUgAkFAayQAIAVFCyYAIAAgASACEJYBIABBACACayAAKAI4IgAgASgCOHNxIABzNgI4CyoBAn8jAEFAaiIBJAAgAUHALhAPIAAgARAnIAAQ3gEhAiABQUBrJAAgAgtZAgF+An8DQCAAIANBA3RqIgQgBCkDACACfCICQv//////////A4M3AwAgAkI6hyECIANBAWoiA0EGRw0ACyAAIAApAzAgAnw3AzAgACgCAEF/IAF0QX9zcQvoBgILfgd/IwBBkAJrIg8kACAPIAMpAwAiBCACfkL//////////wODIgs3A2AgD0HQAGogC0IAIAEpAwAiDCAMQj+HIg0QDSAEIA8pA1AiBXwiBiAFVK0gDykDWCAEQj+HfHwiBEI6hyADKQMIIgVCP4d8IAUgBEIGhiAGQjqIhCIFfCIEIAVUrXwhBUIAIQZBASEQA0AgD0FAayABIBBBA3QiEWopAwAiCSAJQj+HIgogC0IAEA0gDykDSCAEIAZ8IgQgBlStIAUgCHx8fCAEIAQgDykDQHwiBFatfCEFIBBBAWsiEiAQQQF2IhRLBEADQCAPQTBqIAEgEkEDdCITaikDACABIBAgEmtBA3QiFWopAwB9IgcgB0I/hyAVIA9B4ABqIhVqKQMAIBMgFWopAwB9IgcgB0I/hxANIA8pAzAiByAEfCIEIAdUrSAPKQM4IAV8fCEFIBJBAWsiEiAUSg0ACwsgD0HgAGogEWogAiAEfkL//////////wODIgc3AwAgD0EgaiAHQgAgDCANEA0gD0EQaiAHQgAgCSAKEA0gAyAQQQFqIhJBA3RqKQMAIQkgD0GgAWogEEEEdGoiECAPKQMYIgo3AwggECAPKQMQIgc3AwAgBCAPKQMgIgR8Ig4gBFStIA8pAyggBXx8IgRCOocgCUI/h3wgCSAEQgaGIA5COoiEIgV8IgQgBVStfCEFIAYgB3wiBiAHVK0gCCAKfHwhCEEHIREgEiIQQQdHDQALA0AgBCAGfCIEIAZUrSAFIAh8fCEFIBFBC00EQCARQQF2IRBBBiESA0AgDyABIBJBA3QiFGopAwAgASARIBJrQQN0IhNqKQMAfSICIAJCP4cgEyAPQeAAaiITaikDACATIBRqKQMAfSICIAJCP4cQDSAPKQMAIgIgBHwiBCACVK0gDykDCCAFfHwhBSASQQFrIhIgEEsNAAsLIBFBA3QgAGpBOGsgBEL//////////wODNwMAIAVCOocgAyARQQFqIhBBA3RqKQMAIgJCP4d8IAIgBUIGhiAEQjqIhCICfCIEIAJUrXwhBSAIIBFBBHQgD2pBQGsiESkDCH0gBiARKQMAIgJUrX0hCCAGIAJ9IQYgECIRQQ1HDQALIAAgBEL//////////wODNwMwIA9BkAJqJAALjAUCBX4GfyMAQaABayIJJAADQCAJQSBqIAIgCEEDdCIKaikDACIDIANCP4cgASAKaikDACIDIANCP4cQDSAJQTBqIAhBBHRqIgogCSkDKDcDCCAKIAkpAyA3AwAgCEEBaiIIQQdHDQALIAkpAzghByAAIAkpAzAiBkL//////////wODNwMAIAdCBoYgBkI6iIQhAyAHQjqHIQRBASEKA0AgBCAJQTBqIApBBHRqIggpAwggB3wgCCkDACIEIAZ8IgYgBFStfCIHfCADIAZ8IgMgBlStfCEEIApBAXYhCyAKIQgDQCAJQRBqIAIgCiAIa0EDdCIMaikDACACIAhBA3QiDWopAwB9IgUgBUI/hyABIA1qKQMAIAEgDGopAwB9IgUgBUI/hxANIAkpAxAiBSADfCIDIAVUrSAJKQMYIAR8fCEEIAhBAWsiCCALSg0ACyAAIApBA3RqIANC//////////8DgzcDACAEQgaGIANCOoiEIQMgBEI6hyEEQQchCyAKQQFqIgpBB0cNAAsDQCAEIAcgC0EEdCAJakFAaiIIKQMIfSAGIAgpAwAiBFStfSIHfCAGIAR9IgYgA3wiAyAGVK18IQQgC0ELTQRAIAtBAXYhCkEGIQgDQCAJIAIgCyAIa0EDdCIMaikDACACIAhBA3QiDWopAwB9IgUgBUI/hyABIA1qKQMAIAEgDGopAwB9IgUgBUI/hxANIAkpAwAiBSADfCIDIAVUrSAJKQMIIAR8fCEEIAhBAWsiCCAKSw0ACwsgACALQQN0aiADQv//////////A4M3AwAgBEIGhiADQjqIhCEDIARCOochBCALQQFqIgtBDUcNAAsgACADNwNoIAlBoAFqJAALWQIBfgJ/A0AgACADQQN0aiIEIAQpAwAgAnwiAkL//////////wODNwMAIAJCOochAiADQQFqIgNBBkcNAAsgACAAKQMwIAJ8NwMwIAAgACkDACABrHw3AwALZAEDfkE6IAFrrSEEIAGtIQJBACEBIAApAwAhAwNAIAAgAUEDdGogAyAChyAAIAFBAWoiAUEDdGopAwAiAyAEhkL//////////wODhDcDACABQQZHDQALIAAgACkDMCAChzcDMAv9BQEIfyMAQYADayIDJAACQEHAJygCAEUEQCADQdACaiICIABBMGoiBxAsIANBoAJqIgYgByAAQeAAaiIBEAwgA0HwAWoiBCABECwgASACIAIQCSABEAcgASABIAEQCSABIAEgARAJIAEQByAEIARBxCcoAgBBA2wQOiADQZABaiIIIAQgARAMIANB4ABqIgUgAiAEEAkgBRAHIAEgASAGEAwgBiAEIAQQCSAEIAQgBhAJIAIgAiAEEBkgAhAHIAUgBSACEAwgBSAFIAgQCSAGIAAgBxAMIAIQByAAIAIgBhAMIAAgACAAEAkgABAHIAcgBRBEDAELQcQnKAIAIgRFBEAgAxCbAQsgA0HQAmogABAsIANBoAJqIABBMGoiBRAsIANB8AFqIgIgAEHgAGoiBxAsIANBwAFqIgEgACAFEAwgASABIAEQCSABEAcgA0EwaiIBIAcgABAMIAEgASABEAkgARAHAkAgBEUEQCADQeAAaiACIAMQDAwBCyADQeAAaiADQfABaiAEEDoLIANB4ABqIgEgASADQTBqIgYQGSADQZABaiICIAEgARAJIAIQByABIAEgAhAJIAIgA0GgAmoiCCABEBkgAhAHIAEgASAIEAkgARAHIAEgASACEAwgAiACIANBwAFqIgIQDCACIANB8AFqIgEgARAJIAEgASACEAkCQCAERQRAIAYgBiADEAwMAQsgA0EwaiIBIAEgBBA6CyADQTBqIgIgAiADQfABaiIGEBkgAiACIANB0AJqIgEQGSACEAcgA0HAAWoiBCACIAIQCSACIAIgBBAJIAIQByAEIAEgARAJIAEgASAEEAkgASABIAYQGSABEAcgASABIAIQDCADQeAAaiIEIAQgARAJIAEgBSAHEAwgASABIAEQCSABEAcgAiACIAEQDCAAIANBkAFqIAIQGSABIAEgARAJIAEQByADQaACaiICIAIgAhAJIAIQByAHIAEgAhAMIAAQByAFIAQQRCAFEAcLIAcQByADQYADaiQACzYBAX8gAEEAQSgQFSEAA0AgAEEIEHcgACAAKQMAIAEgAmoxAAB8NwMAIAJBAWoiAkEgRw0ACwvUAQIDfwF+IwBBMGsiAyQAA0AgASACQQN0aiIEIAQpAwAgBXwiBUL//////////wCDNwMAIAVCOIchBSACQQFqIgJBBEcNAAsgASABKQMgIAV8NwMgIAMgAUEoEB8hA0EfIQIDQCAAIAIiAWogAykDACIFPAAAQQAhAgNAIAMgAkEDdGogBUIIhyADIAJBAWoiAkEDdGopAwAiBUIwhkKAgICAgIDA/wCDhDcDACACQQRHDQALIAMgAykDIEIIhzcDICABQQFrIQIgAQ0ACyADQTBqJAALnwECAn8DfgNAIAAgAUEDdGoiAiACKQMAIAN8IgNC//////////8AgzcDACADQjiHIQMgAUEBaiIBQQRHDQALIAAgACkDICADfDcDIEEEIQICQANAIAAgAiIBQQN0aikDACIDQgBSDQEgAUEBayECIAENAAtBAA8LIAFBOGwhAQNAIAFBAWohASADQgF8IQUgA0ICfyEDIAVCAlYNAAsgAQuiBQEJfyMAQfAfayIEJAAgABBKIABBgAJqEEpxRQRAIAAQfSAEQfAbaiICIAAQNyACEEYgBEHwA2ogABA3QQEhAgNAIARB8ANqIAJBgANsaiIDIANBgANrEDcgAyAEQfAbaiIDEGUgAkEBaiICQQhHDQALIARB8B5qIgIgARAPIAIQPCEFIAJBARBeIAIQBSACEDwhBiAEQbAfaiIBIAIQDyABQQEQXiABEAUgAiABIAUQlgEgAyAAIAYQLiAEQfAAaiADEDcgAhBDIgFBA2pBBG0iAkEBaiEFIAFBekgiBkUEQEEAIQEgAkEAIAJBAEob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DykDACICIAR8IgQgAlStIA8pAwggBXx8IQUgEkEBayISIBBLDQALCyARQQN0IABqQShrIARC//////////8AgzcDACAFQjiHIAMgEUEBaiIQQQN0aikDACICQj+HfCACIAVCCIYgBEI4iIQiAnwiBCACVK18IQUgCCARQQR0IA9qIhFB0ABqKQMIfSAGIBEpA1AiAlStfSEIIAYgAn0hBiAQIhFBCUcNAAsgACAEQv//////////AIM3AyAgD0HgAWokAAuMAQIDfgN/IAAgACkDICABrSIChiAAKQMYIgNBOCABa60iBIeENwMgQQMhAQNAIAAgAUEDdGogAyAChkL//////////wCDIAAgAUEBayIFQQN0aikDACIDIASHhDcDACABQQFLIQcgBSEBIAcNAAsgACAAKQMAIAKGQv//////////AIM3AwAgACgCJBoLVQECfwJAIAJBAEwNACAAKAIAIQMDQCADIAAoAgRODQEgACgCCCADaiABIARqLQAAOgAAIAAgACgCAEEBajYCACADQQFqIQMgBEEBaiIEIAJHDQALCwv5AgEGfyMAQcAgayIDJAAgA0GAH2oiBUGALBAPIANBwB5qIgFBwC8QNiADQYAeaiICQYAwEDYgA0HAH2oiBCABEBsgBEFAayACEBsgA0GAGGoiASAAEH4gACAAECAgACABEB4gASAAEEcgACAEEDggACAEEDggACABEB4gA0GAEmoiBiAAEKkBIANBgAxqIgEgBiAFED0gASABECAgBUEBEF8gA0GABmoiAiABIAUQPSACIAIQICAFQQEQcSADIAAQICABIAMQHiABIAEQICABIAIQHiACIAEgBRA9IAIgAhAgIAMgAiAFED0gAyADECAgASABECAgAyABEB4gASABECAgASAEEDggASAEEDggASAEEDggAiAEEDggAiAEEDggASACEB4gAiADIAUQPSACIAIQICACIAYQHiACIAAQHiABIAIQHiACIAMQRyACIAQQOCABIAIQHiAAIAEQRyAAEDUgAEGAAmoQNSAAQYAEahA1IANBwCBqJAAL7gMBBn8jAEGACmsiBiQAIAFBgAJqIQogAUGAAWohCQJAIAEgAkYEQCAGQYAJaiIHIAEQEiAGQYAIaiIIIAkQEiAGQYAHaiICIAoQEiAGQYAGaiIFIAgQEiAFIAUgAhAQIAcgBxAwIAggCBAwIAIgAhAwIAUgBUEEEEggBSAFECsgBRAIIAcgB0EGEEggByAHIAMQaSACIAJB9CkoAgBBA2wQSCAFIAUgBBBpIAIQKSACIAIgAhAOIAUQKSAFEAggAhAIIAggCCAIEA4gAiACIAgQKiACEAggBkGABGogBSACEKwBIAZBgAJqEGggBiAHEKsBIAEQRgwBCyAGQYAJaiIIIAEQEiAGQYAIaiIFIAkQEiAGQYAHaiIJIAoQEiAGQYAGaiIHIAkQEiAJIAkgAkGAAWoiChAQIAcgByACEBAgCCAIIAcQKiAIEAggBSAFIAkQKiAFEAggCSAIEBIgCCAIIAQQaSAIECkgCBAIIAkgCSAKEBAgByAFEBIgByAHIAIQECAHIAcgCRAqIAcQCCAFIAUgAxBpIAUgBRArIAUQCCAGQYAEaiAIIAcQrAEgBkGAAmoQaCAGIAUQqwEgASACEGULIAAgBkGABGoQLyAAQYACaiAGQYACahAvIABBgARqIAYQLyAGQYAKaiQAC5AEAQh/IwBBwAtrIgMkACADQYALaiIFQYAsEA8gA0HACmoiBCAFEA8gBBAFIANBgApqIgUgBEEDEJMBIAUQBSADQcAJaiACEBsgA0GACWogAkFAaxAbIANBgAZqIAEQNyAAEGogAEGAAWoQSSAAQYACahBoIABBgARqEGggBRBDIgJBA04EQCACQQJrIQIDQCMAQYAIayIGJAAgBkGABmoiBCAAEDQgBkGABGoiByAAQYACaiIIIABBgARqIgUQGiAHIAcgBxALIAcQEyAGQYACaiIJIAUQNCAGIAAgCBAaIAYgBiAGEAsgBSAAIAUQCyAFIAggBRALIAUQEyAFIAUQNCAAIAQQLyAEIAQgBxALIAQQEyAEIAQgCRALIAQgBCAGEAsgBBATIAQgBBA+IAcQISAJECEgACAAIAcQCyAIIAkgBhALIAUgBSAEEAsgABATIAgQEyAFEBMgBkGACGokACADIANBgAZqIgQgBCADQcAJaiADQYAJahB6IAAgAxB/AkACQAJAIANBgApqIAIQbyADQcAKaiACEG9rQQFqDgMBAgACCyADIANBgAZqIAEgA0HACWogA0GACWoQeiAAIAMQfwwBCyABEFIgAyADQYAGaiABIANBwAlqIANBgAlqEHogACADEH8gARBSCyACQQFKIQogAkEBayECIAoNAAsLIAAgABAgIANBwAtqJAALSAECfyMAQYACayIBJAAgAUGAAWoiAkHALBA2IAFBwAFqQYAtEDYgAUHALRA2IAFBQGtBgC4QNiAAIAIgARCmASABQYACaiQAC64BAQV/IwBBgAJrIgEkAAJAIAAQSiAAQYACaiIDEEpxDQAgAUGAAWoQaiMAQUBqIgIkACACEE8gAxAdIANBQGsiBBAdAn8gAyACEFgEQEEBIAQQWg0BGgtBAAshBSACQUBrJAAgBQRAIAAQPyAAQYABahA/DAELIAEgAxCuASAAIAAgARAQIABBgAFqIgIgAiABEBAgABA/IAIQPyADIAFBgAFqEBILIAFBgAJqJAALvgIBB38jAEGACGsiAiQAIAJBgAZqIgcgARA0IAJBgARqIgQgAUGAAmoiAyABQYAEaiIGEBogBBAhIAcgByAEEIEBIAcQEyAEIAYQNCAEECEgAkGAAmoiBSABIAMQGiAEIAQgBRCBASAEEBMgBSADEDQgAiABIAYQGiAFIAUgAhCBASAFEBMgAiADIAUQGiACECEgACAHIAEQGiACIAAgAhALIABBgARqIgggBCAGEBogCBAhIAIgCCACEAsgAhATIwBBgAJrIgMkACADQYABaiIBIAIQMCADIAJBgAFqIgYQMCADECkgAxAIIAEgASADECogASABEK4BIAIgASACEBAgASABECsgARAIIAYgASAGEBAgA0GAAmokACAAIAcgAhAaIABBgAJqIAQgAhAaIAggBSACEBogAkGACGokAAuMAgEIfyMAQYAMayIDJAAgA0GACmoiCCAAIAEQGiADQYACaiICIAAgAEGAAmoiBRALIAIQEyADQYAIaiIEIAIgARAaIAIgBSAAQYAEaiIHEAsgAhATIANBgARqIgYgAiABQYAFaiIJEGcgBhAhIAIgCBA+IAQgBCACEAsgBSAEEC8gA0GABmoiBCACEC8gAiAAIAcQCyADIAEgAUGABGoQCyACEBMgAxATIAIgAyACEBogBCAEIAIQCyACIAcgCRBnIAIQISADIAIQPiACECEgByAEIAMQCyAGIAYgAxALIAUgBSACEAsgBhATIAYiARAhIAAgCCABEAsgABATIAUQEyAHEBMgA0GADGokAAseACAAIAAQrwEgAEGAAWoiACAAEK8BIAAgASAAEBAL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ApwBIANBAWoiAyAHRw0ACwsLKQEBfyMAQUBqIgIkACACQcAuEA8gACACQbgvKQMAIAEQXCACQUBrJAAL5A8CBn8CfiMAQYADayIDJAAgASACECcgA0HAAmogAUE4EB8aIANBgAJqIAJBOBAfGiADQgE3AwAgA0EIckEAQTAQFRogA0HAAWogA0E4EB8aIANBgAFqQQBBOBAVGiADQbABaiEHIANB8AFqIQhBBiEBA0BBBiEEAkACQCABIgVBA3QiASADQcACamopAwAgASADaikDAFEEQCAFQQFrIQEgBUUNAQwDCwNAIAQiAUEDdCIEIANBgAJqaikDACADIARqKQMAUg0CIAFBAWshBCABDQALC0EGIQQgAAJ/A0AgA0GAAWogBCIBQQN0IgIgA0HAAmpqKQMAIAIgA2opAwBSDQEaIAFBAWshBCABDQALIANBwAFqC0E4EB8aIANBgANqJAAPCyADKQPAAiIJQgKBp0UEQEEAIQEDQCADQcACaiIEIAFBA3RqIAlCAYcgAUEBaiIBQQN0IARqKQMAIglCOYZCgICAgICAgIACg4Q3AwAgAUEGRw0AIAMgAykD8AJCAYc3A/ACQQAhAUEAIQQgAykDwAEiCUICgacEQANAIARBA3QiBSADQcABamoiBiAGKQMAIAIgBWopAwB8NwMAIARBAWoiBEEHRw0AC0IAIQkDQCADQcABaiABQQN0aiIEIAQpAwAgCXwiCUL//////////wODNwMAIAlCOochCSABQQFqIgFBBkcNAAsgAyADKQPwASAJfDcD8AEgAykDwAEhCQtBACEBA0AgA0HAAWoiBCABQQN0aiAJQgGHIAFBAWoiAUEDdCAEaikDACIJQjmGQoCAgICAgICAAoOENwMAIAFBBkcNAAsgAyADKQPwAUIBhzcD8AFBACEBIAMpA8ACIglCAoGnRQ0ACwsgAykDgAIiCUICgadFBEBBACEBA0AgA0GAAmoiBCABQQN0aiAJQgGHIAFBAWoiAUEDdCAEaikDACIJQjmGQoCAgICAgICAAoOENwMAIAFBBkcNACADIAMpA7ACQgGHNwOwAkEAIQFBACEEIAMpA4ABIglCAoGnBEADQCAEQQN0IgUgA0GAAWpqIgYgBikDACACIAVqKQMAfDcDACAEQQFqIgRBB0cNAAtCACEJA0AgA0GAAWogAUEDdGoiBCAEKQMAIAl8IglC//////////8DgzcDACAJQjqHIQkgAUEBaiIBQQZHDQALIAMgAykDsAEgCXw3A7ABIAMpA4ABIQkLQQAhAQNAIANBgAFqIgQgAUEDdGogCUIBhyABQQFqIgFBA3QgBGopAwAiCUI5hkKAgICAgICAgAKDhDcDACABQQZHDQALIAMgAykDsAFCAYc3A7ABQQAhASADKQOAAiIJQgKBp0UNAAsLQQYhBAJ/AkACQANAIAQiAUEDdCIEIANBwAJqaikDACIJIANBgAJqIARqKQMAIgpRBEAgAUEBayEEIAENAQwCCwtBACEBQQAhBCAJIApXDQELQQAhAUEAIQQDQCAEQQN0IgUgA0HAAmpqIgYgBikDACADQYACaiAFaikDAH03AwAgBEEBaiIEQQdHDQALQgAhCQNAIANBwAJqIAFBA3RqIgQgBCkDACAJfCIJQv//////////A4M3AwAgCUI6hyEJIAFBAWoiAUEGRw0ACyADIAMpA/ACIAl8NwPwAkEGIQQCQAJAAkADQCAEIgFBA3QiBCADQcABamopAwAiCSADQYABaiAEaikDACIKUQRAIAFBAWshBCABDQEMAgsLQQAhAUEAIQQgCSAKVw0BC0EAIQEDQCABQQN0IgQgA0HAAWpqIgUgBSkDACADQYABaiAEaikDAH03AwAgAUEBaiIBQQdHDQALDAELA0AgBEEDdCIFIANBQGtqIAIgBWopAwAgA0GAAWogBWopAwB9NwMAIARBAWoiBEEHRw0ACwNAIAFBA3QiBCADQcABamoiBSADQUBrIARqKQMAIAUpAwB8NwMAIAFBAWoiAUEHRw0ACwtBACEBQgAhCQNAIANBwAFqIAFBA3RqIgQgBCkDACAJfCIJQv//////////A4M3AwAgCUI6hyEJIAFBAWoiAUEGRw0ACyAIDAELA0AgBEEDdCIFIANBgAJqaiIGIAYpAwAgA0HAAmogBWopAwB9NwMAIARBAWoiBEEHRw0AC0IAIQkDQCADQYACaiABQQN0aiIEIAQpAwAgCXwiCUL//////////wODNwMAIAlCOochCSABQQFqIgFBBkcNAAsgAyADKQOwAiAJfDcDsAJBBiEEAkACQAJAA0AgBCIBQQN0IgQgA0GAAWpqKQMAIgkgA0HAAWogBGopAwAiClEEQCABQQFrIQQgAQ0BDAILC0EAIQFBACEEIAkgClcNAQtBACEBA0AgAUEDdCIEIANBgAFqaiIFIAUpAwAgA0HAAWogBGopAwB9NwMAIAFBAWoiAUEHRw0ACwwBCwNAIARBA3QiBSADQUBraiACIAVqKQMAIANBwAFqIAVqKQMAfTcDACAEQQFqIgRBB0cNAAsDQCABQQN0IgQgA0GAAWpqIgUgA0FAayAEaikDACAFKQMAfDcDACABQQFqIgFBB0cNAAsLQQAhAUIAIQkDQCADQYABaiABQQN0aiIEIAQpAwAgCXwiCUL//////////wODNwMAIAlCOochCSABQQFqIgFBBkcNAAsgBwsiASABKQMAIAl8NwMAQQYhAQwACwAL/AUCBX8CfiMAQfAAayIFJAAgBUEAQfAAEBUhBSABEENBAEoEQANAAn8gA0UEQCACEGYMAQsgBEEBdQshBCAFENUBIAUgBSkDACAEQQFxrXw3AwAgA0EBakEHcSEDIAZBAWoiBiABEENBAXRIDQALCyAAIQJBACEDIwBB4AFrIgQkAANAIAUgA0EDdGoiACAAKQMAIAh8IghC//////////8DgzcDACAIQjqHIQggA0EBaiIDQQ1HDQALIAUgBSkDaCAIfDcDaCAEQfAAaiABQTAQHxogBCABKQMwIghCOoc3A6gBIAQgCEL//////////wODNwOgASAEQbABakEAQTAQFRpBDSEAAkACQANAIAUgACIBQQN0IgBqKQMAIgkgBEHwAGogAGopAwAiCFEEQCABQQFrIQAgAQ0BDAILCyAIIAlTDQAMAQtBACEGA0AgBEHwAGoQ1QEgBkEBaiEGQQ0hAANAIAUgACIBQQN0IgBqKQMAIgkgBEHwAGogAGopAwAiCFEEQCABQQFrIQAgAQ0BDAILCyAIIAlTDQALA0BBACEDIAQpA3AhCANAIARB8ABqIgAgA0EDdGogCEIBhyADQQFqIgNBA3QgAGopAwAiCEI5hkKAgICAgICAgAKDhDcDACADQQ1HDQALIAQgBCkD2AFCAYc3A9gBQQAhA0EAIQADQCAEIABBA3QiAWogASAFaikDACAEQfAAaiABaikDAH03AwAgAEEBaiIAQQ5HDQALQgAhCANAIAQgA0EDdGoiACAAKQMAIAh8IghC//////////8DgzcDACAIQjqHIQggA0EBaiID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KCAIQQBKBEADQCABIAEQLCABIAEQLCABIAEQLCABIAEQLCABIAEgAkEwaiAEQQFrIgMgAkGwBmpqLAAAQTBsahAMIARBAUohDCADIQQgDA0ACwsgAkGAB2oiBEGQKRAUIAEgBBAtIAFBATYCKCACQbAHaiQAIAVBMGokACAAIAAgARAMIABBMGoiBCAEIAEQDCAEEHQgABB0IAYgChBECyABQeAAaiQACwkAIABBADYCAAsmACAAIAEgAhCkASAAQQAgAmsgACgCKCIAIAEoAihzcSAAczYCKAshAQF/IwBBMGsiASQAIAFB0CcQFCAAIAEQOyABQTBqJAALWQIBfgJ/A0AgACADQQN0aiIEIAQpAwAgAnwiAkL//////////wCDNwMAIAJCOIchAiADQQFqIgNBBEcNAAsgACAAKQMgIAJ8NwMgIAAoAgBBfyABdEF/c3ELWQIBfgJ/A0AgACADQQN0aiIEIAQpAwAgAnwiAkL//////////wCDNwMAIAJCOIchAiADQQFqIgNBBEcNAAsgACAAKQMgIAJ8NwMgIAAgACkDACABrH03AwALWQIBfgJ/A0AgACADQQN0aiIEIAQpAwAgAnwiAkL//////////wCDNwMAIAJCOIchAiADQQFqIgNBBEcNAAsgACAAKQMgIAJ8NwMgIAAgACkDACABrHw3AwALXgAgAEEoakEAQYACEBUaIABBIDYC6AIgAEKrs4/8kaOz8NsANwIgIABC/6S5iMWR2oKbfzcCGCAAQvLmu+Ojp/2npX83AhAgAELnzKfQ1tDrs7t/NwIIIABCADcCAAsCAAslACAAQgE3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgCwsAIABBAEEoEBUaC1UCAX8BfiAAKQMAIQIDQCAAIAFBA3RqIAJCBIcgACABQQFqIgFBA3RqKQMAIgJCNIZC//////////8Ag4Q3AwAgAUEERw0ACyAAIAApAyBCBIc3AyALDQAgACABIAJBBRC4AQsJACAAQQUQuwEL2wEBBn8jAEGAAmsiBSQAIAUgAhAwIwBBwAFrIgQkACAEQUBrIgMgARAwIAVBgAFqIgYgAyABEBAgBEGAKhAPIAMgBBARIANBQGsQOSADEAggAxApIAMQCCAGIAMgBhAOIAYQPyAEQcABaiQAIABBgAJqIQMgAEGAAWohBCAFEB0gBUFAayIHEB0gBhAdIAZBQGsiCBAdAkACfyAFIAYQWARAQQEgByAIEFgNARoLQQALRQRAIAAQSSAEEGogAxBJDAELIAAgARASIAQgAhASIAMQagsgBUGAAmokAAueAgEBfyMAQUBqIgIkACACIAEoAggQFiAAIAIQESACIAEoAghBMGoQFiAAQUBrIAIQESACIAEoAghB4ABqEBYgAEGAAWogAhARIAIgASgCCEGQAWoQFiAAQcABaiACEBEgAiABKAIIQcABahAWIABBgAJqIAIQESACIAEoAghB8AFqEBYgAEHAAmogAhARIAIgASgCCEGgAmoQFiAAQYADaiACEBEgAiABKAIIQdACahAWIABBwANqIAIQESACIAEoAghBgANqEBYgAEGABGogAhARIAIgASgCCEGwA2oQFiAAQcAEaiACEBEgAiABKAIIQeADahAWIABBgAVqIAIQESACIAEoAghBkARqEBYgAEHABWogAhARIAJBQGskAAumAgEBfyMAQUBqIgIkACAAQcAENgIAIAIgARAcIAAoAgggAhAYIAIgAUFAaxAcIAAoAghBMGogAhAYIAIgAUGAAWoQHCAAKAIIQeAAaiACEBggAiABQcABahAcIAAoAghBkAFqIAIQGCACIAFBgAJqEBwgACgCCEHAAWogAhAYIAIgAUHAAmoQHCAAKAIIQfABaiACEBggAiABQYADahAcIAAoAghBoAJqIAIQGCACIAFBwANqEBwgACgCCEHQAmogAhAYIAIgAUGABGoQHCAAKAIIQYADaiACEBggAiABQcAEahAcIAAoAghBsANqIAIQGCACIAFBgAVqEBwgACgCCEHgA2ogAhAYIAIgAUHABWoQHCAAKAIIQZAEaiACEBggAkFAayQAC+kBAQV/IwBBgAhrIgMkACADQYAGaiICIAEQLyAAIAEQNCADIAAgABALIAAgAyAAEAsgABATIAIgAhCCASACIAIgAhALIAAgACACEAsgA0GABGoiBCABQYAEaiIGEDQgBBAhIAMgBCAEEAsgBCAEIAMQCyAEEBMgA0GAAmoiBSABQYACaiICEDQgAyAFIAUQCyAFIAUgAxALIAUQEyAAQYACaiIBIAIQgwEgASABIAEQCyAAQYAEaiICIAYQggEgAiACIAIQCyABIAQgARALIAIgBSACEAsg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AgAgBUEfdCEFIAJBAWoiAkEERw0ACyAFBEAgASABKAIAQYCAgIh+czYCAAsgB0EBaiIHQYABRw0ACyAAQgA3AqAQIABBqBBqQgA3AgACQCADQQxGBEBBACECA0AgACACakGgFGogAiAEai0AADoAACACQQFqIgJBDEcNAAsgAEGsFGpBgICACDYAACAAQZAQaiAAQaAUaikAADcAACAAQZgQaiAAQagUaikAADcAAAwBCyAAQQE2ArAQIANBAEoEQEEAIQJBACEFA0AgACAFakGAEGoiASABLQAAIAIgBGotAABzOgAAIAAgACgCrBBBAWoiATYCrBAgAUUEQCAAIAAoAqgQQQFqNgKoEAsgAkEBaiECIAVBDk0EQCAFQQFqIQUgAiADSA0BCyAAEFRBACEFIAIgA0gNAAsLIANBD3EEQCAAQQI2ArAQCyAAQaAQaiEBIAAQugFBACECA0AgACACaiIDQaAUaiADQYAQaiIELQAAIgU6AAAgA0GQEGogBToAACAEQQA6AAAgAkEBaiICQRBHDQALIAFCADcCACABQgA3AggLIABBADYCsBAgBkEQaiQAC6oBAQN/IwBBEGsiAiQAIAAtAABBBEYEQCACQsCBgICAGDcCBCACIABBAWo2AgwjAEHAAmsiACQAIABBgAJqIgMgAigCDBAWIABBgAFqIgQgAxARIAMgAigCDEEwahAWIABBwAFqIAMQESADIAIoAgxB4ABqEBYgACADEBEgAyACKAIMQZABahAWIABBQGsgAxARIAEgBCAAEKYBIABBwAJqJAALIAJBEGokAAtXAQJ/IwBBgAFrIgIkACACQUBrIQMgARBtRQRAIAEQjgEgAiABQUBrEBwgAhA8GiADIAEQHAsgAEEEOgAAIABBAWogAxAYIABBMWogAhAYIAJBgAFqJAALuwoBDn8jAEGgE2siCiQAAn8gByAFQbQEbSILQQAgBWsgC0HMe2xHaiINQcAEbCILRwRAIAogBzYCBCAKIAs2AgBB8TAgChCIAUF/DAELAkAgACgCrBAiCwRAIAAoArAQIAVODQELIAsQQiAFEEwhCyAAIAU2ArAQIAAgCzYCrBALIAogAjYC6AogCkKQgICAgAI3AuAKIAogAzYC6AQgCkKMgICAwAE3AuAEQQAhByAKQeQzKAIANgIoIApB3DMpAgA3AyAgCiAENgLoECAKIAU2AuQQIAogBTYC4BAgCiALNgLoEiAKIAU2AuQSIAogBTYC4BIgCiAINgKoEiAKQpCAgICAAjcCoBIgCkGgEmohDkEAIQMjAEGwFGsiAiQAIAIgCkHgCmoiBCgCACAEKAIIIAooAuAEIAooAugEEMIBIAIgCigCKCAKKAIgELUBIApB4BJqIhEoAgghEiAKQeAQaiIMKAIIIRMgDCgCACEEIwBBEGsiCCQAAkACQAJAIAIoArAQDgIAAQILIAJBATYCsBALIARBAEoEQCACQaAUaiEQIAJBtBBqIRQDQCACIAIoAKwUIgtBGHQgC0GA/gNxQQh0ciALQQh2QYD+A3EgC0EYdnJyQQFqIgtBGHQgC0GA/gNxQQh0ciALQQh2QYD+A3EgC0EYdnJyNgCsFCAIIBApAAg3AwggCCAQKQAANwMAIBQgCBAlQQAhCwJAIAMgBE4NAANAIAMgEmogCCALai0AACADIBNqLQAAcyIPOgAAIAIgC2pBgBBqIhUgFS0AACAPczoAACACIAIoAqwQQQFqIg82AqwQIA9FBEAgAiACKAKoEEEBajYCqBALIANBAWohAyALQQ5LDQEgC0EBaiELIAMgBEgNAAsLIAIQVCADIARIDQALCyAEQQ9xRQ0AIAJBAjYCsBALIAhBEGokACARIAwoAgA2AgAgAiAOKAIIELQBIA5BEDYCACACQbAUaiQAIA4gAEGAAWogABCSASABIAwQiwEgDBBtBEBBrDNBLhBWQX8MAQsgCkHgEGogCkGgEmoiARDRASAKQeAKaiAAQfgFaiABED0gDUEAIA1BAEobIQMgAEH4C2ohBCANQQFrIQggCkGgCmohDSAKQeAJaiEOIApBoAlqIQwgCkHgCGohECAKQaAIaiERIApB4AdqIRIgCkGgB2ohEyAKQeAGaiEUIApBoAZqIQ8gCkHgBWohFSAKQaAFaiEWA0AgAyAHRwRAIAdBtARsIgEgACgCrBBqIQsCQCAHIAhHDQAgBSABayICQbMESg0AIApBIGoiASAEQbQEEB8aIAEgCyACEB8aIAEhCwsgCiALNgIcIApCtISAgMDGADcCFCAKQeASaiIBIAsQKCAKQeAEaiICIAEQESABIAooAhxBL2oQKCAWIAEQESABIAooAhxB3gBqECggFSABEBEgASAKKAIcQY0BahAoIA8gARARIAEgCigCHEG8AWoQKCAUIAEQESABIAooAhxB6wFqECggEyABEBEgASAKKAIcQZoCahAoIBIgARARIAEgCigCHEHJAmoQKCARIAEQESABIAooAhxB+AJqECggECABEBEgASAKKAIcQacDahAoIAwgARARIAEgCigCHEHWA2oQKCAOIAEQESABIAooAhxBhQRqECggDSABEBEgAiAKQeAKahAeIAogBiAHQcAEbGo2AhwgCkLAhICAgMgANwIUIAdBAWohByAKQRRqIAIQqAEMAQsLIAkgCkHgEGoQxAFBAAshFyAKQaATaiQAIBcLBQBBwQELBQBB4QAL3AQBCX8jAEEQayIFJAACQAJAAkACQAJAAkACQAJAIAAoAggiBg4WAgMEBAcEBwcHBwcHBwcBAQcBBwcHAQALIAZBHWsiA0EQSw0GQQEgA3RBloIEcQ0EIAMNBgsgACAAQewDahAlIAZBDmshBANAIAEgAmoiAyADLQAAIAAgAmotAOwDczoAACACIARGIQggAkEBaiECIAhFDQALDAULIAAgARDOAQwECwNAIAQgBWogACAEaiIDLQDsAzoAACADIAEgBGotAAA6AOwDIARBAWoiBEEQRw0ACyAAIAEQzgEDQCABIAJqIgAgAC0AACACIAVqIgAtAABzOgAAIABBADoAACACQQFqIgJBEEcNAAsMAwsgBkEBayEDA0AgACACaiwA7AMgBEEIdHIhBCACQQFqIgIgA0cNAAsMAQsgBSAAKQD0AzcDCCAFIABB7ANqIgcpAAA3AwAgACAFECUgBkEeayEEQQAhAANAIAEgAmoiAyADLQAAIAIgBWotAABzOgAAIAIgBEchCSACQQFqIQIgCQ0ACwNAIAAgB2oiASABLQAAQQFqIgE6AAAgAUH/AXENAiAAQQFqIgBBEEcNAAsMAQsgBSAAKQD0AzcDCCAFIABB7ANqIgcpAAA3AwAgBkERSARAIAMhAgNAIAcgAiADa2ogAiAHai0AADoAACACQQ9IIQogAkEBaiECIAoNAAsLIAAgBRAlQQAhAgNAIAIgBmsgAGogASACaiIELQAAOgD9AyAEIAQtAAAgAiAFai0AAHM6AAAgAkEBaiICIANHDQALCyAFQRBqJAALBABBEAuECgEPfyMAQcAHayIJJABBfyADQcAEbSIKQbQEbEEAIANrIApB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AUEBayIEIAJBwAhqaiwAAEEGdGoQCiABQQFKIQogBCEBIAoNAAsLIAJBsAlqIgFBwC4QDyAAIAEQJyAAQQE2AjggAkHwCWokACAFQUBrJAALNgECfyAAKAIAQQBKBEADQCAAKAIIIAJqIgMgAy0AACABczoAACACQQFqIgIgACgCAEgNAAsLC3UBAn9BDCEBIAAgACkDaEIBhiAAQeAAaikDAEI5h4Q3A2gDQCAAIAFBA3RqIgIgAikDAEIBhkL//////////wODIAJBCGspAwBCOYeENwMAIAFBAWsiAUEASg0ACyAAIAApAwBCAYZC//////////8DgzcDAAsNACAAIAEgAkEOELYBCzEBAn8DQCAAIANBA3QiBGogASAEaikDACACIARqKQMAfTcDACADQQFqIgNBDkcNAAsLFQAgAEIBNwMAIABBCGpBAEEwEBUaCwwAIABBAEHwABAVGgtWAQJ/A0AgACACQQN0IgNqIAEgA2opAwA3AwAgAkEBaiICQQZHDQALIAAgASkDMEL//////////wODNwMwIAAgASkDMEI6hzcDOCAAQUBrQQBBMBAVGgtLAgF+An8DQCAAIAJBA3RqIgMgAykDACABfCIBQv//////////A4M3AwAgAUI6hyEBIAJBAWoiAkENRw0ACyAAIAApA2ggAXw3A2gLCwAgAEEAQTgQFRoLfgEEfwJAIAAoAgAiA0EIaiICIAAoAgRKDQADQCAAKAIIIANqQQA6AAAgA0EBaiIDIAJIDQALIAAgAjYCACACQQBMIAFBAExyDQADQCACQQFrIgMgACgCCGogAToAACACQQJJDQEgAUH/AUshBSABQQh2IQEgAyECIAUNAAsLCwkAIABBBxC7AQuaAQEEfyMAQdACayIDJAAgA0HwAWoiBSAAKAIIEGEgA0HAAWoiACABKAIIQQFqEGEgAyABKAIIQSFqEGFBfSEBAkAgA0EwaiIEIAAgAxDiAUUNACADQaACaiIGQYAoEBQgBSAGEC0gBCAFEOABIAQQcg0AIAAgACAEEOMBIAJBIDYCACACKAIIIAAQYkEAIQELIANB0AJqJAAgAQvcBQEJfyMAQdAMayIEJAACQCAAEHINACABEKUBBEAgABB1IABBMGoQcyAAQeAAahB1DAELIAAQmAEgBEHgCmoiAiAAEFAgAhBgIARB4AFq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QYEBaiAAEB8aQQAhBQsgBQupAQEDfyMAQRBrIgMkAEG4EBBMIgIgACABEFUgAkG4AWoiABDQASACQfgCaiIBEHwgAkH4BWoiBCABIAAQeyAEEHkgAkGAAWpBwCoQDyADIAJB+AtqNgIMIANCtISAgMDGADcCBEEAIQAgAygCBEEASgRAA0AgAhBmIQEgAygCDCAAaiABOgAAIABBAWoiACADKAIESA0ACwsgAkIANwKsECADQRBqJAAgAgtrAQJ/IwBBgAVrIgQkACAEQYAEaiIFIAAgARBVIAQQfCAEQcADaiIBQcAqEA8gBEGAA2oiACABIAUQkgEgBCAAEGQgAgRAIAIgABAYCyADBEAgAyAEEIoBCyAEQYAEahBTIARBgAVqJABBAAulAgIGfwF+IwBBwAFrIgQkACAEQUBrIgkgACABEFVBACEBIARBAEE4EBUhAANAAn8gAUUEQCAJEGYMAQsgBUEBdQshBSAAIAApAzBCAYYiCjcDMEEFIQYgACAKIAApAyhCOYeENwMwA0AgACAGQQN0aiIIIAgpAwBCAYZC//////////8DgyAIQQhrKQMAQjmHhDcDACAGQQFrIgZBAEoNAAsgACAAKQMAQgGGQv//////////A4M3AwAgACAAKQMAIAVBAXGtfDcDACABQQFqQQdxIQEgB0EBaiIHQYADRw0ACyACBEAgAiAEKQMANwAAIAIgBCkDCDcACAsgAwRAIAMgBCkDEDcAACADIAQoAhg2AAgLIARBQGsQUyAEQcABaiQAQQALUwECfyMAQcAEayIDJAAgA0GABGoiBCAAEBYgASADQYABaiIAEMMBIANBQGsiAUHAKhAPIAMgBCABEJEBIAAgAxBkIAIgABCKASADQcAEaiQAQQALbQECfyMAQcADayIEJAAgBEHAAmoiBSAAIAEQVSAEENABIARBgAJqIgFBwCoQDyAEQcABaiIAIAEgBRCSASAEIAAQ0QEgAgRAIAIgABAYCyADBEAgAyAEEMQBCyAEQcACahBTIARBwANqJABBAAsSACAAEFMgACgCrBAQQiAAEEILWAAgBiADKQAANwAAIAYgAygACDYACCAGIAUQhwE2ABwgACABIAIgBiAEIAUgBkGBAWogBUG0BG0iAEEAIAVrIABBzHtsR2pBwARsIAZBDGogBkEgahDFAQuDDgIIfwJ+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", aA($) || ($ = h($));
213
- function nA(i) {
214
- if (i == $ && G)
215
- return new Uint8Array(G);
216
- var s = uA(i);
217
- if (s)
218
- return s;
219
- throw "both async and sync fetching of the wasm failed";
220
- }
221
- function BA(i) {
222
- return Promise.resolve().then(() => nA(i));
223
- }
224
- function wA(i, s, d) {
225
- return BA(i).then((u) => WebAssembly.instantiate(u, s)).then((u) => u).then(d, (u) => {
226
- D(`failed to asynchronously prepare wasm: ${u}`), IA(u);
227
- });
228
- }
229
- function yA(i, s, d, u) {
230
- return wA(s, d, u);
231
- }
232
- function t() {
233
- var i = { a: UA };
234
- function s(u, L) {
235
- return U = u.exports, N = U.f, l(), DA(U.g), AA(), U;
236
- }
237
- cA();
238
- function d(u) {
239
- s(u.instance);
240
- }
241
- if (A.instantiateWasm)
242
- try {
243
- return A.instantiateWasm(i, s);
244
- } catch (u) {
245
- D(`Module.instantiateWasm callback failed with error: ${u}`), C(u);
246
- }
247
- return yA(G, $, i, d).catch(C), {};
248
- }
249
- var e = (i) => {
250
- for (; i.length > 0; )
251
- i.shift()(A);
252
- };
253
- function f(i, s = "i8") {
254
- switch (s.endsWith("*") && (s = "*"), s) {
255
- case "i1":
256
- return q[i >> 0];
257
- case "i8":
258
- return q[i >> 0];
259
- case "i16":
260
- return R[i >> 1];
261
- case "i32":
262
- return c[i >> 2];
263
- case "i64":
264
- IA("to do getValue(i64) use WASM_BIGINT");
265
- case "float":
266
- return H[i >> 2];
267
- case "double":
268
- return F[i >> 3];
269
- case "*":
270
- return y[i >> 2];
271
- default:
272
- IA(`invalid type for getValue: ${s}`);
273
- }
274
- }
275
- var M = () => Date.now(), _ = () => 2147483648, g = (i) => {
276
- var s = N.buffer, d = (i - s.byteLength + 65535) / 65536;
277
- try {
278
- return N.grow(d), l(), 1;
279
- } catch {
280
- }
281
- }, B = (i) => {
282
- var s = S.length;
283
- i >>>= 0;
284
- var d = _();
285
- if (i > d)
286
- return !1;
287
- for (var u = (x, Z) => x + (Z - x % Z) % Z, L = 1; L <= 4; L *= 2) {
288
- var m = s * (1 + 0.2 / L);
289
- m = Math.min(m, i + 100663296);
290
- var T = Math.min(d, u(Math.max(i, m), 65536)), P = g(T);
291
- if (P)
292
- return !0;
293
- }
294
- return !1;
295
- }, n = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0, w = (i, s, d) => {
296
- for (var u = s + d, L = s; i[L] && !(L >= u); )
297
- ++L;
298
- if (L - s > 16 && i.buffer && n)
299
- return n.decode(i.subarray(s, L));
300
- for (var m = ""; s < L; ) {
301
- var T = i[s++];
302
- if (!(T & 128)) {
303
- m += String.fromCharCode(T);
304
- continue;
305
- }
306
- var P = i[s++] & 63;
307
- if ((T & 224) == 192) {
308
- m += String.fromCharCode((T & 31) << 6 | P);
309
- continue;
310
- }
311
- var x = i[s++] & 63;
312
- if ((T & 240) == 224 ? T = (T & 15) << 12 | P << 6 | x : T = (T & 7) << 18 | P << 12 | x << 6 | i[s++] & 63, T < 65536)
313
- m += String.fromCharCode(T);
314
- else {
315
- var Z = T - 65536;
316
- m += String.fromCharCode(55296 | Z >> 10, 56320 | Z & 1023);
317
- }
318
- }
319
- return m;
320
- }, O = (i) => 52;
321
- function K(i, s, d, u, L) {
322
- return 70;
323
- }
324
- var v = [null, [], []], eA = (i, s) => {
325
- var d = v[i];
326
- s === 0 || s === 10 ? ((i === 1 ? r : D)(w(d, 0)), d.length = 0) : d.push(s);
327
- }, sA = (i, s, d, u) => {
328
- for (var L = 0, m = 0; m < d; m++) {
329
- var T = y[s >> 2], P = y[s + 4 >> 2];
330
- s += 8;
331
- for (var x = 0; x < P; x++)
332
- eA(i, S[T + x]);
333
- L += P;
334
- }
335
- return y[u >> 2] = L, 0;
336
- }, RA = (i, s) => {
337
- q.set(i, s);
338
- }, UA = { e: M, b: B, d: O, a: K, c: sA }, U = t();
339
- A._EMS_AES_KEY_SIZE_ = () => (A._EMS_AES_KEY_SIZE_ = U.h)(), A._EMS_CRYPTO_TYPE_TARGET_ = () => (A._EMS_CRYPTO_TYPE_TARGET_ = U.i)(), A._EMS_CRYPTO_TYPE_PRIMARY_ = () => (A._EMS_CRYPTO_TYPE_PRIMARY_ = U.j)(), A._EMS_TARGET_BLOCK_KEY_SIZE_ = () => (A._EMS_TARGET_BLOCK_KEY_SIZE_ = U.k)(), A._EMS_TARGET_PK_KEY_SIZE_ = () => (A._EMS_TARGET_PK_KEY_SIZE_ = U.l)(), A._EMS_ECIES_PK_KEY_SIZE_ = () => (A._EMS_ECIES_PK_KEY_SIZE_ = U.m)(), A._EMS_ECIES_SK_KEY_SIZE_ = () => (A._EMS_ECIES_SK_KEY_SIZE_ = U.n)(), A._EMS_IV_SIZE_ = () => (A._EMS_IV_SIZE_ = U.o)(), A._EMS_PRIMARY_BLOCK_KEY_SIZE_ = () => (A._EMS_PRIMARY_BLOCK_KEY_SIZE_ = U.p)(), A._EMS_PRIMARY_PK_KEY_SIZE_ = () => (A._EMS_PRIMARY_PK_KEY_SIZE_ = U.q)(), A._EMS_RE_ENCRYPTION_KEY_SIZE_ = () => (A._EMS_RE_ENCRYPTION_KEY_SIZE_ = U.r)(), A._EMS_SECRET_KEY_SIZE_ = () => (A._EMS_SECRET_KEY_SIZE_ = U.s)(), A._EMS_SEED_SIZE_ = () => (A._EMS_SEED_SIZE_ = U.t)(), A._EMS_TAG_SIZE_ = () => (A._EMS_TAG_SIZE_ = U.u)(), A._free = (i) => (A._free = U.v)(i), A._malloc = (i) => (A._malloc = U.w)(i), A._DeriveTargetKeys = (i, s, d, u) => (A._DeriveTargetKeys = U.x)(i, s, d, u), A._CalcEncByteCount = (i) => (A._CalcEncByteCount = U.y)(i), A._CalcEncByteCountFromTargetH = (i) => (A._CalcEncByteCountFromTargetH = U.z)(i), A._CalcEncByteCountH = (i, s) => (A._CalcEncByteCountH = U.A)(i, s), A._CalcEncECIESByteCount = (i) => (A._CalcEncECIESByteCount = U.B)(i), A._CalcTargetByteCountH = (i) => (A._CalcTargetByteCountH = U.C)(i), A._DecryptAES = (i, s, d, u, L, m) => (A._DecryptAES = U.D)(i, s, d, u, L, m), A._DecryptECIES = (i, s, d, u, L, m, T) => (A._DecryptECIES = U.E)(i, s, d, u, L, m, T), A._DecryptH = (i, s, d, u, L, m, T, P) => (A._DecryptH = U.F)(i, s, d, u, L, m, T, P), A._DecryptTarget = (i, s, d, u, L, m, T, P, x, Z) => (A._DecryptTarget = U.G)(i, s, d, u, L, m, T, P, x, Z), A._DecryptPrimary = (i, s, d, u, L, m, T, P, x, Z) => (A._DecryptPrimary = U.H)(i, s, d, u, L, m, T, P, x, Z), A._EncryptAES = (i, s, d, u, L, m) => (A._EncryptAES = U.I)(i, s, d, u, L, m), A._EncryptECIES = (i, s, d, u, L, m, T, P, x) => (A._EncryptECIES = U.J)(i, s, d, u, L, m, T, P, x), A._EncryptPrimary = (i, s, d, u, L, m, T, P, x, Z) => (A._EncryptPrimary = U.K)(i, s, d, u, L, m, T, P, x, Z), A._EncryptPrimaryH = (i, s, d, u, L, m, T) => (A._EncryptPrimaryH = U.L)(i, s, d, u, L, m, T), A._FreeCryptoContext = (i) => (A._FreeCryptoContext = U.M)(i), A._GeneratePrimaryKeys = (i, s, d, u) => (A._GeneratePrimaryKeys = U.N)(i, s, d, u), A._GenerateReEncryptionKey = (i, s, d) => (A._GenerateReEncryptionKey = U.O)(i, s, d), A._GenerateTargetKeys = (i, s, d, u) => (A._GenerateTargetKeys = U.P)(i, s, d, u), A._GenerateSymmetricKeys = (i, s, d, u) => (A._GenerateSymmetricKeys = U.Q)(i, s, d, u), A._NewCryptoContext = (i, s) => (A._NewCryptoContext = U.R)(i, s), A._ReEncryptBlockKey = (i, s, d) => (A._ReEncryptBlockKey = U.S)(i, s, d), A._ReEncryptH = (i, s, d, u, L) => (A._ReEncryptH = U.T)(i, s, d, u, L);
340
- function lA(i) {
341
- try {
342
- for (var s = atob(i), d = new Uint8Array(s.length), u = 0; u < s.length; ++u)
343
- d[u] = s.charCodeAt(u);
344
- return d;
345
- } catch {
346
- throw new Error("Converting base64 string to bytes failed.");
347
- }
348
- }
349
- function uA(i) {
350
- if (aA(i))
351
- return lA(i.slice(gA.length));
352
- }
353
- A.getValue = f, A.writeArrayToMemory = RA;
354
- var iA;
355
- z = function i() {
356
- iA || tA(), iA || (z = i);
357
- };
358
- function tA() {
359
- if (X > 0 || (J(), X > 0))
360
- return;
361
- function i() {
362
- iA || (iA = !0, A.calledRun = !0, !b && (p(), Q(A), A.onRuntimeInitialized && A.onRuntimeInitialized(), V()));
363
- }
364
- A.setStatus ? (A.setStatus("Running..."), setTimeout(function() {
365
- setTimeout(function() {
366
- A.setStatus("");
367
- }, 1), i();
368
- }, 1)) : i();
369
- }
370
- if (A.preInit)
371
- for (typeof A.preInit == "function" && (A.preInit = [A.preInit]); A.preInit.length > 0; )
372
- A.preInit.pop()();
373
- return tA(), I.ready;
374
- };
375
- })();
376
- const SI = uI;
377
- var GA = { exports: {} }, mA = { exports: {} }, iI = CI.EventEmitter, pA, ZA;
378
- function dI() {
379
- if (ZA)
380
- return pA;
381
- ZA = 1;
382
- function E(S, R) {
383
- var c = Object.keys(S);
384
- if (Object.getOwnPropertySymbols) {
385
- var y = Object.getOwnPropertySymbols(S);
386
- R && (y = y.filter(function(H) {
387
- return Object.getOwnPropertyDescriptor(S, H).enumerable;
388
- })), c.push.apply(c, y);
389
- }
390
- return c;
391
- }
392
- function I(S) {
393
- for (var R = 1; R < arguments.length; R++) {
394
- var c = arguments[R] != null ? arguments[R] : {};
395
- R % 2 ? E(Object(c), !0).forEach(function(y) {
396
- A(S, y, c[y]);
397
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(S, Object.getOwnPropertyDescriptors(c)) : E(Object(c)).forEach(function(y) {
398
- Object.defineProperty(S, y, Object.getOwnPropertyDescriptor(c, y));
399
- });
400
- }
401
- return S;
402
- }
403
- function A(S, R, c) {
404
- return R = a(R), R in S ? Object.defineProperty(S, R, { value: c, enumerable: !0, configurable: !0, writable: !0 }) : S[R] = c, S;
405
- }
406
- function Q(S, R) {
407
- if (!(S instanceof R))
408
- throw new TypeError("Cannot call a class as a function");
409
- }
410
- function C(S, R) {
411
- for (var c = 0; c < R.length; c++) {
412
- var y = R[c];
413
- y.enumerable = y.enumerable || !1, y.configurable = !0, "value" in y && (y.writable = !0), Object.defineProperty(S, a(y.key), y);
414
- }
415
- }
416
- function o(S, R, c) {
417
- return R && C(S.prototype, R), c && C(S, c), Object.defineProperty(S, "prototype", { writable: !1 }), S;
418
- }
419
- function a(S) {
420
- var R = h(S, "string");
421
- return typeof R == "symbol" ? R : String(R);
422
- }
423
- function h(S, R) {
424
- if (typeof S != "object" || S === null)
425
- return S;
426
- var c = S[Symbol.toPrimitive];
427
- if (c !== void 0) {
428
- var y = c.call(S, R || "default");
429
- if (typeof y != "object")
430
- return y;
431
- throw new TypeError("@@toPrimitive must return a primitive value.");
432
- }
433
- return (R === "string" ? String : Number)(S);
434
- }
435
- var r = vA(), D = r.Buffer, G = eI, N = G.inspect, b = N && N.custom || "inspect";
436
- function q(S, R, c) {
437
- D.prototype.copy.call(S, R, c);
438
- }
439
- return pA = /* @__PURE__ */ function() {
440
- function S() {
441
- Q(this, S), this.head = null, this.tail = null, this.length = 0;
442
- }
443
- return o(S, [{
444
- key: "push",
445
- value: function(c) {
446
- var y = {
447
- data: c,
448
- next: null
449
- };
450
- this.length > 0 ? this.tail.next = y : this.head = y, this.tail = y, ++this.length;
451
- }
452
- }, {
453
- key: "unshift",
454
- value: function(c) {
455
- var y = {
456
- data: c,
457
- next: this.head
458
- };
459
- this.length === 0 && (this.tail = y), this.head = y, ++this.length;
460
- }
461
- }, {
462
- key: "shift",
463
- value: function() {
464
- if (this.length !== 0) {
465
- var c = this.head.data;
466
- return this.length === 1 ? this.head = this.tail = null : this.head = this.head.next, --this.length, c;
467
- }
468
- }
469
- }, {
470
- key: "clear",
471
- value: function() {
472
- this.head = this.tail = null, this.length = 0;
473
- }
474
- }, {
475
- key: "join",
476
- value: function(c) {
477
- if (this.length === 0)
478
- return "";
479
- for (var y = this.head, H = "" + y.data; y = y.next; )
480
- H += c + y.data;
481
- return H;
482
- }
483
- }, {
484
- key: "concat",
485
- value: function(c) {
486
- if (this.length === 0)
487
- return D.alloc(0);
488
- for (var y = D.allocUnsafe(c >>> 0), H = this.head, F = 0; H; )
489
- q(H.data, y, F), F += H.data.length, H = H.next;
490
- return y;
491
- }
492
- // Consumes a specified amount of bytes or characters from the buffered data.
493
- }, {
494
- key: "consume",
495
- value: function(c, y) {
496
- var H;
497
- return c < this.head.data.length ? (H = this.head.data.slice(0, c), this.head.data = this.head.data.slice(c)) : c === this.head.data.length ? H = this.shift() : H = y ? this._getString(c) : this._getBuffer(c), H;
498
- }
499
- }, {
500
- key: "first",
501
- value: function() {
502
- return this.head.data;
503
- }
504
- // Consumes a specified amount of characters from the buffered data.
505
- }, {
506
- key: "_getString",
507
- value: function(c) {
508
- var y = this.head, H = 1, F = y.data;
509
- for (c -= F.length; y = y.next; ) {
510
- var l = y.data, k = c > l.length ? l.length : c;
511
- if (k === l.length ? F += l : F += l.slice(0, c), c -= k, c === 0) {
512
- k === l.length ? (++H, y.next ? this.head = y.next : this.head = this.tail = null) : (this.head = y, y.data = l.slice(k));
513
- break;
514
- }
515
- ++H;
516
- }
517
- return this.length -= H, F;
518
- }
519
- // Consumes a specified amount of bytes from the buffered data.
520
- }, {
521
- key: "_getBuffer",
522
- value: function(c) {
523
- var y = D.allocUnsafe(c), H = this.head, F = 1;
524
- for (H.data.copy(y), c -= H.data.length; H = H.next; ) {
525
- var l = H.data, k = c > l.length ? l.length : c;
526
- if (l.copy(y, y.length - c, 0, k), c -= k, c === 0) {
527
- k === l.length ? (++F, H.next ? this.head = H.next : this.head = this.tail = null) : (this.head = H, H.data = l.slice(k));
528
- break;
529
- }
530
- ++F;
531
- }
532
- return this.length -= F, y;
533
- }
534
- // Make sure the linked list only shows the minimal necessary information.
535
- }, {
536
- key: b,
537
- value: function(c, y) {
538
- return N(this, I(I({}, y), {}, {
539
- // Only inspect one level.
540
- depth: 0,
541
- // It should not recurse.
542
- customInspect: !1
543
- }));
544
- }
545
- }]), S;
546
- }(), pA;
547
- }
548
- function RI(E, I) {
549
- var A = this, Q = this._readableState && this._readableState.destroyed, C = this._writableState && this._writableState.destroyed;
550
- return Q || C ? (I ? I(E) : E && (this._writableState ? this._writableState.errorEmitted || (this._writableState.errorEmitted = !0, process.nextTick(TA, this, E)) : process.nextTick(TA, this, E)), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(E || null, function(o) {
551
- !I && o ? A._writableState ? A._writableState.errorEmitted ? process.nextTick(FA, A) : (A._writableState.errorEmitted = !0, process.nextTick(jA, A, o)) : process.nextTick(jA, A, o) : I ? (process.nextTick(FA, A), I(o)) : process.nextTick(FA, A);
552
- }), this);
553
- }
554
- function jA(E, I) {
555
- TA(E, I), FA(E);
556
- }
557
- function FA(E) {
558
- E._writableState && !E._writableState.emitClose || E._readableState && !E._readableState.emitClose || E.emit("close");
559
- }
560
- function FI() {
561
- this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finalCalled = !1, this._writableState.prefinished = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1);
562
- }
563
- function TA(E, I) {
564
- E.emit("error", I);
565
- }
566
- function MI(E, I) {
567
- var A = E._readableState, Q = E._writableState;
568
- A && A.autoDestroy || Q && Q.autoDestroy ? E.destroy(I) : E.emit("error", I);
569
- }
570
- var tI = {
571
- destroy: RI,
572
- undestroy: FI,
573
- errorOrDestroy: MI
574
- }, oA = {};
575
- function GI(E, I) {
576
- E.prototype = Object.create(I.prototype), E.prototype.constructor = E, E.__proto__ = I;
577
- }
578
- var rI = {};
579
- function j(E, I, A) {
580
- A || (A = Error);
581
- function Q(o, a, h) {
582
- return typeof I == "string" ? I : I(o, a, h);
583
- }
584
- var C = /* @__PURE__ */ function(o) {
585
- GI(a, o);
586
- function a(h, r, D) {
587
- return o.call(this, Q(h, r, D)) || this;
588
- }
589
- return a;
590
- }(A);
591
- C.prototype.name = A.name, C.prototype.code = E, rI[E] = C;
592
- }
593
- function VA(E, I) {
594
- if (Array.isArray(E)) {
595
- var A = E.length;
596
- return E = E.map(function(Q) {
597
- return String(Q);
598
- }), A > 2 ? "one of ".concat(I, " ").concat(E.slice(0, A - 1).join(", "), ", or ") + E[A - 1] : A === 2 ? "one of ".concat(I, " ").concat(E[0], " or ").concat(E[1]) : "of ".concat(I, " ").concat(E[0]);
599
- } else
600
- return "of ".concat(I, " ").concat(String(E));
601
- }
602
- function NI(E, I, A) {
603
- return E.substr(!A || A < 0 ? 0 : +A, I.length) === I;
604
- }
605
- function kI(E, I, A) {
606
- return (A === void 0 || A > E.length) && (A = E.length), E.substring(A - I.length, A) === I;
607
- }
608
- function UI(E, I, A) {
609
- return typeof A != "number" && (A = 0), A + I.length > E.length ? !1 : E.indexOf(I, A) !== -1;
610
- }
611
- j("ERR_INVALID_OPT_VALUE", function(E, I) {
612
- return 'The value "' + I + '" is invalid for option "' + E + '"';
613
- }, TypeError);
614
- j("ERR_INVALID_ARG_TYPE", function(E, I, A) {
615
- var Q;
616
- typeof I == "string" && NI(I, "not ") ? (Q = "must not be", I = I.replace(/^not /, "")) : Q = "must be";
617
- var C;
618
- if (kI(E, " argument"))
619
- C = "The ".concat(E, " ").concat(Q, " ").concat(VA(I, "type"));
620
- else {
621
- var o = UI(E, ".") ? "property" : "argument";
622
- C = 'The "'.concat(E, '" ').concat(o, " ").concat(Q, " ").concat(VA(I, "type"));
623
- }
624
- return C += ". Received type ".concat(typeof A), C;
625
- }, TypeError);
626
- j("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");
627
- j("ERR_METHOD_NOT_IMPLEMENTED", function(E) {
628
- return "The " + E + " method is not implemented";
629
- });
630
- j("ERR_STREAM_PREMATURE_CLOSE", "Premature close");
631
- j("ERR_STREAM_DESTROYED", function(E) {
632
- return "Cannot call " + E + " after a stream was destroyed";
633
- });
634
- j("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");
635
- j("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");
636
- j("ERR_STREAM_WRITE_AFTER_END", "write after end");
637
- j("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
638
- j("ERR_UNKNOWN_ENCODING", function(E) {
639
- return "Unknown encoding: " + E;
640
- }, TypeError);
641
- j("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");
642
- oA.codes = rI;
643
- var pI = oA.codes.ERR_INVALID_OPT_VALUE;
644
- function HI(E, I, A) {
645
- return E.highWaterMark != null ? E.highWaterMark : I ? E[A] : null;
646
- }
647
- function YI(E, I, A, Q) {
648
- var C = HI(I, Q, A);
649
- if (C != null) {
650
- if (!(isFinite(C) && Math.floor(C) === C) || C < 0) {
651
- var o = Q ? A : "highWaterMark";
652
- throw new pI(o, C);
653
- }
654
- return Math.floor(C);
655
- }
656
- return E.objectMode ? 16 : 16 * 1024;
657
- }
658
- var aI = {
659
- getHighWaterMark: YI
660
- }, KI = _I;
661
- function _I(E, I) {
662
- if (HA("noDeprecation"))
663
- return E;
664
- var A = !1;
665
- function Q() {
666
- if (!A) {
667
- if (HA("throwDeprecation"))
668
- throw new Error(I);
669
- HA("traceDeprecation") ? console.trace(I) : console.warn(I), A = !0;
670
- }
671
- return E.apply(this, arguments);
672
- }
673
- return Q;
674
- }
675
- function HA(E) {
676
- try {
677
- if (!fA.localStorage)
678
- return !1;
679
- } catch {
680
- return !1;
681
- }
682
- var I = fA.localStorage[E];
683
- return I == null ? !1 : String(I).toLowerCase() === "true";
684
- }
685
- var YA, XA;
686
- function oI() {
687
- if (XA)
688
- return YA;
689
- XA = 1, YA = J;
690
- function E(t) {
691
- var e = this;
692
- this.next = null, this.entry = null, this.finish = function() {
693
- yA(e, t);
694
- };
695
- }
696
- var I;
697
- J.WritableState = Y;
698
- var A = {
699
- deprecate: KI
700
- }, Q = iI, C = vA().Buffer, o = (typeof fA < "u" ? fA : typeof window < "u" ? window : typeof self < "u" ? self : {}).Uint8Array || function() {
701
- };
702
- function a(t) {
703
- return C.from(t);
704
- }
705
- function h(t) {
706
- return C.isBuffer(t) || t instanceof o;
707
- }
708
- var r = tI, D = aI, G = D.getHighWaterMark, N = oA.codes, b = N.ERR_INVALID_ARG_TYPE, q = N.ERR_METHOD_NOT_IMPLEMENTED, S = N.ERR_MULTIPLE_CALLBACK, R = N.ERR_STREAM_CANNOT_PIPE, c = N.ERR_STREAM_DESTROYED, y = N.ERR_STREAM_NULL_VALUES, H = N.ERR_STREAM_WRITE_AFTER_END, F = N.ERR_UNKNOWN_ENCODING, l = r.errorOrDestroy;
709
- dA(J, Q);
710
- function k() {
711
- }
712
- function Y(t, e, f) {
713
- I = I || hA(), t = t || {}, typeof f != "boolean" && (f = e instanceof I), this.objectMode = !!t.objectMode, f && (this.objectMode = this.objectMode || !!t.writableObjectMode), this.highWaterMark = G(this, t, "writableHighWaterMark", f), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;
714
- var M = t.decodeStrings === !1;
715
- this.decodeStrings = !M, this.defaultEncoding = t.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function(_) {
716
- cA(e, _);
717
- }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = t.emitClose !== !1, this.autoDestroy = !!t.autoDestroy, this.bufferedRequestCount = 0, this.corkedRequestsFree = new E(this);
718
- }
719
- Y.prototype.getBuffer = function() {
720
- for (var e = this.bufferedRequest, f = []; e; )
721
- f.push(e), e = e.next;
722
- return f;
723
- }, function() {
724
- try {
725
- Object.defineProperty(Y.prototype, "buffer", {
726
- get: A.deprecate(function() {
727
- return this.getBuffer();
728
- }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
729
- });
730
- } catch {
731
- }
732
- }();
733
- var W;
734
- typeof Symbol == "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] == "function" ? (W = Function.prototype[Symbol.hasInstance], Object.defineProperty(J, Symbol.hasInstance, {
735
- value: function(e) {
736
- return W.call(this, e) ? !0 : this !== J ? !1 : e && e._writableState instanceof Y;
737
- }
738
- })) : W = function(e) {
739
- return e instanceof this;
740
- };
741
- function J(t) {
742
- I = I || hA();
743
- var e = this instanceof I;
744
- if (!e && !W.call(J, this))
745
- return new J(t);
746
- this._writableState = new Y(t, this, e), this.writable = !0, t && (typeof t.write == "function" && (this._write = t.write), typeof t.writev == "function" && (this._writev = t.writev), typeof t.destroy == "function" && (this._destroy = t.destroy), typeof t.final == "function" && (this._final = t.final)), Q.call(this);
747
- }
748
- J.prototype.pipe = function() {
749
- l(this, new R());
750
- };
751
- function p(t, e) {
752
- var f = new H();
753
- l(t, f), process.nextTick(e, f);
754
- }
755
- function V(t, e, f, M) {
756
- var _;
757
- return f === null ? _ = new y() : typeof f != "string" && !e.objectMode && (_ = new b("chunk", ["string", "Buffer"], f)), _ ? (l(t, _), process.nextTick(M, _), !1) : !0;
758
- }
759
- J.prototype.write = function(t, e, f) {
760
- var M = this._writableState, _ = !1, g = !M.objectMode && h(t);
761
- return g && !C.isBuffer(t) && (t = a(t)), typeof e == "function" && (f = e, e = null), g ? e = "buffer" : e || (e = M.defaultEncoding), typeof f != "function" && (f = k), M.ending ? p(this, f) : (g || V(this, M, t, f)) && (M.pendingcb++, _ = DA(this, M, g, t, e, f)), _;
762
- }, J.prototype.cork = function() {
763
- this._writableState.corked++;
764
- }, J.prototype.uncork = function() {
765
- var t = this._writableState;
766
- t.corked && (t.corked--, !t.writing && !t.corked && !t.bufferProcessing && t.bufferedRequest && gA(this, t));
767
- }, J.prototype.setDefaultEncoding = function(e) {
768
- if (typeof e == "string" && (e = e.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()) > -1))
769
- throw new F(e);
770
- return this._writableState.defaultEncoding = e, this;
771
- }, Object.defineProperty(J.prototype, "writableBuffer", {
772
- // making it explicit this property is not enumerable
773
- // because otherwise some prototype manipulation in
774
- // userland will fail
775
- enumerable: !1,
776
- get: function() {
777
- return this._writableState && this._writableState.getBuffer();
778
- }
779
- });
780
- function rA(t, e, f) {
781
- return !t.objectMode && t.decodeStrings !== !1 && typeof e == "string" && (e = C.from(e, f)), e;
782
- }
783
- Object.defineProperty(J.prototype, "writableHighWaterMark", {
784
- // making it explicit this property is not enumerable
785
- // because otherwise some prototype manipulation in
786
- // userland will fail
787
- enumerable: !1,
788
- get: function() {
789
- return this._writableState.highWaterMark;
790
- }
791
- });
792
- function DA(t, e, f, M, _, g) {
793
- if (!f) {
794
- var B = rA(e, M, _);
795
- M !== B && (f = !0, _ = "buffer", M = B);
796
- }
797
- var n = e.objectMode ? 1 : M.length;
798
- e.length += n;
799
- var w = e.length < e.highWaterMark;
800
- if (w || (e.needDrain = !0), e.writing || e.corked) {
801
- var O = e.lastBufferedRequest;
802
- e.lastBufferedRequest = {
803
- chunk: M,
804
- encoding: _,
805
- isBuf: f,
806
- callback: g,
807
- next: null
808
- }, O ? O.next = e.lastBufferedRequest : e.bufferedRequest = e.lastBufferedRequest, e.bufferedRequestCount += 1;
809
- } else
810
- CA(t, e, !1, n, M, _, g);
811
- return w;
812
- }
813
- function CA(t, e, f, M, _, g, B) {
814
- e.writelen = M, e.writecb = B, e.writing = !0, e.sync = !0, e.destroyed ? e.onwrite(new c("write")) : f ? t._writev(_, e.onwrite) : t._write(_, g, e.onwrite), e.sync = !1;
815
- }
816
- function X(t, e, f, M, _) {
817
- --e.pendingcb, f ? (process.nextTick(_, M), process.nextTick(BA, t, e), t._writableState.errorEmitted = !0, l(t, M)) : (_(M), t._writableState.errorEmitted = !0, l(t, M), BA(t, e));
818
- }
819
- function z(t) {
820
- t.writing = !1, t.writecb = null, t.length -= t.writelen, t.writelen = 0;
821
- }
822
- function cA(t, e) {
823
- var f = t._writableState, M = f.sync, _ = f.writecb;
824
- if (typeof _ != "function")
825
- throw new S();
826
- if (z(f), e)
827
- X(t, f, M, e, _);
828
- else {
829
- var g = aA(f) || t.destroyed;
830
- !g && !f.corked && !f.bufferProcessing && f.bufferedRequest && gA(t, f), M ? process.nextTick(AA, t, f, g, _) : AA(t, f, g, _);
831
- }
832
- }
833
- function AA(t, e, f, M) {
834
- f || IA(t, e), e.pendingcb--, M(), BA(t, e);
835
- }
836
- function IA(t, e) {
837
- e.length === 0 && e.needDrain && (e.needDrain = !1, t.emit("drain"));
838
- }
839
- function gA(t, e) {
840
- e.bufferProcessing = !0;
841
- var f = e.bufferedRequest;
842
- if (t._writev && f && f.next) {
843
- var M = e.bufferedRequestCount, _ = new Array(M), g = e.corkedRequestsFree;
844
- g.entry = f;
845
- for (var B = 0, n = !0; f; )
846
- _[B] = f, f.isBuf || (n = !1), f = f.next, B += 1;
847
- _.allBuffers = n, CA(t, e, !0, e.length, _, "", g.finish), e.pendingcb++, e.lastBufferedRequest = null, g.next ? (e.corkedRequestsFree = g.next, g.next = null) : e.corkedRequestsFree = new E(e), e.bufferedRequestCount = 0;
848
- } else {
849
- for (; f; ) {
850
- var w = f.chunk, O = f.encoding, K = f.callback, v = e.objectMode ? 1 : w.length;
851
- if (CA(t, e, !1, v, w, O, K), f = f.next, e.bufferedRequestCount--, e.writing)
852
- break;
853
- }
854
- f === null && (e.lastBufferedRequest = null);
855
- }
856
- e.bufferedRequest = f, e.bufferProcessing = !1;
857
- }
858
- J.prototype._write = function(t, e, f) {
859
- f(new q("_write()"));
860
- }, J.prototype._writev = null, J.prototype.end = function(t, e, f) {
861
- var M = this._writableState;
862
- return typeof t == "function" ? (f = t, t = null, e = null) : typeof e == "function" && (f = e, e = null), t != null && this.write(t, e), M.corked && (M.corked = 1, this.uncork()), M.ending || wA(this, M, f), this;
863
- }, Object.defineProperty(J.prototype, "writableLength", {
864
- // making it explicit this property is not enumerable
865
- // because otherwise some prototype manipulation in
866
- // userland will fail
867
- enumerable: !1,
868
- get: function() {
869
- return this._writableState.length;
870
- }
871
- });
872
- function aA(t) {
873
- return t.ending && t.length === 0 && t.bufferedRequest === null && !t.finished && !t.writing;
874
- }
875
- function $(t, e) {
876
- t._final(function(f) {
877
- e.pendingcb--, f && l(t, f), e.prefinished = !0, t.emit("prefinish"), BA(t, e);
878
- });
879
- }
880
- function nA(t, e) {
881
- !e.prefinished && !e.finalCalled && (typeof t._final == "function" && !e.destroyed ? (e.pendingcb++, e.finalCalled = !0, process.nextTick($, t, e)) : (e.prefinished = !0, t.emit("prefinish")));
882
- }
883
- function BA(t, e) {
884
- var f = aA(e);
885
- if (f && (nA(t, e), e.pendingcb === 0 && (e.finished = !0, t.emit("finish"), e.autoDestroy))) {
886
- var M = t._readableState;
887
- (!M || M.autoDestroy && M.endEmitted) && t.destroy();
888
- }
889
- return f;
890
- }
891
- function wA(t, e, f) {
892
- e.ending = !0, BA(t, e), f && (e.finished ? process.nextTick(f) : t.once("finish", f)), e.ended = !0, t.writable = !1;
893
- }
894
- function yA(t, e, f) {
895
- var M = t.entry;
896
- for (t.entry = null; M; ) {
897
- var _ = M.callback;
898
- e.pendingcb--, _(f), M = M.next;
899
- }
900
- e.corkedRequestsFree.next = t;
901
- }
902
- return Object.defineProperty(J.prototype, "destroyed", {
903
- // making it explicit this property is not enumerable
904
- // because otherwise some prototype manipulation in
905
- // userland will fail
906
- enumerable: !1,
907
- get: function() {
908
- return this._writableState === void 0 ? !1 : this._writableState.destroyed;
909
- },
910
- set: function(e) {
911
- this._writableState && (this._writableState.destroyed = e);
912
- }
913
- }), J.prototype.destroy = r.destroy, J.prototype._undestroy = r.undestroy, J.prototype._destroy = function(t, e) {
914
- e(t);
915
- }, YA;
916
- }
917
- var KA, zA;
918
- function hA() {
919
- if (zA)
920
- return KA;
921
- zA = 1;
922
- var E = Object.keys || function(D) {
923
- var G = [];
924
- for (var N in D)
925
- G.push(N);
926
- return G;
927
- };
928
- KA = a;
929
- var I = sI(), A = oI();
930
- dA(a, I);
931
- for (var Q = E(A.prototype), C = 0; C < Q.length; C++) {
932
- var o = Q[C];
933
- a.prototype[o] || (a.prototype[o] = A.prototype[o]);
934
- }
935
- function a(D) {
936
- if (!(this instanceof a))
937
- return new a(D);
938
- I.call(this, D), A.call(this, D), this.allowHalfOpen = !0, D && (D.readable === !1 && (this.readable = !1), D.writable === !1 && (this.writable = !1), D.allowHalfOpen === !1 && (this.allowHalfOpen = !1, this.once("end", h)));
939
- }
940
- Object.defineProperty(a.prototype, "writableHighWaterMark", {
941
- // making it explicit this property is not enumerable
942
- // because otherwise some prototype manipulation in
943
- // userland will fail
944
- enumerable: !1,
945
- get: function() {
946
- return this._writableState.highWaterMark;
947
- }
948
- }), Object.defineProperty(a.prototype, "writableBuffer", {
949
- // making it explicit this property is not enumerable
950
- // because otherwise some prototype manipulation in
951
- // userland will fail
952
- enumerable: !1,
953
- get: function() {
954
- return this._writableState && this._writableState.getBuffer();
955
- }
956
- }), Object.defineProperty(a.prototype, "writableLength", {
957
- // making it explicit this property is not enumerable
958
- // because otherwise some prototype manipulation in
959
- // userland will fail
960
- enumerable: !1,
961
- get: function() {
962
- return this._writableState.length;
963
- }
964
- });
965
- function h() {
966
- this._writableState.ended || process.nextTick(r, this);
967
- }
968
- function r(D) {
969
- D.end();
970
- }
971
- return Object.defineProperty(a.prototype, "destroyed", {
972
- // making it explicit this property is not enumerable
973
- // because otherwise some prototype manipulation in
974
- // userland will fail
975
- enumerable: !1,
976
- get: function() {
977
- return this._readableState === void 0 || this._writableState === void 0 ? !1 : this._readableState.destroyed && this._writableState.destroyed;
978
- },
979
- set: function(G) {
980
- this._readableState === void 0 || this._writableState === void 0 || (this._readableState.destroyed = G, this._writableState.destroyed = G);
981
- }
982
- }), KA;
983
- }
984
- var $A = oA.codes.ERR_STREAM_PREMATURE_CLOSE;
985
- function JI(E) {
986
- var I = !1;
987
- return function() {
988
- if (!I) {
989
- I = !0;
990
- for (var A = arguments.length, Q = new Array(A), C = 0; C < A; C++)
991
- Q[C] = arguments[C];
992
- E.apply(this, Q);
993
- }
994
- };
995
- }
996
- function LI() {
997
- }
998
- function qI(E) {
999
- return E.setHeader && typeof E.abort == "function";
1000
- }
1001
- function nI(E, I, A) {
1002
- if (typeof I == "function")
1003
- return nI(E, null, I);
1004
- I || (I = {}), A = JI(A || LI);
1005
- var Q = I.readable || I.readable !== !1 && E.readable, C = I.writable || I.writable !== !1 && E.writable, o = function() {
1006
- E.writable || h();
1007
- }, a = E._writableState && E._writableState.finished, h = function() {
1008
- C = !1, a = !0, Q || A.call(E);
1009
- }, r = E._readableState && E._readableState.endEmitted, D = function() {
1010
- Q = !1, r = !0, C || A.call(E);
1011
- }, G = function(S) {
1012
- A.call(E, S);
1013
- }, N = function() {
1014
- var S;
1015
- if (Q && !r)
1016
- return (!E._readableState || !E._readableState.ended) && (S = new $A()), A.call(E, S);
1017
- if (C && !a)
1018
- return (!E._writableState || !E._writableState.ended) && (S = new $A()), A.call(E, S);
1019
- }, b = function() {
1020
- E.req.on("finish", h);
1021
- };
1022
- return qI(E) ? (E.on("complete", h), E.on("abort", N), E.req ? b() : E.on("request", b)) : C && !E._writableState && (E.on("end", o), E.on("close", o)), E.on("end", D), E.on("finish", h), I.error !== !1 && E.on("error", G), E.on("close", N), function() {
1023
- E.removeListener("complete", h), E.removeListener("abort", N), E.removeListener("request", b), E.req && E.req.removeListener("finish", h), E.removeListener("end", o), E.removeListener("close", o), E.removeListener("finish", h), E.removeListener("end", D), E.removeListener("error", G), E.removeListener("close", N);
1024
- };
1025
- }
1026
- var WA = nI, _A, AI;
1027
- function bI() {
1028
- if (AI)
1029
- return _A;
1030
- AI = 1;
1031
- var E;
1032
- function I(F, l, k) {
1033
- return l = A(l), l in F ? Object.defineProperty(F, l, { value: k, enumerable: !0, configurable: !0, writable: !0 }) : F[l] = k, F;
1034
- }
1035
- function A(F) {
1036
- var l = Q(F, "string");
1037
- return typeof l == "symbol" ? l : String(l);
1038
- }
1039
- function Q(F, l) {
1040
- if (typeof F != "object" || F === null)
1041
- return F;
1042
- var k = F[Symbol.toPrimitive];
1043
- if (k !== void 0) {
1044
- var Y = k.call(F, l || "default");
1045
- if (typeof Y != "object")
1046
- return Y;
1047
- throw new TypeError("@@toPrimitive must return a primitive value.");
1048
- }
1049
- return (l === "string" ? String : Number)(F);
1050
- }
1051
- var C = WA, o = Symbol("lastResolve"), a = Symbol("lastReject"), h = Symbol("error"), r = Symbol("ended"), D = Symbol("lastPromise"), G = Symbol("handlePromise"), N = Symbol("stream");
1052
- function b(F, l) {
1053
- return {
1054
- value: F,
1055
- done: l
1056
- };
1057
- }
1058
- function q(F) {
1059
- var l = F[o];
1060
- if (l !== null) {
1061
- var k = F[N].read();
1062
- k !== null && (F[D] = null, F[o] = null, F[a] = null, l(b(k, !1)));
1063
- }
1064
- }
1065
- function S(F) {
1066
- process.nextTick(q, F);
1067
- }
1068
- function R(F, l) {
1069
- return function(k, Y) {
1070
- F.then(function() {
1071
- if (l[r]) {
1072
- k(b(void 0, !0));
1073
- return;
1074
- }
1075
- l[G](k, Y);
1076
- }, Y);
1077
- };
1078
- }
1079
- var c = Object.getPrototypeOf(function() {
1080
- }), y = Object.setPrototypeOf((E = {
1081
- get stream() {
1082
- return this[N];
1083
- },
1084
- next: function() {
1085
- var l = this, k = this[h];
1086
- if (k !== null)
1087
- return Promise.reject(k);
1088
- if (this[r])
1089
- return Promise.resolve(b(void 0, !0));
1090
- if (this[N].destroyed)
1091
- return new Promise(function(p, V) {
1092
- process.nextTick(function() {
1093
- l[h] ? V(l[h]) : p(b(void 0, !0));
1094
- });
1095
- });
1096
- var Y = this[D], W;
1097
- if (Y)
1098
- W = new Promise(R(Y, this));
1099
- else {
1100
- var J = this[N].read();
1101
- if (J !== null)
1102
- return Promise.resolve(b(J, !1));
1103
- W = new Promise(this[G]);
1104
- }
1105
- return this[D] = W, W;
1106
- }
1107
- }, I(E, Symbol.asyncIterator, function() {
1108
- return this;
1109
- }), I(E, "return", function() {
1110
- var l = this;
1111
- return new Promise(function(k, Y) {
1112
- l[N].destroy(null, function(W) {
1113
- if (W) {
1114
- Y(W);
1115
- return;
1116
- }
1117
- k(b(void 0, !0));
1118
- });
1119
- });
1120
- }), E), c), H = function(l) {
1121
- var k, Y = Object.create(y, (k = {}, I(k, N, {
1122
- value: l,
1123
- writable: !0
1124
- }), I(k, o, {
1125
- value: null,
1126
- writable: !0
1127
- }), I(k, a, {
1128
- value: null,
1129
- writable: !0
1130
- }), I(k, h, {
1131
- value: null,
1132
- writable: !0
1133
- }), I(k, r, {
1134
- value: l._readableState.endEmitted,
1135
- writable: !0
1136
- }), I(k, G, {
1137
- value: function(J, p) {
1138
- var V = Y[N].read();
1139
- V ? (Y[D] = null, Y[o] = null, Y[a] = null, J(b(V, !1))) : (Y[o] = J, Y[a] = p);
1140
- },
1141
- writable: !0
1142
- }), k));
1143
- return Y[D] = null, C(l, function(W) {
1144
- if (W && W.code !== "ERR_STREAM_PREMATURE_CLOSE") {
1145
- var J = Y[a];
1146
- J !== null && (Y[D] = null, Y[o] = null, Y[a] = null, J(W)), Y[h] = W;
1147
- return;
1148
- }
1149
- var p = Y[o];
1150
- p !== null && (Y[D] = null, Y[o] = null, Y[a] = null, p(b(void 0, !0))), Y[r] = !0;
1151
- }), l.on("readable", S.bind(null, Y)), Y;
1152
- };
1153
- return _A = H, _A;
1154
- }
1155
- var JA, II;
1156
- function mI() {
1157
- return II || (II = 1, JA = function() {
1158
- throw new Error("Readable.from is not available in the browser");
1159
- }), JA;
1160
- }
1161
- var LA, gI;
1162
- function sI() {
1163
- if (gI)
1164
- return LA;
1165
- gI = 1, LA = p;
1166
- var E;
1167
- p.ReadableState = J, CI.EventEmitter;
1168
- var I = function(B, n) {
1169
- return B.listeners(n).length;
1170
- }, A = iI, Q = vA().Buffer, C = (typeof fA < "u" ? fA : typeof window < "u" ? window : typeof self < "u" ? self : {}).Uint8Array || function() {
1171
- };
1172
- function o(g) {
1173
- return Q.from(g);
1174
- }
1175
- function a(g) {
1176
- return Q.isBuffer(g) || g instanceof C;
1177
- }
1178
- var h = eI, r;
1179
- h && h.debuglog ? r = h.debuglog("stream") : r = function() {
1180
- };
1181
- var D = dI(), G = tI, N = aI, b = N.getHighWaterMark, q = oA.codes, S = q.ERR_INVALID_ARG_TYPE, R = q.ERR_STREAM_PUSH_AFTER_EOF, c = q.ERR_METHOD_NOT_IMPLEMENTED, y = q.ERR_STREAM_UNSHIFT_AFTER_END_EVENT, H, F, l;
1182
- dA(p, A);
1183
- var k = G.errorOrDestroy, Y = ["error", "close", "destroy", "pause", "resume"];
1184
- function W(g, B, n) {
1185
- if (typeof g.prependListener == "function")
1186
- return g.prependListener(B, n);
1187
- !g._events || !g._events[B] ? g.on(B, n) : Array.isArray(g._events[B]) ? g._events[B].unshift(n) : g._events[B] = [n, g._events[B]];
1188
- }
1189
- function J(g, B, n) {
1190
- E = E || hA(), g = g || {}, typeof n != "boolean" && (n = B instanceof E), this.objectMode = !!g.objectMode, n && (this.objectMode = this.objectMode || !!g.readableObjectMode), this.highWaterMark = b(this, g, "readableHighWaterMark", n), this.buffer = new D(), this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.paused = !0, this.emitClose = g.emitClose !== !1, this.autoDestroy = !!g.autoDestroy, this.destroyed = !1, this.defaultEncoding = g.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, g.encoding && (H || (H = xA.StringDecoder), this.decoder = new H(g.encoding), this.encoding = g.encoding);
1191
- }
1192
- function p(g) {
1193
- if (E = E || hA(), !(this instanceof p))
1194
- return new p(g);
1195
- var B = this instanceof E;
1196
- this._readableState = new J(g, this, B), this.readable = !0, g && (typeof g.read == "function" && (this._read = g.read), typeof g.destroy == "function" && (this._destroy = g.destroy)), A.call(this);
1197
- }
1198
- Object.defineProperty(p.prototype, "destroyed", {
1199
- // making it explicit this property is not enumerable
1200
- // because otherwise some prototype manipulation in
1201
- // userland will fail
1202
- enumerable: !1,
1203
- get: function() {
1204
- return this._readableState === void 0 ? !1 : this._readableState.destroyed;
1205
- },
1206
- set: function(B) {
1207
- this._readableState && (this._readableState.destroyed = B);
1208
- }
1209
- }), p.prototype.destroy = G.destroy, p.prototype._undestroy = G.undestroy, p.prototype._destroy = function(g, B) {
1210
- B(g);
1211
- }, p.prototype.push = function(g, B) {
1212
- var n = this._readableState, w;
1213
- return n.objectMode ? w = !0 : typeof g == "string" && (B = B || n.defaultEncoding, B !== n.encoding && (g = Q.from(g, B), B = ""), w = !0), V(this, g, B, !1, w);
1214
- }, p.prototype.unshift = function(g) {
1215
- return V(this, g, null, !0, !1);
1216
- };
1217
- function V(g, B, n, w, O) {
1218
- r("readableAddChunk", B);
1219
- var K = g._readableState;
1220
- if (B === null)
1221
- K.reading = !1, cA(g, K);
1222
- else {
1223
- var v;
1224
- if (O || (v = DA(K, B)), v)
1225
- k(g, v);
1226
- else if (K.objectMode || B && B.length > 0)
1227
- if (typeof B != "string" && !K.objectMode && Object.getPrototypeOf(B) !== Q.prototype && (B = o(B)), w)
1228
- K.endEmitted ? k(g, new y()) : rA(g, K, B, !0);
1229
- else if (K.ended)
1230
- k(g, new R());
1231
- else {
1232
- if (K.destroyed)
1233
- return !1;
1234
- K.reading = !1, K.decoder && !n ? (B = K.decoder.write(B), K.objectMode || B.length !== 0 ? rA(g, K, B, !1) : gA(g, K)) : rA(g, K, B, !1);
1235
- }
1236
- else
1237
- w || (K.reading = !1, gA(g, K));
1238
- }
1239
- return !K.ended && (K.length < K.highWaterMark || K.length === 0);
1240
- }
1241
- function rA(g, B, n, w) {
1242
- B.flowing && B.length === 0 && !B.sync ? (B.awaitDrain = 0, g.emit("data", n)) : (B.length += B.objectMode ? 1 : n.length, w ? B.buffer.unshift(n) : B.buffer.push(n), B.needReadable && AA(g)), gA(g, B);
1243
- }
1244
- function DA(g, B) {
1245
- var n;
1246
- return !a(B) && typeof B != "string" && B !== void 0 && !g.objectMode && (n = new S("chunk", ["string", "Buffer", "Uint8Array"], B)), n;
1247
- }
1248
- p.prototype.isPaused = function() {
1249
- return this._readableState.flowing === !1;
1250
- }, p.prototype.setEncoding = function(g) {
1251
- H || (H = xA.StringDecoder);
1252
- var B = new H(g);
1253
- this._readableState.decoder = B, this._readableState.encoding = this._readableState.decoder.encoding;
1254
- for (var n = this._readableState.buffer.head, w = ""; n !== null; )
1255
- w += B.write(n.data), n = n.next;
1256
- return this._readableState.buffer.clear(), w !== "" && this._readableState.buffer.push(w), this._readableState.length = w.length, this;
1257
- };
1258
- var CA = 1073741824;
1259
- function X(g) {
1260
- return g >= CA ? g = CA : (g--, g |= g >>> 1, g |= g >>> 2, g |= g >>> 4, g |= g >>> 8, g |= g >>> 16, g++), g;
1261
- }
1262
- function z(g, B) {
1263
- return g <= 0 || B.length === 0 && B.ended ? 0 : B.objectMode ? 1 : g !== g ? B.flowing && B.length ? B.buffer.head.data.length : B.length : (g > B.highWaterMark && (B.highWaterMark = X(g)), g <= B.length ? g : B.ended ? B.length : (B.needReadable = !0, 0));
1264
- }
1265
- p.prototype.read = function(g) {
1266
- r("read", g), g = parseInt(g, 10);
1267
- var B = this._readableState, n = g;
1268
- if (g !== 0 && (B.emittedReadable = !1), g === 0 && B.needReadable && ((B.highWaterMark !== 0 ? B.length >= B.highWaterMark : B.length > 0) || B.ended))
1269
- return r("read: emitReadable", B.length, B.ended), B.length === 0 && B.ended ? f(this) : AA(this), null;
1270
- if (g = z(g, B), g === 0 && B.ended)
1271
- return B.length === 0 && f(this), null;
1272
- var w = B.needReadable;
1273
- r("need readable", w), (B.length === 0 || B.length - g < B.highWaterMark) && (w = !0, r("length less than watermark", w)), B.ended || B.reading ? (w = !1, r("reading or ended", w)) : w && (r("do read"), B.reading = !0, B.sync = !0, B.length === 0 && (B.needReadable = !0), this._read(B.highWaterMark), B.sync = !1, B.reading || (g = z(n, B)));
1274
- var O;
1275
- return g > 0 ? O = e(g, B) : O = null, O === null ? (B.needReadable = B.length <= B.highWaterMark, g = 0) : (B.length -= g, B.awaitDrain = 0), B.length === 0 && (B.ended || (B.needReadable = !0), n !== g && B.ended && f(this)), O !== null && this.emit("data", O), O;
1276
- };
1277
- function cA(g, B) {
1278
- if (r("onEofChunk"), !B.ended) {
1279
- if (B.decoder) {
1280
- var n = B.decoder.end();
1281
- n && n.length && (B.buffer.push(n), B.length += B.objectMode ? 1 : n.length);
1282
- }
1283
- B.ended = !0, B.sync ? AA(g) : (B.needReadable = !1, B.emittedReadable || (B.emittedReadable = !0, IA(g)));
1284
- }
1285
- }
1286
- function AA(g) {
1287
- var B = g._readableState;
1288
- r("emitReadable", B.needReadable, B.emittedReadable), B.needReadable = !1, B.emittedReadable || (r("emitReadable", B.flowing), B.emittedReadable = !0, process.nextTick(IA, g));
1289
- }
1290
- function IA(g) {
1291
- var B = g._readableState;
1292
- r("emitReadable_", B.destroyed, B.length, B.ended), !B.destroyed && (B.length || B.ended) && (g.emit("readable"), B.emittedReadable = !1), B.needReadable = !B.flowing && !B.ended && B.length <= B.highWaterMark, t(g);
1293
- }
1294
- function gA(g, B) {
1295
- B.readingMore || (B.readingMore = !0, process.nextTick(aA, g, B));
1296
- }
1297
- function aA(g, B) {
1298
- for (; !B.reading && !B.ended && (B.length < B.highWaterMark || B.flowing && B.length === 0); ) {
1299
- var n = B.length;
1300
- if (r("maybeReadMore read 0"), g.read(0), n === B.length)
1301
- break;
1302
- }
1303
- B.readingMore = !1;
1304
- }
1305
- p.prototype._read = function(g) {
1306
- k(this, new c("_read()"));
1307
- }, p.prototype.pipe = function(g, B) {
1308
- var n = this, w = this._readableState;
1309
- switch (w.pipesCount) {
1310
- case 0:
1311
- w.pipes = g;
1312
- break;
1313
- case 1:
1314
- w.pipes = [w.pipes, g];
1315
- break;
1316
- default:
1317
- w.pipes.push(g);
1318
- break;
1319
- }
1320
- w.pipesCount += 1, r("pipe count=%d opts=%j", w.pipesCount, B);
1321
- var O = (!B || B.end !== !1) && g !== process.stdout && g !== process.stderr, K = O ? eA : tA;
1322
- w.endEmitted ? process.nextTick(K) : n.once("end", K), g.on("unpipe", v);
1323
- function v(i, s) {
1324
- r("onunpipe"), i === n && s && s.hasUnpiped === !1 && (s.hasUnpiped = !0, UA());
1325
- }
1326
- function eA() {
1327
- r("onend"), g.end();
1328
- }
1329
- var sA = $(n);
1330
- g.on("drain", sA);
1331
- var RA = !1;
1332
- function UA() {
1333
- r("cleanup"), g.removeListener("close", uA), g.removeListener("finish", iA), g.removeListener("drain", sA), g.removeListener("error", lA), g.removeListener("unpipe", v), n.removeListener("end", eA), n.removeListener("end", tA), n.removeListener("data", U), RA = !0, w.awaitDrain && (!g._writableState || g._writableState.needDrain) && sA();
1334
- }
1335
- n.on("data", U);
1336
- function U(i) {
1337
- r("ondata");
1338
- var s = g.write(i);
1339
- r("dest.write", s), s === !1 && ((w.pipesCount === 1 && w.pipes === g || w.pipesCount > 1 && _(w.pipes, g) !== -1) && !RA && (r("false write response, pause", w.awaitDrain), w.awaitDrain++), n.pause());
1340
- }
1341
- function lA(i) {
1342
- r("onerror", i), tA(), g.removeListener("error", lA), I(g, "error") === 0 && k(g, i);
1343
- }
1344
- W(g, "error", lA);
1345
- function uA() {
1346
- g.removeListener("finish", iA), tA();
1347
- }
1348
- g.once("close", uA);
1349
- function iA() {
1350
- r("onfinish"), g.removeListener("close", uA), tA();
1351
- }
1352
- g.once("finish", iA);
1353
- function tA() {
1354
- r("unpipe"), n.unpipe(g);
1355
- }
1356
- return g.emit("pipe", n), w.flowing || (r("pipe resume"), n.resume()), g;
1357
- };
1358
- function $(g) {
1359
- return function() {
1360
- var n = g._readableState;
1361
- r("pipeOnDrain", n.awaitDrain), n.awaitDrain && n.awaitDrain--, n.awaitDrain === 0 && I(g, "data") && (n.flowing = !0, t(g));
1362
- };
1363
- }
1364
- p.prototype.unpipe = function(g) {
1365
- var B = this._readableState, n = {
1366
- hasUnpiped: !1
1367
- };
1368
- if (B.pipesCount === 0)
1369
- return this;
1370
- if (B.pipesCount === 1)
1371
- return g && g !== B.pipes ? this : (g || (g = B.pipes), B.pipes = null, B.pipesCount = 0, B.flowing = !1, g && g.emit("unpipe", this, n), this);
1372
- if (!g) {
1373
- var w = B.pipes, O = B.pipesCount;
1374
- B.pipes = null, B.pipesCount = 0, B.flowing = !1;
1375
- for (var K = 0; K < O; K++)
1376
- w[K].emit("unpipe", this, {
1377
- hasUnpiped: !1
1378
- });
1379
- return this;
1380
- }
1381
- var v = _(B.pipes, g);
1382
- return v === -1 ? this : (B.pipes.splice(v, 1), B.pipesCount -= 1, B.pipesCount === 1 && (B.pipes = B.pipes[0]), g.emit("unpipe", this, n), this);
1383
- }, p.prototype.on = function(g, B) {
1384
- var n = A.prototype.on.call(this, g, B), w = this._readableState;
1385
- return g === "data" ? (w.readableListening = this.listenerCount("readable") > 0, w.flowing !== !1 && this.resume()) : g === "readable" && !w.endEmitted && !w.readableListening && (w.readableListening = w.needReadable = !0, w.flowing = !1, w.emittedReadable = !1, r("on readable", w.length, w.reading), w.length ? AA(this) : w.reading || process.nextTick(BA, this)), n;
1386
- }, p.prototype.addListener = p.prototype.on, p.prototype.removeListener = function(g, B) {
1387
- var n = A.prototype.removeListener.call(this, g, B);
1388
- return g === "readable" && process.nextTick(nA, this), n;
1389
- }, p.prototype.removeAllListeners = function(g) {
1390
- var B = A.prototype.removeAllListeners.apply(this, arguments);
1391
- return (g === "readable" || g === void 0) && process.nextTick(nA, this), B;
1392
- };
1393
- function nA(g) {
1394
- var B = g._readableState;
1395
- B.readableListening = g.listenerCount("readable") > 0, B.resumeScheduled && !B.paused ? B.flowing = !0 : g.listenerCount("data") > 0 && g.resume();
1396
- }
1397
- function BA(g) {
1398
- r("readable nexttick read 0"), g.read(0);
1399
- }
1400
- p.prototype.resume = function() {
1401
- var g = this._readableState;
1402
- return g.flowing || (r("resume"), g.flowing = !g.readableListening, wA(this, g)), g.paused = !1, this;
1403
- };
1404
- function wA(g, B) {
1405
- B.resumeScheduled || (B.resumeScheduled = !0, process.nextTick(yA, g, B));
1406
- }
1407
- function yA(g, B) {
1408
- r("resume", B.reading), B.reading || g.read(0), B.resumeScheduled = !1, g.emit("resume"), t(g), B.flowing && !B.reading && g.read(0);
1409
- }
1410
- p.prototype.pause = function() {
1411
- return r("call pause flowing=%j", this._readableState.flowing), this._readableState.flowing !== !1 && (r("pause"), this._readableState.flowing = !1, this.emit("pause")), this._readableState.paused = !0, this;
1412
- };
1413
- function t(g) {
1414
- var B = g._readableState;
1415
- for (r("flow", B.flowing); B.flowing && g.read() !== null; )
1416
- ;
1417
- }
1418
- p.prototype.wrap = function(g) {
1419
- var B = this, n = this._readableState, w = !1;
1420
- g.on("end", function() {
1421
- if (r("wrapped end"), n.decoder && !n.ended) {
1422
- var v = n.decoder.end();
1423
- v && v.length && B.push(v);
1424
- }
1425
- B.push(null);
1426
- }), g.on("data", function(v) {
1427
- if (r("wrapped data"), n.decoder && (v = n.decoder.write(v)), !(n.objectMode && v == null) && !(!n.objectMode && (!v || !v.length))) {
1428
- var eA = B.push(v);
1429
- eA || (w = !0, g.pause());
1430
- }
1431
- });
1432
- for (var O in g)
1433
- this[O] === void 0 && typeof g[O] == "function" && (this[O] = /* @__PURE__ */ function(eA) {
1434
- return function() {
1435
- return g[eA].apply(g, arguments);
1436
- };
1437
- }(O));
1438
- for (var K = 0; K < Y.length; K++)
1439
- g.on(Y[K], this.emit.bind(this, Y[K]));
1440
- return this._read = function(v) {
1441
- r("wrapped _read", v), w && (w = !1, g.resume());
1442
- }, this;
1443
- }, typeof Symbol == "function" && (p.prototype[Symbol.asyncIterator] = function() {
1444
- return F === void 0 && (F = bI()), F(this);
1445
- }), Object.defineProperty(p.prototype, "readableHighWaterMark", {
1446
- // making it explicit this property is not enumerable
1447
- // because otherwise some prototype manipulation in
1448
- // userland will fail
1449
- enumerable: !1,
1450
- get: function() {
1451
- return this._readableState.highWaterMark;
1452
- }
1453
- }), Object.defineProperty(p.prototype, "readableBuffer", {
1454
- // making it explicit this property is not enumerable
1455
- // because otherwise some prototype manipulation in
1456
- // userland will fail
1457
- enumerable: !1,
1458
- get: function() {
1459
- return this._readableState && this._readableState.buffer;
1460
- }
1461
- }), Object.defineProperty(p.prototype, "readableFlowing", {
1462
- // making it explicit this property is not enumerable
1463
- // because otherwise some prototype manipulation in
1464
- // userland will fail
1465
- enumerable: !1,
1466
- get: function() {
1467
- return this._readableState.flowing;
1468
- },
1469
- set: function(B) {
1470
- this._readableState && (this._readableState.flowing = B);
1471
- }
1472
- }), p._fromList = e, Object.defineProperty(p.prototype, "readableLength", {
1473
- // making it explicit this property is not enumerable
1474
- // because otherwise some prototype manipulation in
1475
- // userland will fail
1476
- enumerable: !1,
1477
- get: function() {
1478
- return this._readableState.length;
1479
- }
1480
- });
1481
- function e(g, B) {
1482
- if (B.length === 0)
1483
- return null;
1484
- var n;
1485
- return B.objectMode ? n = B.buffer.shift() : !g || g >= B.length ? (B.decoder ? n = B.buffer.join("") : B.buffer.length === 1 ? n = B.buffer.first() : n = B.buffer.concat(B.length), B.buffer.clear()) : n = B.buffer.consume(g, B.decoder), n;
1486
- }
1487
- function f(g) {
1488
- var B = g._readableState;
1489
- r("endReadable", B.endEmitted), B.endEmitted || (B.ended = !0, process.nextTick(M, B, g));
1490
- }
1491
- function M(g, B) {
1492
- if (r("endReadableNT", g.endEmitted, g.length), !g.endEmitted && g.length === 0 && (g.endEmitted = !0, B.readable = !1, B.emit("end"), g.autoDestroy)) {
1493
- var n = B._writableState;
1494
- (!n || n.autoDestroy && n.finished) && B.destroy();
1495
- }
1496
- }
1497
- typeof Symbol == "function" && (p.from = function(g, B) {
1498
- return l === void 0 && (l = mI()), l(p, g, B);
1499
- });
1500
- function _(g, B) {
1501
- for (var n = 0, w = g.length; n < w; n++)
1502
- if (g[n] === B)
1503
- return n;
1504
- return -1;
1505
- }
1506
- return LA;
1507
- }
1508
- var fI = QA, NA = oA.codes, TI = NA.ERR_METHOD_NOT_IMPLEMENTED, vI = NA.ERR_MULTIPLE_CALLBACK, OI = NA.ERR_TRANSFORM_ALREADY_TRANSFORMING, WI = NA.ERR_TRANSFORM_WITH_LENGTH_0, kA = hA();
1509
- dA(QA, kA);
1510
- function PI(E, I) {
1511
- var A = this._transformState;
1512
- A.transforming = !1;
1513
- var Q = A.writecb;
1514
- if (Q === null)
1515
- return this.emit("error", new vI());
1516
- A.writechunk = null, A.writecb = null, I != null && this.push(I), Q(E);
1517
- var C = this._readableState;
1518
- C.reading = !1, (C.needReadable || C.length < C.highWaterMark) && this._read(C.highWaterMark);
1519
- }
1520
- function QA(E) {
1521
- if (!(this instanceof QA))
1522
- return new QA(E);
1523
- kA.call(this, E), this._transformState = {
1524
- afterTransform: PI.bind(this),
1525
- needTransform: !1,
1526
- transforming: !1,
1527
- writecb: null,
1528
- writechunk: null,
1529
- writeencoding: null
1530
- }, this._readableState.needReadable = !0, this._readableState.sync = !1, E && (typeof E.transform == "function" && (this._transform = E.transform), typeof E.flush == "function" && (this._flush = E.flush)), this.on("prefinish", xI);
1531
- }
1532
- function xI() {
1533
- var E = this;
1534
- typeof this._flush == "function" && !this._readableState.destroyed ? this._flush(function(I, A) {
1535
- BI(E, I, A);
1536
- }) : BI(this, null, null);
1537
- }
1538
- QA.prototype.push = function(E, I) {
1539
- return this._transformState.needTransform = !1, kA.prototype.push.call(this, E, I);
1540
- };
1541
- QA.prototype._transform = function(E, I, A) {
1542
- A(new TI("_transform()"));
1543
- };
1544
- QA.prototype._write = function(E, I, A) {
1545
- var Q = this._transformState;
1546
- if (Q.writecb = A, Q.writechunk = E, Q.writeencoding = I, !Q.transforming) {
1547
- var C = this._readableState;
1548
- (Q.needTransform || C.needReadable || C.length < C.highWaterMark) && this._read(C.highWaterMark);
1549
- }
1550
- };
1551
- QA.prototype._read = function(E) {
1552
- var I = this._transformState;
1553
- I.writechunk !== null && !I.transforming ? (I.transforming = !0, this._transform(I.writechunk, I.writeencoding, I.afterTransform)) : I.needTransform = !0;
1554
- };
1555
- QA.prototype._destroy = function(E, I) {
1556
- kA.prototype._destroy.call(this, E, function(A) {
1557
- I(A);
1558
- });
1559
- };
1560
- function BI(E, I, A) {
1561
- if (I)
1562
- return E.emit("error", I);
1563
- if (A != null && E.push(A), E._writableState.length)
1564
- throw new WI();
1565
- if (E._transformState.transforming)
1566
- throw new OI();
1567
- return E.push(null);
1568
- }
1569
- var ZI = SA, hI = fI;
1570
- dA(SA, hI);
1571
- function SA(E) {
1572
- if (!(this instanceof SA))
1573
- return new SA(E);
1574
- hI.call(this, E);
1575
- }
1576
- SA.prototype._transform = function(E, I, A) {
1577
- A(null, E);
1578
- };
1579
- var qA;
1580
- function jI(E) {
1581
- var I = !1;
1582
- return function() {
1583
- I || (I = !0, E.apply(void 0, arguments));
1584
- };
1585
- }
1586
- var DI = oA.codes, VI = DI.ERR_MISSING_ARGS, XI = DI.ERR_STREAM_DESTROYED;
1587
- function EI(E) {
1588
- if (E)
1589
- throw E;
1590
- }
1591
- function zI(E) {
1592
- return E.setHeader && typeof E.abort == "function";
1593
- }
1594
- function $I(E, I, A, Q) {
1595
- Q = jI(Q);
1596
- var C = !1;
1597
- E.on("close", function() {
1598
- C = !0;
1599
- }), qA === void 0 && (qA = WA), qA(E, {
1600
- readable: I,
1601
- writable: A
1602
- }, function(a) {
1603
- if (a)
1604
- return Q(a);
1605
- C = !0, Q();
1606
- });
1607
- var o = !1;
1608
- return function(a) {
1609
- if (!C && !o) {
1610
- if (o = !0, zI(E))
1611
- return E.abort();
1612
- if (typeof E.destroy == "function")
1613
- return E.destroy();
1614
- Q(a || new XI("pipe"));
1615
- }
1616
- };
1617
- }
1618
- function QI(E) {
1619
- E();
1620
- }
1621
- function Ag(E, I) {
1622
- return E.pipe(I);
1623
- }
1624
- function Ig(E) {
1625
- return !E.length || typeof E[E.length - 1] != "function" ? EI : E.pop();
1626
- }
1627
- function gg() {
1628
- for (var E = arguments.length, I = new Array(E), A = 0; A < E; A++)
1629
- I[A] = arguments[A];
1630
- var Q = Ig(I);
1631
- if (Array.isArray(I[0]) && (I = I[0]), I.length < 2)
1632
- throw new VI("streams");
1633
- var C, o = I.map(function(a, h) {
1634
- var r = h < I.length - 1, D = h > 0;
1635
- return $I(a, r, D, function(G) {
1636
- C || (C = G), G && o.forEach(QI), !r && (o.forEach(QI), Q(C));
1637
- });
1638
- });
1639
- return I.reduce(Ag);
1640
- }
1641
- var Bg = gg;
1642
- (function(E, I) {
1643
- I = E.exports = sI(), I.Stream = I, I.Readable = I, I.Writable = oI(), I.Duplex = hA(), I.Transform = fI, I.PassThrough = ZI, I.finished = WA, I.pipeline = Bg;
1644
- })(mA, mA.exports);
1645
- var Eg = mA.exports;
1646
- const { Transform: MA } = Eg;
1647
- function Qg(E, I) {
1648
- E.super_ = I, E.prototype = Object.create(I.prototype, {
1649
- constructor: { value: E, enumerable: !1, writable: !0, configurable: !0 }
1650
- });
1651
- }
1652
- function PA(E) {
1653
- return (I, A, Q) => (typeof I == "function" && (Q = A, A = I, I = {}), typeof A != "function" && (A = (C, o, a) => a(null, C)), typeof Q != "function" && (Q = null), E(I, A, Q));
1654
- }
1655
- const Cg = PA((E, I, A) => {
1656
- const Q = new MA(E);
1657
- return Q._transform = I, A && (Q._flush = A), Q;
1658
- }), eg = PA((E, I, A) => {
1659
- function Q(C) {
1660
- if (!(this instanceof Q))
1661
- return new Q(C);
1662
- this.options = Object.assign({}, E, C), MA.call(this, this.options), this._transform = I, A && (this._flush = A);
1663
- }
1664
- return Qg(Q, MA), Q;
1665
- }), ig = PA(function(E, I, A) {
1666
- const Q = new MA(Object.assign({ objectMode: !0, highWaterMark: 16 }, E));
1667
- return Q._transform = I, A && (Q._flush = A), Q;
1668
- });
1669
- GA.exports = Cg;
1670
- GA.exports.ctor = eg;
1671
- GA.exports.obj = ig;
1672
- var tg = GA.exports;
1673
- const bA = /* @__PURE__ */ wI(tg);
1674
- class ag {
1675
- constructor() {
1676
- this.initResolve = null, this.utils = null, this.wasm = null;
1677
- }
1678
- init() {
1679
- const I = this, A = (Q) => {
1680
- I.wasm = Q, I.utils = new EA(Q), I.AES_KEY_SIZE = Q._EMS_AES_KEY_SIZE_(), I.CRYPTO_TYPE_TARGET = Q._EMS_CRYPTO_TYPE_TARGET_(), I.CRYPTO_TYPE_PRIMARY = Q._EMS_CRYPTO_TYPE_PRIMARY_(), I.TARGET_BLOCK_KEY_SIZE = Q._EMS_TARGET_BLOCK_KEY_SIZE_(), I.TARGET_PK_KEY_SIZE = Q._EMS_TARGET_PK_KEY_SIZE_(), I.ECIES_PK_KEY_SIZE = Q._EMS_ECIES_PK_KEY_SIZE_(), I.ECIES_SK_KEY_SIZE = Q._EMS_ECIES_SK_KEY_SIZE_(), I.IV_SIZE = Q._EMS_IV_SIZE_(), I.PRIMARY_BLOCK_KEY_SIZE = Q._EMS_PRIMARY_BLOCK_KEY_SIZE_(), I.PRIMARY_PK_KEY_SIZE = Q._EMS_PRIMARY_PK_KEY_SIZE_(), I.RE_ENCRYPTION_KEY_SIZE = Q._EMS_RE_ENCRYPTION_KEY_SIZE_(), I.SECRET_KEY_SIZE = Q._EMS_SECRET_KEY_SIZE_(), I.SEED_SIZE = Q._EMS_SEED_SIZE_(), I.TAG_SIZE = Q._EMS_TAG_SIZE_(), I.ELV_E_INCOMPLETE_BLOCK = -2, I.initResolve && I.initResolve(I);
1681
- };
1682
- return SI().then(A), new Promise((Q) => {
1683
- I.wasm ? Q(I) : I.initResolve = Q;
1684
- });
1685
- }
1686
- calcEncByteCount(I) {
1687
- return this.wasm._CalcEncByteCount(I);
1688
- }
1689
- calcEncByteCountH(I, A) {
1690
- return this.wasm._CalcEncByteCountH(I, A);
1691
- }
1692
- calcEncByteCountFromTargetH(I) {
1693
- return this.wasm._CalcEncByteCountFromTargetH(I);
1694
- }
1695
- calcTargetByteCountH(I) {
1696
- return this.wasm._CalcTargetByteCountH(I);
1697
- }
1698
- calcEncECIESByteCount(I) {
1699
- return this.wasm._CalcEncECIESByteCount(I);
1700
- }
1701
- /*
1702
- * Performs ECIES standard encryption of input data using the provided
1703
- * public key.
1704
- *
1705
- * data [Uint8Array]
1706
- * publicKey [Uint8Array ECIES_PK_KEY_SIZE] - An uncompressed, byte
1707
- * serialized secp256k1 key - the same curve type used by Ethereum.
1708
- *
1709
- * Returns the encrypted bytes, the 65 byte encrypted ephemeral key used for
1710
- * encryption and also required for decryption, and the 16 byte HMAC tag
1711
- * to verify the data integrity when decrypted:
1712
- * {
1713
- * data: [Uint8Array],
1714
- * ephemeralKey: [Uint8Array ECIES_PK_KEY_SIZE],
1715
- * tag: [Uint8Array TAG_SIZE]
1716
- * }
1717
- */
1718
- encryptECIES(I, A) {
1719
- if (A.length !== this.ECIES_PK_KEY_SIZE)
1720
- throw new Error(`encryptECIES() failed: Expected publicKey length
1721
- ${this.ECIES_PK_KEY_SIZE}, not ${A.length}`);
1722
- const Q = this.wasm, C = this.utils, o = EA.randomBytes(this.SEED_SIZE), a = C.arrayToSmartBuf(I), h = C.arrayToSmartBuf(A), r = C.arrayToSmartBuf(o), D = this.calcEncECIESByteCount(a.len), G = C.smartMalloc(D), N = C.smartMalloc(this.ECIES_PK_KEY_SIZE), b = C.smartMalloc(this.TAG_SIZE), q = Q._EncryptECIES(
1723
- r.ptr,
1724
- r.len,
1725
- h.ptr,
1726
- a.ptr,
1727
- a.len,
1728
- G,
1729
- D,
1730
- N,
1731
- b
1732
- );
1733
- if (q !== 0)
1734
- throw new Error(`_EncryptECIES failed with error code ${q}`);
1735
- return {
1736
- data: new Uint8Array(Q.HEAPU8.buffer, G, D),
1737
- ephemeralKey: new Uint8Array(
1738
- Q.HEAPU8.buffer,
1739
- N,
1740
- this.ECIES_PK_KEY_SIZE
1741
- ).slice(0),
1742
- tag: new Uint8Array(Q.HEAPU8.buffer, b, this.TAG_SIZE).slice(0)
1743
- };
1744
- }
1745
- /*
1746
- * Performs ECIES standard decryption of data encrypted with a secp256k1
1747
- * public key.
1748
- *
1749
- * data [Uint8Array]
1750
- * secretKey [Uint8Array ECIES_SK_KEY_SIZE] - The private key corresponding
1751
- * to the public key used for encryption.
1752
- * ephemeralKey [Uint8Array ECIES_PK_KEY_SIZE] - Generated by encryption
1753
- * tag [Uint8Array TAG_SIZE] - Generated by encryption
1754
- *
1755
- * Returns the decrypted bytes as an Uint8Array
1756
- */
1757
- decryptECIES(I, A, Q, C) {
1758
- if (A.length !== this.ECIES_SK_KEY_SIZE)
1759
- throw new Error(`decryptECIES() failed: Expected secretKey length
1760
- ${this.ECIES_SK_KEY_SIZE}, not ${A.length}`);
1761
- if (Q.length !== this.ECIES_PK_KEY_SIZE)
1762
- throw new Error(`decryptECIES() failed: Expected ephemeralKey length
1763
- ${this.ECIES_PK_KEY_SIZE}, not ${Q.length}`);
1764
- if (C.length !== this.TAG_SIZE)
1765
- throw new Error(`decryptECIES() failed: Expected tag length
1766
- ${this.TAG_SIZE}, not ${C.length}`);
1767
- const o = this.wasm, a = this.utils, h = a.arrayToSmartBuf(I), r = a.arrayToSmartBuf(A), D = a.arrayToSmartBuf(Q), G = a.arrayToSmartBuf(C), N = h.len, b = a.smartMalloc(N), q = o._DecryptECIES(
1768
- D.ptr,
1769
- h.ptr,
1770
- h.len,
1771
- G.ptr,
1772
- r.ptr,
1773
- b,
1774
- N
1775
- );
1776
- if (q === -1)
1777
- throw new Error("_DecryptECIES failed");
1778
- return new Uint8Array(o.HEAPU8.buffer, b, q);
1779
- }
1780
- /*
1781
- * Generates a "target" private / public key pair for use in content
1782
- * re-encryption. Target keys are generally used to receive re-encrypted
1783
- * data and not for direct encryption.
1784
- *
1785
- * Returns a 48 byte private key and uncompressed 193 byte public key that
1786
- * follows the convention of 0x04 as the first byte:
1787
- * {
1788
- * secretKey: [Uint8Array SECRET_KEY_SIZE],
1789
- * publicKey: [Uint8Array TARGET_PK_KEY_SIZE]
1790
- * }
1791
- */
1792
- generateTargetKeys() {
1793
- const I = this.wasm, A = this.utils, Q = EA.randomBytes(this.SEED_SIZE), C = A.arrayToSmartBuf(Q), o = A.smartMalloc(this.SECRET_KEY_SIZE), a = A.smartMalloc(this.TARGET_PK_KEY_SIZE), h = I._GenerateTargetKeys(C.ptr, C.len, o, a);
1794
- if (h !== 0)
1795
- throw new Error(`_GenerateTargetKeys failed with error code ${h}`);
1796
- return {
1797
- secretKey: new Uint8Array(
1798
- I.HEAPU8.buffer,
1799
- o,
1800
- this.SECRET_KEY_SIZE
1801
- ).slice(0),
1802
- publicKey: new Uint8Array(
1803
- I.HEAPU8.buffer,
1804
- a,
1805
- this.TARGET_PK_KEY_SIZE
1806
- ).slice(0)
1807
- };
1808
- }
1809
- /*
1810
- * Generates a "primary" private / public key pair for use in content
1811
- * encryption. Primary encryption is generally the encryption performed by the
1812
- * owner or publisher of the content.
1813
- *
1814
- * Returns a 48 byte private key and 97 byte public key that follows the
1815
- * convention of 0x04 as the first byte:
1816
- * {
1817
- * secretKey: [Uint8Array SECRET_KEY_SIZE],
1818
- * publicKey: [Uint8Array PRIMARY_PK_KEY_SIZE]
1819
- * }
1820
- */
1821
- generatePrimaryKeys() {
1822
- const I = this.wasm, A = this.utils, Q = EA.randomBytes(this.SEED_SIZE), C = A.arrayToSmartBuf(Q), o = A.smartMalloc(this.SECRET_KEY_SIZE), a = A.smartMalloc(this.PRIMARY_PK_KEY_SIZE), h = I._GeneratePrimaryKeys(C.ptr, C.len, o, a);
1823
- if (h !== 0)
1824
- throw new Error(`_GeneratePrimaryKeys failed with error code ${h}`);
1825
- return {
1826
- secretKey: new Uint8Array(
1827
- I.HEAPU8.buffer,
1828
- o,
1829
- this.SECRET_KEY_SIZE
1830
- ).slice(0),
1831
- publicKey: new Uint8Array(
1832
- I.HEAPU8.buffer,
1833
- a,
1834
- this.PRIMARY_PK_KEY_SIZE
1835
- ).slice(0)
1836
- };
1837
- }
1838
- /*
1839
- * Creates a key that can be used to re-encrypt data from 'primary'
1840
- * encryption to 'target' encryption. It is then in a form where it can be
1841
- * decrypted with the private target key of the intended recipient.
1842
- *
1843
- * primarySK [Uint8Array SECRET_KEY_SIZE]: The primary private key used to
1844
- * encrypt the data
1845
- * targetPK [Uint8Array TARGET_PK_KEY_SIZE]: The target public key of
1846
- * the target recipient of the re-encrypted data.
1847
- *
1848
- * Returns a 193 key: [Uint8Array RE_ENCRYPTION_KEY_SIZE]
1849
- */
1850
- generateReEncryptionKey(I, A) {
1851
- if (I.length !== this.SECRET_KEY_SIZE)
1852
- throw new Error(`generateReEncryptionKey() failed: Expected primarySK
1853
- length ${this.SECRET_KEY_SIZE}, not ${I.length}`);
1854
- if (A.length !== this.TARGET_PK_KEY_SIZE)
1855
- throw new Error(`generateReEncryptionKey() failed: Expected targetPK
1856
- length ${this.TARGET_PK_KEY_SIZE}, not ${A.length}`);
1857
- const Q = this.wasm, C = this.utils, o = C.arrayToSmartBuf(I), a = C.arrayToSmartBuf(A), h = C.smartMalloc(this.RE_ENCRYPTION_KEY_SIZE), r = Q._GenerateReEncryptionKey(o.ptr, a.ptr, h);
1858
- if (r !== 0)
1859
- throw new Error(
1860
- `_GenerateReEncryptionKey failed with error code ${r}`
1861
- );
1862
- return new Uint8Array(
1863
- Q.HEAPU8.buffer,
1864
- h,
1865
- this.RE_ENCRYPTION_KEY_SIZE
1866
- ).slice(0);
1867
- }
1868
- /*
1869
- * Generates a symmetric key and an initialization vector (IV) for use
1870
- * with content encryption.
1871
- *
1872
- * Returns a 16 byte key (AES-128) and 12 byte IV:
1873
- * {
1874
- * key: [Uint8Array AES_KEY_SIZE],
1875
- * iv: [Uint8Array IV_SIZE]
1876
- * }
1877
- */
1878
- generateSymmetricKey() {
1879
- const I = this.wasm, A = this.utils, Q = EA.randomBytes(this.SEED_SIZE), C = A.arrayToSmartBuf(Q), o = A.smartMalloc(this.AES_KEY_SIZE), a = A.smartMalloc(this.IV_SIZE), h = I._GenerateSymmetricKeys(
1880
- C.ptr,
1881
- C.len,
1882
- o,
1883
- a
1884
- );
1885
- if (h !== 0)
1886
- throw new Error(`_GenerateSymmetricKeys failed with error code ${h}`);
1887
- return {
1888
- key: new Uint8Array(I.HEAPU8.buffer, o, this.AES_KEY_SIZE).slice(0),
1889
- iv: new Uint8Array(I.HEAPU8.buffer, a, this.IV_SIZE).slice(0)
1890
- };
1891
- }
1892
- /*
1893
- * Creates a context used for block-based primary encryption through
1894
- * EncryptPrimary. Free the context when done.
1895
- *
1896
- * publicKey [Uint8Array PRIMARY_PK_KEY_SIZE]
1897
- * secretKey [Uint8Array SECRET_KEY_SIZE] - Optional (needed for DecryptPrimary)
1898
- * symmetricKey [Uint8Array AES_KEY_SIZE]
1899
- *
1900
- * returns PrimaryContext
1901
- */
1902
- newPrimaryContext(I, A, Q) {
1903
- if (I && I.length !== this.PRIMARY_PK_KEY_SIZE)
1904
- throw new Error(`newPrimaryContext() failed: Expected publicKey
1905
- length ${this.PRIMARY_PK_KEY_SIZE}, not ${I.length}`);
1906
- if (A && A.length !== this.SECRET_KEY_SIZE)
1907
- throw new Error(`newPrimaryContext() failed: Expected secretKey
1908
- length ${this.SECRET_KEY_SIZE}, not ${A.length}`);
1909
- if (Q.length !== this.AES_KEY_SIZE)
1910
- throw new Error(`newPrimaryContext() failed: Expected
1911
- symmetricKey length ${this.AES_KEY_SIZE}, not ${Q.length}`);
1912
- const C = this.generateSymmetricKey();
1913
- return new lI(
1914
- this.wasm,
1915
- I,
1916
- A,
1917
- Q,
1918
- C.iv
1919
- );
1920
- }
1921
- /*
1922
- * Performs one 'block' of primary encryption. Each block has both
1923
- * performance and data size overhead so a fairly large block size is
1924
- * intended and recommended. We currently use 1MB as a default clear-text
1925
- * block size. The initialization vector (IV) must be unique for each block
1926
- * so the context provides a helper function that can be used to generate a
1927
- * base IV that can then be incremented to create unique values.
1928
- *
1929
- * PrimaryContext
1930
- * data [Uint8Array]
1931
- * iv [Uint8Array IV_SIZE (12 bytes)]
1932
- *
1933
- * Returns: {
1934
- * blockKey [Uint8Array PRIMARY_BLOCK_KEY_SIZE (97 bytes)],
1935
- * data [Uint8Array],
1936
- * tag [Uint8Array TAG_SIZE (16 bytes)],
1937
- * }
1938
- */
1939
- encryptPrimary(I, A, Q) {
1940
- if (Q.length !== this.IV_SIZE)
1941
- throw new Error(`encryptPrimary() failed: Expected iv
1942
- length ${this.IV_SIZE}, not ${Q.length}`);
1943
- if (I.scratchBuf.len !== 0)
1944
- throw new Error("encryptPrimary() failed: Scratch buffer is not empty");
1945
- const C = this.wasm, o = this.utils, a = o.arrayToSmartBuf(Q), h = o.arrayToSmartBuf(A), r = this.calcEncByteCount(h.len);
1946
- I.scratchBuf.ensureSize(r);
1947
- const D = o.smartMalloc(this.TAG_SIZE), G = o.smartMalloc(this.PRIMARY_BLOCK_KEY_SIZE), N = C._EncryptPrimary(
1948
- I.context,
1949
- I.pkBuf.ptr,
1950
- I.symKeyBuf.ptr,
1951
- a.ptr,
1952
- h.ptr,
1953
- h.len,
1954
- I.scratchBuf.ptr,
1955
- r,
1956
- D,
1957
- G
1958
- );
1959
- if (N !== 0)
1960
- throw new Error(`_EncryptPrimary failed with error code ${N}`);
1961
- return {
1962
- blockKey: new Uint8Array(
1963
- C.HEAPU8.buffer,
1964
- G,
1965
- this.PRIMARY_BLOCK_KEY_SIZE
1966
- ).slice(0),
1967
- data: new Uint8Array(C.HEAPU8.buffer, I.scratchBuf.ptr, r),
1968
- tag: new Uint8Array(C.HEAPU8.buffer, D, this.TAG_SIZE).slice(0)
1969
- };
1970
- }
1971
- /*
1972
- * Same as EncryptPrimary except the blockKey and tag are included in the
1973
- * encrypted data output, and the iv is generated automatically using the
1974
- * context method generateNextBlockIV.
1975
- *
1976
- * PrimaryContext
1977
- * data [Uint8Array]
1978
- *
1979
- * Returns: data [Uint8Array]
1980
- */
1981
- encryptPrimaryH(I, A) {
1982
- if (I.scratchBuf.len !== 0)
1983
- throw new Error("encryptPrimaryH() failed: Scratch buffer is not empty");
1984
- const Q = this.wasm, C = this.utils, o = I.generateNextBlockIV(), a = C.arrayToSmartBuf(o), h = C.arrayToSmartBuf(A), r = this.calcEncByteCountH(
1985
- this.CRYPTO_TYPE_PRIMARY,
1986
- h.len
1987
- );
1988
- I.scratchBuf.ensureSize(r);
1989
- const D = Q._EncryptPrimaryH(
1990
- I.context,
1991
- I.pkBuf.ptr,
1992
- I.symKeyBuf.ptr,
1993
- a.ptr,
1994
- h.ptr,
1995
- h.len,
1996
- I.scratchBuf.ptr
1997
- );
1998
- if (D !== 0)
1999
- throw new Error(`_EncryptPrimaryH failed with error code ${D}`);
2000
- return new Uint8Array(Q.HEAPU8.buffer, I.scratchBuf.ptr, r);
2001
- }
2002
- /*
2003
- * PrimaryContext
2004
- * data [Uint8Array]
2005
- * tag [Uint8Array TAG_SIZE (16 bytes)]
2006
- * blockKey [Uint8Array PRIMARY_BLOCK_KEY_SIZE (97 bytes)]
2007
- * iv [Uint8Array IV_SIZE (12 bytes)]
2008
- * clearSize - length of decrypted data
2009
- *
2010
- * Returns decrypted data [Uint8Array]
2011
- */
2012
- decryptPrimary(I, A, Q, C, o, a) {
2013
- if (Q.length !== this.TAG_SIZE)
2014
- throw new Error(`decryptPrimary() failed: Expected tag
2015
- length ${this.TAG_SIZE}, not ${Q.length}`);
2016
- if (C.length !== this.PRIMARY_BLOCK_KEY_SIZE)
2017
- throw new Error(`decryptPrimary() failed: Expected blockKey
2018
- length ${this.PRIMARY_BLOCK_KEY_SIZE}, not ${C.length}`);
2019
- if (o.length !== this.IV_SIZE)
2020
- throw new Error(`decryptPrimary() failed: Expected iv
2021
- length ${this.IV_SIZE}, not ${o.length}`);
2022
- if (I.scratchBuf.len !== 0)
2023
- throw new Error("decryptPrimary() failed: Scratch buffer is not empty");
2024
- const h = this.wasm, r = this.utils, D = r.arrayToSmartBuf(A), G = r.arrayToSmartBuf(C), N = r.arrayToSmartBuf(o), b = r.arrayToSmartBuf(Q);
2025
- I.scratchBuf.ensureSize(a);
2026
- const q = h._DecryptPrimary(
2027
- I.context,
2028
- I.skBuf.ptr,
2029
- G.ptr,
2030
- I.symKeyBuf.ptr,
2031
- N.ptr,
2032
- b.ptr,
2033
- D.ptr,
2034
- D.len,
2035
- I.scratchBuf.ptr,
2036
- a
2037
- );
2038
- if (q !== 0)
2039
- throw new Error(`_DecryptPrimary failed with error code ${q}`);
2040
- return new Uint8Array(h.HEAPU8.buffer, I.scratchBuf.ptr, a);
2041
- }
2042
- /*
2043
- * Re-encrypt the block key and update the header. The encrypted data remains
2044
- * the same.
2045
- *
2046
- * scratch - buffer for efficiency
2047
- * reEncKey - the re-encryption key
2048
- * data [Uint8Array]
2049
- *
2050
- * Returns [Uint8Array]
2051
- */
2052
- reEncryptH(I, A, Q) {
2053
- if (A.length !== this.RE_ENCRYPTION_KEY_SIZE)
2054
- throw new Error(`reEncryptBlockKey() failed: Expected reEncKey
2055
- length ${this.RE_ENCRYPTION_KEY_SIZE}, not ${A.length}`);
2056
- const C = this.wasm, o = this.utils, a = o.arrayToSmartBuf(A), h = o.arrayToSmartBuf(Q);
2057
- I.ensureSize(this.calcTargetByteCountH(h.len));
2058
- const r = o.smartMalloc(4), D = C._ReEncryptH(
2059
- a.ptr,
2060
- h.ptr,
2061
- h.len,
2062
- I.ptr,
2063
- r
2064
- );
2065
- if (D === this.ELV_E_INCOMPLETE_BLOCK)
2066
- throw new Error("ELV_E_INCOMPLETE_BLOCK");
2067
- if (D !== 0)
2068
- throw new Error(`_ReEncryptH failed with error code ${D}`);
2069
- const G = C.getValue(r, "i32");
2070
- return new Uint8Array(C.HEAPU8.buffer, I.ptr, G);
2071
- }
2072
- /*
2073
- * Same as decryptPrimary/Target except the blockKey, iv, tag, and
2074
- * clearSize are already included in the encrypted data input.
2075
- *
2076
- * type - CRYPTO_TYPE_TARGET or CRYPTO_TYPE_PRIMARY
2077
- * PrimaryContext
2078
- * data [Uint8Array]
2079
- *
2080
- * Returns decrypted data [Uint8Array]
2081
- */
2082
- decryptH(I, A, Q) {
2083
- if (I !== this.CRYPTO_TYPE_TARGET && I !== this.CRYPTO_TYPE_PRIMARY)
2084
- throw new Error(`decryptH() failed: Invalid type ${I}`);
2085
- if (A.scratchBuf.len !== 0)
2086
- throw new Error("decryptH() failed: Scratch buffer is not empty");
2087
- const C = this.wasm, o = this.utils, a = o.arrayToSmartBuf(Q);
2088
- A.scratchBuf.ensureSize(a.len);
2089
- const h = o.smartMalloc(4), r = C._DecryptH(
2090
- I,
2091
- A.context,
2092
- A.skBuf.ptr,
2093
- A.symKeyBuf.ptr,
2094
- a.ptr,
2095
- a.len,
2096
- A.scratchBuf.ptr,
2097
- h
2098
- );
2099
- if (r === this.ELV_E_INCOMPLETE_BLOCK)
2100
- throw new Error("ELV_E_INCOMPLETE_BLOCK");
2101
- if (r !== 0)
2102
- throw new Error(`_DecryptH failed with error code ${r}`);
2103
- const D = C.getValue(h, "i32");
2104
- return new Uint8Array(C.HEAPU8.buffer, A.scratchBuf.ptr, D);
2105
- }
2106
- /*
2107
- * Used to re-encrypt a block key using the provided re-encryption key (see
2108
- * "GenerateReEncryptionKey"). The block key is transformed in a way such
2109
- * that it can be used by the holder of the target private key to decrypt
2110
- * the encrypted data in a block. The encrypted data itself is not
2111
- * transformed so the process of re-encryption is very efficient since the
2112
- * bulk of the data is not manipulated.
2113
- *
2114
- * reEncKey [Uint8Array RE_ENCRYPTION_KEY_SIZE]
2115
- * blockKey [Uint8Array PRIMARY_BLOCK_KEY_SIZE]
2116
- *
2117
- * Returns the target block key: [Uint8Array TARGET_BLOCK_KEY_SIZE]
2118
- */
2119
- reEncryptBlockKey(I, A) {
2120
- if (I.length !== this.RE_ENCRYPTION_KEY_SIZE)
2121
- throw new Error(`reEncryptBlockKey() failed: Expected reEncKey
2122
- length ${this.RE_ENCRYPTION_KEY_SIZE}, not ${I.length}`);
2123
- if (A.length !== this.PRIMARY_BLOCK_KEY_SIZE)
2124
- throw new Error(`reEncryptBlockKey() failed: Expected blockKey
2125
- length ${this.PRIMARY_BLOCK_KEY_SIZE}, not ${A.length}`);
2126
- const Q = this.wasm, C = this.utils, o = C.arrayToSmartBuf(I), a = C.arrayToSmartBuf(A), h = C.smartMalloc(this.TARGET_BLOCK_KEY_SIZE), r = Q._ReEncryptBlockKey(o.ptr, a.ptr, h);
2127
- if (r !== 0)
2128
- throw new Error(`_ReEncryptBlockKey failed with error code ${r}`);
2129
- return new Uint8Array(
2130
- Q.HEAPU8.buffer,
2131
- h,
2132
- this.TARGET_BLOCK_KEY_SIZE
2133
- ).slice(0);
2134
- }
2135
- /*
2136
- * Creates a context used for block-based target decryption through
2137
- * DecryptTarget. Free the context when done.
2138
- *
2139
- * secretKey [Uint8Array SECRET_KEY_SIZE]
2140
- * symmetricKey [Uint8Array AES_KEY_SIZE]
2141
- *
2142
- * returns TargetDecryptionContext
2143
- */
2144
- newTargetDecryptionContext(I, A) {
2145
- if (I.length !== this.SECRET_KEY_SIZE)
2146
- throw new Error(`newTargetDecryptionContext() failed: Expected
2147
- secretKey length ${this.SECRET_KEY_SIZE}, not ${I.length}`);
2148
- if (A.length !== this.AES_KEY_SIZE)
2149
- throw new Error(`newTargetDecryptionContext() failed: Expected
2150
- symmetricKey length ${this.AES_KEY_SIZE}, not ${A.length}`);
2151
- return new yI(this.wasm, I, A);
2152
- }
2153
- /*
2154
- * Decrypt data that has been re-encrypted for a target target public key.
2155
- * The initialization vector, tag and encrypted bytes from the original
2156
- * encryption must be provided. The re-encrypted block key that corresponds
2157
- * to the target target key must also be provided. It is assumed that all
2158
- * of this data is stored together as a block since all of the data is
2159
- * necessary and secure.
2160
- *
2161
- * TargetDecryptionContext
2162
- * data [Uint8Array]
2163
- * blockKey [Uint8Array TARGET_BLOCK_KEY_SIZE (576 bytes)]
2164
- * iv [Uint8Array IV_SIZE (12 bytes)]
2165
- * tag [Uint8Array TAG_SIZE (16 bytes)]
2166
- * clearSize - length of decrypted data
2167
- *
2168
- * Returns decrypted data [Uint8Array]
2169
- */
2170
- decryptTarget(I, A, Q, C, o, a) {
2171
- if (Q.length !== this.TAG_SIZE)
2172
- throw new Error(`decryptTarget() failed: Expected tag
2173
- length ${this.TAG_SIZE}, not ${Q.length}`);
2174
- if (C.length !== this.TARGET_BLOCK_KEY_SIZE)
2175
- throw new Error(`decryptTarget() failed: Expected blockKey
2176
- length ${this.TARGET_BLOCK_KEY_SIZE}, not ${C.length}`);
2177
- if (o.length !== this.IV_SIZE)
2178
- throw new Error(`decryptTarget() failed: Expected iv
2179
- length ${this.IV_SIZE}, not ${o.length}`);
2180
- if (I.scratchBuf.len !== 0)
2181
- throw new Error("decryptTarget() failed: Scratch buffer is not empty");
2182
- const h = this.wasm, r = this.utils, D = r.arrayToSmartBuf(A), G = r.arrayToSmartBuf(C), N = r.arrayToSmartBuf(o), b = r.arrayToSmartBuf(Q);
2183
- I.scratchBuf.ensureSize(a);
2184
- const q = h._DecryptTarget(
2185
- I.context,
2186
- I.skBuf.ptr,
2187
- G.ptr,
2188
- I.symKeyBuf.ptr,
2189
- N.ptr,
2190
- b.ptr,
2191
- D.ptr,
2192
- D.len,
2193
- I.scratchBuf.ptr,
2194
- a
2195
- );
2196
- if (q !== 0)
2197
- throw new Error(`_DecryptTarget failed with error code ${q}`);
2198
- return new Uint8Array(h.HEAPU8.buffer, I.scratchBuf.ptr, a);
2199
- }
2200
- createCipher(I) {
2201
- const A = this;
2202
- return bA(function(Q, C, o) {
2203
- this.push(A.encryptPrimaryH(I, Q)), I.clearBuf(), o();
2204
- });
2205
- }
2206
- createDecipher(I, A) {
2207
- const Q = this;
2208
- let C = Buffer.alloc(0);
2209
- return bA(
2210
- function(o, a, h) {
2211
- let r = 0;
2212
- for (C = Buffer.concat([C, o]); r < C.length; )
2213
- try {
2214
- A.clearBuf();
2215
- let D = Q.decryptH(I, A, C.slice(r));
2216
- this.push(D), r += Q.calcEncByteCountH(I, D.length);
2217
- } catch (D) {
2218
- if (D.message === "ELV_E_INCOMPLETE_BLOCK") {
2219
- C = C.slice(r), h();
2220
- return;
2221
- } else {
2222
- C = Buffer.alloc(0), h(D);
2223
- return;
2224
- }
2225
- }
2226
- C = Buffer.alloc(0), h();
2227
- },
2228
- function(o) {
2229
- C.length > 0 && this.destroy(
2230
- new Error(
2231
- "Decipher stream ended before all data was decrypted. The source may be invalid."
2232
- )
2233
- ), o();
2234
- }
2235
- );
2236
- }
2237
- createRecipher(I) {
2238
- const A = this, Q = new OA(A.wasm);
2239
- let C = Buffer.alloc(0), o = bA(
2240
- function(a, h, r) {
2241
- let D = 0;
2242
- for (C = Buffer.concat([C, a]); D < C.length; )
2243
- try {
2244
- Q.clear();
2245
- let G = A.reEncryptH(Q, I, C.slice(D));
2246
- this.push(G), D += A.calcEncByteCountFromTargetH(G.length);
2247
- } catch (G) {
2248
- if (G.message === "ELV_E_INCOMPLETE_BLOCK") {
2249
- C = C.slice(D), r();
2250
- return;
2251
- } else {
2252
- C = Buffer.alloc(0), r(G);
2253
- return;
2254
- }
2255
- }
2256
- C = Buffer.alloc(0), r();
2257
- },
2258
- function(a) {
2259
- C.length > 0 && this.destroy(
2260
- new Error(
2261
- "Recipher stream ended before all data was decrypted. The source may be invalid."
2262
- )
2263
- ), a();
2264
- }
2265
- );
2266
- return o.on("finish", () => {
2267
- Q.free();
2268
- }), o;
2269
- }
2270
- }
2271
- export {
2272
- ag as default
2273
- };