@cloudpss/compress 0.3.0-alpha.14 → 0.3.0-alpha.22
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 +31 -13
- package/benchmark.js +62 -0
- package/dist/{cjs/gzip → gzip}/index-browser.d.ts +0 -0
- package/dist/{esm/gzip → gzip}/index-browser.js +0 -0
- package/dist/gzip/index-browser.js.map +1 -0
- package/dist/{cjs/gzip → gzip}/index.d.ts +0 -0
- package/dist/{esm/gzip → gzip}/index.js +0 -0
- package/dist/gzip/index.js.map +1 -0
- package/dist/{cjs/index.d.ts → index.d.ts} +2 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/zstd/index-browser.d.ts +2 -0
- package/dist/zstd/index-browser.js +3 -0
- package/dist/zstd/index-browser.js.map +1 -0
- package/dist/{cjs/zstd → zstd}/index.d.ts +0 -0
- package/dist/zstd/index.js +14 -0
- package/dist/zstd/index.js.map +1 -0
- package/dist/zstd/wasm/compress.d.ts +2 -0
- package/dist/zstd/wasm/compress.js +28 -0
- package/dist/zstd/wasm/compress.js.map +1 -0
- package/dist/zstd/wasm/decompress.d.ts +6 -0
- package/dist/zstd/wasm/decompress.js +30 -0
- package/dist/zstd/wasm/decompress.js.map +1 -0
- package/dist/zstd/wasm/module.d.ts +2 -0
- package/dist/zstd/wasm/module.js +4 -0
- package/dist/zstd/wasm/module.js.map +1 -0
- package/package.json +13 -13
- package/src/index.ts +30 -13
- package/src/zstd/index-browser.ts +2 -0
- package/src/zstd/index.ts +7 -18
- package/src/zstd/wasm/compress.ts +27 -0
- package/src/zstd/wasm/decompress.ts +37 -0
- package/src/zstd/wasm/module.ts +5 -0
- package/tsconfig.json +1 -2
- package/wasm/zstd.g.d.ts +16 -0
- package/wasm/zstd.g.js +29 -0
- package/dist/cjs/gzip/index-browser.js +0 -15
- package/dist/cjs/gzip/index-browser.js.map +0 -1
- package/dist/cjs/gzip/index.js +0 -27
- package/dist/cjs/gzip/index.js.map +0 -1
- package/dist/cjs/index.js +0 -46
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/zstd/index.js +0 -29
- package/dist/cjs/zstd/index.js.map +0 -1
- package/dist/cjs/zstd/lib/errors/index.d.ts +0 -1
- package/dist/cjs/zstd/lib/errors/index.js +0 -16
- package/dist/cjs/zstd/lib/errors/index.js.map +0 -1
- package/dist/cjs/zstd/lib/index.node.d.ts +0 -3
- package/dist/cjs/zstd/lib/index.node.js +0 -45
- package/dist/cjs/zstd/lib/index.node.js.map +0 -1
- package/dist/cjs/zstd/lib/index.web.d.ts +0 -3
- package/dist/cjs/zstd/lib/index.web.js +0 -44
- package/dist/cjs/zstd/lib/index.web.js.map +0 -1
- package/dist/cjs/zstd/lib/module.d.ts +0 -3
- package/dist/cjs/zstd/lib/module.js +0 -33
- package/dist/cjs/zstd/lib/module.js.map +0 -1
- package/dist/cjs/zstd/lib/simple/compress.d.ts +0 -1
- package/dist/cjs/zstd/lib/simple/compress.js +0 -46
- package/dist/cjs/zstd/lib/simple/compress.js.map +0 -1
- package/dist/cjs/zstd/lib/simple/decompress.d.ts +0 -3
- package/dist/cjs/zstd/lib/simple/decompress.js +0 -46
- package/dist/cjs/zstd/lib/simple/decompress.js.map +0 -1
- package/dist/cjs/zstd/lib/wasm/zstd.d.ts +0 -2
- package/dist/cjs/zstd/lib/wasm/zstd.js +0 -324
- package/dist/cjs/zstd/lib/wasm/zstd.js.map +0 -1
- package/dist/cjs/zstd/lib/wasm/zstd.wasm.d.ts +0 -1
- package/dist/cjs/zstd/lib/wasm/zstd.wasm.js +0 -5
- package/dist/cjs/zstd/lib/wasm/zstd.wasm.js.map +0 -1
- package/dist/esm/gzip/index-browser.d.ts +0 -4
- package/dist/esm/gzip/index-browser.js.map +0 -1
- package/dist/esm/gzip/index.d.ts +0 -4
- package/dist/esm/gzip/index.js.map +0 -1
- package/dist/esm/index.d.ts +0 -16
- package/dist/esm/index.js +0 -41
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/zstd/index.d.ts +0 -4
- package/dist/esm/zstd/index.js +0 -24
- package/dist/esm/zstd/index.js.map +0 -1
- package/dist/esm/zstd/lib/errors/index.d.ts +0 -1
- package/dist/esm/zstd/lib/errors/index.js +0 -12
- package/dist/esm/zstd/lib/errors/index.js.map +0 -1
- package/dist/esm/zstd/lib/index.node.d.ts +0 -3
- package/dist/esm/zstd/lib/index.node.js +0 -31
- package/dist/esm/zstd/lib/index.node.js.map +0 -1
- package/dist/esm/zstd/lib/index.web.d.ts +0 -3
- package/dist/esm/zstd/lib/index.web.js +0 -30
- package/dist/esm/zstd/lib/index.web.js.map +0 -1
- package/dist/esm/zstd/lib/module.d.ts +0 -3
- package/dist/esm/zstd/lib/module.js +0 -29
- package/dist/esm/zstd/lib/module.js.map +0 -1
- package/dist/esm/zstd/lib/simple/compress.d.ts +0 -1
- package/dist/esm/zstd/lib/simple/compress.js +0 -42
- package/dist/esm/zstd/lib/simple/compress.js.map +0 -1
- package/dist/esm/zstd/lib/simple/decompress.d.ts +0 -3
- package/dist/esm/zstd/lib/simple/decompress.js +0 -42
- package/dist/esm/zstd/lib/simple/decompress.js.map +0 -1
- package/dist/esm/zstd/lib/wasm/zstd.d.ts +0 -2
- package/dist/esm/zstd/lib/wasm/zstd.js +0 -324
- package/dist/esm/zstd/lib/wasm/zstd.js.map +0 -1
- package/dist/esm/zstd/lib/wasm/zstd.wasm.d.ts +0 -1
- package/dist/esm/zstd/lib/wasm/zstd.wasm.js +0 -2
- package/dist/esm/zstd/lib/wasm/zstd.wasm.js.map +0 -1
- package/update-zstd.ps1 +0 -11
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zstd.wasm.js","sourceRoot":"","sources":["../../../../../src/zstd/lib/wasm/zstd.wasm.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,0zkeAA0zke,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser.js","sourceRoot":"","sources":["../../../src/gzip/index-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,SAAS;AACT,MAAM,UAAU,QAAQ,CAAC,IAAgB;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS;AACT,MAAM,UAAU,UAAU,CAAC,IAAgB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
package/dist/esm/gzip/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gzip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,SAAS;AACT,MAAM,UAAU,QAAQ,CAAC,IAAgB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS;AACT,MAAM,UAAU,UAAU,CAAC,IAAgB;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACzB,IAAI,GAAG,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/esm/index.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/** 可用的压缩算法 */
|
|
2
|
-
export declare type Algorithm = 'zstd' | 'gzip' | 'none';
|
|
3
|
-
/** 压缩算法的魔数 */
|
|
4
|
-
export declare const MAGIC_NUMBERS: {
|
|
5
|
-
zstd: number[];
|
|
6
|
-
gzip: number[];
|
|
7
|
-
};
|
|
8
|
-
/** 使用指定算法压缩 */
|
|
9
|
-
export declare function compress(data: Uint8Array, algorithm?: Algorithm): Promise<Uint8Array>;
|
|
10
|
-
/** 解压缩结果 */
|
|
11
|
-
declare type DecompressResult = Promise<Uint8Array> & {
|
|
12
|
-
algorithm: Algorithm;
|
|
13
|
-
};
|
|
14
|
-
/** 探测压缩算法并解压缩 */
|
|
15
|
-
export declare function decompress(data: Uint8Array): DecompressResult;
|
|
16
|
-
export {};
|
package/dist/esm/index.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/** 压缩算法的魔数 */
|
|
2
|
-
export const MAGIC_NUMBERS = {
|
|
3
|
-
zstd: [0x28, 0xb5, 0x2f, 0xfd],
|
|
4
|
-
gzip: [0x1f, 0x8b],
|
|
5
|
-
};
|
|
6
|
-
const modules = {
|
|
7
|
-
zstd: () => import('./zstd'),
|
|
8
|
-
gzip: () => import('./gzip'),
|
|
9
|
-
};
|
|
10
|
-
/** 使用指定算法压缩 */
|
|
11
|
-
export async function compress(data, algorithm = 'zstd') {
|
|
12
|
-
if (algorithm === 'none')
|
|
13
|
-
return data;
|
|
14
|
-
const lib = await modules[algorithm]();
|
|
15
|
-
return await lib.compress(data);
|
|
16
|
-
}
|
|
17
|
-
/** 探测压缩算法并解压缩 */
|
|
18
|
-
export function decompress(data) {
|
|
19
|
-
let result;
|
|
20
|
-
for (const key in MAGIC_NUMBERS) {
|
|
21
|
-
const k = key;
|
|
22
|
-
const magicNumber = MAGIC_NUMBERS[k];
|
|
23
|
-
if (data.length <= magicNumber.length)
|
|
24
|
-
continue;
|
|
25
|
-
for (let i = 0; i < magicNumber.length; i++) {
|
|
26
|
-
if (data[i] !== magicNumber[i])
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
// 确定压缩类型
|
|
30
|
-
result = modules[k]().then(({ decompress }) => decompress(data));
|
|
31
|
-
result.algorithm = k;
|
|
32
|
-
break;
|
|
33
|
-
}
|
|
34
|
-
if (result == null) {
|
|
35
|
-
// 不是压缩数据
|
|
36
|
-
result = Promise.resolve(data);
|
|
37
|
-
result.algorithm = 'none';
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc;AACd,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9B,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC/B,CAAC;AAEF,eAAe;AACf,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAgB,EAAE,YAAuB,MAAM;IAC1E,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACvC,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAKD,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,IAAgB;IACvC,IAAI,MAAoC,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAC7B,MAAM,CAAC,GAAG,GAAiC,CAAC;QAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM;YAAE,SAAS;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;gBAAE,SAAS;SAC5C;QACD,SAAS;QACT,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAqB,CAAC;QACrF,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,MAAM;KACT;IACD,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,SAAS;QACT,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAqB,CAAC;QACnD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;KAC7B;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/dist/esm/zstd/index.d.ts
DELETED
package/dist/esm/zstd/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { decompress as d } from './lib/simple/decompress';
|
|
2
|
-
import { compress as c } from './lib/simple/compress';
|
|
3
|
-
import { Module, waitInitialized } from './lib/module';
|
|
4
|
-
import { data } from './lib/wasm/zstd.wasm.js';
|
|
5
|
-
let wasm;
|
|
6
|
-
if (typeof Buffer !== 'undefined') {
|
|
7
|
-
wasm = Buffer.from(data, 'base64');
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
wasm = 'data:application/wasm;base64,' + data;
|
|
11
|
-
}
|
|
12
|
-
Module.init(wasm);
|
|
13
|
-
const init = waitInitialized();
|
|
14
|
-
/** 压缩 */
|
|
15
|
-
export async function compress(data) {
|
|
16
|
-
await init;
|
|
17
|
-
return c(data);
|
|
18
|
-
}
|
|
19
|
-
/** 解压 */
|
|
20
|
-
export async function decompress(data) {
|
|
21
|
-
await init;
|
|
22
|
-
return d(data);
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/zstd/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,IAAI,IAAI,CAAC;AACT,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IAC/B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CACtC;KAAM;IACH,IAAI,GAAG,+BAA+B,GAAG,IAAI,CAAC;CACjD;AAEA,MAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAE/B,SAAS;AACT,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAgB;IAC3C,MAAM,IAAI,CAAC;IACX,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS;AACT,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAgB;IAC7C,MAAM,IAAI,CAAC;IACX,OAAO,CAAC,CAAC,IAAI,CAAe,CAAC;AACjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function isError(code: any): any;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Module } from '../module';
|
|
2
|
-
export const isError = (code) => {
|
|
3
|
-
const _isError = Module['_ZSTD_isError'];
|
|
4
|
-
return _isError(code);
|
|
5
|
-
};
|
|
6
|
-
// @See https://github.com/facebook/zstd/blob/12c045f74d922dc934c168f6e1581d72df983388/lib/common/error_private.c#L24-L53
|
|
7
|
-
// export const getErrorName = (code: number): string => {
|
|
8
|
-
// const _getErrorName = Module.cwrap('ZSTD_getErrorName', 'string', ['number']);
|
|
9
|
-
// return _getErrorName(code);
|
|
10
|
-
// };
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/zstd/lib/errors/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AACF,yHAAyH;AACzH,0DAA0D;AAC1D,mFAAmF;AACnF,gCAAgC;AAChC,KAAK;AACL,iCAAiC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try {
|
|
5
|
-
step(generator.next(value));
|
|
6
|
-
}
|
|
7
|
-
catch (e) {
|
|
8
|
-
reject(e);
|
|
9
|
-
} }
|
|
10
|
-
function rejected(value) { try {
|
|
11
|
-
step(generator["throw"](value));
|
|
12
|
-
}
|
|
13
|
-
catch (e) {
|
|
14
|
-
reject(e);
|
|
15
|
-
} }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
import { Module, waitInitialized } from './module';
|
|
21
|
-
export const init = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const { readFileSync } = require('fs');
|
|
23
|
-
const { resolve } = require('path');
|
|
24
|
-
const buf = readFileSync(resolve(__dirname, './wasm/zstd.wasm'));
|
|
25
|
-
Module['init'](buf);
|
|
26
|
-
yield waitInitialized();
|
|
27
|
-
});
|
|
28
|
-
export * from './simple/decompress';
|
|
29
|
-
export * from './simple/compress';
|
|
30
|
-
//# sourceMappingURL=index.node.js.map
|
|
31
|
-
//# sourceMappingURL=index.node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.js","sourceRoot":"","sources":["../../../../src/zstd/lib/index.node.js"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;IACnF,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,MAAM;QACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,CAAC;QAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,CAAC;QAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,eAAe,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,sCAAsC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try {
|
|
5
|
-
step(generator.next(value));
|
|
6
|
-
}
|
|
7
|
-
catch (e) {
|
|
8
|
-
reject(e);
|
|
9
|
-
} }
|
|
10
|
-
function rejected(value) { try {
|
|
11
|
-
step(generator["throw"](value));
|
|
12
|
-
}
|
|
13
|
-
catch (e) {
|
|
14
|
-
reject(e);
|
|
15
|
-
} }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
import { Module, waitInitialized } from './module';
|
|
21
|
-
export const init = (path) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
var _a;
|
|
23
|
-
const url = require('./wasm/zstd.wasm');
|
|
24
|
-
Module['init']((_a = path !== null && path !== void 0 ? path : url.default) !== null && _a !== void 0 ? _a : url);
|
|
25
|
-
yield waitInitialized();
|
|
26
|
-
});
|
|
27
|
-
export * from './simple/decompress';
|
|
28
|
-
export * from './simple/compress';
|
|
29
|
-
//# sourceMappingURL=index.web.js.map
|
|
30
|
-
//# sourceMappingURL=index.web.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.js","sourceRoot":"","sources":["../../../../src/zstd/lib/index.web.js"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;IACnF,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,MAAM;QACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,CAAC;QAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,CAAC;QAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;IACrE,IAAI,EAAE,CAAC;IACP,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClH,MAAM,eAAe,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,qCAAqC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try {
|
|
5
|
-
step(generator.next(value));
|
|
6
|
-
}
|
|
7
|
-
catch (e) {
|
|
8
|
-
reject(e);
|
|
9
|
-
} }
|
|
10
|
-
function rejected(value) { try {
|
|
11
|
-
step(generator["throw"](value));
|
|
12
|
-
}
|
|
13
|
-
catch (e) {
|
|
14
|
-
reject(e);
|
|
15
|
-
} }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
const Module = require('./wasm/zstd.js');
|
|
21
|
-
const initialized = (() => new Promise((resolve) => {
|
|
22
|
-
Module.onRuntimeInitialized = resolve;
|
|
23
|
-
}))();
|
|
24
|
-
export const waitInitialized = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
-
yield initialized;
|
|
26
|
-
});
|
|
27
|
-
export { Module };
|
|
28
|
-
//# sourceMappingURL=module.js.map
|
|
29
|
-
//# sourceMappingURL=module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/zstd/lib/module.js"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;IACnF,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,MAAM;QACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,CAAC;QAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,CAAC;QAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACzC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC/C,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC;AAC1C,CAAC,CAAC,CAAC,EAAE,CAAC;AACN,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC5E,MAAM,WAAW,CAAC;AACtB,CAAC,CAAC,CAAC;AACH,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,kCAAkC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function compress(buf: any, level: any): Uint8Array;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Module } from '../module';
|
|
2
|
-
import { isError } from '../errors';
|
|
3
|
-
const compressBound = (size) => {
|
|
4
|
-
const bound = Module['_ZSTD_compressBound'];
|
|
5
|
-
return bound(size);
|
|
6
|
-
};
|
|
7
|
-
export const compress = (buf, level) => {
|
|
8
|
-
const bound = compressBound(buf.byteLength);
|
|
9
|
-
const malloc = Module['_malloc'];
|
|
10
|
-
const compressed = malloc(bound);
|
|
11
|
-
const src = malloc(buf.byteLength);
|
|
12
|
-
Module.HEAP8.set(buf, src);
|
|
13
|
-
const free = Module['_free'];
|
|
14
|
-
try {
|
|
15
|
-
/*
|
|
16
|
-
@See https://zstd.docsforge.com/dev/api/ZSTD_compress/
|
|
17
|
-
size_t ZSTD_compress( void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel);
|
|
18
|
-
Compresses `src` content as a single zstd compressed frame into already allocated `dst`.
|
|
19
|
-
Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`.
|
|
20
|
-
@return : compressed size written into `dst` (<= `dstCapacity),
|
|
21
|
-
or an error code if it fails (which can be tested using ZSTD_isError()).
|
|
22
|
-
*/
|
|
23
|
-
const _compress = Module['_ZSTD_compress'];
|
|
24
|
-
const sizeOrError = _compress(compressed, bound, src, buf.byteLength, level !== null && level !== void 0 ? level : 3);
|
|
25
|
-
if (isError(sizeOrError)) {
|
|
26
|
-
throw new Error(`Failed to compress with code ${sizeOrError}`);
|
|
27
|
-
}
|
|
28
|
-
// // Copy buffer
|
|
29
|
-
// // Uint8Array.prototype.slice() return copied buffer.
|
|
30
|
-
const data = new Uint8Array(Module.HEAPU8.buffer, compressed, sizeOrError).slice();
|
|
31
|
-
free(compressed, bound);
|
|
32
|
-
free(src, buf.byteLength);
|
|
33
|
-
return data;
|
|
34
|
-
}
|
|
35
|
-
catch (e) {
|
|
36
|
-
free(compressed, bound);
|
|
37
|
-
free(src, buf.byteLength);
|
|
38
|
-
throw e;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=compress.js.map
|
|
42
|
-
//# sourceMappingURL=compress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../../../src/zstd/lib/simple/compress.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI;QACA;;;;;;;UAOE;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;SAClE;QACD,iBAAiB;QACjB,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QACnF,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;KACf;IACD,OAAO,CAAC,EAAE;QACN,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,CAAC;KACX;AACL,CAAC,CAAC;AACF,oCAAoC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Module } from '../module';
|
|
2
|
-
import { isError } from '../errors';
|
|
3
|
-
const getFrameContentSize = (src, size) => {
|
|
4
|
-
const getSize = Module['_ZSTD_getFrameContentSize'];
|
|
5
|
-
return getSize(src, size);
|
|
6
|
-
};
|
|
7
|
-
export const decompress = (buf, opts = { defaultHeapSize: 1024 * 1024 }) => {
|
|
8
|
-
const malloc = Module['_malloc'];
|
|
9
|
-
const src = malloc(buf.byteLength);
|
|
10
|
-
Module.HEAP8.set(buf, src);
|
|
11
|
-
const contentSize = getFrameContentSize(src, buf.byteLength);
|
|
12
|
-
const size = contentSize === -1 ? opts.defaultHeapSize : contentSize;
|
|
13
|
-
const free = Module['_free'];
|
|
14
|
-
const heap = malloc(size);
|
|
15
|
-
try {
|
|
16
|
-
/*
|
|
17
|
-
@See https://zstd.docsforge.com/dev/api/ZSTD_decompress/
|
|
18
|
-
compressedSize : must be the exact size of some number of compressed and/or skippable frames.
|
|
19
|
-
dstCapacity is an upper bound of originalSize to regenerate.
|
|
20
|
-
If user cannot imply a maximum upper bound, it's better to use streaming mode to decompress data.
|
|
21
|
-
@return: the number of bytes decompressed into dst (<= dstCapacity), or an errorCode if it fails (which can be tested using ZSTD_isError()).
|
|
22
|
-
*/
|
|
23
|
-
const _decompress = Module['_ZSTD_decompress'];
|
|
24
|
-
const sizeOrError = _decompress(heap, size, src, buf.byteLength);
|
|
25
|
-
if (isError(sizeOrError)) {
|
|
26
|
-
throw new Error(`Failed to compress with code ${sizeOrError}`);
|
|
27
|
-
}
|
|
28
|
-
// Copy buffer
|
|
29
|
-
// Uint8Array.prototype.slice() return copied buffer.
|
|
30
|
-
const data = new Uint8Array(Module.HEAPU8.buffer, heap, sizeOrError).slice();
|
|
31
|
-
free(heap, size);
|
|
32
|
-
free(src, buf.byteLength);
|
|
33
|
-
return data;
|
|
34
|
-
}
|
|
35
|
-
catch (e) {
|
|
36
|
-
free(heap, size);
|
|
37
|
-
free(src, buf.byteLength);
|
|
38
|
-
throw e;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=decompress.js.map
|
|
42
|
-
//# sourceMappingURL=decompress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../../../../src/zstd/lib/simple/decompress.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,eAAe,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI;QACA;;;;;;UAME;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;SAClE;QACD,cAAc;QACd,qDAAqD;QACrD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7E,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;KACf;IACD,OAAO,CAAC,EAAE;QACN,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,CAAC;KACX;AACL,CAAC,CAAC;AACF,sCAAsC"}
|