smol-string 0.0.0 → 0.0.1

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.
package/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # smol-string
2
+
3
+ `smol-string` is a compression library designed for use with browsers' `localStorage` (and `sessionStorage`). It serves as a faster alternative to [`lz-string`](https://github.com/pieroxy/lz-string).
4
+
5
+ For more information, check the [GitHub Repository](https://github.com/Senryoku/smol-string).
6
+
7
+ ## Installation
8
+
9
+ ```
10
+ npm install -S smol-string
11
+ ```
12
+
13
+ ## Basic Usage
14
+
15
+ ```ts
16
+ import { compress, decompress } from "smol-string";
17
+
18
+ const input = "Any JS String";
19
+
20
+ const compressed = compress(input);
21
+ const decompressed = decompress(compressed);
22
+ ```
package/dist/common.d.ts CHANGED
@@ -1,8 +1,13 @@
1
- export declare function copyToWasmBuffer(str: string, exports: {
2
- allocUint8: (size: number) => number;
3
- memory: any;
4
- }): {
5
- ptr: number;
6
- length: number;
7
- };
8
- export declare function Uint16ArraytoString(buf: Uint16Array): string;
1
+ export declare function copyToWasmBuffer(str: string, exports: {
2
+ allocUint8: (size: number) => number;
3
+ memory: any;
4
+ }): {
5
+ ptr: number;
6
+ length: number;
7
+ };
8
+ export declare function Uint16ArraytoString(buf: Uint16Array): string;
9
+ export declare function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number): {
10
+ start: number;
11
+ end: number;
12
+ capacity: number;
13
+ };
@@ -1,2 +1,2 @@
1
- export declare function compressPacked(str: string): string;
2
- export declare function decompressPacked(compressedStr: string): string;
1
+ export declare function compressPacked(str: string): string;
2
+ export declare function decompressPacked(compressedStr: string): string;
@@ -1,42 +1,30 @@
1
- import { i as w, c as k, U as h } from "./wasm-helper-6790be72.js";
2
- const a = (I) => w(I, "data:application/wasm;base64,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IBItAARFDQQgEigCACEPCyAOQXRqKAIAIA9BAnRqIQ0LIA0gCTsBACANQQJqIAlBgIA8cUEQdjoAAAJAAkAgDA0AIAstAAAhDQwBCyACQfAAaiACQTBqIAsgDEEBahCNgICAACACLwFwIAItAHJBEHRyIQ0LIAJByABqIA0Qh4CAgABB//8DcQ0BIAogDGpBAWohCiAJQQFqIglB//8/cUH//z9HDQAgDkEAIA5BfGooAgAiDBCkgICAABogAkEANgI0IAIgDK1C0AB+QuQAgD4COCACQcgAakH//z8Qh4CAgABB//8DcQ0BIAJBADYCYCACQQk6AGRBgAIhCQwACwsgAkEwahCLgICAAAwBCyACQTBqEIuAgIAAC0EAIRALIAJB8AFqJICAgIAAIBALPwEBfyOAgICAAEEQayIBJICAgIAAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBCSgICAACABQRBqJICAgIAACzcBAX8CQCACQQF0QQAgAhsiA0UNACAAKAIAIAFBAiACGyADQQFBACAAKAIEKAIIEYGAgIAAAAsLPwEBfyOAgICAAEEQayIBJICAgIAAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBCUgICAACABQRBqJICAgIAACzcBAX8CQCACQQN0QQAgAhsiA0UNACAAKAIAIAFBBCACGyADQQJBACAAKAIEKAIIEYGAgIAAAAsL3wsDAX8Bfgt/I4CAgIAAQdAAayIDJICAgIAAIANBADYCPCADQqrVqtUKNwI0IAMjgYCAgABBmIDAgABqKQMAIgQ3AkACQAJAAkACQCACDQBBqtWq1XohBUEAIQYMAQtBqtWq1XohBSACIQYgA0HAAGoiB0Gq1arVekEAIAIQloCAgABBAXENACADQSBqIAcgAhCXgICAACADLwEoDQEgAygCJCEGIAMoAiAhBQtBCSEIQQAhCUEAIQpBACELQQAhDANAAkACQAJAAkAgDCACRg0AIAhB/wFxIgdBFEkNAQwDCyADIAQ3A0gCQAJAIANByABqIAUgBiACEJaAgIAAQQFxRQ0AIAUhCAwBCyADQTRqIANByABqIAIQl4CAgAAgAy8BPA0FIAMoAjQiCCAFIAMoAjgiAkECdBClgICAABogAyAENwMgIANBIGogBSAGEJiAgIAACyADQQA2AiggA0Kq1arV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AkAgAUGBgHxPDQACQCOBgICAAEGogMCAAGogAUH//wNqQRB2IgEgAhCcgICAACIEQX9HDQACQCOBgICAAEGggMCAAGogASACEJyAgIAAIgRBf0YNACAEQYAQaiEEDAELQQAhBEEBIAJ0IgU/ACIGQRB0IgJqQX9qQQAgBWtxIgUgAmtBEHYiByABakAAQQFIDQEgByAGaiEEIAUgAkYNACAGIAQQnoCAgAALIARBEHQhBAsgBAtPAQF/AkAgAkH//wNqIgZBgIB8cSAETyICRQ0AIARB//8DakEQdiIEIAZBEHYiBkYNACAEIAFB//8DakEQdiIBaiABIAZqEJ6AgIAACyACCyEAIAFB//8DakEQdiIBIAEgAkH//wNqQRB2ahCegICAAAt1AQF+IAAgBCABfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IANC/////w+DIAIgAX58IgFCIIh8NwMIIAAgAUIghiAFQv////8Pg4Q3AwALLAEBfwJAIAJFDQAgACEDA0AgAyABOgAAIANBAWohAyACQX9qIgINAAsLIAALQgEBfwJAIAJFDQAgAkF/aiECIAAhAwNAIAMgAS0AADoAACACRQ0BIAJBf2ohAiABQQFqIQEgA0EBaiEDDAALCyAACwtBAgBBgIDAAAsIAAAAAAAAAAAAQYiAwAALKAEAAAACAAAAAwAAAAAAAAAAAAAACAAQAKqqqqoAAAAAMAAQABAAAAA="), N = await a(), A = N.exports;
3
- function F(I) {
4
- const { ptr: E, length: g } = k(I, A), Q = A.compressPacked(E, g);
5
- A.free(E, g);
6
- const C = new Uint16Array(
7
- A.memory.buffer.slice(
8
- Q,
9
- Q + (A.memory.buffer.byteLength - Q)
10
- )
11
- ), B = (C.at(0) << 16) + C.at(1), D = C.slice(2, B), o = h(D);
12
- return A.free(Q, B), o;
13
- }
14
- function y(I) {
15
- const E = (I.charCodeAt(0) << 16) + I.charCodeAt(1);
16
- let g = A.allocUint16(I.length - 2), Q = new Uint16Array(
17
- A.memory.buffer,
18
- g,
19
- I.length - 2
20
- );
21
- for (let i = 2; i < I.length; i++)
22
- Q[i - 2] = I.charCodeAt(i);
23
- const C = A.decompressPacked(
24
- g,
25
- I.length,
26
- E
27
- );
28
- A.free(g, I.length);
29
- const B = new Uint8Array(
30
- A.memory.buffer.slice(
31
- C,
32
- C + (A.memory.buffer.byteLength - C)
33
- )
34
- ), D = B.indexOf(0), o = new TextDecoder().decode(
35
- B.slice(0, D)
36
- );
37
- return A.free(C, D + 1), o;
38
- }
39
- export {
40
- F as compressPacked,
41
- y as decompressPacked
42
- };
1
+ import { i as J, c as h, e as k, U as G } from "./wasm-helper-57a16a1d.js";
2
+ const N = (A) => J(A, "data:application/wasm;base64,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KQAAIASFQgAgBUEQaikAAELjjaPkid6a3o5/hUIAEJ2AgIAAIAJBIGogBUEoaikAACAHhUIAIAVBIGopAABCw5ndqce52czYAIVCABCdgICAACACQcAAakEIaikDACACKQNAhSEGIAJBIGpBCGopAwAgAikDIIUhByACQTBqQQhqKQMAIAIpAzCFIQQgCCEFDAALC0IAIQZCrJri06PS8PofIQcCQCABDQBCACEEDAMLIAAgAUEBdmoxAABCCIYgADEAAEIQhoQgASAAakF/ajEAAIQhBAwCCyAEIAeFIAaFIQcLIAAgBWohCSABIAVrIQgCQANAIANBEGoiBSAITw0BIAJB0ABqIAkgA2oiA0EIaikAACAHhUIAIAMpAABC29HQhZra34FnhUIAEJ2AgIAAIAJB0ABqQQhqKQMAIAIpA1CFIQcgBSEDDAALCyABIABqIgNBeGopAAAhBiADQXBqKQAAIQQLIAJBEGogBELb0dCFmtrfgWeFQgAgBiAHhUIAEJ2AgIAAIAIgAkEQakEIaikDAELb0dCFmtrfgWeFQgAgAa0gAikDEIVCr8j1xcesh7ugf4VCABCdgICAACACQQhqKQMAIQcgAikDACEEIAJB4ABqJICAgIAAIAcgBIULWAECf0EAIQQCQCABIANHDQACQCAAIAJHDQBBAQ8LA0AgAUUhBCABRQ0BIAFBf2ohASACLQAAIQMgAC0AACEFIABBAWohACACQQFqIQIgBSADRg0ACwsgBAv8FAQBfwF+H38BfiOAgICAAEHgAWsiAiSAgICAAAJAAkACQCABDQAjgYCAgABBmIDAgABqKQMAIQNBqtWq1XohBEEAIQVBCSEGQQAhB0EAIQFBACEIQQAhCQwBCyACQSBqQQhqIgpBADYCACACQgA3AyAgAiOBgICAAEGYgMCAAGopAwAiAzcCLCACIAM3ArQBIAJBADYCsAEgAkKq1arVCjcCqAECQAJAAkAgAkGoAWogARCNgICAAEH//wNxDQAgAkEgakEMaiELIAJBOGpBEGogAkGoAWpBEGooAgA2AgAgAkE4akEIaiACQagBakEIaiIMKQIANwMAIAIgAikCqAE3AzggAkEJOwFUIAJCADcCTCADQiCIpyENIAOnIQ5BgAIhD0EAIQgDQCAAIAhqIQdBACEEAkACQAJAAkACQAJAAkACQAJA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"), w = await N(), I = w.exports;
3
+ function c(A) {
4
+ const { ptr: g, length: C } = h(A, I), D = I.compressPacked(g, C);
5
+ I.free(g, C);
6
+ const { start: Q, end: B, capacity: i } = k(I.memory, D), o = new Uint16Array(I.memory.buffer.slice(Q, B)), F = G(o);
7
+ return I.free(Q, i), F;
8
+ }
9
+ function y(A) {
10
+ const g = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
11
+ let C = I.allocUint16(A.length - 2), D = new Uint16Array(
12
+ I.memory.buffer,
13
+ C,
14
+ A.length - 2
15
+ );
16
+ for (let E = 0; E < A.length - 2; E++)
17
+ D[E] = A.charCodeAt(E);
18
+ const Q = I.decompressPacked(
19
+ C,
20
+ A.length - 2,
21
+ g
22
+ );
23
+ I.free(C, A.length - 2);
24
+ const { start: B, end: i, capacity: o } = k(I.memory, Q), F = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(F);
25
+ return I.free(B, o), a;
26
+ }
27
+ export {
28
+ c as compressPacked,
29
+ y as decompressPacked
30
+ };
@@ -1,2 +1,2 @@
1
- export declare function compress(data: string): Promise<unknown>;
2
- export declare function decompress(data: string): Promise<unknown>;
1
+ export declare function compress(data: string): Promise<unknown>;
2
+ export declare function decompress(data: string): Promise<unknown>;
@@ -1,37 +1,37 @@
1
- const l = "ZnVuY3Rpb24gYShJLCBRKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgZyA9IFEuYWxsb2NVaW50OChBLmxlbmd0aCArIDEpLCBDID0gbmV3IFVpbnQ4QXJyYXkoCiAgICBRLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgQS5sZW5ndGggKyAxCiAgKTsKICByZXR1cm4gQy5zZXQoQSksIENbQS5sZW5ndGhdID0gMCwgeyBwdHI6IGcsIGxlbmd0aDogQS5sZW5ndGggKyAxIH07Cn0KZnVuY3Rpb24gdChJKSB7CiAgY29uc3QgUSA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgUVtBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIFEuam9pbigiIik7Cn0KdmFyIHcgPSBhc3luYyAoSSA9IHt9LCBRKSA9PiB7CiAgbGV0IEE7CiAgaWYgKFEuc3RhcnRzV2l0aCgiZGF0YToiKSkgewogICAgY29uc3QgZyA9IFEucmVwbGFjZSgvXmRhdGE6Lio/YmFzZTY0LC8sICIiKTsKICAgIGxldCBDOwogICAgaWYgKHR5cGVvZiBCdWZmZXIgPT0gImZ1bmN0aW9uIiAmJiB0eXBlb2YgQnVmZmVyLmZyb20gPT0gImZ1bmN0aW9uIikKICAgICAgQyA9IEJ1ZmZlci5mcm9tKGcsICJiYXNlNjQiKTsKICAgIGVsc2UgaWYgKHR5cGVvZiBhdG9iID09ICJmdW5jdGlvbiIpIHsKICAgICAgY29uc3QgRSA9IGF0b2IoZyk7CiAgICAgIEMgPSBuZXcgVWludDhBcnJheShFLmxlbmd0aCk7CiAgICAgIGZvciAobGV0IEQgPSAwOyBEIDwgRS5sZW5ndGg7IEQrKykKICAgICAgICBDW0RdID0gRS5jaGFyQ29kZUF0KEQpOwogICAgfSBlbHNlCiAgICAgIHRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlY29kZSBiYXNlNjQtZW5jb2RlZCBkYXRhIFVSTCwgQnVmZmVyIGFuZCBhdG9iIGFyZSBub3Qgc3VwcG9ydGVkIik7CiAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQywgSSk7CiAgfSBlbHNlIHsKICAgIGNvbnN0IGcgPSBhd2FpdCBmZXRjaChRKSwgQyA9IGcuaGVhZGVycy5nZXQoIkNvbnRlbnQtVHlwZSIpIHx8ICIiOwogICAgaWYgKCJpbnN0YW50aWF0ZVN0cmVhbWluZyIgaW4gV2ViQXNzZW1ibHkgJiYgQy5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi93YXNtIikpCiAgICAgIEEgPSBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhnLCBJKTsKICAgIGVsc2UgewogICAgICBjb25zdCBFID0gYXdhaXQgZy5hcnJheUJ1ZmZlcigpOwogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoRSwgSSk7CiAgICB9CiAgfQogIHJldHVybiBBLmluc3RhbmNlOwp9LCBoID0gKEkpID0+IHcoSSwgImRhdGE6YXBwbGljYXRpb24vd2FzbTtiYXNlNjQsQUdGemJRRUFBQUFCVVF4Z0JIOS9mMzhCZjJBRmYzOS9mMzhBWUFaL2YzOS9mMzhCZjJBQmZ3Ri9ZQU4vZjM4QVlBSi9md0JnQW45L0FYOWdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQURmMzkvQVg5Z0JYOStmbjUrQUFNbkpnTUVBd1FFQlFRR0F3WUdCd1VJQ1FBR0J3UUhCQW9BQkFRR0FBUUtDQVVFQUFJQkN3b0tCQVVCY0FFRUJBVURBUUFSQmc0Q2Z3RkJnSURBQUF0L0FFRUFDd2RRQmdadFpXMXZjbmtDQUFwaGJHeHZZMVZwYm5RNEFBQUxZV3hzYjJOVmFXNTBNVFlBQWdSbWNtVmxBQVVPWTI5dGNISmxjM05RWVdOclpXUUFFQkJrWldOdmJYQnlaWE56VUdGamEyVmtBQlVKQ1FFQVFRRUxBeUFoSWdxMlNDWmVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMVFCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQlFRUnFJNEdBZ0lBQVFaaUF3SUFBYWlBQUVJT0FnSUFBQWtBZ0FTOEJEQTBBSUFFb0FnUWhBQ0FCUVJCcUpJQ0FnSUFBSUFBUEN3Ti9BQXdBQ3d1VkFRRUJmeU9BZ0lDQUFFRXdheUlESklDQWdJQUFJQU1nQVNrQ0FEY0RDQ0FEUVJCcUlBTkJDR29nQWhDRWdJQ0FBQUpBQWtBZ0F5OEJGQ0lCUlEwQUlBTWdBVHNCSUNBRFFSaHFJUUlNQVFzZ0EwRUFPd0VzSUFNZ0FqWUNLQ0FESUFNb0FoQTJBaVFnQTBFa2FpRUNDeUFBSUFJcEFnQTNBZ0FnQUVFSWFpQUNRUWhxS0FJQU5nSUFJQU5CTUdva2dJQ0FnQUFMaHdFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQWtFQVNEb0FEQUpBQWtBZ0FrRi9TZzBBUW9DQWdJQVFJUVFNQVFzQ1FDQUNRUUYwSWdJTkFFTCsvLy8vRHlFRURBRUxJQUVvQWdBZ0FrRUJRUUFnQVNnQ0JDZ0NBQkdBZ0lDQUFBQWlBa1d0UWlDR0lBS3RoQ0VFQ3lBQUlBUTNBZ0FnQTBFUWFpU0FnSUNBQUFzWkFDT0JnSUNBQUVHWWdNQ0FBR29nQUNBQkVJYUFnSUFBQ3pnQkFYOENRQ0FDUVFBZ0Foc2lBMFVOQUNBQUtBSUFJQUZCcXRXcTFYb2dBaHNnQTBFQVFRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM4QUNBUVIvQWtBZ0FDMEFIQ0lDUVJSUERRQWdBQ2dDR0VHQUFtb2dBaENJZ0lDQUFFRi9ha2tOQUNBQUlBSkJBV29pQWpvQUhBc0NRQUpBQTBBZ0FrSC9BWEVpQTBVTkFTQUFLQUlFSVFRQ1FBSkFJQUF0QUIwaUJVRVFSZzBBSUFRTkFRc0NRQ0FBS0FJSUlnVWdCRXNOQUNBQUlBVWdCRUVCYWhDSmdJQ0FBQkNLZ0lDQUFDSUVRZi8vQTNFTkJDQUFLQUlFSVFRTElBQWdCRUVCYWpZQ0JFRUFJUVVnQUNnQ0FDQUVRUUYwYWtFQU93RUFJQUJCQURvQUhTQUFLQUlFSVFRTElBUkJBWFFnQUNnQ0FHcEJmbW9pQkNBRUx3RUFJQUZCRkNBQ2EwSC9BWEYwUWYvL1AzRWdCVUVFYW5aeU93RUFJQUFnQUMwQUhTQURRUkFnQld0Qi93RnhJZ1FnQXlBRVNSc2lCR282QUIwZ0FpQUVheUVDREFBTEN5QUFJQUFvQWhSQkFXbzJBaFFnQUNBQUtBSVlRUUZxTmdJWVFRQWhCQXNnQkF2TEFRSUVmd0YrSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFDUUFKQUlBQU5BRUVCSVFJTUFRdEJBU0VEUVFJaEJBTkFBa0FDUUNBQVFRSkpEUUFnQUVFQmNVVU5BVUVBSVFJZ0FTQURyU0FFclg0aUJVSWdpS2NpQTBFQVJ6b0FCQ0FERFFNZ0JhY2hBd3dCQ3lBQklBT3RJQVN0ZmlJRlFpQ0lweUlBUVFCSE9nQU1RUUFnQmFjZ0FCc2hBZ3dDQzBFQUlRSWdBU0FFclNJRklBVitJZ1ZDSUlpbklnUkJBRWM2QUFnZ0JBMEJJQVduSVFRZ0FFRUJkaUVBREFBTEN5QUJRUkJxSklDQWdJQUFJQUlMSlFFQmZ3TkFRWDhnQUVFQmRpQUFha0VJYWlJQ0lBSWdBRWtiSWdBZ0FVa05BQXNnQUF2dEFRRUZmeU9BZ0lDQUFFRVFheUlDSklDQWdJQUFRUUFoQXdKQUlBQW9BZ2dpQkNBQlR3MEFJQUFvQWdBaEJRSkFBa0FnQkVVTkFDQUNJQUZCQUVnNkFBZ2dBVUYvVEEwQUlBQW9BZ3dnQlNBRVFRRjBRUUVnQVVFQmRFRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0F3QkN5QUNJQUJCREdvaUJpa0NBRGNEQUNBQ1FRaHFJQUlnQVJDRWdJQ0FBQ0FDTHdFTUlnTU5BU0FDS0FJSUlBQW9BZ0FnQUNnQ0JFRUJkQkNsZ0lDQUFDRURJQVlnQlNBRUVKS0FnSUFBSUFBZ0FUWUNDQ0FBSUFNMkFnQUxRUUFoQXdzZ0FrRVFhaVNBZ0lDQUFDQURDdzhBSUFBZ0FFRU1haENNZ0lDQUFBdGxBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBUVExc1FROXFRWHh4SWdKQkFDQUNHeUlFUlEwQUlBRW9BZ0FnQTBFRUlBSWJJQVJCQWtFQUlBRW9BZ1FvQWdnUmdZQ0FnQUFBQ3lBQVFRQTJBZ2dnQUVFQU5nSUFDd3VCQXdRRWZ3RitCSDhCZmlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1Ram9DQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDUGdJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRZ0FoQ0VJQUlRME1BUXNnQkNBR1FYUnFLQUlBSUFjb0FnQkJBblJxSWdGQkFtb3RBQUJCRDNFNkFBSWdCQ0FCTHdFQU93RUFJQVF6QVFBZ0JERUFBa0lRaG9RaENFS0FnSUNBRUNFTkN5QUFJQTBnQ0lRM0FnQWdCRUVRYWlTQWdJQ0FBQXZzQlFVQ2Z3RitBWDhDZmdKL0k0Q0FnSUFBUWVBQWF5SUNKSUNBZ0lBQUFrQUNRQUpBQWtBQ1FDQUJRUkJMRFFBZ0FVRURUUTBCSUFBMUFBQkNJSVlnQUNBQlFRRjJRZnovLy84SGNTSURhalVBQUlRaEJDQUFJQUZCZkdvaUJXbzFBQUJDSUlZZ0FDQUZJQU5yYWpVQUFJUWhCa0tzbXVMVG85THcraDhoQnd3RUMwRUFJUU5DckpyaTA2UFM4UG9mSVFkQkFDRUZJQUZCTUVrTkFrRUFJUVZDckpyaTA2UFM4UG9mSVFkQ3JKcmkwNlBTOFBvZklRUkNySnJpMDZQUzhQb2ZJUVlEUUNBRlFUQnFJZ2dnQVU4TkFpQUNRY0FBYWlBQUlBVnFJZ1VwQUFnZ0JvVkNBQ0FGS1FBQVF0dlIwSVdhMnQrQlo0VkNBQkNqZ0lDQUFDQUNRVEJxSUFWQkdHb3BBQUFnQklWQ0FDQUZRUkJxS1FBQVF1T05vK1NKM3ByZWpuK0ZRZ0FRbzRDQWdBQWdBa0VnYWlBRlFTaHFLUUFBSUFlRlFnQWdCVUVnYWlrQUFFTERtZDJweDduWnpOZ0FoVUlBRUtPQWdJQUFJQUpCd0FCcVFRaHFLUU1BSUFJcEEwQ0ZJUVlnQWtFZ2FrRUlhaWtEQUNBQ0tRTWdoU0VISUFKQk1HcEJDR29wQXdBZ0Fpa0RNSVVoQkNBSUlRVU1BQXNMUWdBaEJrS3NtdUxUbzlMdytoOGhCd0pBSUFFTkFFSUFJUVFNQXdzZ0FDQUJRUUYyYWpFQUFFSUloaUFBTVFBQVFoQ0doQ0FCSUFCcVFYOXFNUUFBaENFRURBSUxJQVFnQjRVZ0JvVWhCd3NnQUNBRmFpRUpJQUVnQldzaENBSkFBMEFnQTBFUWFpSUZJQWhQRFFFZ0FrSFFBR29nQ1NBRGFpSURRUWhxS1FBQUlBZUZRZ0FnQXlrQUFFTGIwZENGbXRyZmdXZUZRZ0FRbzRDQWdBQWdBa0hRQUdwQkNHb3BBd0FnQWlrRFVJVWhCeUFGSVFNTUFBc0xJQUVnQUdvaUEwRjRhaWtBQUNFR0lBTkJjR29wQUFBaEJBc2dBa0VRYWlBRVF0dlIwSVdhMnQrQlo0VkNBQ0FHSUFlRlFnQVFvNENBZ0FBZ0FpQUNRUkJxUVFocUtRTUFRdHZSMElXYTJ0K0JaNFZDQUNBQnJTQUNLUU1RaFVLdnlQWEZ4NnlIdTZCL2hVSUFFS09BZ0lBQUlBSkJDR29wQXdBaEJ5QUNLUU1BSVFRZ0FrSGdBR29rZ0lDQWdBQWdCeUFFaFF0WUFRSi9RUUFoQkFKQUlBRWdBMGNOQUFKQUlBQWdBa2NOQUVFQkR3c0RRQ0FCUlNFRUlBRkZEUUVnQVVGL2FpRUJJQUl0QUFBaEF5QUFMUUFBSVFVZ0FFRUJhaUVBSUFKQkFXb2hBaUFGSUFOR0RRQUxDeUFFQzhjVUJBSi9BWDRlZndGK0k0Q0FnSUFBUWZBQmF5SUNKSUNBZ0lBQUlBSkJNR3BCQ0dvaUEwRUFOZ0lBSUFKQ0FEY0RNQ0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBQ0lFTndJOElBSWdCRGNDeEFFZ0FrRUFOZ0xBQVNBQ1FxclZxdFVLTndLNEFRSkFBa0FDUUFKQUlBSkJ1QUZxSUFFUWlvQ0FnQUJCLy84RGNRMEFJQUpCTUdwQkRHb2hCU0FDUWNnQWFrRVFhaUFDUWJnQmFrRVFhaWdDQURZQ0FDQUNRY2dBYWtFSWFpQUNRYmdCYWtFSWFpSUdLUUlBTndNQUlBSWdBaWtDdUFFM0EwZ2dBa0VKT3dGa0lBSkNBRGNDWENBRVFpQ0lweUVISUFTbklRaEJnQUloQ1VFQUlRb0RRQ0FBSUFwcUlRdEJBQ0VNQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQTBBQ1FBSkFJQXhCQW1vaURTQUthaUFCVHcwQUlBSkI2QUJxSUFKQk1Hb2dDeUFORUkyQWdJQUFJQUl0QUd3TkFTQUNLQUl3SVE0Z0FpZ0NPQTBHQWtBQ1FDQU9EUUJCQVNFUERBRUxJQTVCZkdvb0FnQ3RRdEFBZmlJRUlBUkM1QUNDZlVMa0FIeEMwQUNBcHlFUEMwRUFJUkFnQmtFQU5nSUFJQUpDQURjRHVBRkJBQTBGQWtBQ1FFSUJRU0FnRDJkcnJVTC8vd09EaHFjaUQwRUlJQTlCQ0VzYkloRkJEMm9pRWlBUlFRTjBhaUlUSUJGQkFuUnFRWHh4SWc4TkFFRjhJUThNQVF0QkFDRVFJQWdnRDBFQ1FRQWdCeWdDQUJHQWdJQ0FBQUFpRDBVTkJnc2dEMEVJYWlJVUlCRTJBZ0FnRHlBUElCSkJmSEZxTmdJRUlBOGdEeUFUUVh4eGFqWUNBQ0FDSUE5QkRHb2lEellDdUFFZ0QwRUFJQkVRcElDQWdBQWhFQ0FDSUJHdFF0QUFma0xrQUlDbkloVTJBc0FCSUFJb0FqUWlGa1VOQkVFQUlSZEJBQ0VZQWtBZ0RrVU5BQ0FPUVh4cUtBSUFJUmdMSUJCQmRHb2hHU0FRUVhocUlSb2dEa0YwYWlJUEtBSUFJUnNnRDBFRWFpZ0NBQ0VjUVFBaEhRTkFJQjBnR0VZTkJBSkFJQTRnSFdvc0FBQkJBRTROQUNBYklCMUJBblJxSWc5QkFtb3RBQUJCRUhRaEhpQVBMd0VBSVI4Z0hDQWRRUU4wYWlJUEtBSUVJU0FnRHlnQ0FDRWhBa0FnRjBVTkFDQWhJQ0FRam9DQWdBQWhCQ0FVS0FJQUloRkJmMm9pRXlBRXAzRWhEeUFFUWptSXB5RWlBMEFnRUNBUGFpd0FBQ0lTUlEwQklCRkZEUUVDUUNBU1FYOUtEUUFnSWlBU1FmOEFjVWNOQUNBaElDQWdHaWdDQUNBUFFRTjBhaUlTS0FJQUlCSW9BZ1FRajRDQWdBQkJBWEZGRFFBZ0FrRUJPZ0RzQVF3Q0N5QVJRWDlxSVJFZ0QwRUJhaUFUY1NFUERBQUxDeUFmSUI1eUlSTWdJU0FnRUk2QWdJQUFJUVFnRkNnQ0FFRi9haUlTSUFTbmNTRVBBa0FEUUNBUUlBOXFJaEVzQUFCQmYwb05BU0FQUVFGcUlCSnhJUThNQUFzTElCRWdCRUk1aUtkQmdBRnlPZ0FBSUJvb0FnQWdEMEVEZEdvaUVTQWdOZ0lFSUJFZ0lUWUNBQ0FaS0FJQUlBOUJBblJxSWc4Z0V6c0JBQ0FQUVFKcUlCTkJnSUE4Y1VFUWRqb0FBQ0FWUVg5cUlSVWdGMEVCYWlJWElCWkhEUUFnRmlFWERBVUxJQjFCQVdvaEhRd0FDd3NDUUFKQUlBcEJBV29nQVVrTkFDQUNRY2dBYWlBTExRQUFFSWVBZ0lBQVFmLy9BM0VORGd3QkN5QUNRZmdBYWtFUWFpQUNRVEJxUVJCcUtBSUFOZ0lBSUFKQitBQnFRUWhxSUFKQk1HcEJDR29wQXdBM0F3QWdBaUFDS1FNd053TjRJQUpCa0FGcUlBSkIrQUJxSUFzZ0RFRUNhaENOZ0lDQUFBSkFJQUl0QUpRQkRRQUNRQUpBSUF3TkFDQUxMUUFBSVEwTUFRc2dBa0dZQVdwQkVHb2dBa0V3YWtFUWFpZ0NBRFlDQUNBQ1FaZ0Jha0VJYWlBQ1FUQnFRUWhxS1FNQU53TUFJQUlnQWlrRE1EY0RtQUVnQWtHd0FXb2dBa0dZQVdvZ0N5QU1RUUZxRUkyQWdJQUFJQUl2QWJBQklBSXRBTElCUVJCMGNpRU5DeUFDUWNnQWFpQU5FSWVBZ0lBQVFmLy9BM0VORGlBQ1FjZ0FhaUFMSUF4cVFRRnFMUUFBRUllQWdJQUFRZi8vQTNGRkRRRU1EZ3NnQWtISUFHb2dBaThCa0FFZ0FpMEFrZ0ZCRUhSeUVJZUFnSUFBUWYvL0EzRU5EUXNnQWtFd2FoQ0xnSUNBQUNBQ1FSaHFJQUpCeUFCcVFSaHFLUU1BTndNQUlBSkJFR29nQWtISUFHcEJFR29wQXdBM0F3QWdBa0VJYWlBQ1FjZ0Fha0VJYWlrREFEY0RBQ0FDSUFJcEEwZzNBd0FnQWtFa2FpT0JnSUNBQUVHWWdNQ0FBR29nQWlnQ0JDSU1RUVJxRUlPQWdJQUFBa0FnQWk4QkxBMEFJQUlvQWlRaUVDQUNLQUlvUVJCNE5nRUFJQkFnQWlnQ0ZFRVFlRFlCQkNBUVFRaHFJUTBnQWlnQ0FDRVBBa0FEUUNBTVJRMEJJQTBnRHk4QkFEc0JBQ0FNUVg5cUlRd2dEVUVDYWlFTklBOUJBbW9oRHd3QUN3c2dBaENSZ0lDQUFBd1FDeUFDRUpHQWdJQUFEQTRMSUF4QkFXb2hEQXdBQ3dzZ0FpQVZOZ0xBQVNBQ0lCYzJBcndCQ3lBREtBSUFJUThnQXlBR0tBSUFOZ0lBSUFZZ0R6WUNBQ0FDUVFBMkFqUWdBaWtETUNFRUlBSWdBaWtEdUFFaUl6Y0RNQ0FDSUFRM0E3Z0JJQ09uSVE1QkFTRVFDeUFDUWJnQmFpQUZFSXlBZ0lBQUlCQU5BQ09CZ0lDQUFDRVBJQUlvQWpRTkFTQVBRWUNBd0lBQWFpRVNEQU1MSUFzZ0RSQ09nSUNBQUNFRUFrQUNRQ0FPRFFBZ0JLY2hEMEVBSVJKQmZ5RWREQUVMSUE1QmZHb29BZ0FpRWtGL2FpSWRJQVNuY1NFUEN5QU9RWGhxSVNBZ0RrRjhhaUVoSUFSQ09ZaW5JU0lnRWlFUUEwQWdEaUFQYWlJVExBQUFJaEZGRFFJZ0VFRUFSZzBDQWtBQ1FDQVJRWDlLRFFBZ0lpQVJRZjhBY1VjTkFDQUxJQTBnSUNnQ0FDQVBRUU4wYWlJUktBSUFJQkVvQWdRUWo0Q0FnQUJCQVhGRkRRRU1CZ3NnRWlBaEtBSUFSdzBBSUE4Z0VpQVJRUUZHR3lFU0N5QVFRWDlxSVJBZ0QwRUJhaUFkY1NFUERBQUxDeUFMSUEwUWpvQ0FnQUFoQkFKQUFrQWdEZzBBUVFBaEVFRi9JUk1NQVFzZ0RrRjhhaWdDQUNJUVFYOXFJUk1MSUE1QmVHb2hJaUFUSUFTbmNTRVBJQVJDT1lpbklSMERRQ09CZ0lDQUFFR0FnTUNBQUdvaEVpQU9JQTlxTEFBQUloRkZEUUlnRUVVTkFnSkFJQkZCZjBvTkFDQWRJQkZCL3dCeFJ3MEFJQXNnRFNBaUtBSUFJQTlCQTNScUloRW9BZ0FnRVNnQ0JCQ1BnSUNBQUVFQmNVVU5BQ0FDUVFFNkFOQUJJQUlnRHpZQ3pBRWdBa0hNQVdvaEVnd0RDeUFRUVg5cUlSQWdEMEVCYWlBVGNTRVBEQUFMQ3lBaEtBSUFJUkFnQWlBQ0tBSTRRWDlxTmdJNElBNGdFbW9nRXlBU0lCQkpJaEFiSUNKQmdBRnlPZ0FBSUE1QmRHb29BZ0FoRVNBZ0tBSUFJUk1nQWlBQ0tBSTBRUUZxTmdJMElCTWdFaUFQSUJBYklnOUJBM1JxSWhBZ0RUWUNCQ0FRSUFzMkFnQWdFU0FQUVFKMGFpRU5EQUlMSUJJdEFBUkZEUVFnRWlnQ0FDRVBDeUFPUVhScUtBSUFJQTlCQW5ScUlRMExJQTBnQ1RzQkFDQU5RUUpxSUFsQmdJQThjVUVRZGpvQUFBSkFBa0FnREEwQUlBc3RBQUFoRFF3QkN5QUNRZkFBYWlBQ1FUQnFJQXNnREVFQmFoQ05nSUNBQUNBQ0x3RndJQUl0QUhKQkVIUnlJUTBMSUFKQnlBQnFJQTBRaDRDQWdBQkIvLzhEY1EwQklBb2dER3BCQVdvaENpQUpRUUZxSWdsQi8vOC9jVUgvL3o5SERRQWdEa0VBSUE1QmZHb29BZ0FpREJDa2dJQ0FBQm9nQWtFQU5nSTBJQUlnREsxQzBBQitRdVFBZ0Q0Q09DQUNRY2dBYWtILy96OFFoNENBZ0FCQi8vOERjUTBCSUFKQkFEWUNZQ0FDUVFrNkFHUkJnQUloQ1F3QUN3c2dBa0V3YWhDTGdJQ0FBQXdCQ3lBQ1FUQnFFSXVBZ0lBQUMwRUFJUkFMSUFKQjhBRnFKSUNBZ0lBQUlCQUxQd0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFZ0FDa0NERGNEQ0NBQlFRaHFJQUFvQWdBZ0FDZ0NDQkNTZ0lDQUFDQUJRUkJxSklDQWdJQUFDemNCQVg4Q1FDQUNRUUYwUVFBZ0Foc2lBMFVOQUNBQUtBSUFJQUZCQWlBQ0d5QURRUUZCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMUHdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBQ2tDRERjRENDQUJRUWhxSUFBb0FnQWdBQ2dDQ0JDVWdJQ0FBQ0FCUVJCcUpJQ0FnSUFBQ3pjQkFYOENRQ0FDUVFOMFFRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQkJDQUNHeUFEUVFKQkFDQUFLQUlFS0FJSUVZR0FnSUFBQUFzTDN3c0RBWDhCZmd0L0k0Q0FnSUFBUWRBQWF5SURKSUNBZ0lBQUlBTkJBRFlDUENBRFFxclZxdFVLTndJMElBTWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlnUTNBa0FDUUFKQUFrQUNRQ0FDRFFCQnF0V3ExWG9oQlVFQUlRWU1BUXRCcXRXcTFYb2hCU0FDSVFZZ0EwSEFBR29pQjBHcTFhclZla0VBSUFJUWxvQ0FnQUJCQVhFTkFDQURRU0JxSUFjZ0FoQ1hnSUNBQUNBREx3RW9EUUVnQXlnQ0pDRUdJQU1vQWlBaEJRdEJDU0VJUVFBaENVRUFJUXBCQUNFTFFRQWhEQU5BQWtBQ1FBSkFBa0FnRENBQ1JnMEFJQWhCL3dGeElnZEJGRWtOQVF3REN5QURJQVEzQTBnQ1FBSkFJQU5CeUFCcUlBVWdCaUFDRUphQWdJQUFRUUZ4UlEwQUlBVWhDQXdCQ3lBRFFUUnFJQU5CeUFCcUlBSVFsNENBZ0FBZ0F5OEJQQTBGSUFNb0FqUWlDQ0FGSUFNb0FqZ2lBa0VDZEJDbGdJQ0FBQm9nQXlBRU53TWdJQU5CSUdvZ0JTQUdFSmlBZ0lBQUN5QURRUUEyQWlnZ0EwS3ExYXJWQ2pjQ0lDQURJQVEzQWl3Z0EwRUFRZi8vUHhDSmdJQ0FBQ0lIUWYvLy8vOEJTem9BTkNBSFFZQ0FnSUFDVHcwQkFrQUNRQ0FIUVFOMElnME5BRUY4SVEwTUFRc2dCS2NnRFVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnMUZEUUlMSUFNZ0J6WUNLQ0FESUEwMkFpQkJBQ0VIQWtBRFFDQUhRZmovL3dOR0RRRWdEU0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NnQTBILy96ODJBaVFnQXlBRU53SkFRUUFoQnlBRFFRQTJBandnQTBLcTFhclZDamNDTkNBRFFUUnFJQUpCRkd3UW1ZQ0FnQUJCLy84RGNRMEJJQU1wQWtBaEJDQURLQUk4SVFzZ0F5Z0NOQ0lBSUFNb0FqZ2lDV29nQ0MwQUFEb0FBQ0FOSUFndkFRQWdDRUVDYWkwQUFFRVFkSEpCQTNScUlnNUJBVFlDQkNBT0lBQTJBZ0FnQ1VFQmFpRVBRWUFDSVFwQkFTRUpBMEFnRHlFT0FrQUNRQUpBQWtBZ0NTQUNUdzBBQWtBZ0NDQUpRUUowYWlJUEx3RUFJQTlCQW1vdEFBQkJFSFJ5SWc5Qi8vOC9SdzBBSUFsQkFXb2lDU0FDVHcwQlFRQWhCd0pBQTBBZ0IwSDQvLzhEUmcwQklBMGdCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xBa0FnQ0NBSlFRSjBhaUlITHdFQUlBZEJBbW90QUFCQkVIUnlJZ2RCZ0FKSkRRQWdBMEgvL3o4MkFpUU1DQXNnQUNBT2FpQUhPZ0FBSUE1QkFXb2hEMEdBQWlFS0RBUUxJQTlCZ0FKSkRRRUNRQ0FOSUE5QkEzUnFJZzhvQWdBaURBMEFJQUFnRG1vZ0FDQUhhaUlQSUE0Z0Iyc2lEQkNsZ0lDQUFCb2dBQ0FNSUE1cUlneHFJQTh0QUFBNkFBQWdERUVCYWlFUERBTUxJQUFnRG1vZ0RDQVBLQUlFSWc4UXBZQ0FnQUFhSUE4Z0Rtb2hEd3dDQ3lBRFFmLy9QellDSkNBRFFTQnFFSk9BZ0lBQUlBTWdCRGNDR0NBRElBczJBaFFnQXlBQU5nSU1JQU1nRGpZQ0VFRUFJUWNnQTBFTWFpQU9RUUZxRUptQWdJQUFRZi8vQTNFTkNTQURLQUlNSWcwZ0F5Z0NFQ0lIYWtFQU9nQUFJQU1vQWhRaENTQURJQU1wQWhnaUJEY0RTQUpBSUFOQnlBQnFJQTBnQ1NBSFFRRnFJZ2NRbW9DQWdBQkJBWEZGRFFBZ0RTRUhEQW9MSUFOQk5Hb2dBMEhJQUdvZ0J4Q2JnSUNBQUNBREx3RThEUWdnQXlnQ05DSUhJQTBnQXlnQ09CQ2xnSUNBQUJvZ0F5QUVOd01nSUFOQklHb2dEU0FKRUlhQWdJQUFEQWtMSUFBZ0Rtb2dEem9BQUNBT1FRRnFJUThMSUEwZ0NrSC8vejl4UVFOMGFpSU1JQTRnQjJ0QkFXbzJBZ1FnRENBQUlBZHFOZ0lBSUFwQkFXb2hDZ3NnQ1VFQmFpRUpJQTRoQnd3QUN3c2dDQ0FMUVlBQ2FpQUhFSWlBZ0lBQVFYOXFUMm9oQ0F3QkN5QURRU0JxRUpPQWdJQUFEQUlMUVFBaERpQUlJUWNDUUFOQUlBZEIvd0Z4SWcxRkRRRWdBQ0FLSUFsQi93RnhRUkJHSWc5cUlncEJBWFJxTHdFQVFRQWdDU0FQR3lJSlFROXhkRUgvL3dOeFFRQWdEVUVRSUFsclFmOEJjU0lQSUEwZ0Qwa2JJZzFyUVE5eGRpQUhJQTFySWdkMElBNXlJUTRnRFNBSmFpRUpEQUFMQ3lBRklBeEJBblJxSWdjZ0Rqc0JBQ0FIUVFKcUlBNUIvLzgvY1NJSFFSQjJPZ0FBUVFBZ0MwRUJhaUFIUWYvL1AwWWlCeHNoQzBFSklBZ2dCeHNoQ0NBTVFRRnFJUXdNQUFzTFFRQWhCd3NnQTBIUUFHb2tnSUNBZ0FBZ0J3dVFBUUVDZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBQWtBQ1FDQUREUUFnQkNBQUtRSUFOd01BSUFRZ0FTQUNFSmlBZ0lBQVFRRWhCUXdCQzBFQUlRVWdBa1VOQUNBRUlBTkIvLy8vL3dOTE9nQU1JQU5CZ0lDQWdBUlBEUUFnQUNnQ0FDQUJJQUpCQW5SQkFpQURRUUowUVFBZ0FDZ0NCQ2dDQkJHQ2dJQ0FBQUFoQlFzZ0JFRVFhaVNBZ0lDQUFDQUZDOEVCQWdGL0FYNGpnSUNBZ0FCQklHc2lBeVNBZ0lDQUFDQUJLUUlBSVFRZ0F5QUNRZi8vLy84RFN6b0FIQUpBQWtBZ0FrR0FnSUNBQkU4TkFBSkFBa0FnQWtFQ2RDSUJEUUJCZkNFQkRBRUxJQVNuSUFGQkFrRUFJQVJDSUlpbktBSUFFWUNBZ0lBQUFDSUJSUTBCQ3lBRElBSTJBaFFnQXlBQk5nSVFJQU5CQURzQkdDQURRUkJxSVFJTUFRc2dBMEVCT3dFTUlBTkJCR29oQWdzZ0FDQUNLUUlBTndJQUlBQkJDR29nQWtFSWFpZ0NBRFlDQUNBRFFTQnFKSUNBZ0lBQUN6Y0JBWDhDUUNBQ1FRSjBRUUFnQWhzaUEwVU5BQ0FBS0FJQUlBRkJCQ0FDR3lBRFFRSkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xxUUVCQlg4amdJQ0FnQUJCRUdzaUFpU0FnSUNBQUVFQUlRTUNRQ0FBS0FJSUlnUWdBVThOQUFKQUlBQkJER29pQlNBQUtBSUFJZ1lnQkNBQkVKcUFnSUFBUVFGeERRQWdBa0VFYWlBRklBRVFtNENBZ0FBZ0FpOEJEQ0lERFFFZ0FpZ0NDQ0VCSUFJb0FnUWdBQ2dDQUNBQUtBSUVFS1dBZ0lBQUlRTWdCU0FHSUFRUWhvQ0FnQUFnQUNBRE5nSUFDeUFBSUFFMkFnaEJBQ0VEQ3lBQ1FSQnFKSUNBZ0lBQUlBTUxkUUVDZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBQWtBQ1FDQUREUUFnQkNBQUtRSUFOd01BSUFRZ0FTQUNFSWFBZ0lBQVFRRWhCUXdCQzBFQUlRVWdBa1VOQUVFQURRQWdBQ2dDQUNBQklBSkJBQ0FEUVFBZ0FDZ0NCQ2dDQkJHQ2dJQ0FBQUFoQlFzZ0JFRVFhaVNBZ0lDQUFDQUZDNVVCQVFGL0k0Q0FnSUFBUVRCcklnTWtnSUNBZ0FBZ0F5QUJLUUlBTndNSUlBTkJFR29nQTBFSWFpQUNFSUdBZ0lBQUFrQUNRQ0FETHdFVUlnRkZEUUFnQXlBQk93RWdJQU5CR0dvaEFnd0JDeUFEUVFBN0FTd2dBeUFDTmdJb0lBTWdBeWdDRURZQ0pDQURRU1JxSVFJTElBQWdBaWtDQURjQ0FDQUFRUWhxSUFKQkNHb29BZ0EyQWdBZ0EwRXdhaVNBZ0lDQUFBdlNBZ01HZndGK0IzOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQUFLQUlFSVFRZ0FDZ0NBQ0VGUVFBaEJpQUNRZjhCY1NFSEEzOENRQUpBQWtBZ0JpQUVSdzBBUVg4aENBd0JDd0pBSUFVZ0JrRUVkR29pQWtFSWFpa0RBQ0lKUWdCVERRQWdBaWtEQUhzZ0NYdDhweUFCU1EwQ0N5QUdRUWQwSWdoQmdBRnFJUW9EUUNBSUlBcFBEUUlnQ0NBQUtRSUFJZ2xDR1lpblFZQi9jU0lDSUFnZ0Frc2JJZ3NnQ0dzaERDQUpwMEVJSUFsQ0lJaW5HeUVOSUFoQkVIUm9JUTVCQUNFQ0FrQURRQUpBSUF3Z0FrY05BQ0FMSVE4TUFndEIvd0VnQ0NBQ2FpSVBRUWR4SWhCQkIzTjJRUUVnRUhSeElBMGdEMEVEZG1vdEFBQnhSUTBCSUFKQkFXb2lBaUFCU1EwQUlBNGdCMGtOQUFzZ0F5QUpOd01JSUFOQkNHb2dDQ0FCUVFBUW5ZQ0FnQUFNQWdzZ0QwRUJhaUVJREFBTEN5QURRUkJxSklDQWdJQUFJQWdQQ3lBR1FRRnFJUVlNQUFzTFZBRUJmeUFEUVFGeElRUUNRQU5BSUFKRkRRRWdBQ2dDQUVFSUlBQW9BZ1FiSUFGQkEzWnFJZ01nQXkwQUFFRitJQUZCQjNFaUEzZHhJQVFnQTNSeU9nQUFJQUZCQVdvaEFTQUNRWDlxSVFJTUFBc0xDOXNCQVFOL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FBQ1FDQUFRWUFRVHcwQUk0R0FnSUFBUWFpQXdJQUFhaUFBSUFGQmdCQWdBVUdBRUVrYklBQnJFSitBZ0lBQUN3SkFJQUZCZ0JCTkRRQUNRQ09CZ0lDQUFFR2dnTUNBQUdvb0FnUU5BQ09CZ0lDQUFFR2dnTUNBQUdvaUEwR0FJRFlDQkNBRElBRkJmMm9pQVVFUWRDSUVOZ0lBSUFSQkFFR0FnQVFRcElDQWdBQWFDeUFDSTRHQWdJQUFRYUNBd0lBQWFpa0RBRGNEQ0NBQ1FRaHFJQUJCZ0JBZ0FFR0FFRXNiSWdCQmdIQnFJQUVnQUdzUW40Q0FnQUFMSUFKQkVHb2tnSUNBZ0FBTE93RUJmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQUNrQ0FEY0RDQ0FEUVFocUlBRWdBa0VCRUoyQWdJQUFJQU5CRUdva2dJQ0FnQUFMdlFFQkJIOUJBQ0VFQWtBZ0FVR0JnSHhQRFFBQ1FDT0JnSUNBQUVHb2dNQ0FBR29nQVVILy93TnFRUkIySWdFZ0FoQ2NnSUNBQUNJRVFYOUhEUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb2dBU0FDRUp5QWdJQUFJZ1JCZjBZTkFDQUVRWUFRYWlFRURBRUxRUUFoQkVFQklBSjBJZ1UvQUNJR1FSQjBJZ0pxUVg5cVFRQWdCV3R4SWdVZ0FtdEJFSFlpQnlBQmFrQUFRUUZJRFFFZ0J5QUdhaUVFSUFVZ0FrWU5BQ0FHSUFRUW5vQ0FnQUFMSUFSQkVIUWhCQXNnQkF0UEFRRi9Ba0FnQWtILy93TnFJZ1pCZ0lCOGNTQUVUeUlDUlEwQUlBUkIvLzhEYWtFUWRpSUVJQVpCRUhZaUJrWU5BQ0FFSUFGQi8vOERha0VRZGlJQmFpQUJJQVpxRUo2QWdJQUFDeUFDQ3lFQUlBRkIvLzhEYWtFUWRpSUJJQUVnQWtILy93TnFRUkIyYWhDZWdJQ0FBQXQxQVFGK0lBQWdCQ0FCZmlBQ0lBTitmQ0FEUWlDSUlnSWdBVUlnaUNJRWZud2dBMEwvLy8vL0Q0TWlBeUFCUXYvLy8vOFBneUlCZmlJRlFpQ0lJQU1nQkg1OElnTkNJSWg4SUFOQy8vLy8vdytESUFJZ0FYNThJZ0ZDSUloOE53TUlJQUFnQVVJZ2hpQUZRdi8vLy84UGc0UTNBd0FMTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7CmNvbnN0IGUgPSBhd2FpdCBoKCksIEIgPSBlLmV4cG9ydHM7CmZ1bmN0aW9uIGsoSSkgewogIGNvbnN0IHsgcHRyOiBRLCBsZW5ndGg6IEEgfSA9IGEoSSwgQiksIGcgPSBCLmNvbXByZXNzUGFja2VkKFEsIEEpOwogIEIuZnJlZShRLCBBKTsKICBjb25zdCBDID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLnNsaWNlKAogICAgICBnLAogICAgICBnICsgKEIubWVtb3J5LmJ1ZmZlci5ieXRlTGVuZ3RoIC0gZykKICAgICkKICApLCBFID0gKEMuYXQoMCkgPDwgMTYpICsgQy5hdCgxKSwgRCA9IEMuc2xpY2UoMiwgRSksIG8gPSB0KEQpOwogIHJldHVybiBCLmZyZWUoZywgRSksIG87Cn0KZnVuY3Rpb24gcyhJKSB7CiAgY29uc3QgUSA9IChJLmNoYXJDb2RlQXQoMCkgPDwgMTYpICsgSS5jaGFyQ29kZUF0KDEpOwogIGxldCBBID0gQi5hbGxvY1VpbnQxNihJLmxlbmd0aCAtIDIpLCBnID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgQSwKICAgIEkubGVuZ3RoIC0gMgogICk7CiAgZm9yIChsZXQgaSA9IDI7IGkgPCBJLmxlbmd0aDsgaSsrKQogICAgZ1tpIC0gMl0gPSBJLmNoYXJDb2RlQXQoaSk7CiAgY29uc3QgQyA9IEIuZGVjb21wcmVzc1BhY2tlZCgKICAgIEEsCiAgICBJLmxlbmd0aCwKICAgIFEKICApOwogIEIuZnJlZShBLCBJLmxlbmd0aCk7CiAgY29uc3QgRSA9IG5ldyBVaW50OEFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLnNsaWNlKAogICAgICBDLAogICAgICBDICsgKEIubWVtb3J5LmJ1ZmZlci5ieXRlTGVuZ3RoIC0gQykKICAgICkKICApLCBEID0gRS5pbmRleE9mKDApLCBvID0gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKAogICAgRS5zbGljZSgwLCBEKQogICk7CiAgcmV0dXJuIEIuZnJlZShDLCBEICsgMSksIG87Cn0Kb25tZXNzYWdlID0gYXN5bmMgZnVuY3Rpb24oSSkgewogIGNvbnN0IHsgY29tbWFuZDogUSwgaWQ6IEEsIGRhdGE6IGcgfSA9IEkuZGF0YTsKICBzd2l0Y2ggKFEpIHsKICAgIGNhc2UgImRlY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IHMoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogICAgY2FzZSAiY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IGsoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogIH0KfTsK", J = typeof window < "u" && window.Blob && new Blob([atob(l)], { type: "text/javascript;charset=utf-8" });
2
- function S() {
3
- let U;
4
- try {
5
- if (U = J && (window.URL || window.webkitURL).createObjectURL(J), !U)
6
- throw "";
7
- return new Worker(U);
8
- } catch {
9
- return new Worker("data:application/javascript;base64," + l, { type: "module" });
10
- } finally {
11
- U && (window.URL || window.webkitURL).revokeObjectURL(U);
12
- }
13
- }
14
- const R = new S();
15
- let V = 0;
16
- const Q = {};
17
- R.onmessage = function(U) {
18
- console.log("onmessage", U);
19
- const F = U.data.id;
20
- Q[F](U.data.data), delete Q[F];
21
- };
22
- async function d(U) {
23
- const F = V++;
24
- return console.log("compress", F), new Promise((B) => {
25
- Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
26
- });
27
- }
28
- async function W(U) {
29
- const F = V++;
30
- return console.log("decompress", F), new Promise((B) => {
31
- Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
32
- });
33
- }
34
- export {
35
- d as compress,
36
- W as decompress
37
- };
1
+ const l = "ZnVuY3Rpb24gayhBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShBKSwgZyA9IEMuYWxsb2NVaW50OChJLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgQy5tZW1vcnkuYnVmZmVyLAogICAgZywKICAgIEkubGVuZ3RoCiAgKS5zZXQoSSksIHsgcHRyOiBnLCBsZW5ndGg6IEkubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChBKSB7CiAgY29uc3QgQyA9IG5ldyBBcnJheShBLmxlbmd0aCk7CiAgZm9yIChsZXQgSSA9IDA7IEkgPCBBLmxlbmd0aDsgSSsrKQogICAgQ1tJXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoQVtJXSk7CiAgcmV0dXJuIEMuam9pbigiIik7Cn0KZnVuY3Rpb24gdChBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEEuYnVmZmVyLnNsaWNlKEMsIEMgKyA4KQogICksIGcgPSBJLmF0KDApLCBRID0gSS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IEMgLSBnLAogICAgZW5kOiBDLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBuID0gYXN5bmMgKEEgPSB7fSwgQykgPT4gewogIGxldCBJOwogIGlmIChDLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IGcgPSBDLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShnLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKGcpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEEpOwogIH0gZWxzZSB7CiAgICBjb25zdCBnID0gYXdhaXQgZmV0Y2goQyksIFEgPSBnLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBJID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZywgQSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IGcuYXJyYXlCdWZmZXIoKTsKICAgICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEEpOwogICAgfQogIH0KICByZXR1cm4gSS5pbnN0YW5jZTsKfSwgSiA9IChBKSA9PiBuKEEsICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FuOS9BWDlnQVg4QVlBUi9mMzkvQUdBQ2YzOEJmbUFEZjM5L0FYOWdCWDkrZm41K0FBTWhJQU1FQXdVRUJnWUhCUWdKQUFZR0JnY0VDZ0FFQkFZS0NBVUVBQUlCQ3dvS0JBVUJjQUVFQkFVREFRQVJCZzRDZndGQmdJREFBQXQvQUVFQUN3ZFFCZ1p0WlcxdmNua0NBQXBoYkd4dlkxVnBiblE0QUFBTFlXeHNiMk5WYVc1ME1UWUFBZ1JtY21WbEFBTU9ZMjl0Y0hKbGMzTlFZV05yWldRQURCQmtaV052YlhCeVpYTnpVR0ZqYTJWa0FCRUpDUUVBUVFFTEF4b2JIQXFGUkNCZUFRRi9JNENBZ0lBQVFSQnJJZ0VrZ0lDQWdBQWdBU09CZ0lDQUFFR1lnTUNBQUdvcEF3QTNBd0FnQVVFSWFpQUJJQUFRZ1lDQWdBQUNRQ0FCTHdFTURRQWdBU2dDQ0NFQUlBRkJFR29rZ0lDQWdBQWdBQThMQTM4QURBQUxDM0VDQVg4QmZpT0FnSUNBQUVFUWF5SURKSUNBZ0lBQVFvQ0FnSUFRSVFRQ1FFRUJSUTBBQWtBZ0FnMEFRdi8vLy84UElRUU1BUXNnQVNnQ0FDQUNRUUJCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUM0WUJBZ0ovQVg0amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQkJBRWc2QUF3amdZQ0FnQUFoQWdKQUlBQkJmMHdOQUFKQUFrQWdBRUVCZENJQURRQkJmaUVBREFFTElBSkJtSURBZ0FCcUtRTUFJZ09uSUFCQkFVRUFJQU5DSUlpbktBSUFFWUNBZ0lBQUFDSUFSUTBCQ3lBQlFSQnFKSUNBZ0lBQUlBQVBDd04vQUF3QUN3c1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVNBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDNjBDQXdGL0FYNENmd0pBSUFBdEFCd2lBa0VVVHcwQUlBQW9BaGhCZ0FKcVFYOGdBblJCZjNOSkRRQWdBQ0FDUVFGcUlnSTZBQndMSUFHdFF2Ly9QNE1oQXdKQUFrQURRQ0FDUWY4QmNTSUVSUTBCSUFBb0FnUWhBUUpBQWtBZ0FDMEFIU0lGUWNBQVJnMEFJQUVOQVFzZ0FDQUJRUUZxRUlhQWdJQUFJZ0ZCLy84RGNRMERJQUFnQUNnQ0JDSUJRUUZxTmdJRUlBQW9BZ0FnQVVFRGRHcENBRGNEQUVFQUlRVWdBRUVBT2dBZElBQW9BZ1FoQVFzZ0FVRURkQ0FBS0FJQWFrRjRhaUlCSUFFcEF3QWdBMEVBSUFKclFUOXhyWVlnQmEySWhEY0RBQ0FBSUFBdEFCMGdCRUhBQUNBRmEwSC9BWEVpQVNBRUlBRkpHeUlCYWpvQUhTQUNJQUZySVFJTUFBc0xJQUFnQUNnQ0ZFRUJhallDRkNBQUlBQW9BaGhCQVdvMkFoaEJBQ0VCQ3lBQkN5MEJBbjlCQUNFQ0FrQWdBQ2dDQ0NJRElBRlBEUUFnQUNBRElBRVFqb0NBZ0FBUWpZQ0FnQUFoQWdzZ0Fnc1BBQ0FBSUFCQkRHb1FpSUNBZ0FBTFpRRURmd0pBSUFBb0FnQWlBa1VOQUFKQUlBSkJkR29pQTBFSWFpZ0NBRUVOYkVFUGFrRjhjU0lDUVFBZ0Foc2lCRVVOQUNBQktBSUFJQU5CQkNBQ0d5QUVRUUpCQUNBQktBSUVLQUlJRVlHQWdJQUFBQXNnQUVFQU5nSUlJQUJCQURZQ0FBc0xnUU1FQkg4QmZnUi9BWDRqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQ09CZ0lDQUFDRUZJQUVvQWdBaEJnSkFBa0FnQVNnQ0JBMEFJQVZCZ0lEQWdBQnFJUWNNQVFzZ0FpQURFSXFBZ0lBQUlRZ0NRQUpBSUFZTkFFRUFJUVZCZnlFSkRBRUxJQVpCZkdvb0FnQWlCVUYvYWlFSkN5QUdRWGhxSVFvZ0NTQUlwM0VoQVNBSVFqbUlweUVMQTBBamdZQ0FnQUJCZ0lEQWdBQnFJUWNnQmlBQmFpd0FBQ0lNUlEwQklBVkZEUUVDUUNBTVFYOUtEUUFnQ3lBTVFmOEFjVWNOQUNBQ0lBTWdDaWdDQUNBQlFRTjBhaUlNS0FJQUlBd29BZ1FRaTRDQWdBQkJBWEZGRFFBZ0JFRUJPZ0FNSUFRZ0FUWUNDQ0FFUVFocUlRY01BZ3NnQlVGL2FpRUZJQUZCQVdvZ0NYRWhBUXdBQ3dzQ1FBSkFJQWN0QUFRTkFFSUFJUWhDQUNFTkRBRUxJQVFnQmtGMGFpZ0NBQ0FIS0FJQVFRSjBhaUlCUVFKcUxRQUFRUTl4T2dBQ0lBUWdBUzhCQURzQkFDQUVNd0VBSUFReEFBSkNFSWFFSVFoQ2dJQ0FnQkFoRFFzZ0FDQU5JQWlFTndJQUlBUkJFR29rZ0lDQWdBQUw3QVVGQW44QmZnRi9BbjRDZnlPQWdJQ0FBRUhnQUdzaUFpU0FnSUNBQUFKQUFrQUNRQUpBQWtBZ0FVRVFTdzBBSUFGQkEwME5BU0FBTlFBQVFpQ0dJQUFnQVVFQmRrSDgvLy8vQjNFaUEybzFBQUNFSVFRZ0FDQUJRWHhxSWdWcU5RQUFRaUNHSUFBZ0JTQURhMm8xQUFDRUlRWkNySnJpMDZQUzhQb2ZJUWNNQkF0QkFDRURRcXlhNHRPajB2RDZIeUVIUVFBaEJTQUJRVEJKRFFKQkFDRUZRcXlhNHRPajB2RDZIeUVIUXF5YTR0T2owdkQ2SHlFRVFxeWE0dE9qMHZENkh5RUdBMEFnQlVFd2FpSUlJQUZQRFFJZ0FrSEFBR29nQUNBRmFpSUZLUUFJSUFhRlFnQWdCU2tBQUVMYjBkQ0ZtdHJmZ1dlRlFnQVFuWUNBZ0FBZ0FrRXdhaUFGUVJocUtRQUFJQVNGUWdBZ0JVRVFhaWtBQUVMamphUGtpZDZhM281L2hVSUFFSjJBZ0lBQUlBSkJJR29nQlVFb2Fpa0FBQ0FIaFVJQUlBVkJJR29wQUFCQ3c1bmRxY2U1MmN6WUFJVkNBQkNkZ0lDQUFDQUNRY0FBYWtFSWFpa0RBQ0FDS1FOQWhTRUdJQUpCSUdwQkNHb3BBd0FnQWlrRElJVWhCeUFDUVRCcVFRaHFLUU1BSUFJcEF6Q0ZJUVFnQ0NFRkRBQUxDMElBSVFaQ3JKcmkwNlBTOFBvZklRY0NRQ0FCRFFCQ0FDRUVEQU1MSUFBZ0FVRUJkbW94QUFCQ0NJWWdBREVBQUVJUWhvUWdBU0FBYWtGL2FqRUFBSVFoQkF3Q0N5QUVJQWVGSUFhRklRY0xJQUFnQldvaENTQUJJQVZySVFnQ1FBTkFJQU5CRUdvaUJTQUlUdzBCSUFKQjBBQnFJQWtnQTJvaUEwRUlhaWtBQUNBSGhVSUFJQU1wQUFCQzI5SFFoWnJhMzRGbmhVSUFFSjJBZ0lBQUlBSkIwQUJxUVFocUtRTUFJQUlwQTFDRklRY2dCU0VEREFBTEN5QUJJQUJxSWdOQmVHb3BBQUFoQmlBRFFYQnFLUUFBSVFRTElBSkJFR29nQkVMYjBkQ0ZtdHJmZ1dlRlFnQWdCaUFIaFVJQUVKMkFnSUFBSUFJZ0FrRVFha0VJYWlrREFFTGIwZENGbXRyZmdXZUZRZ0FnQWEwZ0Fpa0RFSVZDcjhqMXhjZXNoN3VnZjRWQ0FCQ2RnSUNBQUNBQ1FRaHFLUU1BSVFjZ0Fpa0RBQ0VFSUFKQjRBQnFKSUNBZ0lBQUlBY2dCSVVMV0FFQ2YwRUFJUVFDUUNBQklBTkhEUUFDUUNBQUlBSkhEUUJCQVE4TEEwQWdBVVVoQkNBQlJRMEJJQUZCZjJvaEFTQUNMUUFBSVFNZ0FDMEFBQ0VGSUFCQkFXb2hBQ0FDUVFGcUlRSWdCU0FEUmcwQUN3c2dCQXY4RkFRQmZ3RitIMzhCZmlPQWdJQ0FBRUhnQVdzaUFpU0FnSUNBQUFKQUFrQUNRQ0FCRFFBamdZQ0FnQUJCbUlEQWdBQnFLUU1BSVFOQnF0V3ExWG9oQkVFQUlRVkJDU0VHUVFBaEIwRUFJUUZCQUNFSVFRQWhDUXdCQ3lBQ1FTQnFRUWhxSWdwQkFEWUNBQ0FDUWdBM0F5QWdBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDTENBQ0lBTTNBclFCSUFKQkFEWUNzQUVnQWtLcTFhclZDamNDcUFFQ1FBSkFBa0FnQWtHb0FXb2dBUkNOZ0lDQUFFSC8vd054RFFBZ0FrRWdha0VNYWlFTElBSkJPR3BCRUdvZ0FrR29BV3BCRUdvb0FnQTJBZ0FnQWtFNGFrRUlhaUFDUWFnQmFrRUlhaUlNS1FJQU53TUFJQUlnQWlrQ3FBRTNBemdnQWtFSk93RlVJQUpDQURjQ1RDQURRaUNJcHlFTklBT25JUTVCZ0FJaEQwRUFJUWdEUUNBQUlBaHFJUWRCQUNFRUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUEwQUNRQUpBSUFSQkFtb2lDU0FJYWlBQlR3MEFJQUpCMkFCcUlBSkJJR29nQnlBSkVJbUFnSUFBSUFJdEFGd05BU0FDS0FJZ0lSQWdBaWdDS0EwR0FrQUNRQ0FRRFFCQkFTRUZEQUVMSUJCQmZHb29BZ0N0UXRBQWZpSURJQU5DNUFDQ2ZVTGtBSHhDMEFDQXB5RUZDMEVBSVFZZ0RFRUFOZ0lBSUFKQ0FEY0RxQUZCQUEwRkFrQUNRRUlCUVNBZ0JXZHJyVUwvL3dPRGhxY2lCVUVJSUFWQkNFc2JJaEZCRDJvaUVpQVJRUU4wYWlJVElCRkJBblJxUVh4eElnVU5BRUY4SVFVTUFRdEJBQ0VHSUE0Z0JVRUNRUUFnRFNnQ0FCR0FnSUNBQUFBaUJVVU5CZ3NnQlVFSWFpSVVJQkUyQWdBZ0JTQUZJQkpCZkhGcU5nSUVJQVVnQlNBVFFYeHhhallDQUNBQ0lBVkJER29pQlRZQ3FBRWdCVUVBSUJFUW5vQ0FnQUFoQmlBQ0lCR3RRdEFBZmtMa0FJQ25JaFUyQXJBQklBSW9BaVFpRmtVTkJFRUFJUmRCQUNFWUFrQWdFRVVOQUNBUVFYeHFLQUlBSVJnTElBWkJkR29oR1NBR1FYaHFJUm9nRUVGMGFpSUZLQUlBSVJzZ0JVRUVhaWdDQUNFY1FRQWhIUU5BSUIwZ0dFWU5CQUpBSUJBZ0hXb3NBQUJCQUU0TkFDQWJJQjFCQW5ScUlnVkJBbW90QUFCQkVIUWhIaUFGTHdFQUlSOGdIQ0FkUVFOMGFpSUZLQUlFSVNBZ0JTZ0NBQ0VoQWtBZ0YwVU5BQ0FoSUNBUWlvQ0FnQUFoQXlBVUtBSUFJaEZCZjJvaUV5QURwM0VoQlNBRFFqbUlweUVpQTBBZ0JpQUZhaXdBQUNJU1JRMEJJQkZGRFFFQ1FDQVNRWDlLRFFBZ0lpQVNRZjhBY1VjTkFDQWhJQ0FnR2lnQ0FDQUZRUU4wYWlJU0tBSUFJQklvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBa0VCT2dEY0FRd0NDeUFSUVg5cUlSRWdCVUVCYWlBVGNTRUZEQUFMQ3lBZklCNXlJUk1nSVNBZ0VJcUFnSUFBSVFNZ0ZDZ0NBRUYvYWlJU0lBT25jU0VGQWtBRFFDQUdJQVZxSWhFc0FBQkJmMG9OQVNBRlFRRnFJQkp4SVFVTUFBc0xJQkVnQTBJNWlLZEJnQUZ5T2dBQUlCb29BZ0FnQlVFRGRHb2lFU0FnTmdJRUlCRWdJVFlDQUNBWktBSUFJQVZCQW5ScUlnVWdFenNCQUNBRlFRSnFJQk5CZ0lBOGNVRVFkam9BQUNBVlFYOXFJUlVnRjBFQmFpSVhJQlpIRFFBZ0ZpRVhEQVVMSUIxQkFXb2hIUXdBQ3dzQ1FBSkFJQWhCQVdvZ0FVa05BQ0FDUVRocUlBY3RBQUFRaFlDQWdBQkIvLzhEY1EwT0RBRUxJQUpCNkFCcVFSQnFJQUpCSUdwQkVHb29BZ0EyQWdBZ0FrSG9BR3BCQ0dvZ0FrRWdha0VJYWlrREFEY0RBQ0FDSUFJcEF5QTNBMmdnQWtHQUFXb2dBa0hvQUdvZ0J5QUVRUUpxRUltQWdJQUFBa0FDUUFKQUlBSXRBSVFCRFFBZ0JBMEJJQWN0QUFBaENRd0NDeUFDUVRocUlBSXZBWUFCSUFJdEFJSUJRUkIwY2hDRmdJQ0FBRUgvL3dOeFJRMENEQThMSUFKQmlBRnFRUkJxSUFKQklHcEJFR29vQWdBMkFnQWdBa0dJQVdwQkNHb2dBa0VnYWtFSWFpa0RBRGNEQUNBQ0lBSXBBeUEzQTRnQklBSkJvQUZxSUFKQmlBRnFJQWNnQkVFQmFoQ0pnSUNBQUNBQ0x3R2dBU0FDTFFDaUFVRVFkSEloQ1FzZ0FrRTRhaUFKRUlXQWdJQUFRZi8vQTNFTkRTQUNRVGhxSUFjZ0JHcEJBV290QUFBUWhZQ0FnQUJCLy84RGNRME5DeUFDUVNCcUVJZUFnSUFBSUFJdkFWWWhFU0FDTFFCVklRVWdBaTBBVkNFR0lBSW9BbEFoQnlBQ0tBSk1JUUVnQWlrQ1JDRURJQUlvQWtBaENDQUNLQUk4SVFrZ0FpZ0NPQ0VFREE4TElBUkJBV29oQkF3QUN3c2dBaUFWTmdLd0FTQUNJQmMyQXF3QkN5QUtLQUlBSVFVZ0NpQU1LQUlBTmdJQUlBd2dCVFlDQUNBQ1FRQTJBaVFnQWlrRElDRURJQUlnQWlrRHFBRWlJemNESUNBQ0lBTTNBNmdCSUNPbklSQkJBU0VHQ3lBQ1FhZ0JhaUFMRUlpQWdJQUFJQVlOQUNPQmdJQ0FBQ0VGSUFJb0FpUU5BU0FGUVlDQXdJQUFhaUVTREFNTElBY2dDUkNLZ0lDQUFDRURBa0FDUUNBUURRQWdBNmNoQlVFQUlSSkJmeUVkREFFTElCQkJmR29vQWdBaUVrRi9haUlkSUFPbmNTRUZDeUFRUVhocUlTQWdFRUY4YWlFaElBTkNPWWluSVNJZ0VpRUdBMEFnRUNBRmFpSVRMQUFBSWhGRkRRSWdCa0VBUmcwQ0FrQUNRQ0FSUVg5S0RRQWdJaUFSUWY4QWNVY05BQ0FISUFrZ0lDZ0NBQ0FGUVFOMGFpSVJLQUlBSUJFb0FnUVFpNENBZ0FCQkFYRkZEUUVNQmdzZ0VpQWhLQUlBUncwQUlBVWdFaUFSUVFGR0d5RVNDeUFHUVg5cUlRWWdCVUVCYWlBZGNTRUZEQUFMQ3lBSElBa1Fpb0NBZ0FBaEF3SkFBa0FnRUEwQVFRQWhCa0YvSVJNTUFRc2dFRUY4YWlnQ0FDSUdRWDlxSVJNTElCQkJlR29oSWlBVElBT25jU0VGSUFOQ09ZaW5JUjBEUUNPQmdJQ0FBRUdBZ01DQUFHb2hFaUFRSUFWcUxBQUFJaEZGRFFJZ0JrVU5BZ0pBSUJGQmYwb05BQ0FkSUJGQi93QnhSdzBBSUFjZ0NTQWlLQUlBSUFWQkEzUnFJaEVvQWdBZ0VTZ0NCQkNMZ0lDQUFFRUJjVVVOQUNBQ1FRRTZBTUFCSUFJZ0JUWUN2QUVnQWtHOEFXb2hFZ3dEQ3lBR1FYOXFJUVlnQlVFQmFpQVRjU0VGREFBTEN5QWhLQUlBSVFZZ0FpQUNLQUlvUVg5cU5nSW9JQkFnRW1vZ0V5QVNJQVpKSWdZYklDSkJnQUZ5T2dBQUlCQkJkR29vQWdBaEVTQWdLQUlBSVJNZ0FpQUNLQUlrUVFGcU5nSWtJQk1nRWlBRklBWWJJZ1ZCQTNScUlnWWdDVFlDQkNBR0lBYzJBZ0FnRVNBRlFRSjBhaUVKREFJTElCSXRBQVJGRFFRZ0VpZ0NBQ0VGQ3lBUVFYUnFLQUlBSUFWQkFuUnFJUWtMSUFrZ0R6c0JBQ0FKUVFKcUlBOUJnSUE4Y1VFUWRqb0FBQUpBQWtBZ0JBMEFJQWN0QUFBaENRd0JDeUFDUWVBQWFpQUNRU0JxSUFjZ0JFRUJhaENKZ0lDQUFDQUNMd0ZnSUFJdEFHSkJFSFJ5SVFrTElBSkJPR29nQ1JDRmdJQ0FBRUgvL3dOeERRRWdDQ0FFYWtFQmFpRUlJQTlCQVdvaUQwSC8vejl4UWYvL1AwY05BQ0FRUVFBZ0VFRjhhaWdDQUNJRUVKNkFnSUFBR2lBQ1FRQTJBaVFnQWlBRXJVTFFBSDVDNUFDQVBnSW9JQUpCT0dwQi8vOC9FSVdBZ0lBQVFmLy9BM0VOQVNBQ1FRQTJBbEFnQWtFSk9nQlVRWUFDSVE4TUFBc0xJQUpCSUdvUWg0Q0FnQUFNQVFzZ0FrRWdhaENIZ0lDQUFBdEJBQ0VFREFFTElBSWdFVHNCSGlBQ0lBVTZBQjBnQWlBR09nQWNJQUlnQnpZQ0dDQUNJQUUyQWhRZ0FpQUROd0lNSUFJZ0NEWUNDQ0FDSUFRMkFnQWdBaUFKTmdJRVFRQWhCQ0FDSUFsQkFtb1Fob0NBZ0FCQi8vOERjUTBBSUFJb0FnQWlCQ0FDS0FJRVFRTjBhaUlGUVFocUlBSW9BZ2hCQW5TdE53TUFJQVVnQ1VFRGRDSUpRUVJ5clVJZ2hpQUNOUUlVaERjREFDQUVJQWxxUVFScUlRUUxJQUpCNEFGcUpJQ0FnSUFBSUFRTDFnSURCSDhCZmdKL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQi8vLy8vd0ZMT2dBSUlBRkJnSUNBZ0FKUERRQkJBQ0VESUFBb0Fnd2dCU0FFUVFOMFFRTWdBVUVEZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDQXdCQ3lBQUtRSU1JUVlnQWlBQlFmLy8vLzhCU3pvQURBSkFJQUZCZ0lDQWdBSlBEUUFDUUFKQUlBRkJBM1FpQXcwQVFYZ2hBd3dCQ3lBR3B5QURRUU5CQUNBR1FpQ0lweWdDQUJHQWdJQ0FBQUFpQTBVTkFRc2dBeUFBS0FJQUlBQW9BZ1JCQTNRUW40Q0FnQUFoQjBFQUlRTUNRQ0FFUVFOMFFRQWdCQnNpQ0VVTkFDQUFLQUlNSUFWQkNDQUVHeUFJUVFOQkFDQUFRUkJxS0FJQUtBSUlFWUdBZ0lBQUFBc2dBQ0FCTmdJSUlBQWdCellDQUF3QkMwRUJJUU1MSUFKQkVHb2tnSUNBZ0FBZ0F3c2xBUUYvQTBCQmZ5QUFRUUYySUFCcVFRaHFJZ0lnQWlBQVNSc2lBQ0FCU1EwQUN5QUFDejhCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQXBBZ3czQXdnZ0FVRUlhaUFBS0FJQUlBQW9BZ2dRa0lDQWdBQWdBVUVRYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzRNTUF3Ri9BWDRMZnlPQWdJQ0FBRUhRQUdzaUF5U0FnSUNBQUNBRFFRQTJBa1FnQTBLcTFhclZDamNDUENBREk0R0FnSUFBUVppQXdJQUFhaWtEQUNJRU53SklBa0FDUUFKQUFrQWdBZzBBUWFyVnF0VjZJUVZCQUNFR0RBRUxRYXJWcXRWNklRVWdBaUVHSUFOQnlBQnFJZ2RCcXRXcTFYcEJBQ0FDRUpLQWdJQUFRUUZ4RFFBZ0EwRW9haUFISUFJUWs0Q0FnQUFnQXk4Qk1BMEJJQU1vQWl3aEJpQURLQUlvSVFVTFFRa2hDRUVBSVFsQkFDRUtRUUFoQzBFQUlRd0RRQUpBQWtBQ1FBSkFBa0FnRENBQ1JnMEFJQWhCL3dGeElnZEJGRWtOQVF3RUN5QURJQVEzQXlBQ1FBSkFJQU5CSUdvZ0JTQUdJQUlRa29DQWdBQkJBWEZGRFFBZ0JTRUlEQUVMSUFOQlBHb2dBMEVnYWlBQ0VKT0FnSUFBSUFNdkFVUU5CaUFES0FJOElnZ2dCU0FES0FKQUlnSkJBblFRbjRDQWdBQWFJQU1nQkRjREtDQURRU2hxSUFVZ0JoQ1VnSUNBQUFzQ1FDQUNEUUJCQUNFSlFhclZxdFY2SVFwQkFDRU1EQUlMSUFOQkFEWUNNQ0FEUXFyVnF0VUtOd0lvSUFNZ0JEY0NOQ0FEUVFCQi8vOC9FSTZBZ0lBQUlnZEIvLy8vL3dGTE9nQThJQWRCZ0lDQWdBSlBEUUlDUUFKQUlBZEJBM1FpRFEwQVFYd2hEUXdCQ3lBRXB5QU5RUUpCQUNBRVFpQ0lweWdDQUJHQWdJQ0FBQUFpRFVVTkF3c2dBeUFITmdJd0lBTWdEVFlDS0VFQUlRY0NRQU5BSUFkQitQLy9BMFlOQVNBTklBZHFRZ0EzQWdBZ0IwRUlhaUVIREFBTEN5QURRZi8vUHpZQ0xDQURJQVEzQWtoQkFDRUhJQU5CQURZQ1JDQURRcXJWcXRVS053SThJQU5CUEdvZ0FrRVliQkNWZ0lDQUFFSC8vd054RFFJZ0F5a0NTQ0VFSUFNb0FrUWhEQ0FES0FJOElnb2dBeWdDUUNJSmFpQUlMUUFBT2dBQUlBMGdDQzhCQUNBSVFRSnFMUUFBUVJCMGNrRURkR29pRGtFQk5nSUVJQTRnQ2pZQ0FDQUpRUUZxSVFCQmdBSWhEMEVCSVE0RFFDQUFJUWtDUUFKQUFrQUNRQ0FPSUFKUERRQUNRQ0FJSUE1QkFuUnFJZ0F2QVFBZ0FFRUNhaTBBQUVFUWRISWlBRUgvL3o5SERRQWdEa0VCYWlJT0lBSlBEUUZCQUNFSEFrQURRQ0FIUWZqLy93TkdEUUVnRFNBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzQ1FDQUlJQTVCQW5ScUlnY3ZBUUFnQjBFQ2FpMEFBRUVRZEhJaUIwR0FBa2tOQUNBRFFmLy9QellDTEF3SkN5QUtJQWxxSUFjNkFBQWdDVUVCYWlFQVFZQUNJUThNQkFzZ0FFR0FBa2tOQVFKQUlBMGdBRUVEZEdvaUFDZ0NBQ0lMRFFBZ0NpQUphaUFLSUFkcUlnQWdDU0FIYXlJTEVKK0FnSUFBR2lBS0lBc2dDV29pQzJvZ0FDMEFBRG9BQUNBTFFRRnFJUUFNQXdzZ0NpQUphaUFMSUFBb0FnUWlBQkNmZ0lDQUFCb2dBQ0FKYWlFQURBSUxJQU5CLy84L05nSXNJQU5CS0dvUWo0Q0FnQUFNQlFzZ0NpQUphaUFBT2dBQUlBbEJBV29oQUFzZ0RTQVBRZi8vUDNGQkEzUnFJZ3NnQ1NBSGEwRUJhallDQkNBTElBb2dCMm8yQWdBZ0QwRUJhaUVQQ3lBT1FRRnFJUTRnQ1NFSERBQUxDeUFJSUF0QmdBSnFRWDhnQjNSQmYzTlBhaUVJREFJTElBTWdCRGNDR0NBRElBbzJBZ3dnQXlBSk5nSVFJQU1nRERZQ0ZBSkFBa0FnRENBSlFRaHFJZzFKRFFBZ0NTRUhEQUVMUVFBaEJ5QURRUXhxSUF3Z0RSQ09nSUNBQUJDVmdJQ0FBRUgvL3dOeERRVWdBeWdDRENFS0lBTW9BaFFoRENBREtBSVFJUWNMSUFvZ0Iyb2lCeUFKT2dBQUlBZEJCMm9nREVFWWRqb0FBQ0FIUVFacUlBeEJFSFk2QUFBZ0IwRUZhaUFNUVFoMk9nQUFJQWRCQkdvZ0REb0FBQ0FIUVFOcUlBbEJHSFk2QUFBZ0IwRUNhaUFKUVJCMk9nQUFJQWRCQVdvZ0NVRUlkam9BQUNBS0lBbHFJUWNNQkFzZ0EwRW9haENQZ0lDQUFBd0NDMEVBSVE0Z0NDRUhBa0FEUUNBSFFmOEJjU0lOUlEwQklBQWdDaUFKUWY4QmNVSEFBRVlpRDJvaUNrRURkR29wQXdCQkFDQUpJQThiSWdsQlAzR3Roa0VBSUExQndBQWdDV3RCL3dGeElnOGdEU0FQU1JzaURXdEJQM0d0aUtjZ0J5QU5heUlIZENBT2NpRU9JQTBnQ1dvaENRd0FDd3NnQlNBTVFRSjBhaUlISUE0N0FRQWdCMEVDYWlBT1FmLy9QM0VpQjBFUWRqb0FBRUVBSUF0QkFXb2dCMEgvL3o5R0lnY2JJUXRCQ1NBSUlBY2JJUWdnREVFQmFpRU1EQUFMQzBFQUlRY0xJQU5CMEFCcUpJQ0FnSUFBSUFjTGtBRUJBbjhqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQUpBQWtBZ0F3MEFJQVFnQUNrQ0FEY0RBQ0FFSUFFZ0FoQ1VnSUNBQUVFQklRVU1BUXRCQUNFRklBSkZEUUFnQkNBRFFmLy8vLzhEU3pvQURDQURRWUNBZ0lBRVR3MEFJQUFvQWdBZ0FTQUNRUUowUVFJZ0EwRUNkRUVBSUFBb0FnUW9BZ1FSZ29DQWdBQUFJUVVMSUFSQkVHb2tnSUNBZ0FBZ0JRdkJBUUlCZndGK0k0Q0FnSUFBUVNCcklnTWtnSUNBZ0FBZ0FTa0NBQ0VFSUFNZ0FrSC8vLy8vQTBzNkFCd0NRQUpBSUFKQmdJQ0FnQVJQRFFBQ1FBSkFJQUpCQW5RaUFRMEFRWHdoQVF3QkN5QUVweUFCUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaUFVVU5BUXNnQXlBQ05nSVVJQU1nQVRZQ0VDQURRUUE3QVJnZ0EwRVFhaUVDREFFTElBTkJBVHNCRENBRFFRUnFJUUlMSUFBZ0Fpa0NBRGNDQUNBQVFRaHFJQUpCQ0dvb0FnQTJBZ0FnQTBFZ2FpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFQ2RFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5b0JBUVYvSTRDQWdJQUFRU0JySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FDUUNBRVJRMEFRUUFOQUNBQUtBSU1JQVVnQkVFQUlBRkJBQ0FBUVJCcUtBSUFLQUlFRVlLQWdJQUFBRUVCY1VVTkFDQUFJQUUyQWdnTUFRc2dBaUFBUVF4cUlnWXBBZ0EzQXhBZ0FrRVlhaUFDUVJCcUlBRVFnWUNBZ0FBZ0FpOEJIQ0lERFFFZ0FpZ0NHQ0FBS0FJQUlBQW9BZ1FRbjRDQWdBQWhBeUFHSUFVZ0JCQ0VnSUNBQUNBQUlBRTJBZ2dnQUNBRE5nSUFDMEVBSVFNTElBSkJJR29rZ0lDQWdBQWdBd3ZTQWdNR2Z3RitCMzhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FBS0FJRUlRUWdBQ2dDQUNFRlFRQWhCaUFDUWY4QmNTRUhBMzhDUUFKQUFrQWdCaUFFUncwQVFYOGhDQXdCQ3dKQUlBVWdCa0VFZEdvaUFrRUlhaWtEQUNJSlFnQlREUUFnQWlrREFIc2dDWHQ4cHlBQlNRMENDeUFHUVFkMElnaEJnQUZxSVFvRFFDQUlJQXBQRFFJZ0NDQUFLUUlBSWdsQ0dZaW5RWUIvY1NJQ0lBZ2dBa3NiSWdzZ0NHc2hEQ0FKcDBFSUlBbENJSWluR3lFTklBaEJFSFJvSVE1QkFDRUNBa0FEUUFKQUlBd2dBa2NOQUNBTElROE1BZ3RCL3dFZ0NDQUNhaUlQUVFkeEloQkJCM04yUVFFZ0VIUnhJQTBnRDBFRGRtb3RBQUJ4UlEwQklBSkJBV29pQWlBQlNRMEFJQTRnQjBrTkFBc2dBeUFKTndNSUlBTkJDR29nQ0NBQlFRQVFsNENBZ0FBTUFnc2dEMEVCYWlFSURBQUxDeUFEUVJCcUpJQ0FnSUFBSUFnUEN5QUdRUUZxSVFZTUFBc0xWQUVCZnlBRFFRRnhJUVFDUUFOQUlBSkZEUUVnQUNnQ0FFRUlJQUFvQWdRYklBRkJBM1pxSWdNZ0F5MEFBRUYrSUFGQkIzRWlBM2R4SUFRZ0EzUnlPZ0FBSUFGQkFXb2hBU0FDUVg5cUlRSU1BQXNMQzlzQkFRTi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQUNRQ0FBUVlBUVR3MEFJNEdBZ0lBQVFhaUF3SUFBYWlBQUlBRkJnQkFnQVVHQUVFa2JJQUJyRUptQWdJQUFDd0pBSUFGQmdCQk5EUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb29BZ1FOQUNPQmdJQ0FBRUdnZ01DQUFHb2lBMEdBSURZQ0JDQURJQUZCZjJvaUFVRVFkQ0lFTmdJQUlBUkJBRUdBZ0FRUW5vQ0FnQUFhQ3lBQ0k0R0FnSUFBUWFDQXdJQUFhaWtEQURjRENDQUNRUWhxSUFCQmdCQWdBRUdBRUVzYklnQkJnSEJxSUFFZ0FHc1FtWUNBZ0FBTElBSkJFR29rZ0lDQWdBQUxPd0VCZnlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FDa0NBRGNEQ0NBRFFRaHFJQUVnQWtFQkVKZUFnSUFBSUFOQkVHb2tnSUNBZ0FBTHZRRUJCSDlCQUNFRUFrQWdBVUdCZ0h4UERRQUNRQ09CZ0lDQUFFR29nTUNBQUdvZ0FVSC8vd05xUVJCMklnRWdBaENXZ0lDQUFDSUVRWDlIRFFBQ1FDT0JnSUNBQUVHZ2dNQ0FBR29nQVNBQ0VKYUFnSUFBSWdSQmYwWU5BQ0FFUVlBUWFpRUVEQUVMUVFBaEJFRUJJQUowSWdVL0FDSUdRUkIwSWdKcVFYOXFRUUFnQld0eElnVWdBbXRCRUhZaUJ5QUJha0FBUVFGSURRRWdCeUFHYWlFRUlBVWdBa1lOQUNBR0lBUVFtSUNBZ0FBTElBUkJFSFFoQkFzZ0JBdFBBUUYvQWtBZ0FrSC8vd05xSWdaQmdJQjhjU0FFVHlJQ1JRMEFJQVJCLy84RGFrRVFkaUlFSUFaQkVIWWlCa1lOQUNBRUlBRkIvLzhEYWtFUWRpSUJhaUFCSUFacUVKaUFnSUFBQ3lBQ0N5RUFJQUZCLy84RGFrRVFkaUlCSUFFZ0FrSC8vd05xUVJCMmFoQ1lnSUNBQUF0MUFRRitJQUFnQkNBQmZpQUNJQU4rZkNBRFFpQ0lJZ0lnQVVJZ2lDSUVmbndnQTBMLy8vLy9ENE1pQXlBQlF2Ly8vLzhQZ3lJQmZpSUZRaUNJSUFNZ0JINThJZ05DSUloOElBTkMvLy8vL3crRElBSWdBWDU4SWdGQ0lJaDhOd01JSUFBZ0FVSWdoaUFGUXYvLy8vOFBnNFEzQXdBTExBRUJmd0pBSUFKRkRRQWdBQ0VEQTBBZ0F5QUJPZ0FBSUFOQkFXb2hBeUFDUVg5cUlnSU5BQXNMSUFBTFFnRUJmd0pBSUFKRkRRQWdBa0YvYWlFQ0lBQWhBd05BSUFNZ0FTMEFBRG9BQUNBQ1JRMEJJQUpCZjJvaEFpQUJRUUZxSVFFZ0EwRUJhaUVEREFBTEN5QUFDd3RCQWdCQmdJREFBQXNJQUFBQUFBQUFBQUFBUVlpQXdBQUxLQUVBQUFBQ0FBQUFBd0FBQUFBQUFBQUFBQUFBQ0FBUUFLcXFxcW9BQUFBQU1BQVFBQkFBQUFBPSIpOwpjb25zdCBlID0gYXdhaXQgSigpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBjKEEpIHsKICBjb25zdCB7IHB0cjogQywgbGVuZ3RoOiBJIH0gPSBrKEEsIEIpLCBnID0gQi5jb21wcmVzc1BhY2tlZChDLCBJKTsKICBCLmZyZWUoQywgSSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdChCLm1lbW9yeSwgZyksIEQgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgYSA9IGgoRCk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgYTsKfQpmdW5jdGlvbiBzKEEpIHsKICBjb25zdCBDID0gKEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDEpIDw8IDE2KSArIEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDIpOwogIGxldCBJID0gQi5hbGxvY1VpbnQxNihBLmxlbmd0aCAtIDIpLCBnID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgSSwKICAgIEEubGVuZ3RoIC0gMgogICk7CiAgZm9yIChsZXQgbyA9IDA7IG8gPCBBLmxlbmd0aCAtIDI7IG8rKykKICAgIGdbb10gPSBBLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgUSA9IEIuZGVjb21wcmVzc1BhY2tlZCgKICAgIEksCiAgICBBLmxlbmd0aCAtIDIsCiAgICBDCiAgKTsKICBCLmZyZWUoSSwgQS5sZW5ndGggLSAyKTsKICBjb25zdCB7IHN0YXJ0OiBFLCBlbmQ6IGksIGNhcGFjaXR5OiBEIH0gPSB0KEIubWVtb3J5LCBRKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLCBpKSksIEYgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShFLCBEKSwgRjsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihBKSB7CiAgY29uc3QgeyBjb21tYW5kOiBDLCBpZDogSSwgZGF0YTogZyB9ID0gQS5kYXRhOwogIHN3aXRjaCAoQykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogcyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogYyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", V = typeof window < "u" && window.Blob && new Blob([atob(l)], { type: "text/javascript;charset=utf-8" });
2
+ function S() {
3
+ let U;
4
+ try {
5
+ if (U = V && (window.URL || window.webkitURL).createObjectURL(V), !U)
6
+ throw "";
7
+ return new Worker(U);
8
+ } catch {
9
+ return new Worker("data:application/javascript;base64," + l, { type: "module" });
10
+ } finally {
11
+ U && (window.URL || window.webkitURL).revokeObjectURL(U);
12
+ }
13
+ }
14
+ const R = new S();
15
+ let J = 0;
16
+ const Q = {};
17
+ R.onmessage = function(U) {
18
+ console.log("onmessage", U);
19
+ const F = U.data.id;
20
+ Q[F](U.data.data), delete Q[F];
21
+ };
22
+ async function Z(U) {
23
+ const F = J++;
24
+ return console.log("compress", F), new Promise((B) => {
25
+ Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
26
+ });
27
+ }
28
+ async function d(U) {
29
+ const F = J++;
30
+ return console.log("decompress", F), new Promise((B) => {
31
+ Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
32
+ });
33
+ }
34
+ export {
35
+ Z as compress,
36
+ d as decompress
37
+ };
@@ -1,2 +1,2 @@
1
- export declare function compress(data: string): Promise<unknown>;
2
- export declare function decompress(data: string): Promise<unknown>;
1
+ export declare function compress(data: string): Promise<unknown>;
2
+ export declare function decompress(data: string): Promise<unknown>;
@@ -1,37 +1,37 @@
1
- const J = "ZnVuY3Rpb24gRChJLCBDKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgZyA9IEMuYWxsb2NVaW50OChBLmxlbmd0aCArIDEpLCBRID0gbmV3IFVpbnQ4QXJyYXkoCiAgICBDLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgQS5sZW5ndGggKyAxCiAgKTsKICByZXR1cm4gUS5zZXQoQSksIFFbQS5sZW5ndGhdID0gMCwgeyBwdHI6IGcsIGxlbmd0aDogQS5sZW5ndGggKyAxIH07Cn0KZnVuY3Rpb24gYShJKSB7CiAgY29uc3QgQyA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgQ1tBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIEMuam9pbigiIik7Cn0KdmFyIGUgPSBhc3luYyAoSSA9IHt9LCBDKSA9PiB7CiAgbGV0IEE7CiAgaWYgKEMuc3RhcnRzV2l0aCgiZGF0YToiKSkgewogICAgY29uc3QgZyA9IEMucmVwbGFjZSgvXmRhdGE6Lio/YmFzZTY0LC8sICIiKTsKICAgIGxldCBROwogICAgaWYgKHR5cGVvZiBCdWZmZXIgPT0gImZ1bmN0aW9uIiAmJiB0eXBlb2YgQnVmZmVyLmZyb20gPT0gImZ1bmN0aW9uIikKICAgICAgUSA9IEJ1ZmZlci5mcm9tKGcsICJiYXNlNjQiKTsKICAgIGVsc2UgaWYgKHR5cGVvZiBhdG9iID09ICJmdW5jdGlvbiIpIHsKICAgICAgY29uc3QgRSA9IGF0b2IoZyk7CiAgICAgIFEgPSBuZXcgVWludDhBcnJheShFLmxlbmd0aCk7CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgRS5sZW5ndGg7IGkrKykKICAgICAgICBRW2ldID0gRS5jaGFyQ29kZUF0KGkpOwogICAgfSBlbHNlCiAgICAgIHRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlY29kZSBiYXNlNjQtZW5jb2RlZCBkYXRhIFVSTCwgQnVmZmVyIGFuZCBhdG9iIGFyZSBub3Qgc3VwcG9ydGVkIik7CiAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSwgSSk7CiAgfSBlbHNlIHsKICAgIGNvbnN0IGcgPSBhd2FpdCBmZXRjaChDKSwgUSA9IGcuaGVhZGVycy5nZXQoIkNvbnRlbnQtVHlwZSIpIHx8ICIiOwogICAgaWYgKCJpbnN0YW50aWF0ZVN0cmVhbWluZyIgaW4gV2ViQXNzZW1ibHkgJiYgUS5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi93YXNtIikpCiAgICAgIEEgPSBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhnLCBJKTsKICAgIGVsc2UgewogICAgICBjb25zdCBFID0gYXdhaXQgZy5hcnJheUJ1ZmZlcigpOwogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoRSwgSSk7CiAgICB9CiAgfQogIHJldHVybiBBLmluc3RhbmNlOwp9LCB0ID0gKEkpID0+IGUoSSwgImRhdGE6YXBwbGljYXRpb24vd2FzbTtiYXNlNjQsQUdGemJRRUFBQUFCVVF4Z0JIOS9mMzhCZjJBRmYzOS9mMzhBWUFaL2YzOS9mMzhCZjJBQmZ3Ri9ZQU4vZjM4QVlBSi9md0JnQVg4QVlBUi9mMzkvQUdBQ2YzOEJmbUFDZjM4QmYyQURmMzkvQVg5Z0JYOStmbjUrQUFNaElBTUVBd1FGQkFZRkJ3Z0FBd2tBQkFRR0JBTUpBQVFLQndVRUFBSUJDd29LQkFVQmNBRUVCQVVEQVFBUkJnNENmd0ZCZ0lEQUFBdC9BRUVBQ3dkRUJnWnRaVzF2Y25rQ0FBcGhiR3h2WTFWcGJuUTRBQUFMWVd4c2IyTlZhVzUwTVRZQUFnUm1jbVZsQUFRSVkyOXRjSEpsYzNNQUN3cGtaV052YlhCeVpYTnpBQklKQ1FFQVFRRUxBeG9iSEFxak95QmVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMTRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0RnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGh3RUNBWDhCZmlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FrRUFTRG9BREFKQUFrQWdBa0YvU2cwQVFvQ0FnSUFRSVFRTUFRc0NRQ0FDUVFGMElnSU5BRUwrLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VCUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBc1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVdBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDdzhBSUFBZ0FFRU1haENIZ0lDQUFBdHdBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBSWdKQkNtd2dBa0VQYWtGOGNXcEJBMnBCZkhFaUFrRUFJQUliSWdSRkRRQWdBU2dDQUNBRFFRUWdBaHNnQkVFQ1FRQWdBU2dDQkNnQ0NCR0JnSUNBQUFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzlnQ0F3Ui9BWDRFZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1RaVlDQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDS2dJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRUUFoQVVFQUlRVU1BUXNnQmtGMGFpZ0NBQ0FIS0FJQVFRRjBhaThCQUNFQlFZQ0FCQ0VGQ3lBQUlBVWdBWEkyQVFBZ0JFRVFhaVNBZ0lDQUFBdnNCUVVDZndGK0FYOENmZ0ovSTRDQWdJQUFRZUFBYXlJQ0pJQ0FnSUFBQWtBQ1FBSkFBa0FDUUNBQlFSQkxEUUFnQVVFRFRRMEJJQUExQUFCQ0lJWWdBQ0FCUVFGMlFmei8vLzhIY1NJRGFqVUFBSVFoQkNBQUlBRkJmR29pQldvMUFBQkNJSVlnQUNBRklBTnJhalVBQUlRaEJrS3NtdUxUbzlMdytoOGhCd3dFQzBFQUlRTkNySnJpMDZQUzhQb2ZJUWRCQUNFRklBRkJNRWtOQWtFQUlRVkNySnJpMDZQUzhQb2ZJUWRDckpyaTA2UFM4UG9mSVFSQ3JKcmkwNlBTOFBvZklRWURRQ0FGUVRCcUlnZ2dBVThOQWlBQ1FjQUFhaUFBSUFWcUlnVXBBQWdnQm9WQ0FDQUZLUUFBUXR2UjBJV2EydCtCWjRWQ0FCQ2RnSUNBQUNBQ1FUQnFJQVZCR0dvcEFBQWdCSVZDQUNBRlFSQnFLUUFBUXVPTm8rU0ozcHJlam4rRlFnQVFuWUNBZ0FBZ0FrRWdhaUFGUVNocUtRQUFJQWVGUWdBZ0JVRWdhaWtBQUVMRG1kMnB4N25aek5nQWhVSUFFSjJBZ0lBQUlBSkJ3QUJxUVFocUtRTUFJQUlwQTBDRklRWWdBa0VnYWtFSWFpa0RBQ0FDS1FNZ2hTRUhJQUpCTUdwQkNHb3BBd0FnQWlrRE1JVWhCQ0FJSVFVTUFBc0xRZ0FoQmtLc211TFRvOUx3K2g4aEJ3SkFJQUVOQUVJQUlRUU1Bd3NnQUNBQlFRRjJhakVBQUVJSWhpQUFNUUFBUWhDR2hDQUJJQUJxUVg5cU1RQUFoQ0VFREFJTElBUWdCNFVnQm9VaEJ3c2dBQ0FGYWlFSklBRWdCV3NoQ0FKQUEwQWdBMEVRYWlJRklBaFBEUUVnQWtIUUFHb2dDU0FEYWlJRFFRaHFLUUFBSUFlRlFnQWdBeWtBQUVMYjBkQ0ZtdHJmZ1dlRlFnQVFuWUNBZ0FBZ0FrSFFBR3BCQ0dvcEF3QWdBaWtEVUlVaEJ5QUZJUU1NQUFzTElBRWdBR29pQTBGNGFpa0FBQ0VHSUFOQmNHb3BBQUFoQkFzZ0FrRVFhaUFFUXR2UjBJV2EydCtCWjRWQ0FDQUdJQWVGUWdBUW5ZQ0FnQUFnQWlBQ1FSQnFRUWhxS1FNQVF0dlIwSVdhMnQrQlo0VkNBQ0FCclNBQ0tRTVFoVUt2eVBYRng2eUh1NkIvaFVJQUVKMkFnSUFBSUFKQkNHb3BBd0FoQnlBQ0tRTUFJUVFnQWtIZ0FHb2tnSUNBZ0FBZ0J5QUVoUXRZQVFKL1FRQWhCQUpBSUFFZ0EwY05BQUpBSUFBZ0FrY05BRUVCRHdzRFFDQUJSU0VFSUFGRkRRRWdBVUYvYWlFQklBSXRBQUFoQXlBQUxRQUFJUVVnQUVFQmFpRUFJQUpCQVdvaEFpQUZJQU5HRFFBTEN5QUVDNnNUQmdWL0FYNERmd0YrRzM4QmZpT0FnSUNBQUVHZ0FXc2lBU1NBZ0lDQUFFRUFJUUlEUUNBQUlBSnFJUU1nQWtFQmFpSUVJUUlnQXkwQUFBMEFDMEVBSVFJZ0FVRVlha0VJYWlJRlFRQTJBZ0FnQVVJQU53TVlJQUVqZ1lDQWdBQkJtSURBZ0FCcUtRTUFJZ1kzQWlRZ0FTQUdOd0owSUFGQkFEWUNjQ0FCUXFyVnF0VUtOd0pvQWtBQ1FDQUJRZWdBYWlBRVFYOXFJZ2NRaklDQWdBQkIvLzhEY1VVTkFDQUJRUmhxRUlhQWdJQUFEQUVMSUFGQkdHcEJER29oQ0NBR1FpQ0lweUVKSUFFcEFuUWhDaUFCS0FKd0lRc2dBU2dDYkNFQ0lBRW9BbWdoRENBR3B5RU5RWUFDSVE1QkFDRVBBa0FEUUNBQ0lSQWdEMEVDYWlFRElBQWdEMm9oRVVFQUlRSUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBQ1FDQURJQUpxSUFkUERRQWdBVUV3YWlBQlFSaHFJQkVnQWtFQ2FpSVNFSWlBZ0lBQUlBRXRBRElOQVNBQktBSVlJUk1nQVNnQ0lBMEdBa0FDUUNBVERRQkJBU0VEREFFTElCTkJmR29vQWdDdFF0QUFmaUlHSUFaQzVBQ0NmVUxrQUh4QzBBQ0FweUVEQzBFQUlRUWdBVUhvQUdwQkNHb2lGRUVBTmdJQUlBRkNBRGNEYUVFQURRVUNRQUpBUWdGQklDQURaMnV0UXYvL0E0T0dweUlEUVFnZ0EwRUlTeHNpRlVFQmRDQVZRUTlxUVh4eEloWWdGVUVEZEdvaUYycEJBMnBCZkhFaUF3MEFRWHdoQXd3QkMwRUFJUVFnRFNBRFFRSkJBQ0FKS0FJQUVZQ0FnSUFBQUNJRFJRMEdDeUFEUVFocUloZ2dGVFlDQUNBRElBTWdGbW8yQWdRZ0F5QURJQmRxTmdJQUlBRWdBMEVNYWlJRE5nSm9JQU5CQUNBVkVKNkFnSUFBSVFRZ0FTQVZyVUxRQUg1QzVBQ0FweUlaTmdKd0lBRW9BaHdpR2tVTkJFRUFJUnRCQUNFY0FrQWdFMFVOQUNBVFFYeHFLQUlBSVJ3TElBUkJkR29oSFNBRVFYaHFJUjRnRTBGMGFpSURLQUlBSVI4Z0EwRUVhaWdDQUNFZ1FRQWhJUU5BSUNFZ0hFWU5CQUpBSUJNZ0lXb3NBQUJCQUU0TkFDQWZJQ0ZCQVhScUx3RUFJU0lnSUNBaFFRTjBhaUlES0FJRUlTTWdBeWdDQUNFa0FrQWdHMFVOQUNBa0lDTVFpWUNBZ0FBaEJpQVlLQUlBSWhWQmYyb2lGeUFHcDNFaEF5QUdRam1JcHlFbEEwQWdCQ0FEYWl3QUFDSVdSUTBCSUJWRkRRRUNRQ0FXUVg5S0RRQWdKU0FXUWY4QWNVY05BQ0FrSUNNZ0hpZ0NBQ0FEUVFOMGFpSVdLQUlBSUJZb0FnUVFpb0NBZ0FCQkFYRkZEUUFnQVVFQk9nQ2NBUXdDQ3lBVlFYOXFJUlVnQTBFQmFpQVhjU0VEREFBTEN5QWtJQ01RaVlDQWdBQWhCaUFZS0FJQVFYOXFJaFlnQnFkeElRTUNRQU5BSUFRZ0Eyb2lGU3dBQUVGL1NnMEJJQU5CQVdvZ0ZuRWhBd3dBQ3dzZ0ZTQUdRam1JcDBHQUFYSTZBQUFnSGlnQ0FDQURRUU4wYWlJVklDTTJBZ1FnRlNBa05nSUFJQjBvQWdBZ0EwRUJkR29nSWpzQkFDQVpRWDlxSVJrZ0cwRUJhaUliSUJwSERRQWdHaUViREFVTElDRkJBV29oSVF3QUN3c0NRQUpBSUE5QkFXb2dCMGtOQUNBUkxRQUFJUUlNQVFzZ0FVRTRha0VRYWlBQlFSaHFRUkJxS0FJQU5nSUFJQUZCT0dwQkNHb2dBVUVZYWtFSWFpa0RBRGNEQUNBQklBRXBBeGczQXpnZ0FVSE1BR29nQVVFNGFpQVJJQUpCQW1vUWlJQ0FnQUFDUUNBQkxRQk9EUUFDUUFKQUlBSU5BQ0FSTFFBQUlRTU1BUXNnQVVIUUFHcEJFR29nQVVFWWFrRVFhaWdDQURZQ0FDQUJRZEFBYWtFSWFpQUJRUmhxUVFocUtRTUFOd01BSUFFZ0FTa0RHRGNEVUNBQlFlUUFhaUFCUWRBQWFpQVJJQUpCQVdvUWlJQ0FnQUFnQVM4QlpDRURDeUFNSUJCQkFYUnFJQU03QVFBZ0VFRUJhaUVRSUJFZ0FtcEJBV290QUFBaEFnd0JDeUFCTHdGTUlRSUxJQXdnRUVFQmRHb2dBanNCQUNBQlFSaHFFSWFBZ0lBQUlBRWdDamNDRUNBQklBczJBZ3dnQVNBUVFRRnFOZ0lJSUFFZ0REWUNCRUVBSVFJZ0FVRUVhaUFRUVFKcUVJeUFnSUFBUWYvL0EzRU5EaUFCS0FJRUlnTWdBU2dDQ0NJQ1FRRjBha0VBT3dFQUlBRW9BZ3doQUNBQklBRXBBaEFpQmpjRE9BSkFJQUZCT0dvZ0F5QUFJQUpCQVdvaUFoQ05nSUNBQUVFQmNVVU5BQ0FESVFJTUR3c2dBVUhvQUdvZ0FVRTRhaUFDRUk2QWdJQUFJQUV2QVhBTkRTQUJLQUpvSWdJZ0F5QUJLQUpzUVFGMEVKK0FnSUFBR2lBQklBWTNBMUFnQVVIUUFHb2dBeUFBRUkrQWdJQUFEQTRMSUFKQkFXb2hBZ3dBQ3dzZ0FTQVpOZ0p3SUFFZ0d6WUNiQXNnQlNnQ0FDRURJQVVnRkNnQ0FEWUNBQ0FVSUFNMkFnQWdBVUVBTmdJY0lBRXBBeGdoQmlBQklBRXBBMmdpSmpjREdDQUJJQVkzQTJnZ0pxY2hFMEVCSVFRTElBRkI2QUJxSUFnUWg0Q0FnQUFnQkEwQUk0R0FnSUFBSVFNZ0FTZ0NIQTBCSUFOQmdJREFnQUJxSVJZTUF3c2dFU0FTRUltQWdJQUFJUVlDUUFKQUlCTU5BQ0FHcHlFRFFRQWhGa0YvSVNFTUFRc2dFMEY4YWlnQ0FDSVdRWDlxSWlFZ0JxZHhJUU1MSUJOQmVHb2hJeUFUUVh4cUlTUWdCa0k1aUtjaEpTQVdJUVFEUUNBVElBTnFJaGNzQUFBaUZVVU5BaUFFUVFCR0RRSUNRQUpBSUJWQmYwb05BQ0FsSUJWQi93QnhSdzBBSUJFZ0VpQWpLQUlBSUFOQkEzUnFJaFVvQWdBZ0ZTZ0NCQkNLZ0lDQUFFRUJjVVVOQVF3R0N5QVdJQ1FvQWdCSERRQWdBeUFXSUJWQkFVWWJJUllMSUFSQmYyb2hCQ0FEUVFGcUlDRnhJUU1NQUFzTElCRWdFaENKZ0lDQUFDRUdBa0FDUUNBVERRQkJBQ0VFUVg4aEZ3d0JDeUFUUVh4cUtBSUFJZ1JCZjJvaEZ3c2dFMEY0YWlFbElCY2dCcWR4SVFNZ0JrSTVpS2NoSVFOQUk0R0FnSUFBUVlDQXdJQUFhaUVXSUJNZ0Eyb3NBQUFpRlVVTkFpQUVSUTBDQWtBZ0ZVRi9TZzBBSUNFZ0ZVSC9BSEZIRFFBZ0VTQVNJQ1VvQWdBZ0EwRURkR29pRlNnQ0FDQVZLQUlFRUlxQWdJQUFRUUZ4UlEwQUlBRkJBVG9BZ0FFZ0FTQUROZ0o4SUFGQi9BQnFJUllNQXdzZ0JFRi9haUVFSUFOQkFXb2dGM0VoQXd3QUN3c2dKQ2dDQUNFRUlBRWdBU2dDSUVGL2FqWUNJQ0FUSUJacUlCY2dGaUFFU1NJRUd5QWxRWUFCY2pvQUFDQVRRWFJxS0FJQUlSVWdJeWdDQUNFWElBRWdBU2dDSEVFQmFqWUNIQ0FYSUJZZ0F5QUVHeUlEUVFOMGFpSUVJQkkyQWdRZ0JDQVJOZ0lBSUJVZ0EwRUJkR29oQXd3Q0N5QVdMUUFFUlEwQ0lCWW9BZ0FoQXdzZ0UwRjBhaWdDQUNBRFFRRjBhaUVEQ3lBRElBNDdBUUFDUUFKQUlBSU5BQ0FSTFFBQUlRSkJBU0VEREFFTElBRkJOR29nQVVFWWFpQVJJQUpCQVdvaUF4Q0lnSUNBQUNBQkx3RTBJUUlMSUF3Z0VFRUJkR29nQWpzQkFDQURJQTlxSVE4Z0VFRUJhaUVDSUE1QkFXb2lEa0gvL3dOeFFmLy9BMGNOQVNBVFFRQWdFMEY4YWlnQ0FDSURFSjZBZ0lBQUdpQU1JQUpCQVhScVFmNy9BenNCQUNBQlFRQTJBaHdnQVNBRHJVTFFBSDVDNUFDQVBnSWdJQkJCQW1vaEFrR0FBaUVPREFFTEN5QUJRUmhxRUlhQWdJQUFDMEVBSVFJTElBRkJvQUZxSklDQWdJQUFJQUlMckFFQkJYOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFBSkFJQUJCREdvaUJTQUFLQUlBSWdZZ0JDQUJFSTJBZ0lBQVFRRnhEUUFnQWtFRWFpQUZJQUVRam9DQWdBQWdBaThCRENJRERRRWdBaWdDQ0NFQklBSW9BZ1FnQUNnQ0FDQUFLQUlFUVFGMEVKK0FnSUFBSVFNZ0JTQUdJQVFRajRDQWdBQWdBQ0FETmdJQUN5QUFJQUUyQWdoQkFDRURDeUFDUVJCcUpJQ0FnSUFBSUFNTGlBRUJBbjhqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQUpBQWtBZ0F3MEFJQVFnQUNrQ0FEY0RBQ0FFSUFFZ0FoQ1BnSUNBQUVFQklRVU1BUXRCQUNFRklBSkZEUUFnQkNBRFFRQklPZ0FNSUFOQmYwd05BQ0FBS0FJQUlBRWdBa0VCZEVFQklBTkJBWFJCQUNBQUtBSUVLQUlFRVlLQWdJQUFBQ0VGQ3lBRVFSQnFKSUNBZ0lBQUlBVUxsUUVCQVg4amdJQ0FnQUJCTUdzaUF5U0FnSUNBQUNBRElBRXBBZ0EzQXdnZ0EwRVFhaUFEUVFocUlBSVFnNENBZ0FBQ1FBSkFJQU12QVJRaUFVVU5BQ0FESUFFN0FTQWdBMEVZYWlFQ0RBRUxJQU5CQURzQkxDQURJQUkyQWlnZ0F5QURLQUlRTmdJa0lBTkJKR29oQWdzZ0FDQUNLUUlBTndJQUlBQkJDR29nQWtFSWFpZ0NBRFlDQUNBRFFUQnFKSUNBZ0lBQUN6Y0JBWDhDUUNBQ1FRRjBRUUFnQWhzaUEwVU5BQ0FBS0FJQUlBRkJBaUFDR3lBRFFRRkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xQd0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFZ0FDa0NERGNEQ0NBQlFRaHFJQUFvQWdBZ0FDZ0NDQkNSZ0lDQUFDQUJRUkJxSklDQWdJQUFDemNCQVg4Q1FDQUNRUU4wUVFBZ0Foc2lBMFVOQUNBQUtBSUFJQUZCQkNBQ0d5QURRUUpCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMdFFjREJYOEJmZ1ovSTRDQWdJQUFRZEFBYXlJQkpJQ0FnSUFBUVd3aEFrRi9JUU1nQUNFRUEwQWdBMEVCYWlFRElBSkJGR29oQWlBRUx3RUFJUVVnQkVFQ2FpRUVJQVVOQUFzZ0FVRUFOZ0lvSUFGQ3F0V3ExUW8zQWlBZ0FTT0JnSUNBQUVHWWdNQ0FBR29wQXdBaUJqY0NMQ0FCUVFBNkFEUUNRQUpBQWtCQkFVVU5BQ0FHcDBINHdTWkJBa0VBSUFaQ0lJaW5LQUlBRVlDQWdJQUFBQ0lGUlEwQUlBRkJuK2dFTmdJb0lBRWdCVFlDSUVFQUlRUUNRQU5BSUFSQitQOGZSZzBCSUFVZ0JHcENBRGNDQUNBRVFRaHFJUVFNQUFzTElBRkIvLzhETmdJa0lBRWdCamNDUUVFQUlRUWdBVUVBTmdJOElBRkNxdFdxMVFvM0FqUWdBVUUwYWlBQ0VKT0FnSUFBUWYvL0EzRU5BQ0FCS1FKQUlRWWdBU2dDUENFSElBRW9BalFpQ0NBQktBSTRJZ0pxSUFBdEFBQTZBQUFnQlNBQUx3RUFRUU4wYWlJSlFRRTJBZ1FnQ1NBSU5nSUFJQUpCQVdvaENrRUJJUUpCZ0FJaEN3TkFJQW9oQ1FKQUFrQUNRQUpBSUFJZ0EwOE5BQUpBSUFBZ0FrRUJkR292QVFBaUNrSCsvd05IRFFBZ0FrRUJhaUlDSUFOUERRRkJBQ0VFQWtBRFFDQUVRZmovSDBZTkFTQUZJQVJxUWdBM0FnQWdCRUVJYWlFRURBQUxDd0pBSUFBZ0FrRUJkR292QVFBaUJFR0FBa2tOQUNBQlFmLy9BellDSkF3SEN5QUlJQWxxSUFRNkFBQWdDVUVCYWlFS1FZQUNJUXNNQkFzZ0NrR0FBa2tOQVFKQUlBVWdDa0VEZEdvaUNpZ0NBQ0lNRFFBZ0NDQUphaUFJSUFScUlnb2dDU0FFYXlJTUVKK0FnSUFBR2lBSUlBd2dDV29pREdvZ0NpMEFBRG9BQUNBTVFRRnFJUW9NQXdzZ0NDQUphaUFNSUFvb0FnUWlDaENmZ0lDQUFCb2dDaUFKYWlFS0RBSUxJQUZCLy84RE5nSWtJQUZCSUdvUWtJQ0FnQUFnQVNBR053SVlJQUVnQnpZQ0ZDQUJJQWcyQWd3Z0FTQUpOZ0lRUVFBaEJDQUJRUXhxSUFsQkFXb1FrNENBZ0FCQi8vOERjUTBHSUFFb0Fnd2lBeUFCS0FJUUlnUnFRUUE2QUFBZ0FTZ0NGQ0VDSUFFZ0FTa0NHQ0lHTndOSUFrQWdBVUhJQUdvZ0F5QUNJQVJCQVdvaUJCQ1VnSUNBQUVFQmNVVU5BQ0FESVFRTUJ3c2dBVUUwYWlBQlFjZ0FhaUFFRUpXQWdJQUFJQUV2QVR3TkJTQUJLQUkwSWdRZ0F5QUJLQUk0RUorQWdJQUFHaUFCSUFZM0F5QWdBVUVnYWlBRElBSVFoWUNBZ0FBTUJnc2dDQ0FKYWlBS09nQUFJQWxCQVdvaENnc2dCU0FMUWYvL0EzRkJBM1JxSWd3Z0NTQUVhMEVCYWpZQ0JDQU1JQWdnQkdvMkFnQWdDMEVCYWlFTEN5QUNRUUZxSVFJZ0NTRUVEQUFMQ3lBQlFTQnFFSkNBZ0lBQUMwRUFJUVFMSUFGQjBBQnFKSUNBZ0lBQUlBUUxxUUVCQlg4amdJQ0FnQUJCRUdzaUFpU0FnSUNBQUVFQUlRTUNRQ0FBS0FJSUlnUWdBVThOQUFKQUlBQkJER29pQlNBQUtBSUFJZ1lnQkNBQkVKU0FnSUFBUVFGeERRQWdBa0VFYWlBRklBRVFsWUNBZ0FBZ0FpOEJEQ0lERFFFZ0FpZ0NDQ0VCSUFJb0FnUWdBQ2dDQUNBQUtBSUVFSitBZ0lBQUlRTWdCU0FHSUFRUWhZQ0FnQUFnQUNBRE5nSUFDeUFBSUFFMkFnaEJBQ0VEQ3lBQ1FSQnFKSUNBZ0lBQUlBTUxkUUVDZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBQWtBQ1FDQUREUUFnQkNBQUtRSUFOd01BSUFRZ0FTQUNFSVdBZ0lBQVFRRWhCUXdCQzBFQUlRVWdBa1VOQUVFQURRQWdBQ2dDQUNBQklBSkJBQ0FEUVFBZ0FDZ0NCQ2dDQkJHQ2dJQ0FBQUFoQlFzZ0JFRVFhaVNBZ0lDQUFDQUZDNVVCQVFGL0k0Q0FnSUFBUVRCcklnTWtnSUNBZ0FBZ0F5QUJLUUlBTndNSUlBTkJFR29nQTBFSWFpQUNFSUdBZ0lBQUFrQUNRQ0FETHdFVUlnRkZEUUFnQXlBQk93RWdJQU5CR0dvaEFnd0JDeUFEUVFBN0FTd2dBeUFDTmdJb0lBTWdBeWdDRURZQ0pDQURRU1JxSVFJTElBQWdBaWtDQURjQ0FDQUFRUWhxSUFKQkNHb29BZ0EyQWdBZ0EwRXdhaVNBZ0lDQUFBdlNBZ01HZndGK0IzOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQUFLQUlFSVFRZ0FDZ0NBQ0VGUVFBaEJpQUNRZjhCY1NFSEEzOENRQUpBQWtBZ0JpQUVSdzBBUVg4aENBd0JDd0pBSUFVZ0JrRUVkR29pQWtFSWFpa0RBQ0lKUWdCVERRQWdBaWtEQUhzZ0NYdDhweUFCU1EwQ0N5QUdRUWQwSWdoQmdBRnFJUW9EUUNBSUlBcFBEUUlnQ0NBQUtRSUFJZ2xDR1lpblFZQi9jU0lDSUFnZ0Frc2JJZ3NnQ0dzaERDQUpwMEVJSUFsQ0lJaW5HeUVOSUFoQkVIUm9JUTVCQUNFQ0FrQURRQUpBSUF3Z0FrY05BQ0FMSVE4TUFndEIvd0VnQ0NBQ2FpSVBRUWR4SWhCQkIzTjJRUUVnRUhSeElBMGdEMEVEZG1vdEFBQnhSUTBCSUFKQkFXb2lBaUFCU1EwQUlBNGdCMGtOQUFzZ0F5QUpOd01JSUFOQkNHb2dDQ0FCUVFBUWw0Q0FnQUFNQWdzZ0QwRUJhaUVJREFBTEN5QURRUkJxSklDQWdJQUFJQWdQQ3lBR1FRRnFJUVlNQUFzTFZBRUJmeUFEUVFGeElRUUNRQU5BSUFKRkRRRWdBQ2dDQUVFSUlBQW9BZ1FiSUFGQkEzWnFJZ01nQXkwQUFFRitJQUZCQjNFaUEzZHhJQVFnQTNSeU9nQUFJQUZCQVdvaEFTQUNRWDlxSVFJTUFBc0xDOXNCQVFOL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FBQ1FDQUFRWUFRVHcwQUk0R0FnSUFBUWFpQXdJQUFhaUFBSUFGQmdCQWdBVUdBRUVrYklBQnJFSm1BZ0lBQUN3SkFJQUZCZ0JCTkRRQUNRQ09CZ0lDQUFFR2dnTUNBQUdvb0FnUU5BQ09CZ0lDQUFFR2dnTUNBQUdvaUEwR0FJRFlDQkNBRElBRkJmMm9pQVVFUWRDSUVOZ0lBSUFSQkFFR0FnQVFRbm9DQWdBQWFDeUFDSTRHQWdJQUFRYUNBd0lBQWFpa0RBRGNEQ0NBQ1FRaHFJQUJCZ0JBZ0FFR0FFRXNiSWdCQmdIQnFJQUVnQUdzUW1ZQ0FnQUFMSUFKQkVHb2tnSUNBZ0FBTE93RUJmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQUNrQ0FEY0RDQ0FEUVFocUlBRWdBa0VCRUplQWdJQUFJQU5CRUdva2dJQ0FnQUFMdlFFQkJIOUJBQ0VFQWtBZ0FVR0JnSHhQRFFBQ1FDT0JnSUNBQUVHb2dNQ0FBR29nQVVILy93TnFRUkIySWdFZ0FoQ1dnSUNBQUNJRVFYOUhEUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb2dBU0FDRUphQWdJQUFJZ1JCZjBZTkFDQUVRWUFRYWlFRURBRUxRUUFoQkVFQklBSjBJZ1UvQUNJR1FSQjBJZ0pxUVg5cVFRQWdCV3R4SWdVZ0FtdEJFSFlpQnlBQmFrQUFRUUZJRFFFZ0J5QUdhaUVFSUFVZ0FrWU5BQ0FHSUFRUW1JQ0FnQUFMSUFSQkVIUWhCQXNnQkF0UEFRRi9Ba0FnQWtILy93TnFJZ1pCZ0lCOGNTQUVUeUlDUlEwQUlBUkIvLzhEYWtFUWRpSUVJQVpCRUhZaUJrWU5BQ0FFSUFGQi8vOERha0VRZGlJQmFpQUJJQVpxRUppQWdJQUFDeUFDQ3lFQUlBRkIvLzhEYWtFUWRpSUJJQUVnQWtILy93TnFRUkIyYWhDWWdJQ0FBQXQxQVFGK0lBQWdCQ0FCZmlBQ0lBTitmQ0FEUWlDSUlnSWdBVUlnaUNJRWZud2dBMEwvLy8vL0Q0TWlBeUFCUXYvLy8vOFBneUlCZmlJRlFpQ0lJQU1nQkg1OElnTkNJSWg4SUFOQy8vLy8vdytESUFJZ0FYNThJZ0ZDSUloOE53TUlJQUFnQVVJZ2hpQUZRdi8vLy84UGc0UTNBd0FMTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7CmNvbnN0IHMgPSBhd2FpdCB0KCksIEIgPSBzLmV4cG9ydHM7CmZ1bmN0aW9uIHcoSSkgewogIGNvbnN0IHsgcHRyOiBDLCBsZW5ndGg6IEEgfSA9IEQoSSwgQiksIGcgPSBCLmNvbXByZXNzKEMpOwogIEIuZnJlZShDLCBBKTsKICBjb25zdCBRID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLnNsaWNlKAogICAgICBnLAogICAgICBnICsgKEIubWVtb3J5LmJ1ZmZlci5ieXRlTGVuZ3RoIC0gZykKICAgICkKICApLCBFID0gUS5pbmRleE9mKDApLCBpID0gUS5zbGljZSgwLCBFKSwgbyA9IGEoaSk7CiAgcmV0dXJuIEIuZnJlZShnLCBFICsgMSksIG87Cn0KZnVuY3Rpb24gRihJKSB7CiAgY29uc3QgQyA9IEIuYWxsb2NVaW50MTYoCiAgICBJLmxlbmd0aCArIDEKICApLCBBID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgQywKICAgIEkubGVuZ3RoICsgMQogICk7CiAgZm9yIChsZXQgbyA9IDA7IG8gPCBJLmxlbmd0aDsgbysrKQogICAgQVtvXSA9IEkuY2hhckNvZGVBdChvKTsKICBBW0kubGVuZ3RoXSA9IDA7CiAgY29uc3QgZyA9IEIuZGVjb21wcmVzcygKICAgIEMKICApOwogIEIuZnJlZShDLCBJLmxlbmd0aCArIDEpOwogIGNvbnN0IFEgPSBuZXcgVWludDhBcnJheSgKICAgIEIubWVtb3J5LmJ1ZmZlci5zbGljZSgKICAgICAgZywKICAgICAgZyArIChCLm1lbW9yeS5idWZmZXIuYnl0ZUxlbmd0aCAtIGcpCiAgICApCiAgKSwgRSA9IFEuaW5kZXhPZigwKTsKICByZXR1cm4gQi5mcmVlKGcsIEUgKyAxKSwgbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKAogICAgUS5zbGljZSgwLCBFKQogICk7Cn0Kb25tZXNzYWdlID0gYXN5bmMgZnVuY3Rpb24oSSkgewogIGNvbnN0IHsgY29tbWFuZDogQywgaWQ6IEEsIGRhdGE6IGcgfSA9IEkuZGF0YTsKICBzd2l0Y2ggKEMpIHsKICAgIGNhc2UgImRlY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IEYoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogICAgY2FzZSAiY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IHcoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogIH0KfTsK", V = typeof window < "u" && window.Blob && new Blob([atob(J)], { type: "text/javascript;charset=utf-8" });
2
- function d() {
3
- let U;
4
- try {
5
- if (U = V && (window.URL || window.webkitURL).createObjectURL(V), !U)
6
- throw "";
7
- return new Worker(U);
8
- } catch {
9
- return new Worker("data:application/javascript;base64," + J, { type: "module" });
10
- } finally {
11
- U && (window.URL || window.webkitURL).revokeObjectURL(U);
12
- }
13
- }
14
- const R = new d();
15
- let l = 0;
16
- const Q = {};
17
- R.onmessage = function(U) {
18
- console.log("onmessage", U);
19
- const F = U.data.id;
20
- Q[F](U.data.data), delete Q[F];
21
- };
22
- async function S(U) {
23
- const F = l++;
24
- return console.log("compress", F), new Promise((B) => {
25
- Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
26
- });
27
- }
28
- async function Z(U) {
29
- const F = l++;
30
- return console.log("decompress", F), new Promise((B) => {
31
- Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
32
- });
33
- }
34
- export {
35
- S as compress,
36
- Z as decompress
37
- };
1
+ const V = "ZnVuY3Rpb24gRChJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgQyA9IGcuYWxsb2NVaW50OChBLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgZy5tZW1vcnkuYnVmZmVyLAogICAgQywKICAgIEEubGVuZ3RoCiAgKS5zZXQoQSksIHsgcHRyOiBDLCBsZW5ndGg6IEEubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChJKSB7CiAgY29uc3QgZyA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgZ1tBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIGcuam9pbigiIik7Cn0KZnVuY3Rpb24gdyhJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEkuYnVmZmVyLnNsaWNlKGcsIGcgKyA4KQogICksIEMgPSBBLmF0KDApLCBRID0gQS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IGcgLSBDLAogICAgZW5kOiBnLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBzID0gYXN5bmMgKEkgPSB7fSwgZykgPT4gewogIGxldCBBOwogIGlmIChnLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IEMgPSBnLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShDLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKEMpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEkpOwogIH0gZWxzZSB7CiAgICBjb25zdCBDID0gYXdhaXQgZmV0Y2goZyksIFEgPSBDLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQywgSSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IEMuYXJyYXlCdWZmZXIoKTsKICAgICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEkpOwogICAgfQogIH0KICByZXR1cm4gQS5pbnN0YW5jZTsKfSwgRyA9IChJKSA9PiBzKEksICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BQ2YzOEJmMkFEZjM5L0FYOWdCWDkrZm41K0FBTWRIQU1FQXdRRkJBWUZCd2dBQ1FrSkJnUUpDUW9IQlFRQUFnRUxDZ29FQlFGd0FRUUVCUU1CQUJFR0RnSi9BVUdBZ01BQUMzOEFRUUFMQjBRR0JtMWxiVzl5ZVFJQUNtRnNiRzlqVldsdWREZ0FBQXRoYkd4dlkxVnBiblF4TmdBQ0JHWnlaV1VBQkFoamIyMXdjbVZ6Y3dBTENtUmxZMjl0Y0hKbGMzTUFFQWtKQVFCQkFRc0RGaGNZQ3Y4M0hGNEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNEQUNBQlFRaHFJQUVnQUJDQmdJQ0FBQUpBSUFFdkFRd05BQ0FCS0FJSUlRQWdBVUVRYWlTQWdJQ0FBQ0FBRHdzRGZ3QU1BQXNMY1FJQmZ3RitJNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQkNnSUNBZ0JBaEJBSkFRUUZGRFFBQ1FDQUNEUUJDLy8vLy93OGhCQXdCQ3lBQktBSUFJQUpCQUVFQUlBRW9BZ1FvQWdBUmdJQ0FnQUFBSWdKRnJVSWdoaUFDcllRaEJBc2dBQ0FFTndJQUlBTkJFR29rZ0lDQWdBQUxYZ0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndNQUlBRkJDR29nQVNBQUVJT0FnSUFBQWtBZ0FTOEJEQTBBSUFFb0FnZ2hBQ0FCUVJCcUpJQ0FnSUFBSUFBUEN3Ti9BQXdBQ3d1SEFRSUJmd0YrSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQ1FRQklPZ0FNQWtBQ1FDQUNRWDlLRFFCQ2dJQ0FnQkFoQkF3QkN3SkFJQUpCQVhRaUFnMEFRdjcvLy84UElRUU1BUXNnQVNnQ0FDQUNRUUZCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUN4a0FJNEdBZ0lBQVFaaUF3SUFBYWlBQUlBRVFoWUNBZ0FBTE9BRUJmd0pBSUFKQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVHcTFhclZlaUFDR3lBRFFRQkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xEd0FnQUNBQVFReHFFSWVBZ0lBQUMzQUJBMzhDUUNBQUtBSUFJZ0pGRFFBQ1FDQUNRWFJxSWdOQkNHb29BZ0FpQWtFS2JDQUNRUTlxUVh4eGFrRURha0Y4Y1NJQ1FRQWdBaHNpQkVVTkFDQUJLQUlBSUFOQkJDQUNHeUFFUVFKQkFDQUJLQUlFS0FJSUVZR0FnSUFBQUFzZ0FFRUFOZ0lJSUFCQkFEWUNBQXNMMkFJREJIOEJmZ1IvSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFqZ1lDQWdBQWhCU0FCS0FJQUlRWUNRQUpBSUFFb0FnUU5BQ0FGUVlDQXdJQUFhaUVIREFFTElBSWdBeENKZ0lDQUFDRUlBa0FDUUNBR0RRQkJBQ0VGUVg4aENRd0JDeUFHUVh4cUtBSUFJZ1ZCZjJvaENRc2dCa0Y0YWlFS0lBa2dDS2R4SVFFZ0NFSTVpS2NoQ3dOQUk0R0FnSUFBUVlDQXdJQUFhaUVISUFZZ0FXb3NBQUFpREVVTkFTQUZSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FpQURJQW9vQWdBZ0FVRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BRENBRUlBRTJBZ2dnQkVFSWFpRUhEQUlMSUFWQmYyb2hCU0FCUVFGcUlBbHhJUUVNQUFzTEFrQUNRQ0FITFFBRURRQkJBQ0VCUVFBaEJRd0JDeUFHUVhScUtBSUFJQWNvQWdCQkFYUnFMd0VBSVFGQmdJQUVJUVVMSUFBZ0JTQUJjallCQUNBRVFSQnFKSUNBZ0lBQUMrd0ZCUUovQVg0QmZ3SitBbjhqZ0lDQWdBQkI0QUJySWdJa2dJQ0FnQUFDUUFKQUFrQUNRQUpBSUFGQkVFc05BQ0FCUVFOTkRRRWdBRFVBQUVJZ2hpQUFJQUZCQVhaQi9QLy8vd2R4SWdOcU5RQUFoQ0VFSUFBZ0FVRjhhaUlGYWpVQUFFSWdoaUFBSUFVZ0EydHFOUUFBaENFR1FxeWE0dE9qMHZENkh5RUhEQVFMUVFBaEEwS3NtdUxUbzlMdytoOGhCMEVBSVFVZ0FVRXdTUTBDUVFBaEJVS3NtdUxUbzlMdytoOGhCMEtzbXVMVG85THcraDhoQkVLc211TFRvOUx3K2g4aEJnTkFJQVZCTUdvaUNDQUJUdzBDSUFKQndBQnFJQUFnQldvaUJTa0FDQ0FHaFVJQUlBVXBBQUJDMjlIUWhacmEzNEZuaFVJQUVKbUFnSUFBSUFKQk1Hb2dCVUVZYWlrQUFDQUVoVUlBSUFWQkVHb3BBQUJDNDQyajVJbmVtdDZPZjRWQ0FCQ1pnSUNBQUNBQ1FTQnFJQVZCS0dvcEFBQWdCNFZDQUNBRlFTQnFLUUFBUXNPWjNhbkh1ZG5NMkFDRlFnQVFtWUNBZ0FBZ0FrSEFBR3BCQ0dvcEF3QWdBaWtEUUlVaEJpQUNRU0JxUVFocUtRTUFJQUlwQXlDRklRY2dBa0V3YWtFSWFpa0RBQ0FDS1FNd2hTRUVJQWdoQlF3QUN3dENBQ0VHUXF5YTR0T2owdkQ2SHlFSEFrQWdBUTBBUWdBaEJBd0RDeUFBSUFGQkFYWnFNUUFBUWdpR0lBQXhBQUJDRUlhRUlBRWdBR3BCZjJveEFBQ0VJUVFNQWdzZ0JDQUhoU0FHaFNFSEN5QUFJQVZxSVFrZ0FTQUZheUVJQWtBRFFDQURRUkJxSWdVZ0NFOE5BU0FDUWRBQWFpQUpJQU5xSWdOQkNHb3BBQUFnQjRWQ0FDQURLUUFBUXR2UjBJV2EydCtCWjRWQ0FCQ1pnSUNBQUNBQ1FkQUFha0VJYWlrREFDQUNLUU5RaFNFSElBVWhBd3dBQ3dzZ0FTQUFhaUlEUVhocUtRQUFJUVlnQTBGd2Fpa0FBQ0VFQ3lBQ1FSQnFJQVJDMjlIUWhacmEzNEZuaFVJQUlBWWdCNFZDQUJDWmdJQ0FBQ0FDSUFKQkVHcEJDR29wQXdCQzI5SFFoWnJhMzRGbmhVSUFJQUd0SUFJcEF4Q0ZRcS9JOWNYSHJJZTdvSCtGUWdBUW1ZQ0FnQUFnQWtFSWFpa0RBQ0VISUFJcEF3QWhCQ0FDUWVBQWFpU0FnSUNBQUNBSElBU0ZDMWdCQW45QkFDRUVBa0FnQVNBRFJ3MEFBa0FnQUNBQ1J3MEFRUUVQQ3dOQUlBRkZJUVFnQVVVTkFTQUJRWDlxSVFFZ0FpMEFBQ0VESUFBdEFBQWhCU0FBUVFGcUlRQWdBa0VCYWlFQ0lBVWdBMFlOQUFzTElBUUxpUk1HQVg4QmZnVi9BWDRjZndGK0k0Q0FnSUFBUWFBQmF5SUNKSUNBZ0lBQUFrQUNRQUpBSUFFTkFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEEwR3ExYXJWZWlFRVFRQWhCVUVBSVFZTUFRdEJBQ0VISUFKQkdHcEJDR29pQ0VFQU5nSUFJQUpDQURjREdDQUNJNEdBZ0lBQVFaaUF3SUFBYWlrREFDSUpOd0lrSUFJZ0NUY0NkQ0FDUVFBMkFuQWdBa0txMWFyVkNqY0NhQUpBSUFKQjZBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFKQkdHcEJER29oQ2lBSlFpQ0lweUVMSUFJcEFuUWhBeUFDS0FKd0lRVWdBaWdDYkNFR0lBSW9BbWdoQkNBSnB5RU1RWUFDSVExQkFDRU9BMEFnQmlFUElBNUJBbW9oQnlBQUlBNXFJUkJCQUNFR0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQURRQUpBQWtBZ0J5QUdhaUFCVHcwQUlBSkJNR29nQWtFWWFpQVFJQVpCQW1vaUVSQ0lnSUNBQUNBQ0xRQXlEUUVnQWlnQ0dDRVNJQUlvQWlBTkJnSkFBa0FnRWcwQVFRRWhCd3dCQ3lBU1FYeHFLQUlBclVMUUFINGlDU0FKUXVRQWduMUM1QUI4UXRBQWdLY2hCd3RCQUNFVElBSkI2QUJxUVFocUloUkJBRFlDQUNBQ1FnQTNBMmhCQUEwRkFrQUNRRUlCUVNBZ0IyZHJyVUwvL3dPRGhxY2lCMEVJSUFkQkNFc2JJaFZCQVhRZ0ZVRVBha0Y4Y1NJV0lCVkJBM1JxSWhkcVFRTnFRWHh4SWdjTkFFRjhJUWNNQVF0QkFDRVRJQXdnQjBFQ1FRQWdDeWdDQUJHQWdJQ0FBQUFpQjBVTkJnc2dCMEVJYWlJWUlCVTJBZ0FnQnlBSElCWnFOZ0lFSUFjZ0J5QVhhallDQUNBQ0lBZEJER29pQnpZQ2FDQUhRUUFnRlJDYWdJQ0FBQ0VUSUFJZ0ZhMUMwQUIrUXVRQWdLY2lHVFlDY0NBQ0tBSWNJaHBGRFFSQkFDRWJRUUFoSEFKQUlCSkZEUUFnRWtGOGFpZ0NBQ0VjQ3lBVFFYUnFJUjBnRTBGNGFpRWVJQkpCZEdvaUJ5Z0NBQ0VmSUFkQkJHb29BZ0FoSUVFQUlTRURRQ0FoSUJ4R0RRUUNRQ0FTSUNGcUxBQUFRUUJPRFFBZ0h5QWhRUUYwYWk4QkFDRWlJQ0FnSVVFRGRHb2lCeWdDQkNFaklBY29BZ0FoSkFKQUlCdEZEUUFnSkNBakVJbUFnSUFBSVFrZ0dDZ0NBQ0lWUVg5cUloY2dDYWR4SVFjZ0NVSTVpS2NoSlFOQUlCTWdCMm9zQUFBaUZrVU5BU0FWUlEwQkFrQWdGa0YvU2cwQUlDVWdGa0gvQUhGSERRQWdKQ0FqSUI0b0FnQWdCMEVEZEdvaUZpZ0NBQ0FXS0FJRUVJcUFnSUFBUVFGeFJRMEFJQUpCQVRvQW5BRU1BZ3NnRlVGL2FpRVZJQWRCQVdvZ0YzRWhCd3dBQ3dzZ0pDQWpFSW1BZ0lBQUlRa2dHQ2dDQUVGL2FpSVdJQW1uY1NFSEFrQURRQ0FUSUFkcUloVXNBQUJCZjBvTkFTQUhRUUZxSUJaeElRY01BQXNMSUJVZ0NVSTVpS2RCZ0FGeU9nQUFJQjRvQWdBZ0IwRURkR29pRlNBak5nSUVJQlVnSkRZQ0FDQWRLQUlBSUFkQkFYUnFJQ0k3QVFBZ0dVRi9haUVaSUJ0QkFXb2lHeUFhUncwQUlCb2hHd3dGQ3lBaFFRRnFJU0VNQUFzTEFrQUNRQ0FPUVFGcUlBRkpEUUFnRUMwQUFDRUdEQUVMSUFKQk9HcEJFR29nQWtFWWFrRVFhaWdDQURZQ0FDQUNRVGhxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd000SUFKQnpBQnFJQUpCT0dvZ0VDQUdRUUpxRUlpQWdJQUFBa0FDUUFKQUlBSXRBRTROQUNBR0RRRWdFQzBBQUNFSERBSUxJQUl2QVV3aEJnd0NDeUFDUWRBQWFrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkIwQUJxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd05RSUFKQjVBQnFJQUpCMEFCcUlCQWdCa0VCYWhDSWdJQ0FBQ0FDTHdGa0lRY0xJQVFnRDBFQmRHb2dCenNCQUNBUFFRRnFJUThnRUNBR2FrRUJhaTBBQUNFR0N5QUVJQTlCQVhScUlBWTdBUUFnRDBFQmFpRUdJQUpCR0dvUWhvQ0FnQUFNRFFzZ0JrRUJhaUVHREFBTEN5QUNJQmsyQW5BZ0FpQWJOZ0pzQ3lBSUtBSUFJUWNnQ0NBVUtBSUFOZ0lBSUJRZ0J6WUNBQ0FDUVFBMkFod2dBaWtER0NFSklBSWdBaWtEYUNJbU53TVlJQUlnQ1RjRGFDQW1weUVTUVFFaEV3c2dBa0hvQUdvZ0NoQ0hnSUNBQUNBVERRQWpnWUNBZ0FBaEJ5QUNLQUljRFFFZ0IwR0FnTUNBQUdvaEZnd0RDeUFRSUJFUWlZQ0FnQUFoQ1FKQUFrQWdFZzBBSUFtbklRZEJBQ0VXUVg4aElRd0JDeUFTUVh4cUtBSUFJaFpCZjJvaUlTQUpwM0VoQndzZ0VrRjRhaUVqSUJKQmZHb2hKQ0FKUWptSXB5RWxJQlloRXdOQUlCSWdCMm9pRnl3QUFDSVZSUTBDSUJOQkFFWU5BZ0pBQWtBZ0ZVRi9TZzBBSUNVZ0ZVSC9BSEZIRFFBZ0VDQVJJQ01vQWdBZ0IwRURkR29pRlNnQ0FDQVZLQUlFRUlxQWdJQUFRUUZ4UlEwQkRBWUxJQllnSkNnQ0FFY05BQ0FISUJZZ0ZVRUJSaHNoRmdzZ0UwRi9haUVUSUFkQkFXb2dJWEVoQnd3QUN3c2dFQ0FSRUltQWdJQUFJUWtDUUFKQUlCSU5BRUVBSVJOQmZ5RVhEQUVMSUJKQmZHb29BZ0FpRTBGL2FpRVhDeUFTUVhocUlTVWdGeUFKcDNFaEJ5QUpRam1JcHlFaEEwQWpnWUNBZ0FCQmdJREFnQUJxSVJZZ0VpQUhhaXdBQUNJVlJRMENJQk5GRFFJQ1FDQVZRWDlLRFFBZ0lTQVZRZjhBY1VjTkFDQVFJQkVnSlNnQ0FDQUhRUU4wYWlJVktBSUFJQlVvQWdRUWlvQ0FnQUJCQVhGRkRRQWdBa0VCT2dDQUFTQUNJQWMyQW53Z0FrSDhBR29oRmd3REN5QVRRWDlxSVJNZ0IwRUJhaUFYY1NFSERBQUxDeUFrS0FJQUlSTWdBaUFDS0FJZ1FYOXFOZ0lnSUJJZ0Ztb2dGeUFXSUJOSkloTWJJQ1ZCZ0FGeU9nQUFJQkpCZEdvb0FnQWhGU0FqS0FJQUlSY2dBaUFDS0FJY1FRRnFOZ0ljSUJjZ0ZpQUhJQk1iSWdkQkEzUnFJaE1nRVRZQ0JDQVRJQkEyQWdBZ0ZTQUhRUUYwYWlFSERBSUxJQll0QUFSRkRRSWdGaWdDQUNFSEN5QVNRWFJxS0FJQUlBZEJBWFJxSVFjTElBY2dEVHNCQUFKQUFrQWdCZzBBSUJBdEFBQWhCa0VCSVFjTUFRc2dBa0UwYWlBQ1FSaHFJQkFnQmtFQmFpSUhFSWlBZ0lBQUlBSXZBVFFoQmdzZ0JDQVBRUUYwYWlBR093RUFJQWNnRG1vaERpQVBRUUZxSVFZZ0RVRUJhaUlOUWYvL0EzRkIvLzhEUncwQklCSkJBQ0FTUVh4cUtBSUFJZ2NRbW9DQWdBQWFJQVFnQmtFQmRHcEIvdjhET3dFQUlBSkJBRFlDSENBQ0lBZXRRdEFBZmtMa0FJQStBaUFnRDBFQ2FpRUdRWUFDSVEwTUFRc0xJQUpCR0dvUWhvQ0FnQUJCQUNFSERBRUxJQUlnQXpjQ0VDQUNJQVEyQWdRZ0FpQUdOZ0lJSUFJZ0JUWUNEQ0FHSVFjQ1FDQUZJQVpCQkdvaUUwOE5BRUVBSVFjZ0FrRUVhaUFGSUJNUWpZQ0FnQUFRaklDQWdBQkIvLzhEY1EwQklBSW9BZ1FoQkNBQ0tBSUlJUWNMSUFRZ0IwRUJkR29pQnlBR1FRRjBJaE03QVFBZ0IwRUNhaUFHUVE5Mk93RUFJQWRCQkdvZ0JVRUJkRHNCQUNBSFFRWnFJQVZCRDNZN0FRQWdCQ0FUYWlFSEN5QUNRYUFCYWlTQWdJQ0FBQ0FIQzVNQ0FRWi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQkJBQ0VEQWtBZ0FDZ0NDQ0lFSUFGUERRQWdBQ2dDQUNFRkFrQWdCRVVOQUNBQ0lBRkJBRWc2QUFnZ0FVRi9UQTBBSUFBb0Fnd2dCU0FFUVFGMFFRRWdBVUVCZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDRUVBSVFNTUFRc2dBaUFBS1FJTU53TUFJQUpCQ0dvZ0FpQUJFSU9BZ0lBQUlBSXZBUXdpQXcwQUlBSW9BZ2dnQUNnQ0FDQUFLQUlFUVFGMEVKdUFnSUFBSVFaQkFDRURBa0FnQkVFQmRFRUFJQVFiSWdkRkRRQWdBQ2dDRENBRlFRSWdCQnNnQjBFQlFRQWdBRUVRYWlnQ0FDZ0NDQkdCZ0lDQUFBQUxJQUFnQVRZQ0NDQUFJQVkyQWdBTElBSkJFR29rZ0lDQWdBQWdBd3NsQVFGL0EwQkJmeUFBUVFGMklBQnFRUWhxSWdJZ0FpQUFTUnNpQUNBQlNRMEFDeUFBQ3o4QkFYOGpnSUNBZ0FCQkVHc2lBU1NBZ0lDQUFDQUJJQUFwQWd3M0F3Z2dBVUVJYWlBQUtBSUFJQUFvQWdnUWo0Q0FnQUFnQVVFUWFpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFRGRFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5c0hBd0YvQVg0SmZ5T0FnSUNBQUVIQUFHc2lBaVNBZ0lDQUFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEF3SkFBa0FDUUFKQUlBRU5BRUdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXNnQWtFQU5nSWdJQUpDcXRXcTFRbzNBaGdnQWlBRE53SWtJQUpCQUVILy93TVFqWUNBZ0FBaUIwSC8vLy8vQVVzNkFDd2dCMEdBZ0lDQUFrOE5BUUpBQWtBZ0IwRURkQ0lJRFFCQmZDRUlEQUVMSUFPbklBaEJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lJUlEwQ0N5QUNJQWMyQWlBZ0FpQUlOZ0lZUVFBaEJ3SkFBMEFnQjBINC94OUdEUUVnQ0NBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzZ0FrSC8vd00yQWh3Z0FpQUROd0k0UVFBaEJ5QUNRUUEyQWpRZ0FrS3ExYXJWQ2pjQ0xDQUNRU3hxSUFGQkdHd1FrWUNBZ0FCQi8vOERjUTBCSUFJcEFqZ2hBeUFDS0FJMElRVWdBaWdDTENJRUlBSW9BakFpQm1vZ0FDMEFBRG9BQUNBSUlBQXZBUUJCQTNScUlnbEJBVFlDQkNBSklBUTJBZ0FnQmtFQmFpRUtRUUVoQ1VHQUFpRUxBMEFnQ2lFR0FrQUNRQUpBQWtBZ0NTQUJUdzBBQWtBZ0FDQUpRUUYwYWk4QkFDSUtRZjcvQTBjTkFDQUpRUUZxSWdrZ0FVOE5BVUVBSVFjQ1FBTkFJQWRCK1A4ZlJnMEJJQWdnQjJwQ0FEY0NBQ0FIUVFocUlRY01BQXNMQWtBZ0FDQUpRUUYwYWk4QkFDSUhRWUFDU1EwQUlBSkIvLzhETmdJY0RBZ0xJQVFnQm1vZ0J6b0FBQ0FHUVFGcUlRcEJnQUloQ3d3RUN5QUtRWUFDU1EwQkFrQWdDQ0FLUVFOMGFpSUtLQUlBSWd3TkFDQUVJQVpxSUFRZ0Iyb2lDaUFHSUFkcklnd1FtNENBZ0FBYUlBUWdEQ0FHYWlJTWFpQUtMUUFBT2dBQUlBeEJBV29oQ2d3REN5QUVJQVpxSUF3Z0NpZ0NCQ0lLRUp1QWdJQUFHaUFLSUFacUlRb01BZ3NnQWtILy93TTJBaHdnQWtFWWFoQ09nSUNBQUF3RUN5QUVJQVpxSUFvNkFBQWdCa0VCYWlFS0N5QUlJQXRCLy84RGNVRURkR29pRENBR0lBZHJRUUZxTmdJRUlBd2dCQ0FIYWpZQ0FDQUxRUUZxSVFzTElBbEJBV29oQ1NBR0lRY01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDREFKQUFrQWdCU0FHUVFocUlnaEpEUUFnQmlFSERBRUxRUUFoQnlBQ1FRUnFJQVVnQ0JDTmdJQ0FBQkNSZ0lDQUFFSC8vd054RFFJZ0FpZ0NCQ0VFSUFJb0Fnd2hCU0FDS0FJSUlRY0xJQVFnQjJvaUJ5QUdPZ0FBSUFkQkIyb2dCVUVZZGpvQUFDQUhRUVpxSUFWQkVIWTZBQUFnQjBFRmFpQUZRUWgyT2dBQUlBZEJCR29nQlRvQUFDQUhRUU5xSUFaQkdIWTZBQUFnQjBFQ2FpQUdRUkIyT2dBQUlBZEJBV29nQmtFSWRqb0FBQ0FFSUFacUlRY01BUXNnQWtFWWFoQ09nSUNBQUVFQUlRY0xJQUpCd0FCcUpJQ0FnSUFBSUFjTDJnRUJCWDhqZ0lDQWdBQkJJR3NpQWlTQWdJQ0FBRUVBSVFNQ1FDQUFLQUlJSWdRZ0FVOE5BQ0FBS0FJQUlRVUNRQUpBSUFSRkRRQkJBQTBBSUFBb0Fnd2dCU0FFUVFBZ0FVRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0F3QkN5QUNJQUJCREdvaUJpa0NBRGNERUNBQ1FSaHFJQUpCRUdvZ0FSQ0JnSUNBQUNBQ0x3RWNJZ01OQVNBQ0tBSVlJQUFvQWdBZ0FDZ0NCQkNiZ0lDQUFDRURJQVlnQlNBRUVJV0FnSUFBSUFBZ0FUWUNDQ0FBSUFNMkFnQUxRUUFoQXdzZ0FrRWdhaVNBZ0lDQUFDQURDOUlDQXdaL0FYNEhmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQUFvQWdRaEJDQUFLQUlBSVFWQkFDRUdJQUpCL3dGeElRY0Rmd0pBQWtBQ1FDQUdJQVJIRFFCQmZ5RUlEQUVMQWtBZ0JTQUdRUVIwYWlJQ1FRaHFLUU1BSWdsQ0FGTU5BQ0FDS1FNQWV5QUplM3luSUFGSkRRSUxJQVpCQjNRaUNFR0FBV29oQ2dOQUlBZ2dDazhOQWlBSUlBQXBBZ0FpQ1VJWmlLZEJnSDl4SWdJZ0NDQUNTeHNpQ3lBSWF5RU1JQW1uUVFnZ0NVSWdpS2NiSVEwZ0NFRVFkR2doRGtFQUlRSUNRQU5BQWtBZ0RDQUNSdzBBSUFzaER3d0NDMEgvQVNBSUlBSnFJZzlCQjNFaUVFRUhjM1pCQVNBUWRIRWdEU0FQUVFOMmFpMEFBSEZGRFFFZ0FrRUJhaUlDSUFGSkRRQWdEaUFIU1EwQUN5QURJQWszQXdnZ0EwRUlhaUFJSUFGQkFCQ1RnSUNBQUF3Q0N5QVBRUUZxSVFnTUFBc0xJQU5CRUdva2dJQ0FnQUFnQ0E4TElBWkJBV29oQmd3QUN3dFVBUUYvSUFOQkFYRWhCQUpBQTBBZ0FrVU5BU0FBS0FJQVFRZ2dBQ2dDQkJzZ0FVRURkbW9pQXlBRExRQUFRWDRnQVVFSGNTSURkM0VnQkNBRGRISTZBQUFnQVVFQmFpRUJJQUpCZjJvaEFnd0FDd3NMMndFQkEzOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFBSkFJQUJCZ0JCUERRQWpnWUNBZ0FCQnFJREFnQUJxSUFBZ0FVR0FFQ0FCUVlBUVNSc2dBR3NRbFlDQWdBQUxBa0FnQVVHQUVFME5BQUpBSTRHQWdJQUFRYUNBd0lBQWFpZ0NCQTBBSTRHQWdJQUFRYUNBd0lBQWFpSURRWUFnTmdJRUlBTWdBVUYvYWlJQlFSQjBJZ1EyQWdBZ0JFRUFRWUNBQkJDYWdJQ0FBQm9MSUFJamdZQ0FnQUJCb0lEQWdBQnFLUU1BTndNSUlBSkJDR29nQUVHQUVDQUFRWUFRU3hzaUFFR0FjR29nQVNBQWF4Q1ZnSUNBQUFzZ0FrRVFhaVNBZ0lDQUFBczdBUUYvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQUtRSUFOd01JSUFOQkNHb2dBU0FDUVFFUWs0Q0FnQUFnQTBFUWFpU0FnSUNBQUF1OUFRRUVmMEVBSVFRQ1FDQUJRWUdBZkU4TkFBSkFJNEdBZ0lBQVFhaUF3SUFBYWlBQlFmLy9BMnBCRUhZaUFTQUNFSktBZ0lBQUlnUkJmMGNOQUFKQUk0R0FnSUFBUWFDQXdJQUFhaUFCSUFJUWtvQ0FnQUFpQkVGL1JnMEFJQVJCZ0JCcUlRUU1BUXRCQUNFRVFRRWdBblFpQlQ4QUlnWkJFSFFpQW1wQmYycEJBQ0FGYTNFaUJTQUNhMEVRZGlJSElBRnFRQUJCQVVnTkFTQUhJQVpxSVFRZ0JTQUNSZzBBSUFZZ0JCQ1VnSUNBQUFzZ0JFRVFkQ0VFQ3lBRUMwOEJBWDhDUUNBQ1FmLy9BMm9pQmtHQWdIeHhJQVJQSWdKRkRRQWdCRUgvL3dOcVFSQjJJZ1FnQmtFUWRpSUdSZzBBSUFRZ0FVSC8vd05xUVJCMklnRnFJQUVnQm1vUWxJQ0FnQUFMSUFJTElRQWdBVUgvL3dOcVFSQjJJZ0VnQVNBQ1FmLy9BMnBCRUhacUVKU0FnSUFBQzNVQkFYNGdBQ0FFSUFGK0lBSWdBMzU4SUFOQ0lJZ2lBaUFCUWlDSUlnUitmQ0FEUXYvLy8vOFBneUlESUFGQy8vLy8vdytESWdGK0lnVkNJSWdnQXlBRWZud2lBMElnaUh3Z0EwTC8vLy8vRDRNZ0FpQUJmbndpQVVJZ2lIdzNBd2dnQUNBQlFpQ0dJQVZDLy8vLy93K0RoRGNEQUFzc0FRRi9Ba0FnQWtVTkFDQUFJUU1EUUNBRElBRTZBQUFnQTBFQmFpRURJQUpCZjJvaUFnMEFDd3NnQUF0Q0FRRi9Ba0FnQWtVTkFDQUNRWDlxSVFJZ0FDRURBMEFnQXlBQkxRQUFPZ0FBSUFKRkRRRWdBa0YvYWlFQ0lBRkJBV29oQVNBRFFRRnFJUU1NQUFzTElBQUxDMEVDQUVHQWdNQUFDd2dBQUFBQUFBQUFBQUJCaUlEQUFBc29BUUFBQUFJQUFBQURBQUFBQUFBQUFBQUFBQUFJQUJBQXFxcXFxZ0FBQUFBd0FCQUFFQUFBQUE9PSIpOwpjb25zdCBlID0gYXdhaXQgRygpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBGKEkpIHsKICBjb25zdCB7IHB0cjogZywgbGVuZ3RoOiBBIH0gPSBEKEksIEIpLCBDID0gQi5jb21wcmVzcyhnLCBBKTsKICBCLmZyZWUoZywgQSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdyhCLm1lbW9yeSwgQyksIGEgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgdCA9IGgoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpmdW5jdGlvbiBuKEkpIHsKICBjb25zdCBnID0gQi5hbGxvY1VpbnQxNihJLmxlbmd0aCksIEEgPSBuZXcgVWludDE2QXJyYXkoCiAgICBCLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgSS5sZW5ndGgKICApOwogIGZvciAobGV0IG8gPSAwOyBvIDwgSS5sZW5ndGg7IG8rKykKICAgIEFbb10gPSBJLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgQyA9IEIuZGVjb21wcmVzcygKICAgIGcsCiAgICBJLmxlbmd0aAogICk7CiAgQi5mcmVlKGcsIEkubGVuZ3RoKTsKICBjb25zdCB7IHN0YXJ0OiBRLCBlbmQ6IEUsIGNhcGFjaXR5OiBpIH0gPSB3KEIubWVtb3J5LCBDKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLCBFKSksIHQgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihJKSB7CiAgY29uc3QgeyBjb21tYW5kOiBnLCBpZDogQSwgZGF0YTogQyB9ID0gSS5kYXRhOwogIHN3aXRjaCAoZykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogbihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogRihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", J = typeof window < "u" && window.Blob && new Blob([atob(V)], { type: "text/javascript;charset=utf-8" });
2
+ function l() {
3
+ let U;
4
+ try {
5
+ if (U = J && (window.URL || window.webkitURL).createObjectURL(J), !U)
6
+ throw "";
7
+ return new Worker(U);
8
+ } catch {
9
+ return new Worker("data:application/javascript;base64," + V, { type: "module" });
10
+ } finally {
11
+ U && (window.URL || window.webkitURL).revokeObjectURL(U);
12
+ }
13
+ }
14
+ const R = new l();
15
+ let d = 0;
16
+ const F = {};
17
+ R.onmessage = function(U) {
18
+ console.log("onmessage", U);
19
+ const Q = U.data.id;
20
+ F[Q](U.data.data), delete F[Q];
21
+ };
22
+ async function S(U) {
23
+ const Q = d++;
24
+ return console.log("compress", Q), new Promise((B) => {
25
+ F[Q] = B, R.postMessage({ command: "compress", id: Q, data: U });
26
+ });
27
+ }
28
+ async function W(U) {
29
+ const Q = d++;
30
+ return console.log("decompress", Q), new Promise((B) => {
31
+ F[Q] = B, R.postMessage({ command: "decompress", id: Q, data: U });
32
+ });
33
+ }
34
+ export {
35
+ S as compress,
36
+ W as decompress
37
+ };
@@ -1,2 +1,2 @@
1
- export declare function compress(str: string): string;
2
- export declare function decompress(compressedStr: string): string;
1
+ export declare function compress(str: string): string;
2
+ export declare function decompress(compressedStr: string): string;
@@ -1,42 +1,28 @@
1
- import { i as o, c as F, U as G } from "./wasm-helper-6790be72.js";
2
- const w = (I) => o(I, "data:application/wasm;base64,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IgBBgHBqIAEgAGsQmYCAgAALIAJBEGokgICAgAALOwEBfyOAgICAAEEQayIDJICAgIAAIAMgACkCADcDCCADQQhqIAEgAkEBEJeAgIAAIANBEGokgICAgAALvQEBBH9BACEEAkAgAUGBgHxPDQACQCOBgICAAEGogMCAAGogAUH//wNqQRB2IgEgAhCWgICAACIEQX9HDQACQCOBgICAAEGggMCAAGogASACEJaAgIAAIgRBf0YNACAEQYAQaiEEDAELQQAhBEEBIAJ0IgU/ACIGQRB0IgJqQX9qQQAgBWtxIgUgAmtBEHYiByABakAAQQFIDQEgByAGaiEEIAUgAkYNACAGIAQQmICAgAALIARBEHQhBAsgBAtPAQF/AkAgAkH//wNqIgZBgIB8cSAETyICRQ0AIARB//8DakEQdiIEIAZBEHYiBkYNACAEIAFB//8DakEQdiIBaiABIAZqEJiAgIAACyACCyEAIAFB//8DakEQdiIBIAEgAkH//wNqQRB2ahCYgICAAAt1AQF+IAAgBCABfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IANC/////w+DIAIgAX58IgFCIIh8NwMIIAAgAUIghiAFQv////8Pg4Q3AwALLAEBfwJAIAJFDQAgACEDA0AgAyABOgAAIANBAWohAyACQX9qIgINAAsLIAALQgEBfwJAIAJFDQAgAkF/aiECIAAhAwNAIAMgAS0AADoAACACRQ0BIAJBf2ohAiABQQFqIQEgA0EBaiEDDAALCyAACwtBAgBBgIDAAAsIAAAAAAAAAAAAQYiAwAALKAEAAAACAAAAAwAAAAAAAAAAAAAACAAQAKqqqqoAAAAAMAAQABAAAAA="), a = await w(), A = a.exports;
3
- function h(I) {
4
- const { ptr: C, length: i } = F(I, A), g = A.compress(C);
5
- A.free(C, i);
6
- const B = new Uint16Array(
7
- A.memory.buffer.slice(
8
- g,
9
- g + (A.memory.buffer.byteLength - g)
10
- )
11
- ), E = B.indexOf(0), D = B.slice(0, E), Q = G(D);
12
- return A.free(g, E + 1), Q;
13
- }
14
- function J(I) {
15
- const C = A.allocUint16(
16
- I.length + 1
17
- ), i = new Uint16Array(
18
- A.memory.buffer,
19
- C,
20
- I.length + 1
21
- );
22
- for (let Q = 0; Q < I.length; Q++)
23
- i[Q] = I.charCodeAt(Q);
24
- i[I.length] = 0;
25
- const g = A.decompress(
26
- C
27
- );
28
- A.free(C, I.length + 1);
29
- const B = new Uint8Array(
30
- A.memory.buffer.slice(
31
- g,
32
- g + (A.memory.buffer.byteLength - g)
33
- )
34
- ), E = B.indexOf(0);
35
- return A.free(g, E + 1), new TextDecoder().decode(
36
- B.slice(0, E)
37
- );
38
- }
39
- export {
40
- h as compress,
41
- J as decompress
42
- };
1
+ import { i as F, c as a, e as G, U as h } from "./wasm-helper-57a16a1d.js";
2
+ const k = (I) => F(I, "data:application/wasm;base64,AGFzbQEAAAABUQxgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gBX9+fn5+AAMdHAMEAwQFBAYFBwgACQkJBgQJCQoHBQQAAgELCgoEBQFwAQQEBQMBABEGDgJ/AUGAgMAAC38AQQALB0QGBm1lbW9yeQIACmFsbG9jVWludDgAAAthbGxvY1VpbnQxNgACBGZyZWUABAhjb21wcmVzcwALCmRlY29tcHJlc3MAEAkJAQBBAQsDFhcYCv83HF4BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCBgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLcQIBfwF+I4CAgIAAQRBrIgMkgICAgABCgICAgBAhBAJAQQFFDQACQCACDQBC/////w8hBAwBCyABKAIAIAJBAEEAIAEoAgQoAgARgICAgAAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIOAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwuHAQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyACQQBIOgAMAkACQCACQX9KDQBCgICAgBAhBAwBCwJAIAJBAXQiAg0AQv7///8PIQQMAQsgASgCACACQQFBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAACxkAI4GAgIAAQZiAwIAAaiAAIAEQhYCAgAALOAEBfwJAIAJBACACGyIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQBBACAAKAIEKAIIEYGAgIAAAAsLDwAgACAAQQxqEIeAgIAAC3ABA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgAiAkEKbCACQQ9qQXxxakEDakF8cSICQQAgAhsiBEUNACABKAIAIANBBCACGyAEQQJBACABKAIEKAIIEYGAgIAAAAsgAEEANgIIIABBADYCAAsL2AIDBH8BfgR/I4CAgIAAQRBrIgQkgICAgAAjgYCAgAAhBSABKAIAIQYCQAJAIAEoAgQNACAFQYCAwIAAaiEHDAELIAIgAxCJgICAACEIAkACQCAGDQBBACEFQX8hCQwBCyAGQXxqKAIAIgVBf2ohCQsgBkF4aiEKIAkgCKdxIQEgCEI5iKchCwNAI4GAgIAAQYCAwIAAaiEHIAYgAWosAAAiDEUNASAFRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgAiADIAooAgAgAUEDdGoiDCgCACAMKAIEEIqAgIAAQQFxRQ0AIARBAToADCAEIAE2AgggBEEIaiEHDAILIAVBf2ohBSABQQFqIAlxIQEMAAsLAkACQCAHLQAEDQBBACEBQQAhBQwBCyAGQXRqKAIAIAcoAgBBAXRqLwEAIQFBgIAEIQULIAAgBSABcjYBACAEQRBqJICAgIAAC+wFBQJ/AX4BfwJ+An8jgICAgABB4ABrIgIkgICAgAACQAJAAkACQAJAIAFBEEsNACABQQNNDQEgADUAAEIghiAAIAFBAXZB/P///wdxIgNqNQAAhCEEIAAgAUF8aiIFajUAAEIghiAAIAUgA2tqNQAAhCEGQqya4tOj0vD6HyEHDAQLQQAhA0KsmuLTo9Lw+h8hB0EAIQUgAUEwSQ0CQQAhBUKsmuLTo9Lw+h8hB0KsmuLTo9Lw+h8hBEKsmuLTo9Lw+h8hBgNAIAVBMGoiCCABTw0CIAJBwABqIAAgBWoiBSkACCAGhUIAIAUpAABC29HQhZra34FnhUIAEJmAgIAAIAJBMGogBUEYaikAACAEhUIAIAVBEGopAABC442j5Inemt6Of4VCABCZgICAACACQSBqIAVBKGopAAAgB4VCACAFQSBqKQAAQsOZ3anHudnM2ACFQgAQmYCAgAAgAkHAAGpBCGopAwAgAikDQIUhBiACQSBqQQhqKQMAIAIpAyCFIQcgAkEwakEIaikDACACKQMwhSEEIAghBQwACwtCACEGQqya4tOj0vD6HyEHAkAgAQ0AQgAhBAwDCyAAIAFBAXZqMQAAQgiGIAAxAABCEIaEIAEgAGpBf2oxAACEIQQMAgsgBCAHhSAGhSEHCyAAIAVqIQkgASAFayEIAkADQCADQRBqIgUgCE8NASACQdAAaiAJIANqIgNBCGopAAAgB4VCACADKQAAQtvR0IWa2t+BZ4VCABCZgICAACACQdAAakEIaikDACACKQNQhSEHIAUhAwwACwsgASAAaiIDQXhqKQAAIQYgA0FwaikAACEECyACQRBqIARC29HQhZra34FnhUIAIAYgB4VCABCZgICAACACIAJBEGpBCGopAwBC29HQhZra34FnhUIAIAGtIAIpAxCFQq/I9cXHrIe7oH+FQgAQmYCAgAAgAkEIaikDACEHIAIpAwAhBCACQeAAaiSAgICAACAHIASFC1gBAn9BACEEAkAgASADRw0AAkAgACACRw0AQQEPCwNAIAFFIQQgAUUNASABQX9qIQEgAi0AACEDIAAtAAAhBSAAQQFqIQAgAkEBaiECIAUgA0YNAAsLIAQLiRMGAX8BfgV/AX4cfwF+I4CAgIAAQaABayICJICAgIAAAkACQAJAIAENACOBgICAAEGYgMCAAGopAwAhA0Gq1arVeiEEQQAhBUEAIQYMAQtBACEHIAJBGGpBCGoiCEEANgIAIAJCADcDGCACI4GAgIAAQZiAwIAAaikDACIJNwIkIAIgCTcCdCACQQA2AnAgAkKq1arVCjcCaAJAIAJB6ABqIAEQjICAgABB//8DcUUNACACQRhqEIaAgIAADAILIAJBGGpBDGohCiAJQiCIpyELIAIpAnQhAyACKAJwIQUgAigCbCEGIAIoAmghBCAJpyEMQYACIQ1BACEOA0AgBiEPIA5BAmohByAAIA5qIRBBACEGAkACQAJAAkACQAJAAkACQAJAAkADQAJAAkAgByAGaiABTw0AIAJBMGogAkEYaiAQIAZBAmoiERCIgICAACACLQAyDQEgAigCGCESIAIoAiANBgJAAkAgEg0AQQEhBwwBCyASQXxqKAIArULQAH4iCSAJQuQAgn1C5AB8QtAAgKchBwtBACETIAJB6ABqQQhqIhRBADYCACACQgA3A2hBAA0FAkACQEIBQSAgB2drrUL//wODhqciB0EIIAdBCEsbIhVBAXQgFUEPakF8cSIWIBVBA3RqIhdqQQNqQXxxIgcNAEF8IQcMAQtBACETIAwgB0ECQQAgCygCABGAgICAAAAiB0UNBgsgB0EIaiIYIBU2AgAgByAHIBZqNgIEIAcgByAXajYCACACIAdBDGoiBzYCaCAHQQAgFRCagICAACETIAIgFa1C0AB+QuQAgKciGTYCcCACKAIcIhpFDQRB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"), J = await k(), A = J.exports;
3
+ function c(I) {
4
+ const { ptr: C, length: Q } = a(I, A), E = A.compress(C, Q);
5
+ A.free(C, Q);
6
+ const { start: g, end: i, capacity: o } = G(A.memory, E), D = new Uint16Array(A.memory.buffer.slice(g, i)), w = h(D);
7
+ return A.free(g, o), w;
8
+ }
9
+ function s(I) {
10
+ const C = A.allocUint16(I.length), Q = new Uint16Array(
11
+ A.memory.buffer,
12
+ C,
13
+ I.length
14
+ );
15
+ for (let B = 0; B < I.length; B++)
16
+ Q[B] = I.charCodeAt(B);
17
+ const E = A.decompress(
18
+ C,
19
+ I.length
20
+ );
21
+ A.free(C, I.length);
22
+ const { start: g, end: i, capacity: o } = G(A.memory, E), D = new Uint8Array(A.memory.buffer.slice(g, i)), w = new TextDecoder().decode(D);
23
+ return A.free(g, o), w;
24
+ }
25
+ export {
26
+ c as compress,
27
+ s as decompress
28
+ };
@@ -0,0 +1,56 @@
1
+ function o(n, e) {
2
+ const t = new TextEncoder().encode(n), a = e.allocUint8(t.length);
3
+ return new Uint8Array(
4
+ e.memory.buffer,
5
+ a,
6
+ t.length
7
+ ).set(t), { ptr: a, length: t.length };
8
+ }
9
+ function f(n) {
10
+ const e = new Array(n.length);
11
+ for (let t = 0; t < n.length; t++)
12
+ e[t] = String.fromCharCode(n[t]);
13
+ return e.join("");
14
+ }
15
+ function c(n, e) {
16
+ const t = new Uint32Array(
17
+ n.buffer.slice(e, e + 8)
18
+ ), a = t.at(0), r = t.at(1);
19
+ return {
20
+ start: e - a,
21
+ end: e,
22
+ capacity: r
23
+ };
24
+ }
25
+ const l = async (n = {}, e) => {
26
+ let t;
27
+ if (e.startsWith("data:")) {
28
+ const a = e.replace(/^data:.*?base64,/, "");
29
+ let r;
30
+ if (typeof Buffer == "function" && typeof Buffer.from == "function")
31
+ r = Buffer.from(a, "base64");
32
+ else if (typeof atob == "function") {
33
+ const s = atob(a);
34
+ r = new Uint8Array(s.length);
35
+ for (let i = 0; i < s.length; i++)
36
+ r[i] = s.charCodeAt(i);
37
+ } else
38
+ throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
39
+ t = await WebAssembly.instantiate(r, n);
40
+ } else {
41
+ const a = await fetch(e), r = a.headers.get("Content-Type") || "";
42
+ if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
43
+ t = await WebAssembly.instantiateStreaming(a, n);
44
+ else {
45
+ const s = await a.arrayBuffer();
46
+ t = await WebAssembly.instantiate(s, n);
47
+ }
48
+ }
49
+ return t.instance;
50
+ };
51
+ export {
52
+ f as U,
53
+ o as c,
54
+ c as e,
55
+ l as i
56
+ };
@@ -1,5 +1,5 @@
1
- export type Message = {
2
- command: string;
3
- id: number;
4
- data: string;
5
- };
1
+ export type Message = {
2
+ command: string;
3
+ id: number;
4
+ data: string;
5
+ };
package/dist/worker.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export type Message = {
2
- command: string;
3
- id: number;
4
- data: string;
5
- };
1
+ export type Message = {
2
+ command: string;
3
+ id: number;
4
+ data: string;
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smol-string",
3
- "version": "0.0.0",
3
+ "version": "0.0.1",
4
4
  "description": "Compression for browser localStorage",
5
5
  "author": "Senryoku <maretverdant@gmail.com>",
6
6
  "repository": {
package/src/common.ts CHANGED
@@ -4,16 +4,15 @@ export function copyToWasmBuffer(
4
4
  ) {
5
5
  // There's also an 'encodeInto' method to avoid a copy, but by encoding first, we con allocate only exactly what we need.
6
6
  const utf8Str = new TextEncoder().encode(str);
7
- const ptrToStr = exports.allocUint8(utf8Str.length + 1);
7
+ const ptrToStr = exports.allocUint8(utf8Str.length);
8
8
  const inBuffer = new Uint8Array(
9
9
  exports.memory.buffer,
10
10
  ptrToStr,
11
- utf8Str.length + 1
11
+ utf8Str.length
12
12
  );
13
13
  inBuffer.set(utf8Str); // Copy to WASM buffer.
14
- inBuffer[utf8Str.length] = 0; // null terminate it.
15
14
 
16
- return { ptr: ptrToStr, length: utf8Str.length + 1 };
15
+ return { ptr: ptrToStr, length: utf8Str.length };
17
16
  }
18
17
 
19
18
  // Horrible. Surely we can do better...
@@ -23,3 +22,18 @@ export function Uint16ArraytoString(buf: Uint16Array) {
23
22
  strBuilder[i] = String.fromCharCode(buf[i]);
24
23
  return strBuilder.join("");
25
24
  }
25
+
26
+ export function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number) {
27
+ const footer = new Uint32Array(
28
+ memory.buffer.slice(ptrToFooter, ptrToFooter + 8)
29
+ );
30
+ const streamLength = footer.at(0)!;
31
+ const capacity = footer.at(1)!;
32
+ const start = ptrToFooter - streamLength;
33
+
34
+ return {
35
+ start,
36
+ end: ptrToFooter,
37
+ capacity,
38
+ };
39
+ }
Binary file
package/src/module.wasm CHANGED
Binary file
@@ -1,4 +1,8 @@
1
- import { Uint16ArraytoString, copyToWasmBuffer } from "./common.js";
1
+ import {
2
+ Uint16ArraytoString,
3
+ copyToWasmBuffer,
4
+ extractFooter,
5
+ } from "./common.js";
2
6
  import init from "./module-packed.wasm?init";
3
7
 
4
8
  type exportsType = {
@@ -11,7 +15,7 @@ type exportsType = {
11
15
  tokenCount: number
12
16
  ) => number;
13
17
  free: (ptr: number, length: number) => void;
14
- memory: any;
18
+ memory: WebAssembly.Memory;
15
19
  };
16
20
 
17
21
  const instance = await init();
@@ -20,31 +24,26 @@ const exports = instance.exports as exportsType;
20
24
  export function compressPacked(str: string) {
21
25
  const { ptr, length } = copyToWasmBuffer(str, exports);
22
26
 
23
- const ptrToCompressed = exports.compressPacked(ptr, length);
27
+ const ptrToFooter = exports.compressPacked(ptr, length);
24
28
 
25
29
  exports.free(ptr, length);
26
30
 
27
- const buffer = new Uint16Array(
28
- exports.memory.buffer.slice(
29
- ptrToCompressed,
30
- ptrToCompressed +
31
- (exports.memory.buffer.byteLength - ptrToCompressed)
32
- )
33
- );
34
- const streamLength = (buffer.at(0)! << 16) + buffer.at(1)!;
35
- // Includes the tokenCount at the start of the stream (2 * u16).
36
- const compressedBuffer = buffer.slice(2, streamLength);
31
+ const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
32
+
33
+ // Includes the tokenCount at the end of the stream (2 * u16).
34
+ const compressed = new Uint16Array(exports.memory.buffer.slice(start, end));
37
35
 
38
- const compressed = Uint16ArraytoString(compressedBuffer);
36
+ const r = Uint16ArraytoString(compressed);
39
37
 
40
- exports.free(ptrToCompressed, streamLength);
38
+ exports.free(start, capacity);
41
39
 
42
- return compressed;
40
+ return r;
43
41
  }
44
42
 
45
43
  export function decompressPacked(compressedStr: string) {
46
44
  const tokenCount =
47
- (compressedStr.charCodeAt(0)! << 16) + compressedStr.charCodeAt(1);
45
+ (compressedStr.charCodeAt(compressedStr.length - 1)! << 16) +
46
+ compressedStr.charCodeAt(compressedStr.length - 2);
48
47
 
49
48
  let ptrToCompressed = exports.allocUint16(compressedStr.length - 2);
50
49
  let compressed_buffer = new Uint16Array(
@@ -53,31 +52,22 @@ export function decompressPacked(compressedStr: string) {
53
52
  compressedStr.length - 2
54
53
  );
55
54
 
56
- for (let i = 2; i < compressedStr.length; i++)
57
- compressed_buffer[i - 2] = compressedStr.charCodeAt(i);
55
+ for (let i = 0; i < compressedStr.length - 2; i++)
56
+ compressed_buffer[i] = compressedStr.charCodeAt(i);
58
57
 
59
- const ptrToDecompressedNullTerminated = exports.decompressPacked(
58
+ const ptrToFooter = exports.decompressPacked(
60
59
  ptrToCompressed,
61
- compressedStr.length,
60
+ compressedStr.length - 2,
62
61
  tokenCount
63
62
  );
64
63
 
65
- exports.free(ptrToCompressed, compressedStr.length);
64
+ exports.free(ptrToCompressed, compressedStr.length - 2);
66
65
 
67
- const decompressed_buffer = new Uint8Array(
68
- exports.memory.buffer.slice(
69
- ptrToDecompressedNullTerminated,
70
- ptrToDecompressedNullTerminated +
71
- (exports.memory.buffer.byteLength -
72
- ptrToDecompressedNullTerminated)
73
- )
74
- );
75
- const decompressed_end = decompressed_buffer.indexOf(0);
76
- const r = new TextDecoder().decode(
77
- decompressed_buffer.slice(0, decompressed_end)
78
- );
66
+ const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
67
+ const content = new Uint8Array(exports.memory.buffer.slice(start, end));
68
+ const r = new TextDecoder().decode(content);
79
69
 
80
- exports.free(ptrToDecompressedNullTerminated, decompressed_end + 1);
70
+ exports.free(start, capacity);
81
71
 
82
72
  return r;
83
73
  }
@@ -1,13 +1,17 @@
1
- import { Uint16ArraytoString, copyToWasmBuffer } from "./common.js";
1
+ import {
2
+ Uint16ArraytoString,
3
+ copyToWasmBuffer,
4
+ extractFooter,
5
+ } from "./common.js";
2
6
  import init from "./module.wasm?init";
3
7
 
4
8
  type exportsType = {
5
9
  allocUint8: (size: number) => number;
6
10
  allocUint16: (size: number) => number;
7
- compress: (ptr: number) => number;
8
- decompress: (ptr: number) => number;
11
+ compress: (ptr: number, length: number) => number;
12
+ decompress: (ptr: number, length: number) => number;
9
13
  free: (ptr: number, length: number) => void;
10
- memory: any;
14
+ memory: WebAssembly.Memory;
11
15
  };
12
16
 
13
17
  const instance = await init();
@@ -16,61 +20,42 @@ const exports = instance.exports as exportsType;
16
20
  export function compress(str: string) {
17
21
  const { ptr, length } = copyToWasmBuffer(str, exports);
18
22
 
19
- const ptrToCompressed = exports.compress(ptr);
23
+ const ptrToFooter = exports.compress(ptr, length);
20
24
 
21
25
  exports.free(ptr, length);
22
26
 
23
- const buffer = new Uint16Array(
24
- exports.memory.buffer.slice(
25
- ptrToCompressed,
26
- ptrToCompressed +
27
- (exports.memory.buffer.byteLength - ptrToCompressed)
28
- )
29
- );
30
- const end = buffer.indexOf(0);
31
- const compressed = buffer.slice(0, end);
27
+ const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
32
28
 
33
- const r = Uint16ArraytoString(compressed);
29
+ const content = new Uint16Array(exports.memory.buffer.slice(start, end));
30
+ const r = Uint16ArraytoString(content);
34
31
 
35
- exports.free(ptrToCompressed, end + 1);
32
+ exports.free(start, capacity);
36
33
 
37
34
  return r;
38
35
  }
39
36
 
40
37
  export function decompress(compressedStr: string) {
41
- const ptrToCompressedNullTerminated = exports.allocUint16(
42
- compressedStr.length + 1
43
- );
38
+ const ptrToCompressed = exports.allocUint16(compressedStr.length);
44
39
  const compressed_buffer = new Uint16Array(
45
40
  exports.memory.buffer,
46
- ptrToCompressedNullTerminated,
47
- compressedStr.length + 1
41
+ ptrToCompressed,
42
+ compressedStr.length
48
43
  );
49
44
  for (let i = 0; i < compressedStr.length; i++)
50
45
  compressed_buffer[i] = compressedStr.charCodeAt(i);
51
- compressed_buffer[compressedStr.length] = 0;
52
46
 
53
- const ptrToDecompressedNullTerminated = exports.decompress(
54
- ptrToCompressedNullTerminated
47
+ const ptrToFooter = exports.decompress(
48
+ ptrToCompressed,
49
+ compressedStr.length
55
50
  );
56
51
 
57
- exports.free(ptrToCompressedNullTerminated, compressedStr.length + 1);
52
+ exports.free(ptrToCompressed, compressedStr.length);
58
53
 
59
- const decompressed_buffer = new Uint8Array(
60
- exports.memory.buffer.slice(
61
- ptrToDecompressedNullTerminated,
62
- ptrToDecompressedNullTerminated +
63
- (exports.memory.buffer.byteLength -
64
- ptrToDecompressedNullTerminated)
65
- )
66
- );
67
- const decompressed_end = decompressed_buffer.indexOf(0);
54
+ const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
55
+ const content = new Uint8Array(exports.memory.buffer.slice(start, end));
56
+ const r = new TextDecoder().decode(content);
68
57
 
69
- exports.free(ptrToDecompressedNullTerminated, decompressed_end + 1);
70
-
71
- const r = new TextDecoder().decode(
72
- decompressed_buffer.slice(0, decompressed_end)
73
- );
58
+ exports.free(start, capacity);
74
59
 
75
60
  return r;
76
61
  }
@@ -1,29 +1,29 @@
1
- import { describe, expect, test } from "vitest";
2
-
3
- import { TestData } from "./common.js";
4
-
5
- import { compress, decompress } from "../dist/smol-string.js";
6
- import {
7
- compressPacked,
8
- decompressPacked,
9
- } from "../dist/smol-string-packed.js";
10
-
11
- describe("compress and decompress", () => {
12
- for (const { name, input } of TestData) {
13
- test(name, async () => {
14
- const compressed = compress(input);
15
- const decompressed = decompress(compressed);
16
- expect(decompressed).toBe(input);
17
- });
18
- }
19
- });
20
-
21
- describe("compressPacked and decompressPacked", () => {
22
- for (const { name, input } of TestData) {
23
- test(name, async () => {
24
- const compressed = compressPacked(input);
25
- const decompressed = decompressPacked(compressed);
26
- expect(decompressed).toBe(input);
27
- });
28
- }
29
- });
1
+ import { describe, expect, test } from "vitest";
2
+
3
+ import { TestData } from "./common.js";
4
+
5
+ import { compress, decompress } from "../dist/smol-string.js";
6
+ import {
7
+ compressPacked,
8
+ decompressPacked,
9
+ } from "../dist/smol-string-packed.js";
10
+
11
+ describe("compress and decompress", () => {
12
+ for (const { name, input } of TestData) {
13
+ test(name, async () => {
14
+ const compressed = compress(input);
15
+ const decompressed = decompress(compressed);
16
+ expect(decompressed).toBe(input);
17
+ });
18
+ }
19
+ });
20
+
21
+ describe("compressPacked and decompressPacked", () => {
22
+ for (const { name, input } of TestData) {
23
+ test(name, async () => {
24
+ const compressed = compressPacked(input);
25
+ const decompressed = decompressPacked(compressed);
26
+ expect(decompressed).toBe(input);
27
+ });
28
+ }
29
+ });
package/test/common.ts CHANGED
@@ -1,15 +1,15 @@
1
- export const json_512kb = import("../../test/data/512KB.json");
2
- export const json_1mb = import("../../test/data/1MB.json");
3
- export const rw_medium = import("../../test/data/rw_medium.json");
4
- export const rw_large = import("../../test/data/rw_large.json");
5
-
6
- export const TestData = [
7
- {
8
- name: "Simple String",
9
- input: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum",
10
- },
11
- { name: "json_512kb", input: JSON.stringify(await json_512kb) },
12
- { name: "json_1mb", input: JSON.stringify(await json_1mb) },
13
- { name: "rw_medium", input: JSON.stringify(await rw_medium) },
14
- { name: "rw_large", input: JSON.stringify(await rw_large) },
15
- ];
1
+ export const json_512kb = import("../../test/data/512KB.json");
2
+ export const json_1mb = import("../../test/data/1MB.json");
3
+ export const rw_medium = import("../../test/data/rw_medium.json");
4
+ export const rw_large = import("../../test/data/rw_large.json");
5
+
6
+ export const TestData = [
7
+ {
8
+ name: "Simple String",
9
+ input: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum",
10
+ },
11
+ { name: "json_512kb", input: JSON.stringify(await json_512kb) },
12
+ { name: "json_1mb", input: JSON.stringify(await json_1mb) },
13
+ { name: "rw_medium", input: JSON.stringify(await rw_medium) },
14
+ { name: "rw_large", input: JSON.stringify(await rw_large) },
15
+ ];
@@ -1,51 +1,51 @@
1
- import { describe, bench, expect, test, beforeAll } from "vitest";
2
-
3
- import { TestData } from "./common.js";
4
-
5
- import { compress, decompress } from "../dist/smol-string.js";
6
-
7
- import {
8
- compressPacked,
9
- decompressPacked,
10
- } from "../dist/smol-string-packed.js";
11
-
12
- const options = { iterations: 5 };
13
-
14
- describe.each(TestData)("Compression: $name", ({ name, input }) => {
15
- bench(
16
- "compress",
17
- async () => {
18
- compress(input);
19
- },
20
- options
21
- );
22
- bench(
23
- "compressPacked",
24
- async () => {
25
- compressPacked(input);
26
- },
27
- options
28
- );
29
- });
30
-
31
- describe.each(TestData)("Decompression: $name", ({ name, input }) => {
32
- let compressed = compress(input);
33
- let compressedPacked = compressPacked(input);
34
-
35
- bench(
36
- "decompress",
37
- async () => {
38
- const decompressed = decompress(compressed);
39
- expect(decompressed).toBe(input);
40
- },
41
- options
42
- );
43
- bench(
44
- "decompressPacked",
45
- async () => {
46
- const decompressed = decompressPacked(compressedPacked);
47
- expect(decompressed).toBe(input);
48
- },
49
- options
50
- );
51
- });
1
+ import { describe, bench, expect, test, beforeAll } from "vitest";
2
+
3
+ import { TestData } from "./common.js";
4
+
5
+ import { compress, decompress } from "../dist/smol-string.js";
6
+
7
+ import {
8
+ compressPacked,
9
+ decompressPacked,
10
+ } from "../dist/smol-string-packed.js";
11
+
12
+ const options = { iterations: 5 };
13
+
14
+ describe.each(TestData)("Compression: $name", ({ name, input }) => {
15
+ bench(
16
+ "compress",
17
+ async () => {
18
+ compress(input);
19
+ },
20
+ options
21
+ );
22
+ bench(
23
+ "compressPacked",
24
+ async () => {
25
+ compressPacked(input);
26
+ },
27
+ options
28
+ );
29
+ });
30
+
31
+ describe.each(TestData)("Decompression: $name", ({ name, input }) => {
32
+ let compressed = compress(input);
33
+ let compressedPacked = compressPacked(input);
34
+
35
+ bench(
36
+ "decompress",
37
+ async () => {
38
+ const decompressed = decompress(compressed);
39
+ expect(decompressed).toBe(input);
40
+ },
41
+ options
42
+ );
43
+ bench(
44
+ "decompressPacked",
45
+ async () => {
46
+ const decompressed = decompressPacked(compressedPacked);
47
+ expect(decompressed).toBe(input);
48
+ },
49
+ options
50
+ );
51
+ });
@@ -1,45 +0,0 @@
1
- function s(e, n) {
2
- const t = new TextEncoder().encode(e), a = n.allocUint8(t.length + 1), r = new Uint8Array(
3
- n.memory.buffer,
4
- a,
5
- t.length + 1
6
- );
7
- return r.set(t), r[t.length] = 0, { ptr: a, length: t.length + 1 };
8
- }
9
- function f(e) {
10
- const n = new Array(e.length);
11
- for (let t = 0; t < e.length; t++)
12
- n[t] = String.fromCharCode(e[t]);
13
- return n.join("");
14
- }
15
- const c = async (e = {}, n) => {
16
- let t;
17
- if (n.startsWith("data:")) {
18
- const a = n.replace(/^data:.*?base64,/, "");
19
- let r;
20
- if (typeof Buffer == "function" && typeof Buffer.from == "function")
21
- r = Buffer.from(a, "base64");
22
- else if (typeof atob == "function") {
23
- const i = atob(a);
24
- r = new Uint8Array(i.length);
25
- for (let o = 0; o < i.length; o++)
26
- r[o] = i.charCodeAt(o);
27
- } else
28
- throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
29
- t = await WebAssembly.instantiate(r, e);
30
- } else {
31
- const a = await fetch(n), r = a.headers.get("Content-Type") || "";
32
- if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
33
- t = await WebAssembly.instantiateStreaming(a, e);
34
- else {
35
- const i = await a.arrayBuffer();
36
- t = await WebAssembly.instantiate(i, e);
37
- }
38
- }
39
- return t.instance;
40
- };
41
- export {
42
- f as U,
43
- s as c,
44
- c as i
45
- };