@zip.js/zip.js 2.16.0 → 2.17.0
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/deno.json +1 -1
- package/dist/zip-core-external.js +429 -274
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +230 -151
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +580 -283
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +383 -160
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +580 -283
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +386 -163
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +583 -283
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +232 -153
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +233 -154
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +430 -274
- package/dist/zip.min.js +1 -1
- package/eslint.config.mjs +1 -1
- package/index-native.cjs +386 -163
- package/index-native.min.js +1 -1
- package/index.cjs +583 -283
- package/index.d.cts +168 -29
- package/index.d.ts +168 -29
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +2 -0
- package/lib/core/codec-worker-web.js +11 -3
- package/lib/core/codec-worker.js +2 -1
- package/lib/core/streams/aes-crypto-stream.js +60 -17
- package/lib/core/streams/codec-stream.js +2 -0
- package/lib/core/streams/zip-crypto-stream.js +7 -7
- package/lib/core/streams/zip-entry-stream.js +130 -113
- package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
- package/lib/core/streams/zlib-wasm/zlib-streams.js +199 -122
- package/lib/core/util/compatible-streams.js +10 -5
- package/lib/core/version.js +1 -1
- package/lib/core/web-worker-base.js +1 -1
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +157 -10
- package/lib/core/zip-reader.js +8 -5
- package/lib/core/zip-writer.js +5 -2
- package/lib/zip-core-reader.js +1 -0
- package/package.json +3 -2
package/dist/zip-native.js
CHANGED
|
@@ -445,7 +445,7 @@
|
|
|
445
445
|
Object.assign(config, DEFAULT_CONFIGURATION);
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
-
const n=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],r=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],t=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],f=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],s=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],e=new Uint8Array(288);e.fill(8,0,144),e.fill(9,144,256),e.fill(7,256,280),e.fill(8,280,288);const o=new Uint8Array(30).fill(5);function u(n){const r=new Uint16Array(16);for(const t of n)r[t]++;r[0]=0;const t=new Uint16Array(17);for(let n=1;n<=15;n++)t[n+1]=t[n]+r[n];const f=new Uint16Array(n.length);for(let r=0;r<n.length;r++)n[r]&&(f[t[n[r]]++]=r);return {lengthCounts:r,symbols:f}}const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g$1=(O=()=>function(h){let g=0,O=0,w=0,l=new Uint8Array(1024),W=0,V=0;for(;!V;){V=c(1);const n=c(2);if(0==n)L();else if(1==n)Y(u(e),u(o));else {if(2!=n)throw new Error("invalid deflate block type");Y(...i());}}return l.subarray(0,W);function y(){if(g>=h.length)throw new Error("unexpected end of deflate data");return h[g++]}function c(n){for(;w<n;)O|=y()<<w,w+=8;const r=O&(1<<n)-1;return O>>>=n,w-=n,r}function L(){O=0,w=0;const n=y()|y()<<8;g+=2,B(W+n);for(let r=0;r<n;r++)l[W++]=y();}function Y(s,e){let o=m(s);for(;256!=o;){if(o<256)B(W+1),l[W++]=o;else {const s=o-257,u=n[s]+c(r[s]),h=m(e),g=t[h]+c(f[h]);B(W+u);const O=W-g;for(let n=0;n<u;n++)l[W++]=l[O+n];}o=m(s);}}function i(){const n=c(5)+257,r=c(5)+1,t=c(4)+4,f=new Uint8Array(19);for(let n=0;n<t;n++)f[s[n]]=c(3);const e=u(f),o=new Uint8Array(n+r);let h=0;for(;h<o.length;){const n=m(e);if(n<16)o[h++]=n;else if(16==n){const n=o[h-1];let r=c(2)+3;for(;r--;)o[h++]=n;}else h+=17==n?c(3)+3:c(7)+11;}return [u(o.subarray(0,n)),u(o.subarray(n))]}function m(n){const{lengthCounts:r,symbols:t}=n;let f=0,s=0,e=0;for(let n=1;n<=15;n++){f|=c(1);const o=r[n];if(f-s<o)return t[e+(f-s)];e+=o,s=s+o<<1,f<<=1;}throw new Error("invalid huffman code")}function B(n){if(l.length<n){let r=2*l.length;for(;r<n;)r*=2;const t=new Uint8Array(r);t.set(l.subarray(0,W)),l=t;}}}(function(n){const r=(n=String(n).replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let f=0;f<r;f+=4){const r=h.indexOf(n[f])<<18|h.indexOf(n[f+1])<<12|(63&h.indexOf(n[f+2]))<<6|63&h.indexOf(n[f+3]);t.push(r>>16&255),"="!==n[f+2]&&t.push(r>>8&255),"="!==n[f+3]&&t.push(255&r);}return new Uint8Array(t)}("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")),n=>n({workerURI:n=>{const r="text/javascript";let t=O();if("string"==typeof t&&(t=(new TextEncoder).encode(t)),n){const n=new Blob([t],{type:r});return URL.createObjectURL(n)}return "data:"+r+";base64,"+function(n){let r="";const t=n.length;let f=0;for(;f+2<t;f+=3){const t=n[f]<<16|n[f+1]<<8|n[f+2];r+=h[t>>18&63]+h[t>>12&63]+h[t>>6&63]+h[63&t];}const s=t-f;if(1===s){const t=n[f]<<16;r+=h[t>>18&63]+h[t>>12&63]+"==";}else if(2===s){const t=n[f]<<16|n[f+1]<<8;r+=h[t>>18&63]+h[t>>12&63]+h[t>>6&63]+"=";}return r}(t)}}));var O;
|
|
448
|
+
const n=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],t=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],l=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],o=new Uint8Array(288);o.fill(8,0,144),o.fill(9,144,256),o.fill(7,256,280),o.fill(8,280,288);const u=new Uint8Array(30).fill(5);function w(n){const t=new Uint16Array(16);for(const r of n)t[r]++;t[0]=0;const r=new Uint16Array(17);for(let n=1;n<=15;n++)r[n+1]=r[n]+t[n];const l=new Uint16Array(n.length);for(let t=0;t<n.length;t++)n[t]&&(l[r[n[t]]++]=t);return {lengthCounts:t,symbols:l}}const s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",F=(O$1=()=>function(s){let F=0,O=0,a=0,Q=new Uint8Array(1024),c=0,W=0;for(;!W;){W=U(1);const n=U(2);if(0==n)f();else if(1==n)h(w(o),w(u));else {if(2!=n)throw new Error("invalid deflate block type");h(...v());}}return Q.subarray(0,c);function g(){if(F>=s.length)throw new Error("unexpected end of deflate data");return s[F++]}function U(n){for(;a<n;)O|=g()<<a,a+=8;const t=O&(1<<n)-1;return O>>>=n,a-=n,t}function f(){O=0,a=0;const n=g()|g()<<8;F+=2,p(c+n);for(let t=0;t<n;t++)Q[c++]=g();}function h(e,o){let u=L(e);for(;256!=u;){if(u<256)p(c+1),Q[c++]=u;else {const e=u-257,w=n[e]+U(t[e]),s=L(o),F=r[s]+U(l[s]);p(c+w);const O=c-F;for(let n=0;n<w;n++)Q[c++]=Q[O+n];}u=L(e);}}function v(){const n=U(5)+257,t=U(5)+1,r=U(4)+4,l=new Uint8Array(19);for(let n=0;n<r;n++)l[e[n]]=U(3);const o=w(l),u=new Uint8Array(n+t);let s=0;for(;s<u.length;){const n=L(o);if(n<16)u[s++]=n;else if(16==n){const n=u[s-1];let t=U(2)+3;for(;t--;)u[s++]=n;}else s+=17==n?U(3)+3:U(7)+11;}return [w(u.subarray(0,n)),w(u.subarray(n))]}function L(n){const{lengthCounts:t,symbols:r}=n;let l=0,e=0,o=0;for(let n=1;n<=15;n++){l|=U(1);const u=t[n];if(l-e<u)return r[o+(l-e)];o+=u,e=e+u<<1,l<<=1;}throw new Error("invalid huffman code")}function p(n){if(Q.length<n){let t=2*Q.length;for(;t<n;)t*=2;const r=new Uint8Array(t);r.set(Q.subarray(0,c)),Q=r;}}}(function(n){const t=(n=String(n).replace(/[^A-Za-z0-9+/=]/g,"")).length,r=[];for(let l=0;l<t;l+=4){const t=s.indexOf(n[l])<<18|s.indexOf(n[l+1])<<12|(63&s.indexOf(n[l+2]))<<6|63&s.indexOf(n[l+3]);r.push(t>>16&255),"="!==n[l+2]&&r.push(t>>8&255),"="!==n[l+3]&&r.push(255&t);}return new Uint8Array(r)}("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")),n=>n({workerURI:n=>{const t="text/javascript";let r=O$1();if("string"==typeof r&&(r=(new TextEncoder).encode(r)),n){const n=new Blob([r],{type:t});return URL.createObjectURL(n)}return "data:"+t+";base64,"+function(n){let t="";const r=n.length;let l=0;for(;l+2<r;l+=3){const r=n[l]<<16|n[l+1]<<8|n[l+2];t+=s[r>>18&63]+s[r>>12&63]+s[r>>6&63]+s[63&r];}const e=r-l;if(1===e){const r=n[l]<<16;t+=s[r>>18&63]+s[r>>12&63]+"==";}else if(2===e){const r=n[l]<<16|n[l+1]<<8;t+=s[r>>18&63]+s[r>>12&63]+s[r>>6&63]+"=";}return t}(r)}}));var O$1;
|
|
449
449
|
|
|
450
450
|
/*
|
|
451
451
|
Copyright (c) 2026 Gildas Lormeau. All rights reserved.
|
|
@@ -1285,12 +1285,12 @@
|
|
|
1285
1285
|
class AESDecryptionStream extends TransformStream {
|
|
1286
1286
|
|
|
1287
1287
|
constructor({ password, rawPassword, encryptionStrength, checkPasswordOnly, checkAuthenticationCode = true }) {
|
|
1288
|
+
const aesCrypto = {};
|
|
1288
1289
|
super({
|
|
1289
1290
|
start() {
|
|
1290
|
-
initAesCrypto(
|
|
1291
|
+
initAesCrypto(aesCrypto, password, rawPassword, encryptionStrength);
|
|
1291
1292
|
},
|
|
1292
1293
|
async transform(chunk, controller) {
|
|
1293
|
-
const aesCrypto = this;
|
|
1294
1294
|
const {
|
|
1295
1295
|
password,
|
|
1296
1296
|
strength,
|
|
@@ -1309,6 +1309,9 @@
|
|
|
1309
1309
|
} else {
|
|
1310
1310
|
await ready;
|
|
1311
1311
|
}
|
|
1312
|
+
if (aesCrypto.discarded) {
|
|
1313
|
+
return;
|
|
1314
|
+
}
|
|
1312
1315
|
const output = new Uint8Array(chunk.length - AUTHENTICATION_CODE_LENGTH - ((chunk.length - AUTHENTICATION_CODE_LENGTH) % BLOCK_LENGTH));
|
|
1313
1316
|
controller.enqueue(append(aesCrypto, chunk, output, 0, AUTHENTICATION_CODE_LENGTH, true));
|
|
1314
1317
|
},
|
|
@@ -1317,9 +1320,12 @@
|
|
|
1317
1320
|
engine,
|
|
1318
1321
|
pendingInput,
|
|
1319
1322
|
ready
|
|
1320
|
-
} =
|
|
1323
|
+
} = aesCrypto;
|
|
1321
1324
|
if (engine) {
|
|
1322
1325
|
await ready;
|
|
1326
|
+
if (aesCrypto.discarded) {
|
|
1327
|
+
return;
|
|
1328
|
+
}
|
|
1323
1329
|
const originalAuthenticationCode = subarray(pendingInput, pendingInput.length - AUTHENTICATION_CODE_LENGTH);
|
|
1324
1330
|
const decryptedChunkArray = new Uint8Array(subarray(pendingInput, 0, pendingInput.length - AUTHENTICATION_CODE_LENGTH));
|
|
1325
1331
|
engine.process(decryptedChunkArray, true);
|
|
@@ -1329,27 +1335,26 @@
|
|
|
1329
1335
|
invalidAuthenticationCode |= authenticationCode[indexByte] ^ originalAuthenticationCode[indexByte];
|
|
1330
1336
|
}
|
|
1331
1337
|
if (invalidAuthenticationCode && checkAuthenticationCode) {
|
|
1332
|
-
|
|
1338
|
+
controller.error(new Error(ERR_INVALID_AUTHENTICATION_CODE));
|
|
1339
|
+
return;
|
|
1333
1340
|
}
|
|
1334
1341
|
controller.enqueue(decryptedChunkArray);
|
|
1335
1342
|
}
|
|
1336
|
-
},
|
|
1337
|
-
cancel() {
|
|
1338
|
-
disposeEngine(this);
|
|
1339
1343
|
}
|
|
1340
1344
|
});
|
|
1345
|
+
setDisposingReadable(this, aesCrypto);
|
|
1341
1346
|
}
|
|
1342
1347
|
}
|
|
1343
1348
|
|
|
1344
1349
|
class AESEncryptionStream extends TransformStream {
|
|
1345
1350
|
|
|
1346
1351
|
constructor({ password, rawPassword, encryptionStrength }) {
|
|
1352
|
+
const aesCrypto = {};
|
|
1347
1353
|
super({
|
|
1348
1354
|
start() {
|
|
1349
|
-
initAesCrypto(
|
|
1355
|
+
initAesCrypto(aesCrypto, password, rawPassword, encryptionStrength);
|
|
1350
1356
|
},
|
|
1351
1357
|
async transform(chunk, controller) {
|
|
1352
|
-
const aesCrypto = this;
|
|
1353
1358
|
const {
|
|
1354
1359
|
password,
|
|
1355
1360
|
strength,
|
|
@@ -1363,6 +1368,9 @@
|
|
|
1363
1368
|
} else {
|
|
1364
1369
|
await ready;
|
|
1365
1370
|
}
|
|
1371
|
+
if (aesCrypto.discarded) {
|
|
1372
|
+
return;
|
|
1373
|
+
}
|
|
1366
1374
|
const output = new Uint8Array(preamble.length + chunk.length - (chunk.length % BLOCK_LENGTH));
|
|
1367
1375
|
output.set(preamble, 0);
|
|
1368
1376
|
controller.enqueue(append(aesCrypto, chunk, output, preamble.length, 0, false));
|
|
@@ -1372,19 +1380,20 @@
|
|
|
1372
1380
|
engine,
|
|
1373
1381
|
pendingInput,
|
|
1374
1382
|
ready
|
|
1375
|
-
} =
|
|
1383
|
+
} = aesCrypto;
|
|
1376
1384
|
if (engine) {
|
|
1377
1385
|
await ready;
|
|
1386
|
+
if (aesCrypto.discarded) {
|
|
1387
|
+
return;
|
|
1388
|
+
}
|
|
1378
1389
|
const encryptedChunkArray = new Uint8Array(pendingInput);
|
|
1379
1390
|
engine.process(encryptedChunkArray, false);
|
|
1380
1391
|
const authenticationCode = subarray(engine.digest(), 0, AUTHENTICATION_CODE_LENGTH);
|
|
1381
1392
|
controller.enqueue(concat(encryptedChunkArray, authenticationCode));
|
|
1382
1393
|
}
|
|
1383
|
-
},
|
|
1384
|
-
cancel() {
|
|
1385
|
-
disposeEngine(this);
|
|
1386
1394
|
}
|
|
1387
1395
|
});
|
|
1396
|
+
setDisposingReadable(this, aesCrypto);
|
|
1388
1397
|
}
|
|
1389
1398
|
}
|
|
1390
1399
|
|
|
@@ -1393,7 +1402,37 @@
|
|
|
1393
1402
|
ready: new Promise(resolve => aesCrypto.resolveReady = resolve),
|
|
1394
1403
|
password: encodePassword(password, rawPassword),
|
|
1395
1404
|
strength: encryptionStrength - 1,
|
|
1396
|
-
pendingInput: EMPTY_UINT8_ARRAY
|
|
1405
|
+
pendingInput: EMPTY_UINT8_ARRAY,
|
|
1406
|
+
discarded: false
|
|
1407
|
+
});
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
function setDisposingReadable(stream, aesCrypto) {
|
|
1411
|
+
const reader = stream.readable.getReader();
|
|
1412
|
+
const readable = new ReadableStream({
|
|
1413
|
+
async pull(controller) {
|
|
1414
|
+
try {
|
|
1415
|
+
const { value, done } = await reader.read();
|
|
1416
|
+
if (done) {
|
|
1417
|
+
controller.close();
|
|
1418
|
+
} else {
|
|
1419
|
+
controller.enqueue(value);
|
|
1420
|
+
}
|
|
1421
|
+
} catch (error) {
|
|
1422
|
+
disposeEngine(aesCrypto);
|
|
1423
|
+
reader.cancel(error).catch(() => { });
|
|
1424
|
+
throw error;
|
|
1425
|
+
}
|
|
1426
|
+
},
|
|
1427
|
+
cancel(reason) {
|
|
1428
|
+
disposeEngine(aesCrypto);
|
|
1429
|
+
return reader.cancel(reason);
|
|
1430
|
+
}
|
|
1431
|
+
});
|
|
1432
|
+
Object.defineProperty(stream, "readable", {
|
|
1433
|
+
get() {
|
|
1434
|
+
return readable;
|
|
1435
|
+
}
|
|
1397
1436
|
});
|
|
1398
1437
|
}
|
|
1399
1438
|
|
|
@@ -1426,7 +1465,9 @@
|
|
|
1426
1465
|
}
|
|
1427
1466
|
}
|
|
1428
1467
|
|
|
1429
|
-
function disposeEngine(
|
|
1468
|
+
function disposeEngine(aesCrypto) {
|
|
1469
|
+
const { engine } = aesCrypto;
|
|
1470
|
+
aesCrypto.discarded = true;
|
|
1430
1471
|
if (engine && engine.dispose) {
|
|
1431
1472
|
engine.dispose();
|
|
1432
1473
|
}
|
|
@@ -1443,6 +1484,9 @@
|
|
|
1443
1484
|
const keyLength = KEY_LENGTH[strength];
|
|
1444
1485
|
const compositeKey = await deriveKey(password, salt, keyLength * 2 + PASSWORD_VERIFICATION_LENGTH);
|
|
1445
1486
|
aesCrypto.engine = createEngine(subarray(compositeKey, 0, keyLength), subarray(compositeKey, keyLength, keyLength * 2));
|
|
1487
|
+
if (aesCrypto.discarded) {
|
|
1488
|
+
disposeEngine(aesCrypto);
|
|
1489
|
+
}
|
|
1446
1490
|
return subarray(compositeKey, keyLength * 2);
|
|
1447
1491
|
}
|
|
1448
1492
|
|
|
@@ -1594,11 +1638,11 @@
|
|
|
1594
1638
|
}
|
|
1595
1639
|
|
|
1596
1640
|
function createKeys(target, password, rawPassword) {
|
|
1597
|
-
const
|
|
1641
|
+
const cryptoKeys = [0x12345678, 0x23456789, 0x34567890];
|
|
1598
1642
|
Object.assign(target, {
|
|
1599
|
-
|
|
1600
|
-
crcKey0: new Crc32(
|
|
1601
|
-
crcKey2: new Crc32(
|
|
1643
|
+
cryptoKeys,
|
|
1644
|
+
crcKey0: new Crc32(cryptoKeys[0]),
|
|
1645
|
+
crcKey2: new Crc32(cryptoKeys[2])
|
|
1602
1646
|
});
|
|
1603
1647
|
if (rawPassword) {
|
|
1604
1648
|
for (let index = 0; index < rawPassword.length; index++) {
|
|
@@ -1612,17 +1656,17 @@
|
|
|
1612
1656
|
}
|
|
1613
1657
|
|
|
1614
1658
|
function updateKeys(target, byte) {
|
|
1615
|
-
let [, key1] = target.
|
|
1659
|
+
let [, key1] = target.cryptoKeys;
|
|
1616
1660
|
target.crcKey0.append([byte]);
|
|
1617
1661
|
const key0 = ~target.crcKey0.get();
|
|
1618
1662
|
key1 = getInt32(Math.imul(getInt32(key1 + getInt8(key0)), 134775813) + 1);
|
|
1619
1663
|
target.crcKey2.append([key1 >>> 24]);
|
|
1620
1664
|
const key2 = ~target.crcKey2.get();
|
|
1621
|
-
target.
|
|
1665
|
+
target.cryptoKeys = [key0, key1, key2];
|
|
1622
1666
|
}
|
|
1623
1667
|
|
|
1624
1668
|
function getByte(target) {
|
|
1625
|
-
const temp = target.
|
|
1669
|
+
const temp = target.cryptoKeys[2] | 2;
|
|
1626
1670
|
return getInt8(Math.imul(temp, (temp ^ 1)) >>> 8);
|
|
1627
1671
|
}
|
|
1628
1672
|
|
|
@@ -1670,11 +1714,16 @@
|
|
|
1670
1714
|
const reader = readable.getReader();
|
|
1671
1715
|
return new ReadableStream({
|
|
1672
1716
|
async pull(controller) {
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1717
|
+
try {
|
|
1718
|
+
const { value, done } = await reader.read();
|
|
1719
|
+
if (done) {
|
|
1720
|
+
controller.close();
|
|
1721
|
+
} else {
|
|
1722
|
+
controller.enqueue(value);
|
|
1723
|
+
}
|
|
1724
|
+
} catch (error) {
|
|
1725
|
+
reader.cancel(error).catch(() => { });
|
|
1726
|
+
throw error;
|
|
1678
1727
|
}
|
|
1679
1728
|
},
|
|
1680
1729
|
cancel(reason) {
|
|
@@ -1853,7 +1902,9 @@
|
|
|
1853
1902
|
|
|
1854
1903
|
const ERR_INVALID_UNCOMPRESSED_SIZE = "Invalid uncompressed size";
|
|
1855
1904
|
const ERR_INVALID_COMPRESSED_DATA = "Invalid compressed data";
|
|
1905
|
+
const ERR_CODEC_OUT_OF_MEMORY = "Codec out of memory";
|
|
1856
1906
|
const ERR_INVALID_CRC32 = "Invalid CRC32";
|
|
1907
|
+
const Z_MEM_ERROR_CODE = "Z_MEM_ERROR";
|
|
1857
1908
|
const FORMAT_DEFLATE_RAW = "deflate-raw";
|
|
1858
1909
|
const FORMAT_DEFLATE64_RAW = "deflate64-raw";
|
|
1859
1910
|
const FORMAT_GZIP = "gzip";
|
|
@@ -1888,13 +1939,13 @@
|
|
|
1888
1939
|
readable = pipeThroughCompressionStream(readable, useCompressionStream, { level, chunkSize }, CompressionStream, CompressionStreamFallback);
|
|
1889
1940
|
} catch (error) {
|
|
1890
1941
|
if (!useCompressionStream && CompressionStreamFallback) {
|
|
1891
|
-
throw error;
|
|
1942
|
+
throw mapMemoryError(error);
|
|
1892
1943
|
}
|
|
1893
1944
|
let gzipStream;
|
|
1894
1945
|
try {
|
|
1895
1946
|
gzipStream = new CompressionStream(FORMAT_GZIP);
|
|
1896
1947
|
} catch {
|
|
1897
|
-
throw error;
|
|
1948
|
+
throw mapMemoryError(error);
|
|
1898
1949
|
}
|
|
1899
1950
|
readable = pipeThroughBackpressured(readable, gzipStream);
|
|
1900
1951
|
readable = pipeThrough(readable, new GzipToRawDeflateStream());
|
|
@@ -1958,53 +2009,30 @@
|
|
|
1958
2009
|
}
|
|
1959
2010
|
}
|
|
1960
2011
|
|
|
1961
|
-
function pipeThroughGzipDecompressionStream(readable, gzipStream, outputSize, crc32) {
|
|
2012
|
+
function pipeThroughGzipDecompressionStream(readable, gzipStream, outputSize, crc32, sourceErrors) {
|
|
1962
2013
|
const writer = gzipStream.writable.getWriter();
|
|
1963
2014
|
const reader = gzipStream.readable.getReader();
|
|
1964
2015
|
const outputCrc32 = crc32 === UNDEFINED_VALUE ? new Crc32() : UNDEFINED_VALUE;
|
|
1965
2016
|
let outputLength = 0;
|
|
1966
|
-
let inputDone = false;
|
|
1967
2017
|
let trailerWritten = false;
|
|
1968
|
-
let
|
|
1969
|
-
let
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
trailerReady.catch(() => { });
|
|
1977
|
-
pump();
|
|
1978
|
-
return new ReadableStream({
|
|
1979
|
-
async pull(controller) {
|
|
1980
|
-
let result;
|
|
1981
|
-
try {
|
|
1982
|
-
result = await read();
|
|
1983
|
-
} catch (error) {
|
|
1984
|
-
throw trailerWritten ? getTrailerError(error) : error;
|
|
1985
|
-
}
|
|
1986
|
-
const { value, done } = result;
|
|
1987
|
-
if (done) {
|
|
1988
|
-
controller.close();
|
|
1989
|
-
} else {
|
|
1990
|
-
outputLength += value.length;
|
|
1991
|
-
if (outputLength > outputSize) {
|
|
1992
|
-
const error = new Error(ERR_INVALID_UNCOMPRESSED_SIZE);
|
|
1993
|
-
rejectTrailerReady(error);
|
|
1994
|
-
await cancel(reader, error);
|
|
1995
|
-
throw error;
|
|
1996
|
-
}
|
|
1997
|
-
if (outputCrc32) {
|
|
1998
|
-
outputCrc32.append(value);
|
|
1999
|
-
}
|
|
2000
|
-
controller.enqueue(value);
|
|
2001
|
-
}
|
|
2018
|
+
let settled = false;
|
|
2019
|
+
let resolvePull, controller;
|
|
2020
|
+
const output = new ReadableStream({
|
|
2021
|
+
start(streamController) {
|
|
2022
|
+
controller = streamController;
|
|
2023
|
+
},
|
|
2024
|
+
pull() {
|
|
2025
|
+
resumePump();
|
|
2002
2026
|
},
|
|
2003
2027
|
cancel(reason) {
|
|
2004
|
-
|
|
2028
|
+
settled = true;
|
|
2029
|
+
resumePump();
|
|
2005
2030
|
return reader.cancel(reason);
|
|
2006
2031
|
}
|
|
2007
2032
|
});
|
|
2033
|
+
pump();
|
|
2034
|
+
drain();
|
|
2035
|
+
return output;
|
|
2008
2036
|
|
|
2009
2037
|
async function pump() {
|
|
2010
2038
|
const inputReader = readable.getReader();
|
|
@@ -2013,19 +2041,16 @@
|
|
|
2013
2041
|
header.set(GZIP_HEADER_BYTES);
|
|
2014
2042
|
await writer.write(header);
|
|
2015
2043
|
for (; ;) {
|
|
2044
|
+
await outputCapacity();
|
|
2016
2045
|
await writer.ready;
|
|
2017
|
-
const { value, done } = await inputReader
|
|
2046
|
+
const { value, done } = await readSource(inputReader, sourceErrors);
|
|
2018
2047
|
if (done) {
|
|
2019
2048
|
break;
|
|
2020
2049
|
}
|
|
2021
2050
|
await writer.write(value);
|
|
2022
2051
|
}
|
|
2023
|
-
inputDone = true;
|
|
2024
2052
|
if (outputCrc32) {
|
|
2025
|
-
|
|
2026
|
-
armIdleCheck();
|
|
2027
|
-
}
|
|
2028
|
-
await trailerReady;
|
|
2053
|
+
await writer.write(new Uint8Array(0));
|
|
2029
2054
|
}
|
|
2030
2055
|
const trailer = new Uint8Array(GZIP_TRAILER_LENGTH);
|
|
2031
2056
|
const dataView = getDataView(trailer);
|
|
@@ -2040,54 +2065,68 @@
|
|
|
2040
2065
|
}
|
|
2041
2066
|
}
|
|
2042
2067
|
|
|
2043
|
-
function
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2068
|
+
async function drain() {
|
|
2069
|
+
try {
|
|
2070
|
+
for (; ;) {
|
|
2071
|
+
const { value, done } = await read();
|
|
2072
|
+
if (done) {
|
|
2073
|
+
break;
|
|
2074
|
+
}
|
|
2075
|
+
outputLength += value.length;
|
|
2076
|
+
if (outputLength > outputSize) {
|
|
2077
|
+
throw new Error(ERR_INVALID_UNCOMPRESSED_SIZE);
|
|
2078
|
+
}
|
|
2079
|
+
if (outputCrc32) {
|
|
2080
|
+
outputCrc32.append(value);
|
|
2081
|
+
}
|
|
2082
|
+
controller.enqueue(value);
|
|
2083
|
+
}
|
|
2084
|
+
if (!settled) {
|
|
2085
|
+
settled = true;
|
|
2086
|
+
controller.close();
|
|
2087
|
+
}
|
|
2088
|
+
} catch (error) {
|
|
2089
|
+
fail(error);
|
|
2090
|
+
await cancel(reader, error);
|
|
2050
2091
|
}
|
|
2051
|
-
return result;
|
|
2052
2092
|
}
|
|
2053
2093
|
|
|
2054
|
-
function
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
if (!idleCheckArmed) {
|
|
2060
|
-
idleCheckArmed = true;
|
|
2061
|
-
const count = readCount;
|
|
2062
|
-
await nextTask();
|
|
2063
|
-
idleCheckArmed = false;
|
|
2064
|
-
if (readPending) {
|
|
2065
|
-
if (readCount == count) {
|
|
2066
|
-
resolveTrailerReady();
|
|
2067
|
-
} else {
|
|
2068
|
-
armIdleCheck();
|
|
2094
|
+
function read() {
|
|
2095
|
+
return reader.read().catch(error => {
|
|
2096
|
+
if (trailerWritten) {
|
|
2097
|
+
if (!outputCrc32) {
|
|
2098
|
+
throw mapError(error, ERR_INVALID_CRC32);
|
|
2069
2099
|
}
|
|
2100
|
+
if (outputLength != outputSize) {
|
|
2101
|
+
throw mapError(error, ERR_INVALID_UNCOMPRESSED_SIZE);
|
|
2102
|
+
}
|
|
2103
|
+
return { done: true };
|
|
2070
2104
|
}
|
|
2071
|
-
|
|
2105
|
+
throw mapCodecError(error, sourceErrors);
|
|
2106
|
+
});
|
|
2072
2107
|
}
|
|
2073
2108
|
|
|
2074
|
-
function
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2109
|
+
function outputCapacity() {
|
|
2110
|
+
if (!settled && controller.desiredSize <= 0) {
|
|
2111
|
+
return new Promise(resolve => resolvePull = resolve);
|
|
2112
|
+
}
|
|
2078
2113
|
}
|
|
2079
|
-
}
|
|
2080
2114
|
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
port1.close();
|
|
2086
|
-
port2.close();
|
|
2115
|
+
function resumePump() {
|
|
2116
|
+
if (resolvePull) {
|
|
2117
|
+
const resolve = resolvePull;
|
|
2118
|
+
resolvePull = UNDEFINED_VALUE;
|
|
2087
2119
|
resolve();
|
|
2088
|
-
}
|
|
2089
|
-
|
|
2090
|
-
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
|
|
2123
|
+
function fail(error) {
|
|
2124
|
+
if (!settled) {
|
|
2125
|
+
settled = true;
|
|
2126
|
+
controller.error(error);
|
|
2127
|
+
resumePump();
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2091
2130
|
}
|
|
2092
2131
|
|
|
2093
2132
|
class InflateStream extends TransformStream {
|
|
@@ -2106,11 +2145,12 @@
|
|
|
2106
2145
|
}
|
|
2107
2146
|
}
|
|
2108
2147
|
if (compressed) {
|
|
2148
|
+
const sourceErrors = new Set();
|
|
2109
2149
|
const codecStreams = format && getCodecStreams(format);
|
|
2150
|
+
let gzipStream;
|
|
2110
2151
|
if (codecStreams) {
|
|
2111
|
-
readable = pipeThroughBackpressured(readable, createCodecStream(codecStreams.DecompressionStream, format, { chunkSize, compressionMethod, rawBitFlag, uncompressedSize: outputSize }));
|
|
2152
|
+
readable = pipeThroughBackpressured(readable, createCodecStream(codecStreams.DecompressionStream, format, { chunkSize, compressionMethod, rawBitFlag, uncompressedSize: outputSize }), sourceErrors);
|
|
2112
2153
|
} else {
|
|
2113
|
-
let gzipStream;
|
|
2114
2154
|
const GzipDecompressionStream = getGzipCodecStream(useCompressionStream, DecompressionStream, DecompressionStreamFallback);
|
|
2115
2155
|
if (checkCrc32 && !deflate64 && crc32 !== UNDEFINED_VALUE && outputSize !== UNDEFINED_VALUE && GzipDecompressionStream) {
|
|
2116
2156
|
try {
|
|
@@ -2121,24 +2161,25 @@
|
|
|
2121
2161
|
}
|
|
2122
2162
|
if (!gzipStream) {
|
|
2123
2163
|
try {
|
|
2124
|
-
readable = pipeThroughCompressionStream(readable, useCompressionStream, { chunkSize, deflate64 }, DecompressionStream, DecompressionStreamFallback);
|
|
2164
|
+
readable = pipeThroughCompressionStream(readable, useCompressionStream, { chunkSize, deflate64 }, DecompressionStream, DecompressionStreamFallback, sourceErrors);
|
|
2125
2165
|
} catch (error) {
|
|
2126
2166
|
if (deflate64 || outputSize === UNDEFINED_VALUE || (!useCompressionStream && DecompressionStreamFallback)) {
|
|
2127
|
-
throw error;
|
|
2167
|
+
throw mapMemoryError(error);
|
|
2128
2168
|
}
|
|
2129
2169
|
try {
|
|
2130
2170
|
gzipStream = new DecompressionStream(FORMAT_GZIP);
|
|
2131
2171
|
} catch {
|
|
2132
|
-
throw error;
|
|
2172
|
+
throw mapMemoryError(error);
|
|
2133
2173
|
}
|
|
2134
2174
|
}
|
|
2135
2175
|
}
|
|
2136
|
-
if (gzipStream) {
|
|
2137
|
-
gzipCrc32 = true;
|
|
2138
|
-
readable = pipeThroughGzipDecompressionStream(readable, gzipStream, outputSize, crc32);
|
|
2139
|
-
}
|
|
2140
2176
|
}
|
|
2141
|
-
|
|
2177
|
+
if (gzipStream) {
|
|
2178
|
+
gzipCrc32 = true;
|
|
2179
|
+
readable = pipeThroughGzipDecompressionStream(readable, gzipStream, outputSize, crc32, sourceErrors);
|
|
2180
|
+
} else {
|
|
2181
|
+
readable = mapInflateStreamError(readable, sourceErrors);
|
|
2182
|
+
}
|
|
2142
2183
|
}
|
|
2143
2184
|
if (checkCrc32 && !gzipCrc32) {
|
|
2144
2185
|
crc32Stream = new Crc32Stream();
|
|
@@ -2211,7 +2252,7 @@
|
|
|
2211
2252
|
}
|
|
2212
2253
|
}
|
|
2213
2254
|
|
|
2214
|
-
function pipeThroughCompressionStream(readable, useCompressionStream, options, CompressionStreamNative, CompressionStreamFallback) {
|
|
2255
|
+
function pipeThroughCompressionStream(readable, useCompressionStream, options, CompressionStreamNative, CompressionStreamFallback, sourceErrors) {
|
|
2215
2256
|
const Stream = useCompressionStream && CompressionStreamNative ?
|
|
2216
2257
|
CompressionStreamNative :
|
|
2217
2258
|
CompressionStreamFallback || CompressionStreamNative;
|
|
@@ -2226,14 +2267,14 @@
|
|
|
2226
2267
|
throw error;
|
|
2227
2268
|
}
|
|
2228
2269
|
}
|
|
2229
|
-
return pipeThroughBackpressured(readable, codecStream);
|
|
2270
|
+
return pipeThroughBackpressured(readable, codecStream, sourceErrors);
|
|
2230
2271
|
}
|
|
2231
2272
|
|
|
2232
2273
|
function pipeThrough(readable, transformStream) {
|
|
2233
2274
|
return toCompatibleReadable(readable).pipeThrough(transformStream);
|
|
2234
2275
|
}
|
|
2235
2276
|
|
|
2236
|
-
function pipeThroughBackpressured(readable, transformStream) {
|
|
2277
|
+
function pipeThroughBackpressured(readable, transformStream, sourceErrors) {
|
|
2237
2278
|
const writer = transformStream.writable.getWriter();
|
|
2238
2279
|
const reader = readable.getReader();
|
|
2239
2280
|
pump();
|
|
@@ -2243,7 +2284,7 @@
|
|
|
2243
2284
|
try {
|
|
2244
2285
|
for (; ;) {
|
|
2245
2286
|
await writer.ready;
|
|
2246
|
-
const result = await reader
|
|
2287
|
+
const result = await readSource(reader, sourceErrors);
|
|
2247
2288
|
if (result.done) {
|
|
2248
2289
|
await writer.close();
|
|
2249
2290
|
break;
|
|
@@ -2273,26 +2314,49 @@
|
|
|
2273
2314
|
}
|
|
2274
2315
|
}
|
|
2275
2316
|
|
|
2276
|
-
function
|
|
2317
|
+
function readSource(reader, sourceErrors) {
|
|
2318
|
+
const result = reader.read();
|
|
2319
|
+
return sourceErrors ? result.catch(error => {
|
|
2320
|
+
sourceErrors.add(error);
|
|
2321
|
+
throw error;
|
|
2322
|
+
}) : result;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2325
|
+
function mapCodecError(error, sourceErrors) {
|
|
2326
|
+
if (sourceErrors.has(error)) {
|
|
2327
|
+
return error;
|
|
2328
|
+
}
|
|
2329
|
+
return mapError(error, isMemoryError(error) ? ERR_CODEC_OUT_OF_MEMORY : ERR_INVALID_COMPRESSED_DATA);
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
function mapMemoryError(error) {
|
|
2333
|
+
return isMemoryError(error) ? mapError(error, ERR_CODEC_OUT_OF_MEMORY) : error;
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
function isMemoryError(error) {
|
|
2337
|
+
return isErrorObject(error) && error.code == Z_MEM_ERROR_CODE;
|
|
2338
|
+
}
|
|
2339
|
+
|
|
2340
|
+
function mapError(error, message) {
|
|
2341
|
+
const mappedError = new Error(message);
|
|
2342
|
+
mappedError.cause = error;
|
|
2343
|
+
return mappedError;
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2346
|
+
function mapInflateStreamError(readable, sourceErrors) {
|
|
2277
2347
|
const reader = readable.getReader();
|
|
2278
2348
|
return new ReadableStream({
|
|
2279
2349
|
async pull(controller) {
|
|
2280
|
-
let result;
|
|
2281
2350
|
try {
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2351
|
+
const { value, done } = await reader.read();
|
|
2352
|
+
if (done) {
|
|
2353
|
+
controller.close();
|
|
2354
|
+
} else {
|
|
2355
|
+
controller.enqueue(value);
|
|
2286
2356
|
}
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
throw
|
|
2290
|
-
}
|
|
2291
|
-
const { value, done } = result;
|
|
2292
|
-
if (done) {
|
|
2293
|
-
controller.close();
|
|
2294
|
-
} else {
|
|
2295
|
-
controller.enqueue(value);
|
|
2357
|
+
} catch (error) {
|
|
2358
|
+
await cancel(reader, error);
|
|
2359
|
+
throw mapCodecError(error, sourceErrors);
|
|
2296
2360
|
}
|
|
2297
2361
|
},
|
|
2298
2362
|
cancel(reason) {
|
|
@@ -2656,10 +2720,11 @@
|
|
|
2656
2720
|
}
|
|
2657
2721
|
codecStream = new CodecStream(options, config);
|
|
2658
2722
|
chunkStream = new ChunkStream(getChunkSize(config));
|
|
2723
|
+
const { signal } = workerOptions.streamOptions;
|
|
2659
2724
|
await readable
|
|
2660
2725
|
.pipeThrough(codecStream)
|
|
2661
2726
|
.pipeThrough(chunkStream)
|
|
2662
|
-
.pipeTo(writable, { preventClose: true, preventAbort: true });
|
|
2727
|
+
.pipeTo(writable, { preventClose: true, preventAbort: true, signal });
|
|
2663
2728
|
const {
|
|
2664
2729
|
crc32,
|
|
2665
2730
|
inputSize,
|
|
@@ -2727,6 +2792,7 @@
|
|
|
2727
2792
|
const MODULE_WORKER_OPTIONS = { type: "module" };
|
|
2728
2793
|
const ERROR_EVENT_TYPE = "error";
|
|
2729
2794
|
const MESSAGE_ERROR_EVENT_TYPE = "messageerror";
|
|
2795
|
+
const ABORT_EVENT_TYPE = "abort";
|
|
2730
2796
|
|
|
2731
2797
|
let webWorkerSource, webWorkerURI, webWorkerOptions;
|
|
2732
2798
|
let transferStreamsSupported = true;
|
|
@@ -2903,6 +2969,13 @@
|
|
|
2903
2969
|
Object.assign(workerData, { destinationFailed: true, destinationError: error });
|
|
2904
2970
|
}
|
|
2905
2971
|
});
|
|
2972
|
+
const { signal } = workerData.workerOptions.streamOptions;
|
|
2973
|
+
if (signal) {
|
|
2974
|
+
const onAbort = () => abortController.abort(signal.reason);
|
|
2975
|
+
const removeAbortListener = () => signal.removeEventListener(ABORT_EVENT_TYPE, onAbort);
|
|
2976
|
+
signal.addEventListener(ABORT_EVENT_TYPE, onAbort);
|
|
2977
|
+
closed.then(removeAbortListener, removeAbortListener);
|
|
2978
|
+
}
|
|
2906
2979
|
return {
|
|
2907
2980
|
writable, closed, abortPipe: () => {
|
|
2908
2981
|
aborting = true;
|
|
@@ -3165,9 +3238,6 @@
|
|
|
3165
3238
|
responseError = errorValue.value;
|
|
3166
3239
|
} else {
|
|
3167
3240
|
responseError = Object.assign(new Error(message), { stack, code, name });
|
|
3168
|
-
if (cause) {
|
|
3169
|
-
responseError.cause = Object.assign(new Error(cause.message), { name: cause.name });
|
|
3170
|
-
}
|
|
3171
3241
|
}
|
|
3172
3242
|
if (isErrorObject(responseError)) {
|
|
3173
3243
|
try {
|
|
@@ -3177,6 +3247,9 @@
|
|
|
3177
3247
|
if (codecImportFailed) {
|
|
3178
3248
|
responseError.codecImportFailed = true;
|
|
3179
3249
|
}
|
|
3250
|
+
if (cause && !isErrorObject(responseError.cause)) {
|
|
3251
|
+
responseError.cause = Object.assign(new Error(cause.message), { name: cause.name });
|
|
3252
|
+
}
|
|
3180
3253
|
if (errorValue) {
|
|
3181
3254
|
if (responseError.name !== name) {
|
|
3182
3255
|
responseError.name = name;
|
|
@@ -5348,8 +5421,8 @@
|
|
|
5348
5421
|
const passThroughCompression = Boolean(passThrough);
|
|
5349
5422
|
const passThroughEncryption = passThrough === true;
|
|
5350
5423
|
checkPasswordOption(password, rawPassword);
|
|
5351
|
-
password = password && password.length
|
|
5352
|
-
rawPassword = rawPassword && rawPassword.length
|
|
5424
|
+
password = password && password.length ? password : UNDEFINED_VALUE;
|
|
5425
|
+
rawPassword = rawPassword && rawPassword.length ? rawPassword : UNDEFINED_VALUE;
|
|
5353
5426
|
if (extraFieldAES) {
|
|
5354
5427
|
if (extraFieldAES.originalCompressionMethod != COMPRESSION_METHOD_AES) {
|
|
5355
5428
|
throw new Error(ERR_UNSUPPORTED_COMPRESSION);
|
|
@@ -5499,6 +5572,7 @@
|
|
|
5499
5572
|
({ writable } = writer);
|
|
5500
5573
|
const readable = toCompatibleReadable(reader.createReadable({ offset: dataOffset, size }));
|
|
5501
5574
|
const { outputSize: writtenSize } = await runWorker({ readable, writable }, workerOptions);
|
|
5575
|
+
throwIfAborted(signal);
|
|
5502
5576
|
if (writtenSize != outputSize) {
|
|
5503
5577
|
throw Object.assign(new Error(ERR_INVALID_UNCOMPRESSED_SIZE), { outputSize: writtenSize });
|
|
5504
5578
|
}
|
|
@@ -6110,7 +6184,7 @@
|
|
|
6110
6184
|
async function findEndOfCentralDirectory(reader, rejectAmbiguous, maxAppendedDataSize) {
|
|
6111
6185
|
const { size } = reader;
|
|
6112
6186
|
const anchoredLength = Math.min(size, END_OF_CENTRAL_DIR_LENGTH + MAX_16_BITS);
|
|
6113
|
-
const remoteProbeBudget = {
|
|
6187
|
+
const remoteProbeBudget = { remaining: MAX_END_OF_CENTRAL_DIR_PROBES };
|
|
6114
6188
|
let endOfDirectoryInfo;
|
|
6115
6189
|
let plausibleEndOfDirectoryInfo;
|
|
6116
6190
|
let endOfDirectoryReachingEndCount = 0;
|
|
@@ -6203,8 +6277,8 @@
|
|
|
6203
6277
|
if (signatureOffset >= anchoredOffset) {
|
|
6204
6278
|
return getUint32$1(view, signatureOffset - anchoredOffset);
|
|
6205
6279
|
}
|
|
6206
|
-
if (remoteProbeBudget.
|
|
6207
|
-
remoteProbeBudget.
|
|
6280
|
+
if (remoteProbeBudget.remaining > 0) {
|
|
6281
|
+
remoteProbeBudget.remaining--;
|
|
6208
6282
|
const signatureArray = await readUint8Array(reader, signatureOffset, 4);
|
|
6209
6283
|
return getUint32$1(getDataView(signatureArray), 0);
|
|
6210
6284
|
}
|
|
@@ -6294,6 +6368,7 @@
|
|
|
6294
6368
|
ERR_AMBIGUOUS_ARCHIVE: ERR_AMBIGUOUS_ARCHIVE,
|
|
6295
6369
|
ERR_BAD_FORMAT: ERR_BAD_FORMAT,
|
|
6296
6370
|
ERR_CENTRAL_DIRECTORY_NOT_FOUND: ERR_CENTRAL_DIRECTORY_NOT_FOUND,
|
|
6371
|
+
ERR_CODEC_OUT_OF_MEMORY: ERR_CODEC_OUT_OF_MEMORY,
|
|
6297
6372
|
ERR_ENCRYPTED: ERR_ENCRYPTED,
|
|
6298
6373
|
ERR_ENCRYPTED_CENTRAL_DIRECTORY: ERR_ENCRYPTED_CENTRAL_DIRECTORY,
|
|
6299
6374
|
ERR_ENTRY_DATA_OUT_OF_BOUNDS: ERR_ENTRY_DATA_OUT_OF_BOUNDS,
|
|
@@ -7120,9 +7195,11 @@
|
|
|
7120
7195
|
const passThrough = checkPassThroughOption(getOptionValue(zipWriter, options, OPTION_PASS_THROUGH));
|
|
7121
7196
|
const passThroughCompression = Boolean(passThrough);
|
|
7122
7197
|
const passThroughEncryption = passThrough === true;
|
|
7123
|
-
|
|
7124
|
-
|
|
7198
|
+
let password = getOptionValue(zipWriter, options, OPTION_PASSWORD);
|
|
7199
|
+
let rawPassword = getOptionValue(zipWriter, options, OPTION_RAW_PASSWORD);
|
|
7125
7200
|
checkPasswordOption(password, rawPassword);
|
|
7201
|
+
password = password && password.length ? password : UNDEFINED_VALUE;
|
|
7202
|
+
rawPassword = rawPassword && rawPassword.length ? rawPassword : UNDEFINED_VALUE;
|
|
7126
7203
|
const encryptionStrength = getNumberOptionValue(zipWriter, options, OPTION_ENCRYPTION_STRENGTH, 3);
|
|
7127
7204
|
const zipCrypto = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIPCRYPTO);
|
|
7128
7205
|
const extendedTimestamp = getOptionValue(zipWriter, options, OPTION_EXTENDED_TIMESTAMP, true);
|
|
@@ -7641,6 +7718,7 @@
|
|
|
7641
7718
|
const result = await runWorker({ readable, writable }, workerOptions);
|
|
7642
7719
|
compressedSize = result.outputSize;
|
|
7643
7720
|
writer.size += compressedSize;
|
|
7721
|
+
throwIfAborted(signal);
|
|
7644
7722
|
if (!passThroughCompression) {
|
|
7645
7723
|
uncompressedSize = result.inputSize;
|
|
7646
7724
|
if (!encrypted || zipCrypto) {
|
|
@@ -8820,7 +8898,7 @@
|
|
|
8820
8898
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8821
8899
|
*/
|
|
8822
8900
|
|
|
8823
|
-
const VERSION = "2.
|
|
8901
|
+
const VERSION = "2.17.0";
|
|
8824
8902
|
|
|
8825
8903
|
/*
|
|
8826
8904
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -9269,7 +9347,7 @@
|
|
|
9269
9347
|
// ignored
|
|
9270
9348
|
}
|
|
9271
9349
|
|
|
9272
|
-
var{Uint8Array:p,Uint16Array:g,Int32Array:R,TransformStream:H,Math:z,Error:L,Array:k}=globalThis,pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new p(0),qe=new g(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Se=[];for(let e=0;e<14;e++)Se.push(e,0==e?4:2);var Ee=new g([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),ge=new g([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength),_=n instanceof p?n.subarray(r,r+i):new p(n.buffer,n.byteOffset+r,i);f.set(_,t);}function Ve(e,t,n){0!=n&&(e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n);}function je(){return {next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Je(e,t){let n=1<<t;return {o:e,u:new p(n),h:n,k:t,m:0,v:0,p:0,T:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r);}return new g(t)}var ne=class{constructor(e,t){this.I=e,this.M=t,this.C=0;}},re=class{constructor(e,t,n,r,i){this.Z=e,this.W=t,this.q=n,this.S=r,this.L=i;}};function D_(e){return Q_[e<-6||e>2?9:2-e]||""}function we(e,t){try{e.msg=D_(t);}catch(n){e.msg="zlib error "+String(t)+" ("+n+")";}return t}function $e(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function T(e,t){e.$[e.D++]=t;}function Ae(e,t){T(e,255&t),T(e,t>>>8&255);}function e_(e,t,n){let r=255&n,i=65535&t,f=e.A+e.H;return e.$[f]=255&i,e.$[f+1]=i>>>8&255,e.$[f+2]=r,e.H+=3,i=i-1&65535,e.N[__[r]+ie+1].j++,e.U[y_(i)].j++,e.H==e.R}function De(e,t){let n=255&t,r=e.A+e.H;return e.$[r]=0,e.$[r+1]=0,e.$[r+2]=n,e.H+=3,e.N[n].j++,e.H==e.R}function ye(e){return e.h-ae}function y_(e){return e<256?A_[e]:A_[256+(e>>7)]}function v_(e){let t=Ce+7,n=1<<t,r=(1<<t)-1,i=z.floor((t+I-1)/I),f=1<<8+Ce;return {...Je(e,15),o:e,Y:42,P:0,B:void 0,F:32767,G:t,O:n,V:r,X:i,J:new g(32768),K:new g(n),ee:f,$:new p(32768),te:0,ne:32768,D:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,he:0,de:0,we:0,be:0,ke:0,ge:0,me:0,ve:0,pe:0,xe:0,Te:new R(2*Te+1),ye:new p(2*Te+1),Ie:new g(be+1),H:0,R:0,ze:Z,A:0,Me:0,Ce:0,Ze:8,We:32768,qe:0,Se:0,Le:0,N:new k(fe).fill(0).map(()=>Q()),U:new k(2*me+1).fill(0).map(()=>Q()),$e:new k(2*oe+1).fill(0).map(()=>Q()),De:w_(),Ae:w_(),He:w_()}}function I_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Qe=r,f.je=i,t.push(f);}return t}function Q(){return {j:0,Qe:0,Ne:0,je:0}}function w_(){return new ne([],dn(null,Z,0,0,0))}function dn(e,t,n,r,i){return new re(e,t,n,r,i)}function $_(){let e=new k(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function k_(e){let{code:t,length:n}=mn(e),r=new g(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?$e(_,e):0,r[i++]=e;}return new g(r)}function et(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f);}r<n&&(r=n);let i=new p(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i);}return i[f]=e.length-1,i}function _t(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f);}let r=new p(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function tt(e){let t=new p(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r];}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function mn(e){let t=z.max(...e),n=new k(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new k(e.length).fill(0),i=new k(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++);}return {code:r,length:e}}var Ce=8,I=3,ee=258,ae=ee+I+1,nt=4096,Ue=16,He=ee,bn=29,ie=256,Te=ie+1+bn,me=30,oe=19,fe=2*Te+1,be=15,rt=9,at=255,it=32,ot=4,ve=256,t_=16,n_=17,r_=18,ft=0,N_=1,lt=2,$=-1,Q_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Se),Be=new g(19);Be[16]=2,Be[17]=3,Be[18]=7;var hn=k_($_()),sn=k_(new k(30).fill(5)),Fe=I_(hn),R_=I_(sn),__=et(ge,a_,ee),A_=tt(_t(Ee,i_));function he(e,t,n){if(void 0===t||void 0===n)return 1;let r=65535&e,i=e>>>16&65535,f=0;for(;n>0;){let e=n>2e3?2e3:n;n-=e;do{r=r+t[f++]|0,i=i+r|0;}while(--e);r%=65521,i%=65521;}return (i<<16|r)>>>0}var Ze=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Ze[0][e]=t;}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Ze[t-1][e];Ze[t][e]=n>>>8^Ze[0][255&n];}var[ut,xn,pn,Sn,En,gn,Tn,wn]=Ze;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=z.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,true),n=e.getInt32(i+4,true);r=wn[255&t]^Tn[t>>>8&255]^gn[t>>>16&255]^En[t>>>24&255]^Sn[255&n]^pn[n>>>8&255]^xn[n>>>16&255]^ut[n>>>24&255];}}for(;i<n;i++)r=r>>>8^ut[255&(r^t[i])];return (4294967295^r)>>>0}function xt(e){16==e.T?(Ae(e,e.p),e.p=0,e.T=0):e.T>=8&&(T(e,e.p),e.p>>=8,e.T-=8);}function pt(e){e.T>8?Ae(e,e.p):e.T>0&&T(e,e.p),e.Me=1+(e.T-1&7),e.p=0,e.T=0;}function An(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].je;0!=t&&(e[i].Qe=$e(f[t]++,t));}}function C(e,t,n){e.T>Ue-n?(e.p=65535&(e.p|t<<e.T),Ae(e,e.p),e.p=t>>Ue-e.T&65535,e.T+=n-Ue):(e.p=65535&(e.p|t<<e.T),e.T+=n);}function St(e){for(let t=0;t<e.N.length;t++)e.N[t].j=0;for(let t=0;t<e.U.length;t++)e.U[t].j=0;for(let t=0;t<e.$e.length;t++)e.$e[t].j=0;e.N[ve].j=1,e.ie=e.fe=0,e.H=e._e=0;}function Et(e){if(e.N&&e.N.length>=fe)for(let t=0;t<fe;t++)e.N[t]=Q();else {e.N=[];for(let t=0;t<fe;t++)e.N.push(Q());}if(e.U&&e.U.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.U[t]=Q();else {e.U=[];for(let t=0;t<2*me+1;t++)e.U.push(Q());}if(e.$e&&e.$e.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.$e[t]=Q();else {e.$e=[];for(let t=0;t<2*oe+1;t++)e.$e.push(Q());}e.De=new ne(e.N,new re(Fe,a_,ie+1,Te,be)),e.Ae=new ne(e.U,new re(R_,i_,0,me,be)),e.He=new ne(e.$e,new re(null,Be,0,oe,7)),e.p=0,e.T=0,e.Me=0,St(e);}var se=1;function Dn(e,t,n){return n=e.Te[se],e.Te[se]=e.Te[e.Se--],z_(e,t,se),n}function mt(e,t,n,r){return e[t].j<e[n].j||e[t].j==e[n].j&&r[t]<=r[n]}function z_(e,t,n){let r=e.Te[n],i=n<<1;for(;i<=e.Se&&(i<e.Se&&mt(t,e.Te[i+1],e.Te[i],e.ye)&&i++,!mt(t,r,e.Te[i],e.ye));)e.Te[n]=e.Te[i],n=i,i<<=1;e.Te[n]=r;}function yn(e,t){let n,r,i,f,_,l,o=t.I,u=t.C,a=t.M.Z,c=t.M.W,s=t.M.q,h=t.M.L,d=0;for(f=0;f<=be;f++)e.Ie[f]=0;for(o[e.Te[e.Le]].je=0,n=e.Le+1;n<fe;n++)r=e.Te[n],f=o[o[r].Ne].je+1,f>h&&(f=h,d++),o[r].je=f,!(r>u)&&(e.Ie[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].j,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].je+_)));if(0!=d){do{for(f=h-1;0==e.Ie[f];)f--;e.Ie[f]--,e.Ie[f+1]+=2,e.Ie[h]--,d-=2;}while(d>0);for(f=h;0!=f;f--)for(r=e.Ie[f];0!=r;)i=e.Te[--n],!(i>u)&&(o[i].je!=f&&(e.ie+=(f-o[i].je)*o[i].j,o[i].je=f),r--);}}function L_(e,t){let n,r,i,f=t.I,_=t.M.Z,l=t.M.S,o=-1;for(e.Se=0,e.Le=fe,n=0;n<l;n++)0!=f[n].j?(e.Te[++e.Se]=o=n,e.ye[n]=0):f[n].je=0;for(;e.Se<2;)i=e.Te[++e.Se]=o<2?++o:0,f[i].j=1,e.ye[i]=0,e.ie--,_&&(e.fe-=_[i].je);for(t.C=o,n=z.floor(e.Se/2);n>=1;n--)z_(e,f,n);i=l;do{n=Dn(e,f,n),r=e.Te[se],e.Te[--e.Le]=n,e.Te[--e.Le]=r,f[i].j=f[n].j+f[r].j,e.ye[i]=(e.ye[n]>=e.ye[r]?e.ye[n]:e.ye[r])+1,f[n].Ne=f[r].Ne=i,e.Te[se]=i++,z_(e,f,se);}while(e.Se>=2);e.Te[--e.Le]=e.Te[se],yn(e,t),An(f,t.C,e.Ie);}function bt(e,t,n){let r,i,f=-1,_=t[0].je,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].je=65535,r=0;r<=n;r++)i=_,_=t[r+1].je,!(++l<o&&i==_)&&(l<u?e.$e[i].j+=l:0!=i?(i!=f&&e.$e[i].j++,e.$e[t_].j++):l<=10?e.$e[n_].j++:e.$e[r_].j++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4));}function ht(e,t,n){let r,i=-1,f=t[0].je,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].je,!(++_<l&&r==f)){if(_<o)do{C(e,e.$e[r].Qe,e.$e[r].je);}while(0!=--_);else 0!=r?(r!=i&&(C(e,e.$e[r].Qe,e.$e[r].je),_--),C(e,e.$e[t_].Qe,e.$e[t_].je),C(e,_-3,2)):_<=10?(C(e,e.$e[n_].Qe,e.$e[n_].je),C(e,_-3,3)):(C(e,e.$e[r_].Qe,e.$e[r_].je),C(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4);}}function vn(e){let t;for(bt(e,e.N,e.De.C),bt(e,e.U,e.Ae.C),L_(e,e.He),t=oe-1;t>=3&&0==e.$e[pe[t]].je;t--);return e.ie+=3*(t+1)+5+5+4,t}function In(e,t,n,r){let i;for(C(e,t-257,5),C(e,n-1,5),C(e,r-4,4),i=0;i<r;i++)C(e,e.$e[pe[i]].je,3);ht(e,e.N,t-1),ht(e,e.U,n-1);}function Pe(e,t,n,r,i=0){C(e,(ft<<1)+r,3),pt(e),Ae(e,n),Ae(e,~n),n&&t&&M(e.$,e.D,t,i,n),e.D+=n;}function gt(e){xt(e);}function Tt(e){C(e,N_<<1,3),C(e,Fe[ve].Qe,Fe[ve].je),xt(e);}function st(e,t,n){let r,i,f,_,l=0;if(0!=e.H)do{r=255&e.ze[l],r+=(255&e.ze[l+1])<<8,i=e.ze[l+2],l+=3,0==r?C(e,t[i].Qe,t[i].je):(f=__[i],C(e,t[f+ie+1].Qe,t[f+ie+1].je),_=a_[f],0!=_&&(i-=ge[f],C(e,i,_)),r--,f=y_(r),C(e,n[f].Qe,n[f].je),_=i_[f],0!=_&&(r-=Ee[f],C(e,r,_)));}while(l<e.H);C(e,t[ve].Qe,t[ve].je);}function kn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.N[t].j)return 0;if(0!=e.N[9].j||0!=e.N[10].j||0!=e.N[13].j)return 1;for(t=32;t<ie;t++)if(0!=e.N[t].j)return 1;return 0}function wt(e,t,n,r,i=0){let f,_,l=0;e.ke>0?(2==e.o.t&&(e.o.t=kn(e)),L_(e,e.De),L_(e,e.Ae),l=vn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ge)&&(f=_)):f=_=n+5,n+4<=f&&t?Pe(e,t,n,r,i):_==f?(C(e,(N_<<1)+r,3),st(e,Fe,R_)):(C(e,(lt<<1)+r,3),In(e,e.De.C+1,e.Ae.C+1,l+1),st(e,e.N,e.U)),St(e),r&&pt(e);}function vt(){let e=je();return e.l=v_(e),e}var Ye=[{Ue:Lt,Re:0,Ye:0,Ee:0,Pe:0},{Ue:U_,Re:4,Ye:4,Ee:8,Pe:4},{Ue:U_,Re:4,Ye:5,Ee:16,Pe:8},{Ue:U_,Re:4,Ye:6,Ee:32,Pe:32},{Ue:Ne,Re:4,Ye:4,Ee:16,Pe:16},{Ue:Ne,Re:8,Ye:16,Ee:32,Pe:32},{Ue:Ne,Re:8,Ye:16,Ee:128,Pe:128},{Ue:Ne,Re:8,Ye:32,Ee:128,Pe:256},{Ue:Ne,Re:32,Ye:128,Ee:258,Pe:1024},{Ue:Ne,Re:32,Ye:258,Ee:258,Pe:4096}];function At(e){return 2*e-(e>4?9:0)}function l_(e,t,n){return ((t<<e.X^n)&e.V)>>>0}function u_(e,t){e.be=l_(e,e.be,e.u[t+(I-1)]);let n=e.J[t&e.F]=e.K[e.be];return e.K[e.be]=t,n}function It(e){e.K[e.O-1]=0,Ve(e.K,0,(e.O-1)*e.K.BYTES_PER_ELEMENT);}function Un(e){let t,n,r=e.h;for(t=e.O;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.J[t],e.J[t]=n>=r?n-r:0;}function H_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.P?e.i=he(e.i,new p(t.buffer,t.byteOffset+n,i),i):2==e.l.P&&(e.i=W(e.i,new p(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.We-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ye(e)&&(M(e.u,0,e.u,r,r-n),e.qe-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Un(e),n+=r),0==e.o.avail_in)break;if(t=H_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=I){let t=e.ae-e.le;for(e.be=e.u[t],e.be=l_(e,e.be,e.u[t+1]);e.le&&(e.be=l_(e,e.be,e.u[t+I-1]),e.J[t&e.F]=e.K[e.be],e.K[e.be]=t,t++,e.le--,!(e.ce+e.le<I)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.m<e.We){let t,n=e.ae+e.ce;e.m<n?(t=e.We-n,t>He&&(t=He),Ve(e.u,n,t),e.m=n+t):e.m<n+He&&(t=n+He-e.m,t>e.We-e.m&&(t=e.We-e.m),Ve(e.u,e.m,t),e.m+=t);}}function kt(e,t,n=8,r=15,i=Ce,f=0){let _=1;if(!e)return -2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return -2;r=-r;}else r>15&&(_=2,r-=16);if(i<1||i>rt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return -2;8==r&&(r=9);let l=v_(e);return l?(e.l=l,l.o=e,l.Y=42,l.P=_,l.B=void 0,l.k=r,l.h=1<<l.k,l.F=l.h-1,l.G=i+7,l.O=1<<l.G,l.V=l.O-1,l.X=(l.G+I-1)/I,l.u=new p(2*l.h),l.J=new g(l.h),l.K=new g(l.O),l.m=0,l.ee=1<<i+6,l.$=new p(l.ee*ot),l.ne=4*l.ee,l.u&&l.J&&l.K&&l.$?(l.ze=l.$.subarray(l.ee),l.A=l.te+l.ee,l.R=3*(l.ee-1),l.ke=t,l.ge=f,l.Ze=n,Fn(e)):(l.Y=666,e.msg=D_(-4),P_(e),-4)):-4}function Z_(e){if(null==e)return true;let t=e.l;return !t||t.o!=e||42!=t.Y&&57!=t.Y&&69!=t.Y&&73!=t.Y&&91!=t.Y&&103!=t.Y&&113!=t.Y&&666!=t.Y}function Hn(e){let t;return Z_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.D=0,t.re=t.te,t.P<0&&(t.P=-t.P),t.Y=2==t.P?57:42,e.i=2==t.P?W(0):he(0),t.oe=-2,Et(t),0)}function Bn(e){e.We=2*e.h,It(e),e.xe=Ye[e.ke].Ye,e.me=Ye[e.ke].Re,e.ve=Ye[e.ke].Ee,e.pe=Ye[e.ke].Pe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.he=I-1,e.we=0,e.be=0;}function Fn(e){let t=Hn(e);return 0==t&&Bn(e.l),t}function Me(e,t){T(e,t>>8),T(e,255&t);}function q(e){let t,n=e.l;gt(n),t=n.D,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.$,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.D-=t,0==n.D&&(n.re=n.te));}function Ie(e,t){let n=e.l;n.B&&n.B.Be&&(e.i=W(e.i,new p(n.$.buffer,n.te+t,n.D-t),n.D-t));}function Nt(e,t){let n,r=e.l;if(Z_(e)||t>5||t<0)return we(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.Y&&4!=t)return we(e,-2);if(0==e.avail_out)return we(e,-5);if(n=r.oe,r.oe=t,0!=r.D){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&At(t)<=At(n)&&4!=t)return we(e,-5);if(666==r.Y&&0!=e.avail_in)return we(e,-5);if(42==r.Y&&0==r.P&&(r.Y=113),42==r.Y){let t,n=8+(r.k-8<<4)<<8;if(t=r.ge>=2||r.ke<2?0:r.ke<6?1:6==r.ke?2:3,n|=t<<6,0!=r.ae&&(n|=it),n+=31-n%31,Me(r,n),0!=r.ae&&(Me(r,e.i>>16),Me(r,65535&e.i)),e.i=1,r.Y=113,q(e),0!=r.D)return r.oe=$,0}if(57==r.Y)if(e.i=W(0),T(r,31),T(r,139),T(r,8),r.B)T(r,(r.B.Fe?1:0)+(r.B.Be?2:0)+(null==r.B.Ge?0:4)+(null==r.B.Oe?0:8)+(null==r.B.Ve?0:16)),T(r,255&r.B.Xe),T(r,r.B.Xe>>>8&255),T(r,r.B.Xe>>>16&255),T(r,r.B.Xe>>>24&255),T(r,9==r.ke?2:r.ge>=2||r.ke<2?4:0),T(r,255&r.B.Je),null!=r.B.Ge&&(T(r,255&r.B.Ke),T(r,r.B.Ke>>>8&255)),r.B.Be&&(e.i=W(e.i,r.$,r.D)),r.Ce=0,r.Y=69;else if(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9==r.ke?2:r.ge>=2||r.ke<2?4:0),T(r,at),r.Y=113,q(e),0!=r.D)return r.oe=$,0;if(69==r.Y){if(r.B&&null!=r.B.Ge){let t=r.D,n=(65535&r.B.Ke)-r.Ce;for(;r.D+n>r.ne;){let i=r.ne-r.D;if(M(r.$,r.D,r.B.Ge,r.Ce,i),r.D=r.ne,Ie(e,t),r.Ce+=i,q(e),0!=r.D)return r.oe=$,0;t=0,n-=i;}M(r.$,r.D,r.B.Ge,r.Ce,n),r.D+=n,Ie(e,t),r.Ce=0;}r.Y=73;}if(73==r.Y){if(r.B&&r.B.Oe&&r.B.Oe.length){let t,n=r.D;do{if(r.D==r.ne){if(Ie(e,n),q(e),0!=r.D)return r.oe=$,0;n=0;}t=r.B.Oe[r.Ce++],T(r,t);}while(0!=t);Ie(e,n),r.Ce=0;}r.Y=91;}if(91==r.Y){if(r.B&&r.B.Ve&&r.B.Ve.length){let t,n=r.D;do{if(r.D==r.ne){if(Ie(e,n),q(e),0!=r.D)return r.oe=$,0;n=0;}t=r.B.Ve[r.Ce++],T(r,t);}while(0!=t);Ie(e,n);}r.Y=103;}if(103==r.Y){if(r.B&&r.B.Be){if(r.D+2>r.ne&&(q(e),0!=r.D))return r.oe=$,0;T(r,255&e.i),T(r,e.i>>>8&255),e.i=W(0);}if(r.Y=113,q(e),0!=r.D)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.Y){let n=0==r.ke?Lt(r,t):2==r.ge?Pn(r,t):3==r.ge?Zn(r,t):Ye[r.ke].Ue(r,t);if((2==n||3==n)&&(r.Y=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Tt(r):5!=t&&(Pe(r,null,0,0),3==t&&(It(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.P<=0?1:(2==r.P?(T(r,255&e.i),T(r,e.i>>>8&255),T(r,e.i>>>16&255),T(r,e.i>>>24&255),T(r,255&e.total_in),T(r,e.total_in>>>8&255),T(r,e.total_in>>>16&255),T(r,e.total_in>>>24&255)):(Me(r,e.i>>>16&65535),Me(r,65535&e.i)),q(e),r.P>0&&(r.P=-r.P),0!=r.D?0:1)}function P_(e){if(Z_(e))return -2;let t=e.l,n=t.Y;return t.u=Z,t.J=qe,t.K=qe,t.$=Z,t.ze=Z,t.Te=new R(0),t.ye=Z,t.Ie=qe,t.N.length=0,t.U.length=0,t.$e.length=0,t.B=void 0,t.te=0,t.re=0,t.A=0,113==n?-3:0}function Rt(e,t){let n,r,i=e.pe,f=e.ae,_=e.he,l=e.ve,o=e.ae>ye(e)?e.ae-ye(e):0,u=e.J,a=e.F,c=e.u,s=e.ce,h=ee<s?ee:s,d=c[f],w=c[f+1],b=c[f+_-1],k=c[f+_];_>=e.me&&(i>>=2),l>s&&(l=s);do{if(n=t,c[n+_]!=k||c[n+_-1]!=b||c[n]!=d||c[n+1]!=w)continue;let i=2;for(;i<h&&c[f+i]==c[n+i];)i++;if(r=i,r>_){if(e.qe=t,_=r,r>=l)break;b=c[f+_-1],k=c[f+_];}}while((t=u[t&a])>o&&0!=--i);return _<=s?_:s}function zt(e,t){wt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o);}function j(e,t){return zt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var Dt=65535;function ke(e,t){return e<t?e:t}function Lt(e,t){let n,r,i,f=ke(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=Dt,i=e.T+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Pe(e,null,0,_),e.$[e.D-4]=n,e.$[e.D-3]=n>>8,e.$[e.D-2]=~n,e.$[e.D-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(H_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n);}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae;}else e.We-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=ke(l,e.h-e.le);e.ue=e.ae;}return e.m<e.ae&&(e.m=e.ae),_?(e.Me=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.We-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(H_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=ke(i,e.h-e.le)),e.m<e.ae&&(e.m=e.ae),i=e.T+42>>3,i=ke(e.ne-i,Dt),f=ke(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=ke(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Pe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.Me=8),_?2:0)}function U_(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=I&&(n=u_(e,e.ae)),0!=n&&e.ae-n<=ye(e)&&(e.se=Rt(e,n)),e.se>=I)if(e.ae,e.qe,e.se,r=e_(e,e.ae-e.qe,e.se-I),e.ce-=e.se,e.se<=e.xe&&e.ce>=I){e.se--;do{e.ae++,n=u_(e,e.ae);}while(0!=--e.se);e.ae++;}else e.ae+=e.se,e.se=0,e.be=e.u[e.ae],e.be=l_(e,e.be,e.u[e.ae+1]);else r=De(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,false);if(null!=t)return t}}if(e.le=e.ae<I-1?e.ae:I-1,4==t){let t=j(e,true);return null!=t?t:3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Ne(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=I&&(n=u_(e,e.ae)),e.he=e.se,e.de=e.qe,e.se=I-1,0!=n&&e.he<e.xe&&e.ae-n<=ye(e)&&(e.se=Rt(e,n),e.se<=5&&(1==e.ge||e.se==I&&e.ae-e.qe>nt)&&(e.se=I-1)),e.he>=I&&e.se<=e.he){let t=e.ae+e.ce-I;e.ae,e.de,e.he,r=e_(e,e.ae-1-e.de,e.he-I),e.ce-=e.he-1,e.he-=2;do{++e.ae<=t&&(n=u_(e,e.ae));}while(0!=--e.he);if(e.we=0,e.se=I-1,e.ae++,r){let t=j(e,false);if(null!=t)return t}}else if(e.we){if(r=De(e,e.u[e.ae-1]),r&&zt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;}if(e.we&&(r=De(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<I-1?e.ae:I-1,4==t){let t=j(e,true);return null!=t?t:3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Zn(e,t){let n,r,i,f;for(;;){if(e.ce<=ee){if(c_(e),e.ce<=ee&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=I&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+ee;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=ee-(f-i),e.se>e.ce&&(e.se=e.ce);}if(e.se>=I?(e.ae,e.ae,e.se,n=e_(e,1,e.se-I),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=De(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){let t=j(e,true);return null!=t?t:3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Pn(e,t){let n=false;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=De(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){let t=j(e,true);return null!=t?t:3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Ot=Ee.map(e=>e+1),Ct=ge.subarray(0,-1).map(e=>e+3),Mn=[16,1,73,1,200,1],Yn=[144,1,72,1,78,1],Ut=Se.map(qt),Ht=Se.map(Vt);Ut.push(64,2),Ht.push(142,2);var Bt=de.slice(0,-2).map(qt),Ft=de.slice(0,-2).map(Vt);Bt.push(...Mn),Ft.push(...Yn);var Zt=new g([...Ct,258,0,0]),Pt=new g([...Ct,3,0,0]),Mt=te(Bt),Yt=te(Ft),Xt=new g([...Ot,0,0]),Wt=new g([...Ot,32769,49153]),Gt=te(Ut),Kt=te(Ht);function qt(e,t){return t%2?e:e+16}function Vt(e,t){return t%2?e:e+128}function Jt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.p>>>0,a=r.T>>>0,c=r.et,s=r.tt,h=(1<<r.nt)-1,d=(1<<r.rt)-1,w=r.h>>>0,b=r.m>>>0,k=r.v>>>0,g=r.it,m=f-(t-e.avail_out),v=f+(e.avail_out-257),p=i+(e.avail_in-5),x=0,T=0,y=0,I=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8;}n=c[u&h];t:for(;;){if(y=n>>>16&255,u>>>=y,a-=y,y=n>>>24,0==y){l[f++]=65535&n;break}if(16&y){if(x=65535&n,y&=15,y){for(;a<y;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}x+=u&(1<<y)-1,u>>>=y,a-=y;}for(;a<15;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}n=s[u&d];n:for(;;){if(y=n>>>16&255,u>>>=y,a-=y,y=n>>>24,16&y){if(T=65535&n,y&=15,y){for(;a<y;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}T+=u&(1<<y)-1,u>>>=y,a-=y;}let t=x,c=f-m;if(T>c){let n=T-c;if(n>b&&g){e.msg="invalid distance too far back",r.ft=16209;break e}if(0==k){if(I=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[I++];continue e}for(let e=0;e<n;++e)l[f++]=o[I++];t-=n,I=f-T;}else if(k<n){I=w+k-n;let e=n-k;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[I++];continue e}for(let t=0;t<e;++t)l[f++]=o[I++];if(t-=e,I=0,!(k<t)){for(let e=0;e<t;++e)l[f++]=o[I++];continue e}for(let e=0;e<k;++e)l[f++]=o[I++];t-=k,I=f-T;}else {if(I=k-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[I++];continue e}for(let e=0;e<n;++e)l[f++]=o[I++];t-=n,I=f-T;}for(;t>2;)l[f++]=l[I++],l[f++]=l[I++],l[f++]=l[I++],t-=3;t&&(l[f++]=l[I++],t>1&&(l[f++]=l[I++]));}else {for(I=f-T;t>2;)l[f++]=l[I++],l[f++]=l[I++],l[f++]=l[I++],t-=3;t&&(l[f++]=l[I++],t>1&&(l[f++]=l[I++]));}break}if(64&y){e.msg="invalid distance code",r.ft=16209;break e}n=s[(65535&n)+(u&(1<<y)-1)];continue n}break}if(64&y){if(32&y){r.ft=16191;break e}e.msg="invalid literal/length code",r.ft=16209;break e}n=c[(65535&n)+(u&(1<<y)-1)];continue t}}while(i<p&&f<v);let z=a>>3;i-=z,a-=z<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<p?p-i+5:5-(i-p),e.avail_out=f<v?v-f+257:257-(f-v),r.p=u>>>0,r.T=a>>>0;}var Xn=new R(0);function M_(e,t){let n=Xn,r=t?ue+m_:ue+d_;return {...Je(e,0),o:e,ft:16180,_t:false,P:0,lt:false,ot:0,ut:0,ct:0,st:0,u:Z,ht:0,dt:0,Ge:0,et:n,tt:n,nt:0,rt:0,wt:0,bt:0,kt:0,gt:0,vt:n,xt:new g(320),Tt:new g(288),yt:new R(r),It:0,it:true,zt:0,Mt:0,Ct:t}}function We(e,t,n){return e<<24|t<<16|n}function b_(e=0,t=0,n=0){return We(e,t,n)}function h_(e=1){return We(64,e,0)}function Qt(e=0){return We(96,e,0)}function Y_(e){return ((255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255)>>>0}var Le=15,Gn={Ct:false,Zt:Zt,Wt:Mt,qt:Xt,St:Gt,Lt:20,$t:257,Dt:0,At:d_,Ht:false,Qt:true},Kn={Ct:true,Zt:Pt,Wt:Yt,qt:Wt,St:Kt,Lt:19,$t:256,Dt:-1,At:m_,Ht:true,Qt:false};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,h,d,w,b,k,m,v,p,x,T,y,I,z,M,C=new g(Le+1),Z=new g(Le+1),W=l?Kn:Gn;for(o=0;o<=Le;o++)C[o]=0;for(u=0;u<n;u++)C[t[u]]++;for(s=i.jt,c=Le;c>=1&&0==C[c];c--);if(s>c&&(s=c),0==c)return W.Qt?(T=h_(1),r.jt[0]=T,r.jt[1]=T,i.jt=1,0):-1;for(a=1;a<c&&0==C[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=C[o],w<0)return -1;if(w>0&&(0==e||1!=c))return -1;for(Z[1]=0,o=1;o<Le;o++)Z[o+1]=Z[o]+C[o];for(u=0;u<n;u++)0!=t[u]&&(f[Z[t[u]]++]=u);switch(e){case 0:I=z=f,M=W.Lt;break;case 1:I=W.Zt,z=W.Wt,M=W.$t;break;default:I=W.qt,z=W.St,M=W.Dt;}if(k=0,u=0,o=a,y=_.jt,h=s,d=0,p=-1,b=1<<s,x=b-1,1==e&&(W.Ht?b>=ue:b>ue)||2==e&&(W.Ht?b>=W.At:b>W.At))return 1;for(;;){T=qn(f,u,o,d,e,I,z,M,W.Ct),m=1<<o-d,v=1<<h,a=v;do{v-=m;let e=(k>>d)+v;r.jt[y+e]=T;}while(0!=v);for(m=1<<o-1;k&m;)m>>=1;if(0!=m?(k&=m-1,k+=m):k=0,u++,0==--C[o]){if(o==c)break;o=t[f[u]];}if(o>s&&(k&x)!=p){for(0==d&&(d=s),y+=1<<h,h=o-d,w=1<<h;h+d<c&&(w-=C[h+d],!(w<=0));)h++,w<<=1;if(b+=1<<h,1==e&&(W.Ht?b>=ue:b>ue)||2==e&&(W.Ht?b>=W.At:b>W.At))return 1;p=k&x,r.jt[_.jt+p]=We(h,s,y-_.jt);}}if(0!=k)for(T=h_(o-d);0!=k;){for(0!=d&&(k&x)!=p&&(d=0,o=s,y=_.jt,h=s,T=h_(o)),r.jt[y+(k>>d)]=T,m=1<<o-1;k&m;)m>>=1;0!=m?(k&=m-1,k+=m):k=0;}return _.jt+=b,i.jt=s,0}function qn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=b_(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=b_(_[i],n-r,f[i]);}else {let i=o?e[t]:e[t]-l;u=b_(_[i],n-r,f[i]);}else u=Qt(n-r);return u}var p_=new R(0),Qn={Nt:true,Ut:new R(544),Rt:p_,Yt:p_},$n={Nt:true,Ut:new R(544),Rt:p_,Yt:p_};function $t(){let e=je();return e.l=M_(e,false),e}function Ge(e){let t;return !(e&&(t=e.l,!(!t||t.o!=e||t.Ct&&(t.ft<16191||t.ft>16209)||!t.Ct&&(t.ft<16180||t.ft>16211))))}function er(e){let t;return Ge(e)?-2:(t=e.l,e.total_in=e.total_out=t.st=0,e.msg="",t.P&&(e.i=1&t.P),t.ft=t.Ct?16191:16180,t._t=false,t.lt=false,t.ot=-1,t.ut=t.Ct?65536:32768,delete t.B,t.p=0,t.T=0,t.et=t.yt,t.tt=t.yt,t.vt=t.yt,t.it=true,t.zt=-1,0)}function _r(e){let t;return Ge(e)?-2:(t=e.l,t.h=0,t.m=0,t.v=0,er(e))}function tr(e,t){let n,r;if(Ge(e))return -2;if(r=e.l,t<0){if(t<-16)return -2;n=0,r.Ct=-16==t,t=-t;}else n=5+(t>>4),r.Ct=false,t<48&&(t&=15);let i=r.Ct?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.k!=t&&(r.u=Z),r.P=n,r.k=t,_r(e))}function en(e,t){let n,r;if(!e)return -2;e.msg="";let i=-16==t;return r=M_(e,i),e.l=r,r.o=e,r.ft=i?16191:16180,n=tr(e,t),n}function nr(e){let t=e.Ct?$n:Qn,n={jt:0};if(t.Nt){let r,i,f;for(r=0;r<144;)e.xt[r++]=8;for(;r<256;)e.xt[r++]=9;for(;r<280;)e.xt[r++]=7;for(;r<288;)e.xt[r++]=8;t.Ut.fill(0),f=t.Ut,t.Rt=f,i=9;let _={jt:f},l={jt:i},o={jt:0};for(Oe(1,e.xt,288,_,l,e.Tt,o,e.Ct),f=_.jt,i=l.jt,e.It=o.jt,r=0;r<32;)e.xt[r++]=5;i=5;let u=o.jt,a={jt:f},c={jt:i};n.jt=u,Oe(2,e.xt,32,a,c,e.Tt,n,e.Ct),t.Yt=f.slice(u),t.Nt=false;}e.et=t.Rt,e.nt=9,e.tt=t.Yt,e.rt=5,e.It=n.jt;}function rr(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new p(1<<r.k),r.u)))return 1;if(0==r.h&&(r.h=1<<r.k,r.v=0,r.m=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.v=0,r.m=r.h;else {let e=r.h-r.v;e>n&&(e=n),M(r.u,r.v,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.v=n,r.m=r.h):(r.v+=e,r.v==r.h&&(r.v=0),r.m<r.h&&(r.m+=e));}return 0}var S_=class extends L{constructor(){super("Need more input");}};function _n(e,t){let n,r,i,f,_,l,o,u,a,c,s,h,d,w,b,k,g,m=new p(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return -2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ft&&(n.ft=16192),I(),c=l,s=o,g=0;try{for(;;)switch(n.ft){case 16180:if(0==n.P){n.ft=16192;break}if(S(16),2&n.P&&35615==u){0==n.k&&(n.k=15),n.ct=W(0),n.ct=T(n.ct,u),C(),n.ft=16181;break}if(n.B&&(n.B.Et=-1),!(1&n.P)||((L(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ft=16209;break}if(8!=L(4)){e.msg="unknown compression method",n.ft=16209;break}if($(4),k=L(4)+8,0==n.k&&(n.k=k),k>15||k>n.k){e.msg="invalid window size",n.ft=16209;break}n.ut=1<<k,n.ot=0,e.i=n.ct=he(0),n.ft=512&u?16189:16191,C();break;case 16181:if(S(16),n.ot=u,8!=(255&n.ot)){e.msg="unknown compression method",n.ft=16209;break}if(57344&n.ot){e.msg="unknown header flags set",n.ft=16209;break}n.B&&(n.B.Fe=u>>8&1),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),C(),n.ft=16182;case 16182:S(32),n.B&&(n.B.Xe=u),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),C(),n.ft=16183;case 16183:S(16),n.B&&(n.B.Pt=255&u,n.B.Je=u>>8),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),C(),n.ft=16184;case 16184:1024&n.ot?(S(16),n.ht=u,n.B&&(n.B.Ke=u),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),C()):n.B&&(n.B.Ge=Z),n.ft=16185;case 16185:if(1024&n.ot&&(h=n.ht,h>l&&(h=l),h&&(n.B&&n.B.Ge&&n.B.Bt&&(k=n.B.Ke-n.ht)<n.B.Bt&&M(n.B.Ge,k,r,i,h),512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,n.ht-=h),n.ht))return v();n.ht=0,n.ft=16186;case 16186:if(2048&n.ot){if(0==l)return v();h=0;do{k=r[i+h++],n.B&&n.B.Ft&&n.ht<n.B.Ft&&(n.B.Oe[n.ht++]=k);}while(k&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,k)return v()}else n.B&&(n.B.Oe=Z);n.ht=0,n.ft=16187;case 16187:if(4096&n.ot){if(0==l)return v();h=0;do{k=r[i+h++],n.B&&n.B.Gt&&n.ht<n.B.Gt&&(n.B.Ve[n.ht++]=k);}while(k&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,k)return v()}else n.B&&(n.B.Ve=Z);n.ft=16188;case 16188:if(512&n.ot){if(S(16),4&n.P&&u!=(65535&n.ct)){e.msg="header crc mismatch",n.ft=16209;break}C();}n.B&&(n.B.Be=n.ot>>9&1,n.B.Et=1),e.i=n.ct=W(0),n.ft=16191;break;case 16189:S(32),e.i=n.ct=Y_(u),C(),n.ft=16190;case 16190:if(!n.lt)return z(),2;e.i=n.ct=he(0),n.ft=16191;case 16191:if(5==t||6==t)return v();case 16192:if(n._t){D(),n.ft=16206;break}switch(S(3),n._t=!!L(1),$(1),L(2)){case 0:n.ft=16193;break;case 1:if(nr(n),n.ft=16199,6==t)return $(2),v();break;case 2:n.ft=16196;break;case 3:e.msg="invalid block type",n.ft=16209;}$(2);break;case 16193:if(D(),S(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ft=16209;break}if(n.ht=65535&u,C(),n.ft=16194,6==t)return v();case 16194:n.ft=16195;case 16195:if(h=n.ht,h){if(h>l&&(h=l),h>o&&(h=o),0==h)return v();M(f,_,r,i,h),l-=h,i+=h,o-=h,_+=h,n.ht-=h;break}n.ft=16191;break;case 16196:if(S(14),n.bt=L(5)+257,$(5),n.kt=L(5)+1,$(5),n.wt=L(4)+4,$(4),n.bt>286||!n.Ct&&n.kt>30){e.msg=n.Ct?"too many length":"too many length or distance symbols",n.ft=16209;break}n.gt=0,n.ft=16197;case 16197:for(;n.gt<n.wt;)S(3),n.xt[pe[n.gt++]]=L(3),$(3);for(;n.gt<19;)n.xt[pe[n.gt++]]=0;n.vt=n.yt,n.et=n.tt=n.vt,n.nt=7;let c={jt:n.vt},m={jt:n.nt},p={jt:0};if(g=Oe(0,n.xt,19,c,m,n.Tt,p,n.Ct),n.vt=c.jt,n.nt=m.jt,g){e.msg="invalid code lengths set",n.ft=16209;break}n.gt=0,n.ft=16198;case 16198:for(;n.gt<n.bt+n.kt;){for(;w=n.et[L(n.nt)],!((w>>>16&255)<=a);)q();if((65535&w)<16)$(w>>>16&255),n.xt[n.gt++]=65535&w;else {if(16==(65535&w)){if(S(2+(w>>>16&255)),$(w>>>16&255),0==n.gt){e.msg="invalid bit length repeat",n.ft=16209;break}k=n.xt[n.gt-1],h=3+L(2),$(2);}else 17==(65535&w)?(S(3+(w>>>16&255)),$(w>>>16&255),k=0,h=3+L(3),$(3)):(S(7+(w>>>16&255)),$(w>>>16&255),k=0,h=11+L(7),$(7));if(n.gt+h>n.bt+n.kt){e.msg="invalid bit length repeat",n.ft=16209;break}for(;h--;)n.xt[n.gt++]=k;}}if(16209==n.ft)break;if(0==n.xt[256]){e.msg="invalid code -- missing end-of-block",n.ft=16209;break}n.vt=n.yt,n.nt=9;let A={jt:n.vt},H={jt:n.nt},Q={jt:0};g=Oe(1,n.xt,n.bt,A,H,n.Tt,Q,n.Ct),n.vt=A.jt,n.nt=H.jt;let j=Q.jt;if(n.et=n.vt.slice(0,j),g){e.msg="invalid literal/lengths set",n.ft=16209;break}n.rt=6;let N=n.xt.subarray(n.bt,n.bt+n.kt),U={jt:n.vt},R={jt:n.rt},Y={jt:j};if(g=Oe(2,N,n.kt,U,R,n.Tt,Y,n.Ct),n.vt=U.jt,n.rt=R.jt,n.tt=n.vt.slice(j),g){e.msg="invalid distances set",n.ft=16209;break}if(n.ft=16199,6==t)return v();case 16199:n.ft=16200;case 16200:if(!n.Ct&&l>=6&&o>=258){z(),Jt(e,s),I(),16191==n.ft&&(n.zt=-1);break}for(n.zt=0;w=n.et[L(n.nt)],!((w>>>16&255)<=a);)q();if(w>>>24&&!(w>>>24&240)){for(b=w;w=n.et[(65535&b)+(L((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)q();$(b>>>16&255),n.zt+=b>>>16&255;}if($(w>>>16&255),n.zt+=w>>>16&255,n.ht=65535&w,!(w>>>24)){n.ft=16205;break}if(w>>>24&32){n.zt=-1,n.ft=16191;break}if(w>>>24&64){e.msg="invalid literal/length code",n.ft=16209;break}n.Ge=w>>>24&(n.Ct?31:15),n.ft=16201;case 16201:n.Ge&&(S(n.Ge),n.ht+=L(n.Ge),$(n.Ge),n.zt+=n.Ge),n.Mt=n.ht,n.ft=16202;case 16202:for(;w=n.tt[L(n.rt)],!((w>>>16&255)<=a);)q();if(!(w>>>24&240)){for(b=w;w=n.tt[(65535&b)+(L((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)q();$(b>>>16&255),n.zt+=b>>>16&255;}if($(w>>>16&255),n.zt+=w>>>16&255,w>>>24&64){e.msg="invalid distance code",n.ft=16209;break}n.dt=65535&w,n.Ge=w>>>24&15,n.ft=16203;case 16203:n.Ge&&(S(n.Ge),n.dt+=L(n.Ge),$(n.Ge),n.zt+=n.Ge),n.ft=16204;case 16204:if(0==o)return v();if(h=s-o,n.dt>h){if(h=n.dt-h,h>n.m&&n.it){e.msg="invalid distance too far back",n.ft=16209;break}h>n.v?(h-=n.v,d=n.h-h):d=n.v-h,h>n.ht&&(h=n.ht),h>o&&(h=o);for(let e=0;e<h;++e)f[_]=255&n.u[d],++_,++d;}else {d=_-n.dt,h=n.ht,h>o&&(h=o);for(let e=0;e<h;++e)f[_]=f[d],++_,++d;}h>o&&(h=o),o-=h,n.ht-=h,0==n.ht&&(n.ft=16200);break;case 16205:if(0==o)return v();f[_++]=n.ht,o--,n.ft=16200;break;case 16206:if(n.P){if(S(32),s-=o,e.total_out+=s,n.st+=s,4&n.P&&s){let t=f.subarray(_-s,_);e.i=n.ct=x(n.ct,t,s);}if(s=o,4&n.P&&(n.ot?u:Y_(u)>>>0)!=n.ct){e.msg="incorrect data check",n.ft=16209;break}C();}n.ft=16207;case 16207:if(n.P&&n.ot){if(S(32),4&n.P&&u!=(4294967295&n.st)){e.msg="incorrect length check",n.ft=16209;break}C();}n.ft=16208;case 16208:return g=1,v();case 16209:return g=-3,v();case 16210:return -4;default:return -2}}catch(e){if(e instanceof S_)return v();throw e}function v(){if(z(),n.h||s!=e.avail_out&&n.ft<16209&&((n.Ct?n.ft<16208:n.ft<16206)||4!=t)){let t=s-e.avail_out;if(rr(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ft=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.st+=s,4&n.P&&s&&(e.i=n.ct=x(n.ct,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.T+(n._t?64:0)+(16191==n.ft?128:0)+(16199==n.ft||16194==n.ft?256:0),(0==c&&0==s&&0==g||4==t&&0==g)&&(g=-5),g}function x(e,t,r){return n.ot?W(e,t,r):he(e,t,r)}function T(e,t){return m[0]=255&t,m[1]=t>>>8&255,W(e,m,2)>>>0}function y(e,t){return m[0]=255&t,m[1]=t>>>8&255,m[2]=t>>>16&255,m[3]=t>>>24&255,W(e,m,4)>>>0}function I(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.p,a=n.T;}function z(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=u,n.T=a;}function C(){u=0,a=0;}function q(){if(0==l)throw new S_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8;}function S(e){for(;a<e;)q();}function L(e){return u&(1<<e)-1}function $(e){u>>>=e,a-=e;}function D(){u>>>=7&a,a-=7&a;}}function tn(e){return Ge(e)?-2:0}var X_=65536,ar=32768,W_=class{constructor(e=16,t=X_){this.Ot=[],this.Vt=e;for(let n=0;n<z.min(e,4);n++)this.Ot.push(new p(t));}acquire(e=X_){for(let t=this.Ot.length-1;t>=0;t--){let n=this.Ot[t];if(n.length>=e)return this.Ot.splice(t,1),n}return new p(e)}release(e){this.Ot.length<this.Vt&&this.Ot.push(e);}};function nn(e){let t=new W_(32,X_),n=null;function r(){let t=e.Xt(),n=e.Jt(t);if(0!=n&&0!=n)throw new L("init failed: "+n);return {o:t}}function i(e){try{t.release(e);}catch{}}return new H({start(){},transform(f,_){n||(n=r());let l=n.o;if(n.Kt)return;let o=0;for(;o<f.length;){let r=z.min(f.length-o,ar),u=f.subarray(o,o+r);for(l.next_in=u,l.next_in_index=0,l.avail_in=u.length;l.avail_in>0;){let r=t.acquire(),f=false;try{l.next_out=r,l.next_out_index=0,l.avail_out=r.length;let i=e.en(l,0),o=r.length-l.avail_out;if(o>0){let e=!1,n={tn:r.subarray(0,o),release:()=>{e||(e=!0,t.release(r));}};f=!0,_.enqueue(n);}if(1==i){n.Kt=!0;break}if(0!=i)throw new L("process error: "+i)}finally{f||i(r);}}if(n.Kt)break;o+=r;}},flush(f){if(n&&n.Kt)return;n||(n=r());let _=n.o;for(;;){let n=t.acquire(),r=false;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let i=e.en(_,4),l=n.length-_.avail_out;if(l>0){let e=!1,i={tn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};r=!0,f.enqueue(i);}if(1==i)break;if(0!=i)throw new L("finalization error: "+i)}finally{r||i(n);}}let l=e.nn(_);if(0!=l&&0!=l)throw new L("end failed: "+l)}})}function rn(){return new H({start(){},transform(e,t){try{t.enqueue(e.tn.slice(0));}finally{e.release();}},flush(){}})}function ir(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return nn({Xt:()=>vt(),Jt:e=>kt(e,r,8,n,8,0),en:Nt,nn:P_})}function or(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return nn({Xt:()=>$t(),Jt:e=>en(e,t),en:_n,nn:tn})}var E_=class{constructor(e="deflate",t){let n=ir(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(rn());}},g_=class{constructor(e="deflate"){let t=or(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(rn());}};
|
|
9350
|
+
var{Uint8Array:p,Uint16Array:g,Int32Array:R,TransformStream:H,Math:O,Error:z,Array:k}=globalThis,pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new p(0),qe=new g(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Se=[];for(let e=0;e<14;e++)Se.push(e,0==e?4:2);var Ee=new g([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),ge=new g([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength),l=n instanceof p?n.subarray(r,r+i):new p(n.buffer,n.byteOffset+r,i);f.set(l,t);}function Ve(e,t,n){0!=n&&(e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n);}function je(){return {next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,l:0,_:void 0}}function $e(e,t){let n=1<<t;return {o:e,u:new p(n),h:n,k:t,m:0,v:0,p:0,T:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r);}return new g(t)}var ne=class{constructor(e,t){this.I=e,this.M=t,this.C=0;}},re=class{constructor(e,t,n,r,i){this.Z=e,this.W=t,this.q=n,this.O=r,this.S=i;}};function D_(e){return J_[e<-6||e>2?9:2-e]||""}function we(e,t){try{e.msg=D_(t);}catch(n){e.msg="zlib error "+String(t)+" ("+n+")";}return t}function Qe(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function T(e,t){e.D[e.j++]=t;}function Ae(e,t){T(e,255&t),T(e,t>>>8&255);}function e_(e,t,n){let r=255&n,i=65535&t,f=e.A+e.N;return e.D[f]=255&i,e.D[f+1]=i>>>8&255,e.D[f+2]=r,e.N+=3,i=i-1&65535,e.H[__[r]+ie+1].R++,e.J[y_(i)].R++,e.N==e.U}function De(e,t){let n=255&t,r=e.A+e.N;return e.D[r]=0,e.D[r+1]=0,e.D[r+2]=n,e.N+=3,e.H[n].R++,e.N==e.U}function ye(e){return e.h-ae}function y_(e){return e<256?A_[e]:A_[256+(e>>7)]}function v_(e){let t=Ce+7,n=1<<t,r=(1<<t)-1,i=O.floor((t+I-1)/I),f=1<<8+Ce;return {...$e(e,15),o:e,Y:42,P:0,B:void 0,F:32767,G:t,V:n,L:r,X:i,$:new g(32768),K:new g(n),ee:f,D:new p(32768),te:0,ne:32768,j:0,re:0,ie:0,fe:0,le:0,_e:0,oe:-2,ae:0,ue:0,ce:0,se:0,he:0,de:0,we:0,be:0,ke:0,ge:0,me:0,ve:0,pe:0,xe:0,Te:new R(2*Te+1),ye:new p(2*Te+1),Ie:new g(be+1),N:0,U:0,Me:Z,A:0,ze:0,Ce:0,Ze:8,We:32768,qe:0,Oe:0,Se:0,H:new k(fe).fill(0).map(()=>J()),J:new k(2*me+1).fill(0).map(()=>J()),De:new k(2*oe+1).fill(0).map(()=>J()),je:w_(),Ae:w_(),Qe:w_()}}function I_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=J();f.Ne=r,f.Re=i,t.push(f);}return t}function J(){return {R:0,Ne:0,He:0,Re:0}}function w_(){return new ne([],bn(null,Z,0,0,0))}function bn(e,t,n,r,i){return new re(e,t,n,r,i)}function Q_(){let e=new k(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function k_(e){let{code:t,length:n}=sn(e),r=new g(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,l=t[f]||0;r[i++]=e?Qe(l,e):0,r[i++]=e;}return new g(r)}function et(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f);}r<n&&(r=n);let i=new p(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,l=e[r];if(n>=l&&n<=l+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i);}return i[f]=e.length-1,i}function _t(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f);}let r=new p(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,l=e[n];if(i>=l&&i<=l+f-1){r[i]=n;break}}return r}function tt(e){let t=new p(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r];}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function sn(e){let t=O.max(...e),n=new k(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new k(e.length).fill(0),i=new k(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++);}return {code:r,length:e}}var Ce=8,I=3,ee=258,ae=ee+I+1,nt=4096,Ue=16,He=ee,hn=29,ie=256,Te=ie+1+hn,me=30,oe=19,fe=2*Te+1,be=15,rt=9,at=255,it=32,ot=4,ve=256,t_=16,n_=17,r_=18,ft=0,N_=1,lt=2,Q=-1,J_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Se),Be=new g(19);Be[16]=2,Be[17]=3,Be[18]=7;var xn=k_(Q_()),pn=k_(new k(30).fill(5)),Fe=I_(xn),R_=I_(pn),__=et(ge,a_,ee),A_=tt(_t(Ee,i_));function se(e,t,n){if(void 0===t||void 0===n)return 1;let r=65535&e,i=e>>>16&65535,f=0;for(;n>0;){let e=n>2e3?2e3:n;n-=e;do{r=r+t[f++]|0,i=i+r|0;}while(--e);r%=65521,i%=65521;}return (i<<16|r)>>>0}var Ze=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Ze[0][e]=t;}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Ze[t-1][e];Ze[t][e]=n>>>8^Ze[0][255&n];}var[ut,Sn,En,gn,Tn,wn,An,Dn]=Ze;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=O.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,true),n=e.getInt32(i+4,true);r=Dn[255&t]^An[t>>>8&255]^wn[t>>>16&255]^Tn[t>>>24&255]^gn[255&n]^En[n>>>8&255]^Sn[n>>>16&255]^ut[n>>>24&255];}}for(;i<n;i++)r=r>>>8^ut[255&(r^t[i])];return (4294967295^r)>>>0}function xt(e){16==e.T?(Ae(e,e.p),e.p=0,e.T=0):e.T>=8&&(T(e,e.p),e.p>>=8,e.T-=8);}function pt(e){e.T>8?Ae(e,e.p):e.T>0&&T(e,e.p),e.ze=1+(e.T-1&7),e.p=0,e.T=0;}function yn(e,t,n){let r,i,f=[],l=0;for(r=1;r<=be;r++)l=l+n[r-1]<<1,f[r]=l;for(i=0;i<=t;i++){let t=e[i].Re;0!=t&&(e[i].Ne=Qe(f[t]++,t));}}function C(e,t,n){e.T>Ue-n?(e.p=65535&(e.p|t<<e.T),Ae(e,e.p),e.p=t>>Ue-e.T&65535,e.T+=n-Ue):(e.p=65535&(e.p|t<<e.T),e.T+=n);}function St(e){for(let t=0;t<e.H.length;t++)e.H[t].R=0;for(let t=0;t<e.J.length;t++)e.J[t].R=0;for(let t=0;t<e.De.length;t++)e.De[t].R=0;e.H[ve].R=1,e.ie=e.fe=0,e.N=e.le=0;}function Et(e){if(e.H&&e.H.length>=fe)for(let t=0;t<fe;t++)e.H[t]=J();else {e.H=[];for(let t=0;t<fe;t++)e.H.push(J());}if(e.J&&e.J.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.J[t]=J();else {e.J=[];for(let t=0;t<2*me+1;t++)e.J.push(J());}if(e.De&&e.De.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.De[t]=J();else {e.De=[];for(let t=0;t<2*oe+1;t++)e.De.push(J());}e.je=new ne(e.H,new re(Fe,a_,ie+1,Te,be)),e.Ae=new ne(e.J,new re(R_,i_,0,me,be)),e.Qe=new ne(e.De,new re(null,Be,0,oe,7)),e.p=0,e.T=0,e.ze=0,St(e);}var he=1;function vn(e,t,n){return n=e.Te[he],e.Te[he]=e.Te[e.Oe--],z_(e,t,he),n}function mt(e,t,n,r){return e[t].R<e[n].R||e[t].R==e[n].R&&r[t]<=r[n]}function z_(e,t,n){let r=e.Te[n],i=n<<1;for(;i<=e.Oe&&(i<e.Oe&&mt(t,e.Te[i+1],e.Te[i],e.ye)&&i++,!mt(t,r,e.Te[i],e.ye));)e.Te[n]=e.Te[i],n=i,i<<=1;e.Te[n]=r;}function In(e,t){let n,r,i,f,l,_,o=t.I,a=t.C,u=t.M.Z,c=t.M.W,s=t.M.q,h=t.M.S,d=0;for(f=0;f<=be;f++)e.Ie[f]=0;for(o[e.Te[e.Se]].Re=0,n=e.Se+1;n<fe;n++)r=e.Te[n],f=o[o[r].He].Re+1,f>h&&(f=h,d++),o[r].Re=f,!(r>a)&&(e.Ie[f]++,l=0,r>=s&&(l=c[r-s]),_=o[r].R,e.ie+=_*(f+l),u&&(e.fe+=_*(u[r].Re+l)));if(0!=d){do{for(f=h-1;0==e.Ie[f];)f--;e.Ie[f]--,e.Ie[f+1]+=2,e.Ie[h]--,d-=2;}while(d>0);for(f=h;0!=f;f--)for(r=e.Ie[f];0!=r;)i=e.Te[--n],!(i>a)&&(o[i].Re!=f&&(e.ie+=(f-o[i].Re)*o[i].R,o[i].Re=f),r--);}}function O_(e,t){let n,r,i,f=t.I,l=t.M.Z,_=t.M.O,o=-1;for(e.Oe=0,e.Se=fe,n=0;n<_;n++)0!=f[n].R?(e.Te[++e.Oe]=o=n,e.ye[n]=0):f[n].Re=0;for(;e.Oe<2;)i=e.Te[++e.Oe]=o<2?++o:0,f[i].R=1,e.ye[i]=0,e.ie--,l&&(e.fe-=l[i].Re);for(t.C=o,n=O.floor(e.Oe/2);n>=1;n--)z_(e,f,n);i=_;do{n=vn(e,f,n),r=e.Te[he],e.Te[--e.Se]=n,e.Te[--e.Se]=r,f[i].R=f[n].R+f[r].R,e.ye[i]=(e.ye[n]>=e.ye[r]?e.ye[n]:e.ye[r])+1,f[n].He=f[r].He=i,e.Te[he]=i++,z_(e,f,he);}while(e.Oe>=2);e.Te[--e.Se]=e.Te[he],In(e,t),yn(f,t.C,e.Ie);}function bt(e,t,n){let r,i,f=-1,l=t[0].Re,_=0,o=7,a=4;for(0==l&&(o=138,a=3),t[n+1].Re=65535,r=0;r<=n;r++)i=l,l=t[r+1].Re,!(++_<o&&i==l)&&(_<a?e.De[i].R+=_:0!=i?(i!=f&&e.De[i].R++,e.De[t_].R++):_<=10?e.De[n_].R++:e.De[r_].R++,_=0,f=i,0==l?(o=138,a=3):i==l?(o=6,a=3):(o=7,a=4));}function st(e,t,n){let r,i=-1,f=t[0].Re,l=0,_=7,o=4;0==f&&(_=138,o=3);for(let a=0;a<=n;a++)if(r=f,f=t[a+1].Re,!(++l<_&&r==f)){if(l<o)do{C(e,e.De[r].Ne,e.De[r].Re);}while(0!=--l);else 0!=r?(r!=i&&(C(e,e.De[r].Ne,e.De[r].Re),l--),C(e,e.De[t_].Ne,e.De[t_].Re),C(e,l-3,2)):l<=10?(C(e,e.De[n_].Ne,e.De[n_].Re),C(e,l-3,3)):(C(e,e.De[r_].Ne,e.De[r_].Re),C(e,l-11,7));l=0,i=r,0==f?(_=138,o=3):r==f?(_=6,o=3):(_=7,o=4);}}function kn(e){let t;for(bt(e,e.H,e.je.C),bt(e,e.J,e.Ae.C),O_(e,e.Qe),t=oe-1;t>=3&&0==e.De[pe[t]].Re;t--);return e.ie+=3*(t+1)+5+5+4,t}function Nn(e,t,n,r){let i;for(C(e,t-257,5),C(e,n-1,5),C(e,r-4,4),i=0;i<r;i++)C(e,e.De[pe[i]].Re,3);st(e,e.H,t-1),st(e,e.J,n-1);}function Pe(e,t,n,r,i=0){C(e,(ft<<1)+r,3),pt(e),Ae(e,n),Ae(e,~n),n&&t&&M(e.D,e.j,t,i,n),e.j+=n;}function gt(e){xt(e);}function Tt(e){C(e,N_<<1,3),C(e,Fe[ve].Ne,Fe[ve].Re),xt(e);}function ht(e,t,n){let r,i,f,l,_=0;if(0!=e.N)do{r=255&e.Me[_],r+=(255&e.Me[_+1])<<8,i=e.Me[_+2],_+=3,0==r?C(e,t[i].Ne,t[i].Re):(f=__[i],C(e,t[f+ie+1].Ne,t[f+ie+1].Re),l=a_[f],0!=l&&(i-=ge[f],C(e,i,l)),r--,f=y_(r),C(e,n[f].Ne,n[f].Re),l=i_[f],0!=l&&(r-=Ee[f],C(e,r,l)));}while(_<e.N);C(e,t[ve].Ne,t[ve].Re);}function Rn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.H[t].R)return 0;if(0!=e.H[9].R||0!=e.H[10].R||0!=e.H[13].R)return 1;for(t=32;t<ie;t++)if(0!=e.H[t].R)return 1;return 0}function wt(e,t,n,r,i=0){let f,l,_=0;e.ke>0?(2==e.o.t&&(e.o.t=Rn(e)),O_(e,e.je),O_(e,e.Ae),_=kn(e),f=e.ie+3+7>>3,l=e.fe+3+7>>3,(l<=f||4==e.ge)&&(f=l)):f=l=n+5,n+4<=f&&t?Pe(e,t,n,r,i):l==f?(C(e,(N_<<1)+r,3),ht(e,Fe,R_)):(C(e,(lt<<1)+r,3),Nn(e,e.je.C+1,e.Ae.C+1,_+1),ht(e,e.H,e.J)),St(e),r&&pt(e);}function vt(){let e=je();return e._=v_(e),e}var Ye=[{Je:Ot,Ue:0,Ee:0,Ye:0,Pe:0},{Je:U_,Ue:4,Ee:4,Ye:8,Pe:4},{Je:U_,Ue:4,Ee:5,Ye:16,Pe:8},{Je:U_,Ue:4,Ee:6,Ye:32,Pe:32},{Je:Ne,Ue:4,Ee:4,Ye:16,Pe:16},{Je:Ne,Ue:8,Ee:16,Ye:32,Pe:32},{Je:Ne,Ue:8,Ee:16,Ye:128,Pe:128},{Je:Ne,Ue:8,Ee:32,Ye:128,Pe:256},{Je:Ne,Ue:32,Ee:128,Ye:258,Pe:1024},{Je:Ne,Ue:32,Ee:258,Ye:258,Pe:4096}];function At(e){return 2*e-(e>4?9:0)}function l_(e,t,n){return ((t<<e.X^n)&e.L)>>>0}function u_(e,t){e.be=l_(e,e.be,e.u[t+(I-1)]);let n=e.$[t&e.F]=e.K[e.be];return e.K[e.be]=t,n}function It(e){e.K[e.V-1]=0,Ve(e.K,0,(e.V-1)*e.K.BYTES_PER_ELEMENT);}function Bn(e){let t,n,r=e.h;for(t=e.V;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.$[t],e.$[t]=n>=r?n-r:0;}function H_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e._.P?e.i=se(e.i,new p(t.buffer,t.byteOffset+n,i),i):2==e._.P&&(e.i=W(e.i,new p(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.We-e.ce-e.ue,0==n&&0==e.ue&&0==e.ce?n=r:-1==n&&n--,e.ue>=r+ye(e)&&(M(e.u,0,e.u,r,r-n),e.qe-=r,e.ue-=r,e.ae-=r,e._e>e.ue&&(e._e=e.ue),Bn(e),n+=r),0==e.o.avail_in)break;if(t=H_(e.o,e.u,e.ue+e.ce,n),e.ce+=t,e.ce+e._e>=I){let t=e.ue-e._e;for(e.be=e.u[t],e.be=l_(e,e.be,e.u[t+1]);e._e&&(e.be=l_(e,e.be,e.u[t+I-1]),e.$[t&e.F]=e.K[e.be],e.K[e.be]=t,t++,e._e--,!(e.ce+e._e<I)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.m<e.We){let t,n=e.ue+e.ce;e.m<n?(t=e.We-n,t>He&&(t=He),Ve(e.u,n,t),e.m=n+t):e.m<n+He&&(t=n+He-e.m,t>e.We-e.m&&(t=e.We-e.m),Ve(e.u,e.m,t),e.m+=t);}}function kt(e,t,n=8,r=15,i=Ce,f=0){let l=1;if(!e)return -2;if(e.msg="",-1==t&&(t=6),r<0){if(l=0,r<-15)return -2;r=-r;}else r>15&&(l=2,r-=16);if(i<1||i>rt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=l)return -2;8==r&&(r=9);let _=v_(e);return _?(e._=_,_.o=e,_.Y=42,_.P=l,_.B=void 0,_.k=r,_.h=1<<_.k,_.F=_.h-1,_.G=i+7,_.V=1<<_.G,_.L=_.V-1,_.X=(_.G+I-1)/I,_.u=new p(2*_.h),_.$=new g(_.h),_.K=new g(_.V),_.m=0,_.ee=1<<i+6,_.D=new p(_.ee*ot),_.ne=4*_.ee,_.u&&_.$&&_.K&&_.D?(_.Me=_.D.subarray(_.ee),_.A=_.te+_.ee,_.U=3*(_.ee-1),_.ke=t,_.ge=f,_.Ze=n,Pn(e)):(_.Y=666,e.msg=D_(-4),P_(e),-4)):-4}function Z_(e){if(null==e)return true;let t=e._;return !t||t.o!=e||42!=t.Y&&57!=t.Y&&69!=t.Y&&73!=t.Y&&91!=t.Y&&103!=t.Y&&113!=t.Y&&666!=t.Y}function Fn(e){let t;return Z_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e._,t.j=0,t.re=t.te,t.P<0&&(t.P=-t.P),t.Y=2==t.P?57:42,e.i=2==t.P?W(0):se(0),t.oe=-2,Et(t),0)}function Zn(e){e.We=2*e.h,It(e),e.xe=Ye[e.ke].Ee,e.me=Ye[e.ke].Ue,e.ve=Ye[e.ke].Ye,e.pe=Ye[e.ke].Pe,e.ue=0,e.ae=0,e.ce=0,e._e=0,e.se=e.he=I-1,e.we=0,e.be=0;}function Pn(e){let t=Fn(e);return 0==t&&Zn(e._),t}function Me(e,t){T(e,t>>8),T(e,255&t);}function q(e){let t,n=e._;gt(n),t=n.j,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.D,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.j-=t,0==n.j&&(n.re=n.te));}function Ie(e,t){let n=e._;n.B&&n.B.Be&&(e.i=W(e.i,new p(n.D.buffer,n.te+t,n.j-t),n.j-t));}function Nt(e,t){let n,r=e._;if(Z_(e)||t>5||t<0)return we(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.Y&&4!=t)return we(e,-2);if(0==e.avail_out)return we(e,-5);if(n=r.oe,r.oe=t,0!=r.j){if(q(e),0==e.avail_out)return r.oe=Q,0}else if(0==e.avail_in&&At(t)<=At(n)&&4!=t)return we(e,-5);if(666==r.Y&&0!=e.avail_in)return we(e,-5);if(42==r.Y&&0==r.P&&(r.Y=113),42==r.Y){let t,n=8+(r.k-8<<4)<<8;if(t=r.ge>=2||r.ke<2?0:r.ke<6?1:6==r.ke?2:3,n|=t<<6,0!=r.ue&&(n|=it),n+=31-n%31,Me(r,n),0!=r.ue&&(Me(r,e.i>>16),Me(r,65535&e.i)),e.i=1,r.Y=113,q(e),0!=r.j)return r.oe=Q,0}if(57==r.Y)if(e.i=W(0),T(r,31),T(r,139),T(r,8),r.B)T(r,(r.B.Fe?1:0)+(r.B.Be?2:0)+(null==r.B.Ge?0:4)+(null==r.B.Ve?0:8)+(null==r.B.Le?0:16)),T(r,255&r.B.Xe),T(r,r.B.Xe>>>8&255),T(r,r.B.Xe>>>16&255),T(r,r.B.Xe>>>24&255),T(r,9==r.ke?2:r.ge>=2||r.ke<2?4:0),T(r,255&r.B.$e),null!=r.B.Ge&&(T(r,255&r.B.Ke),T(r,r.B.Ke>>>8&255)),r.B.Be&&(e.i=W(e.i,r.D,r.j)),r.Ce=0,r.Y=69;else if(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9==r.ke?2:r.ge>=2||r.ke<2?4:0),T(r,at),r.Y=113,q(e),0!=r.j)return r.oe=Q,0;if(69==r.Y){if(r.B&&null!=r.B.Ge){let t=r.j,n=(65535&r.B.Ke)-r.Ce;for(;r.j+n>r.ne;){let i=r.ne-r.j;if(M(r.D,r.j,r.B.Ge,r.Ce,i),r.j=r.ne,Ie(e,t),r.Ce+=i,q(e),0!=r.j)return r.oe=Q,0;t=0,n-=i;}M(r.D,r.j,r.B.Ge,r.Ce,n),r.j+=n,Ie(e,t),r.Ce=0;}r.Y=73;}if(73==r.Y){if(r.B&&r.B.Ve&&r.B.Ve.length){let t,n=r.j;do{if(r.j==r.ne){if(Ie(e,n),q(e),0!=r.j)return r.oe=Q,0;n=0;}t=r.B.Ve[r.Ce++],T(r,t);}while(0!=t);Ie(e,n),r.Ce=0;}r.Y=91;}if(91==r.Y){if(r.B&&r.B.Le&&r.B.Le.length){let t,n=r.j;do{if(r.j==r.ne){if(Ie(e,n),q(e),0!=r.j)return r.oe=Q,0;n=0;}t=r.B.Le[r.Ce++],T(r,t);}while(0!=t);Ie(e,n);}r.Y=103;}if(103==r.Y){if(r.B&&r.B.Be){if(r.j+2>r.ne&&(q(e),0!=r.j))return r.oe=Q,0;T(r,255&e.i),T(r,e.i>>>8&255),e.i=W(0);}if(r.Y=113,q(e),0!=r.j)return r.oe=Q,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.Y){let n=0==r.ke?Ot(r,t):2==r.ge?Yn(r,t):3==r.ge?Mn(r,t):Ye[r.ke].Je(r,t);if((2==n||3==n)&&(r.Y=666),0==n||2==n)return 0==e.avail_out&&(r.oe=Q),0;if(1==n&&(1==t?Tt(r):5!=t&&(Pe(r,null,0,0),3==t&&(It(r),0==r.ce&&(r.ue=0,r.ae=0,r._e=0))),q(e),0==e.avail_out))return r.oe=Q,0}return 4!=t?0:r.P<=0?1:(2==r.P?(T(r,255&e.i),T(r,e.i>>>8&255),T(r,e.i>>>16&255),T(r,e.i>>>24&255),T(r,255&e.total_in),T(r,e.total_in>>>8&255),T(r,e.total_in>>>16&255),T(r,e.total_in>>>24&255)):(Me(r,e.i>>>16&65535),Me(r,65535&e.i)),q(e),r.P>0&&(r.P=-r.P),0!=r.j?0:1)}function P_(e){if(Z_(e))return -2;let t=e._,n=t.Y;return t.u=Z,t.$=qe,t.K=qe,t.D=Z,t.Me=Z,t.Te=new R(0),t.ye=Z,t.Ie=qe,t.H.length=0,t.J.length=0,t.De.length=0,t.B=void 0,t.te=0,t.re=0,t.A=0,113==n?-3:0}function Rt(e,t){let n,r,i=e.pe,f=e.ue,l=e.he,_=e.ve,o=e.ue>ye(e)?e.ue-ye(e):0,a=e.$,u=e.F,c=e.u,s=e.ce,h=ee<s?ee:s,d=c[f],w=c[f+1],b=c[f+l-1],k=c[f+l];l>=e.me&&(i>>=2),_>s&&(_=s);do{if(n=t,c[n+l]!=k||c[n+l-1]!=b||c[n]!=d||c[n+1]!=w)continue;let i=2;for(;i<h&&c[f+i]==c[n+i];)i++;if(r=i,r>l){if(e.qe=t,l=r,r>=_)break;b=c[f+l-1],k=c[f+l];}}while((t=a[t&u])>o&&0!=--i);return l<=s?l:s}function zt(e,t){wt(e,e.u,e.ue-e.ae,t,e.ae),e.ae=e.ue,q(e.o);}function j(e,t){return zt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var Dt=65535;function ke(e,t){return e<t?e:t}function Ot(e,t){let n,r,i,f=ke(e.ne-5,e.h),l=0,_=e.o.avail_in;do{if(n=Dt,i=e.T+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ue-e.ae,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;l=4==t&&n==r+e.o.avail_in?1:0,Pe(e,null,0,l),e.D[e.j-4]=n,e.D[e.j-3]=n>>8,e.D[e.j-2]=~n,e.D[e.j-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ae,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ae+=r,n-=r),n&&(H_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n);}while(0==l);if(_-=e.o.avail_in,_){if(_>=e.h){e.le=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ue=e.h,e._e=e.ue;}else e.We-e.ue<=_&&(e.ue-=e.h,M(e.u,0,e.u,e.h,e.ue),e.le<2&&e.le++,e._e>e.ue&&(e._e=e.ue)),M(e.u,e.ue,e.o.next_in,e.o.next_in_index-_,_),e.ue+=_,e._e+=ke(_,e.h-e._e);e.ae=e.ue;}return e.m<e.ue&&(e.m=e.ue),l?(e.ze=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ue==e.ae?1:(i=e.We-e.ue,e.o.avail_in>i&&e.ae>=e.h&&(e.ae-=e.h,e.ue-=e.h,M(e.u,0,e.u,e.h,e.ue),e.le<2&&e.le++,i+=e.h,e._e>e.ue&&(e._e=e.ue)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(H_(e.o,e.u,e.ue,i),e.ue+=i,e._e+=ke(i,e.h-e._e)),e.m<e.ue&&(e.m=e.ue),i=e.T+42>>3,i=ke(e.ne-i,Dt),f=ke(i,e.h),r=e.ue-e.ae,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=ke(r,i),l=4==t&&0==e.o.avail_in&&n==r?1:0,Pe(e,e.u,n,l,e.ae),e.ae+=n,q(e.o)),l&&(e.ze=8),l?2:0)}function U_(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=I&&(n=u_(e,e.ue)),0!=n&&e.ue-n<=ye(e)&&(e.se=Rt(e,n)),e.se>=I)if(e.ue,e.qe,e.se,r=e_(e,e.ue-e.qe,e.se-I),e.ce-=e.se,e.se<=e.xe&&e.ce>=I){e.se--;do{e.ue++,n=u_(e,e.ue);}while(0!=--e.se);e.ue++;}else e.ue+=e.se,e.se=0,e.be=e.u[e.ue],e.be=l_(e,e.be,e.u[e.ue+1]);else r=De(e,e.u[e.ue]),e.ce--,e.ue++;if(r){let t=j(e,false);if(null!=t)return t}}if(e._e=e.ue<I-1?e.ue:I-1,4==t){let t=j(e,true);return null!=t?t:3}if(e.N){let t=j(e,false);if(null!=t)return t}return 1}function Ne(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=I&&(n=u_(e,e.ue)),e.he=e.se,e.de=e.qe,e.se=I-1,0!=n&&e.he<e.xe&&e.ue-n<=ye(e)&&(e.se=Rt(e,n),e.se<=5&&(1==e.ge||e.se==I&&e.ue-e.qe>nt)&&(e.se=I-1)),e.he>=I&&e.se<=e.he){let t=e.ue+e.ce-I;e.ue,e.de,e.he,r=e_(e,e.ue-1-e.de,e.he-I),e.ce-=e.he-1,e.he-=2;do{++e.ue<=t&&(n=u_(e,e.ue));}while(0!=--e.he);if(e.we=0,e.se=I-1,e.ue++,r){let t=j(e,false);if(null!=t)return t}}else if(e.we){if(r=De(e,e.u[e.ue-1]),r&&zt(e,0),e.ue++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ue++,e.ce--;}if(e.we&&(r=De(e,e.u[e.ue-1]),e.we=0),e._e=e.ue<I-1?e.ue:I-1,4==t){let t=j(e,true);return null!=t?t:3}if(e.N){let t=j(e,false);if(null!=t)return t}return 1}function Mn(e,t){let n,r,i,f;for(;;){if(e.ce<=ee){if(c_(e),e.ce<=ee&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=I&&e.ue>0&&(i=e.ue-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ue+ee;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=ee-(f-i),e.se>e.ce&&(e.se=e.ce);}if(e.se>=I?(e.ue,e.ue,e.se,n=e_(e,1,e.se-I),e.ce-=e.se,e.ue+=e.se,e.se=0):(n=De(e,e.u[e.ue]),e.ce--,e.ue++),n){let t=j(e,false);if(null!=t)return t}}if(e._e=0,4==t){let t=j(e,true);return null!=t?t:3}if(e.N){let t=j(e,false);if(null!=t)return t}return 1}function Yn(e,t){let n=false;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=De(e,e.u[e.ue]),e.ce--,e.ue++,n){let t=j(e,false);if(null!=t)return t}}if(e._e=0,4==t){let t=j(e,true);return null!=t?t:3}if(e.N){let t=j(e,false);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Lt=Ee.map(e=>e+1),Ct=ge.subarray(0,-1).map(e=>e+3),Xn=[16,1,73,1,200,1],Wn=[144,1,72,1,78,1],Ut=Se.map(qt),Ht=Se.map(Vt);Ut.push(64,2),Ht.push(142,2);var Bt=de.slice(0,-2).map(qt),Ft=de.slice(0,-2).map(Vt);Bt.push(...Xn),Ft.push(...Wn);var Zt=new g([...Ct,258,0,0]),Pt=new g([...Ct,3,0,0]),Mt=te(Bt),Yt=te(Ft),Xt=new g([...Lt,0,0]),Wt=new g([...Lt,32769,49153]),Gt=te(Ut),Kt=te(Ht);function qt(e,t){return t%2?e:e+16}function Vt(e,t){return t%2?e:e+128}function $t(e,t){let n,r=e._,i=e.next_in_index,f=e.next_out_index,l=e.next_in,_=e.next_out,o=r.u,a=r.p>>>0,u=r.T>>>0,c=r.et,s=r.tt,h=(1<<r.nt)-1,d=(1<<r.rt)-1,w=r.h>>>0,b=r.m>>>0,k=r.v>>>0,g=r.it,m=f-(t-e.avail_out),v=f+(e.avail_out-257),p=i+(e.avail_in-5),x=0,T=0,y=0,I=0;e:do{for(;u<15;){if(!(i<l.length))break e;a+=l[i++]<<u,u+=8;}n=c[a&h];t:for(;;){if(y=n>>>16&255,a>>>=y,u-=y,y=n>>>24,0==y){_[f++]=65535&n;break}if(16&y){if(x=65535&n,y&=15,y){for(;u<y;){if(!(i<l.length)){r.ft=16200;break e}a+=l[i++]<<u,u+=8;}x+=a&(1<<y)-1,a>>>=y,u-=y;}for(;u<15;){if(!(i<l.length)){r.ft=16200;break e}a+=l[i++]<<u,u+=8;}n=s[a&d];n:for(;;){if(y=n>>>16&255,a>>>=y,u-=y,y=n>>>24,16&y){if(T=65535&n,y&=15,y){for(;u<y;){if(!(i<l.length)){r.ft=16200;break e}a+=l[i++]<<u,u+=8;}T+=a&(1<<y)-1,a>>>=y,u-=y;}let t=x,c=f-m;if(T>c){let n=T-c;if(n>b&&g){e.msg="invalid distance too far back",r.ft=16209;break e}if(0==k){if(I=w-n,!(n<t)){for(let e=0;e<t;++e)_[f++]=o[I++];continue e}for(let e=0;e<n;++e)_[f++]=o[I++];t-=n,I=f-T;}else if(k<n){I=w+k-n;let e=n-k;if(!(e<t)){for(let e=0;e<t;++e)_[f++]=o[I++];continue e}for(let t=0;t<e;++t)_[f++]=o[I++];if(t-=e,I=0,!(k<t)){for(let e=0;e<t;++e)_[f++]=o[I++];continue e}for(let e=0;e<k;++e)_[f++]=o[I++];t-=k,I=f-T;}else {if(I=k-n,!(n<t)){for(let e=0;e<t;++e)_[f++]=o[I++];continue e}for(let e=0;e<n;++e)_[f++]=o[I++];t-=n,I=f-T;}for(;t>2;)_[f++]=_[I++],_[f++]=_[I++],_[f++]=_[I++],t-=3;t&&(_[f++]=_[I++],t>1&&(_[f++]=_[I++]));}else {for(I=f-T;t>2;)_[f++]=_[I++],_[f++]=_[I++],_[f++]=_[I++],t-=3;t&&(_[f++]=_[I++],t>1&&(_[f++]=_[I++]));}break}if(64&y){e.msg="invalid distance code",r.ft=16209;break e}n=s[(65535&n)+(a&(1<<y)-1)];continue n}break}if(64&y){if(32&y){r.ft=16191;break e}e.msg="invalid literal/length code",r.ft=16209;break e}n=c[(65535&n)+(a&(1<<y)-1)];continue t}}while(i<p&&f<v);let M=u>>3;i-=M,u-=M<<3,a&=(1<<u)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<p?p-i+5:5-(i-p),e.avail_out=f<v?v-f+257:257-(f-v),r.p=a>>>0,r.T=u>>>0;}var Gn=new R(0);function M_(e,t){let n=Gn,r=t?ue+m_:ue+d_;return {...$e(e,0),o:e,ft:16180,lt:false,P:0,_t:false,ot:0,ut:0,ct:0,st:0,u:Z,ht:0,dt:0,Ge:0,et:n,tt:n,nt:0,rt:0,wt:0,bt:0,kt:0,gt:0,vt:n,xt:new g(320),Tt:new g(288),yt:new R(r),It:0,it:true,Mt:0,zt:0,Ct:t}}function We(e,t,n){return e<<24|t<<16|n}function b_(e=0,t=0,n=0){return We(e,t,n)}function s_(e=1){return We(64,e,0)}function Jt(e=0){return We(96,e,0)}function Y_(e){return ((255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255)>>>0}var Oe=15,qn={Ct:false,Zt:Zt,Wt:Mt,qt:Xt,Ot:Gt,St:20,Dt:257,jt:0,At:d_,Qt:false,Nt:true},Vn={Ct:true,Zt:Pt,Wt:Yt,qt:Wt,Ot:Kt,St:19,Dt:256,jt:-1,At:m_,Qt:true,Nt:false};function Le(e,t,n,r,i,f,l,_){let o,a,u,c,s,h,d,w,b,k,m,v,p,x,T,y,I,M,z,C=new g(Oe+1),Z=new g(Oe+1),W=_?Vn:qn;for(o=0;o<=Oe;o++)C[o]=0;for(a=0;a<n;a++)C[t[a]]++;for(s=i.Rt,c=Oe;c>=1&&0==C[c];c--);if(s>c&&(s=c),0==c)return W.Nt?(T=s_(1),r.Rt[0]=T,r.Rt[1]=T,i.Rt=1,0):-1;for(u=1;u<c&&0==C[u];u++);for(s<u&&(s=u),w=1,o=1;o<=Oe;o++)if(w<<=1,w-=C[o],w<0)return -1;if(w>0&&(0==e||1!=c))return -1;for(Z[1]=0,o=1;o<Oe;o++)Z[o+1]=Z[o]+C[o];for(a=0;a<n;a++)0!=t[a]&&(f[Z[t[a]]++]=a);switch(e){case 0:I=M=f,z=W.St;break;case 1:I=W.Zt,M=W.Wt,z=W.Dt;break;default:I=W.qt,M=W.Ot,z=W.jt;}if(k=0,a=0,o=u,y=l.Rt,h=s,d=0,p=-1,b=1<<s,x=b-1,1==e&&(W.Qt?b>=ue:b>ue)||2==e&&(W.Qt?b>=W.At:b>W.At))return 1;for(;;){T=jn(f,a,o,d,e,I,M,z,W.Ct),m=1<<o-d,v=1<<h,u=v;do{v-=m;let e=(k>>d)+v;r.Rt[y+e]=T;}while(0!=v);for(m=1<<o-1;k&m;)m>>=1;if(0!=m?(k&=m-1,k+=m):k=0,a++,0==--C[o]){if(o==c)break;o=t[f[a]];}if(o>s&&(k&x)!=p){for(0==d&&(d=s),y+=1<<h,h=o-d,w=1<<h;h+d<c&&(w-=C[h+d],!(w<=0));)h++,w<<=1;if(b+=1<<h,1==e&&(W.Qt?b>=ue:b>ue)||2==e&&(W.Qt?b>=W.At:b>W.At))return 1;p=k&x,r.Rt[l.Rt+p]=We(h,s,y-l.Rt);}}if(0!=k)for(T=s_(o-d);0!=k;){for(0!=d&&(k&x)!=p&&(d=0,o=s,y=l.Rt,h=s,T=s_(o)),r.Rt[y+(k>>d)]=T,m=1<<o-1;k&m;)m>>=1;0!=m?(k&=m-1,k+=m):k=0;}return l.Rt+=b,i.Rt=s,0}function jn(e,t,n,r,i,f,l,_,o){let a;if(o?e[t]<_:e[t]+1<_)a=b_(0,n-r,e[t]);else if(o?e[t]>_:e[t]>=_)if(o&&1==i){let i=e[t]-257;a=b_(l[i],n-r,f[i]);}else {let i=o?e[t]:e[t]-_;a=b_(l[i],n-r,f[i]);}else a=Jt(n-r);return a}var p_=new R(0),er={Ht:true,Jt:new R(544),Ut:p_,Et:p_},_r={Ht:true,Jt:new R(544),Ut:p_,Et:p_};function Qt(){let e=je();return e._=M_(e,false),e}function Ge(e){let t;return !(e&&(t=e._,!(!t||t.o!=e||t.Ct&&(t.ft<16191||t.ft>16209)||!t.Ct&&(t.ft<16180||t.ft>16211))))}function tr(e){let t;return Ge(e)?-2:(t=e._,e.total_in=e.total_out=t.st=0,e.msg="",t.P&&(e.i=1&t.P),t.ft=t.Ct?16191:16180,t.lt=false,t._t=false,t.ot=-1,t.ut=t.Ct?65536:32768,delete t.B,t.p=0,t.T=0,t.et=t.yt,t.tt=t.yt,t.vt=t.yt,t.it=true,t.Mt=-1,0)}function nr(e){let t;return Ge(e)?-2:(t=e._,t.h=0,t.m=0,t.v=0,tr(e))}function rr(e,t){let n,r;if(Ge(e))return -2;if(r=e._,t<0){if(t<-16)return -2;n=0,r.Ct=-16==t,t=-t;}else n=5+(t>>4),r.Ct=false,t<48&&(t&=15);let i=r.Ct?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.k!=t&&(r.u=Z),r.P=n,r.k=t,nr(e))}function en(e,t){let n,r;if(!e)return -2;e.msg="";let i=-16==t;return r=M_(e,i),e._=r,r.o=e,r.ft=i?16191:16180,n=rr(e,t),n}function ar(e){let t=e.Ct?_r:er,n={Rt:0};if(t.Ht){let r,i,f;for(r=0;r<144;)e.xt[r++]=8;for(;r<256;)e.xt[r++]=9;for(;r<280;)e.xt[r++]=7;for(;r<288;)e.xt[r++]=8;t.Jt.fill(0),f=t.Jt,t.Ut=f,i=9;let l={Rt:f},_={Rt:i},o={Rt:0};for(Le(1,e.xt,288,l,_,e.Tt,o,e.Ct),f=l.Rt,i=_.Rt,e.It=o.Rt,r=0;r<32;)e.xt[r++]=5;i=5;let a=o.Rt,u={Rt:f},c={Rt:i};n.Rt=a,Le(2,e.xt,32,u,c,e.Tt,n,e.Ct),t.Et=f.slice(a),t.Ht=false;}e.et=t.Ut,e.nt=9,e.tt=t.Et,e.rt=5,e.It=n.Rt;}function ir(e,t,n){let r=e._;if(!(r.u&&0!=r.u.length||(r.u=new p(1<<r.k),r.u)))return 1;if(0==r.h&&(r.h=1<<r.k,r.v=0,r.m=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.v=0,r.m=r.h;else {let e=r.h-r.v;e>n&&(e=n),M(r.u,r.v,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.v=n,r.m=r.h):(r.v+=e,r.v==r.h&&(r.v=0),r.m<r.h&&(r.m+=e));}return 0}var S_=class extends z{constructor(){super("Need more input");}};function _n(e,t){let n,r,i,f,l,_,o,a,u,c,s,h,d,w,b,k,g,m=new p(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return -2;_=0,a=0,o=0,u=0,r=Z,i=0,f=Z,l=0,n=e._,16191==n.ft&&(n.ft=16192),I(),c=_,s=o,g=0;try{for(;;)switch(n.ft){case 16180:if(0==n.P){n.ft=16192;break}if(O(16),2&n.P&&35615==a){0==n.k&&(n.k=15),n.ct=W(0),n.ct=T(n.ct,a),C(),n.ft=16181;break}if(n.B&&(n.B.Yt=-1),!(1&n.P)||((S(8)<<8)+(a>>8))%31){e.msg="incorrect header check",n.ft=16209;break}if(8!=S(4)){e.msg="unknown compression method",n.ft=16209;break}if(D(4),k=S(4)+8,0==n.k&&(n.k=k),k>15||k>n.k){e.msg="invalid window size",n.ft=16209;break}n.ut=1<<k,n.ot=0,e.i=n.ct=se(0),n.ft=512&a?16189:16191,C();break;case 16181:if(O(16),n.ot=a,8!=(255&n.ot)){e.msg="unknown compression method",n.ft=16209;break}if(57344&n.ot){e.msg="unknown header flags set",n.ft=16209;break}n.B&&(n.B.Fe=a>>8&1),512&n.ot&&4&n.P&&(n.ct=T(n.ct,a)),C(),n.ft=16182;case 16182:O(32),n.B&&(n.B.Xe=a),512&n.ot&&4&n.P&&(n.ct=y(n.ct,a)),C(),n.ft=16183;case 16183:O(16),n.B&&(n.B.Pt=255&a,n.B.$e=a>>8),512&n.ot&&4&n.P&&(n.ct=T(n.ct,a)),C(),n.ft=16184;case 16184:1024&n.ot?(O(16),n.ht=a,n.B&&(n.B.Ke=a),512&n.ot&&4&n.P&&(n.ct=T(n.ct,a)),C()):n.B&&(n.B.Ge=Z),n.ft=16185;case 16185:if(1024&n.ot&&(h=n.ht,h>_&&(h=_),h&&(n.B&&n.B.Ge&&n.B.Bt&&(k=n.B.Ke-n.ht)<n.B.Bt&&M(n.B.Ge,k,r,i,h),512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),_-=h,i+=h,n.ht-=h),n.ht))return v();n.ht=0,n.ft=16186;case 16186:if(2048&n.ot){if(0==_)return v();h=0;do{k=r[i+h++],n.B&&n.B.Ft&&n.ht<n.B.Ft&&(n.B.Ve[n.ht++]=k);}while(k&&h<_);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),_-=h,i+=h,k)return v()}else n.B&&(n.B.Ve=Z);n.ht=0,n.ft=16187;case 16187:if(4096&n.ot){if(0==_)return v();h=0;do{k=r[i+h++],n.B&&n.B.Gt&&n.ht<n.B.Gt&&(n.B.Le[n.ht++]=k);}while(k&&h<_);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),_-=h,i+=h,k)return v()}else n.B&&(n.B.Le=Z);n.ft=16188;case 16188:if(512&n.ot){if(O(16),4&n.P&&a!=(65535&n.ct)){e.msg="header crc mismatch",n.ft=16209;break}C();}n.B&&(n.B.Be=n.ot>>9&1,n.B.Yt=1),e.i=n.ct=W(0),n.ft=16191;break;case 16189:O(32),e.i=n.ct=Y_(a),C(),n.ft=16190;case 16190:if(!n._t)return z(),2;e.i=n.ct=se(0),n.ft=16191;case 16191:if(5==t||6==t)return v();case 16192:if(n.lt){j(),n.ft=16206;break}switch(O(3),n.lt=!!S(1),D(1),S(2)){case 0:n.ft=16193;break;case 1:if(ar(n),n.ft=16199,6==t)return D(2),v();break;case 2:n.ft=16196;break;case 3:e.msg="invalid block type",n.ft=16209;}D(2);break;case 16193:if(j(),O(32),(65535&a)!=(a>>>16^65535)){e.msg="invalid stored block lengths",n.ft=16209;break}if(n.ht=65535&a,C(),n.ft=16194,6==t)return v();case 16194:n.ft=16195;case 16195:if(h=n.ht,h){if(h>_&&(h=_),h>o&&(h=o),0==h)return v();M(f,l,r,i,h),_-=h,i+=h,o-=h,l+=h,n.ht-=h;break}n.ft=16191;break;case 16196:if(O(14),n.bt=S(5)+257,D(5),n.kt=S(5)+1,D(5),n.wt=S(4)+4,D(4),n.bt>286||!n.Ct&&n.kt>30){e.msg=n.Ct?"too many length":"too many length or distance symbols",n.ft=16209;break}n.gt=0,n.ft=16197;case 16197:for(;n.gt<n.wt;)O(3),n.xt[pe[n.gt++]]=S(3),D(3);for(;n.gt<19;)n.xt[pe[n.gt++]]=0;n.vt=n.yt,n.et=n.tt=n.vt,n.nt=7;let c={Rt:n.vt},m={Rt:n.nt},p={Rt:0};if(g=Le(0,n.xt,19,c,m,n.Tt,p,n.Ct),n.vt=c.Rt,n.nt=m.Rt,g){e.msg="invalid code lengths set",n.ft=16209;break}n.gt=0,n.ft=16198;case 16198:for(;n.gt<n.bt+n.kt;){for(;w=n.et[S(n.nt)],!((w>>>16&255)<=u);)q();if((65535&w)<16)D(w>>>16&255),n.xt[n.gt++]=65535&w;else {if(16==(65535&w)){if(O(2+(w>>>16&255)),D(w>>>16&255),0==n.gt){e.msg="invalid bit length repeat",n.ft=16209;break}k=n.xt[n.gt-1],h=3+S(2),D(2);}else 17==(65535&w)?(O(3+(w>>>16&255)),D(w>>>16&255),k=0,h=3+S(3),D(3)):(O(7+(w>>>16&255)),D(w>>>16&255),k=0,h=11+S(7),D(7));if(n.gt+h>n.bt+n.kt){e.msg="invalid bit length repeat",n.ft=16209;break}for(;h--;)n.xt[n.gt++]=k;}}if(16209==n.ft)break;if(0==n.xt[256]){e.msg="invalid code -- missing end-of-block",n.ft=16209;break}n.vt=n.yt,n.nt=9;let A={Rt:n.vt},Q={Rt:n.nt},N={Rt:0};g=Le(1,n.xt,n.bt,A,Q,n.Tt,N,n.Ct),n.vt=A.Rt,n.nt=Q.Rt;let R=N.Rt;if(n.et=n.vt.slice(0,R),g){e.msg="invalid literal/lengths set",n.ft=16209;break}n.rt=6;let H=n.xt.subarray(n.bt,n.bt+n.kt),J={Rt:n.vt},U={Rt:n.rt},E={Rt:R};if(g=Le(2,H,n.kt,J,U,n.Tt,E,n.Ct),n.vt=J.Rt,n.rt=U.Rt,n.tt=n.vt.slice(R),g){e.msg="invalid distances set",n.ft=16209;break}if(n.ft=16199,6==t)return v();case 16199:n.ft=16200;case 16200:if(!n.Ct&&_>=6&&o>=258){z(),$t(e,s),I(),16191==n.ft&&(n.Mt=-1);break}for(n.Mt=0;w=n.et[S(n.nt)],!((w>>>16&255)<=u);)q();if(w>>>24&&!(w>>>24&240)){for(b=w;w=n.et[(65535&b)+(S((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=u);)q();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,n.ht=65535&w,!(w>>>24)){n.ft=16205;break}if(w>>>24&32){n.Mt=-1,n.ft=16191;break}if(w>>>24&64){e.msg="invalid literal/length code",n.ft=16209;break}n.Ge=w>>>24&(n.Ct?31:15),n.ft=16201;case 16201:n.Ge&&(O(n.Ge),n.ht+=S(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.zt=n.ht,n.ft=16202;case 16202:for(;w=n.tt[S(n.rt)],!((w>>>16&255)<=u);)q();if(!(w>>>24&240)){for(b=w;w=n.tt[(65535&b)+(S((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=u);)q();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,w>>>24&64){e.msg="invalid distance code",n.ft=16209;break}n.dt=65535&w,n.Ge=w>>>24&15,n.ft=16203;case 16203:n.Ge&&(O(n.Ge),n.dt+=S(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.ft=16204;case 16204:if(0==o)return v();if(h=s-o,n.dt>h){if(h=n.dt-h,h>n.m&&n.it){e.msg="invalid distance too far back",n.ft=16209;break}h>n.v?(h-=n.v,d=n.h-h):d=n.v-h,h>n.ht&&(h=n.ht),h>o&&(h=o);for(let e=0;e<h;++e)f[l]=255&n.u[d],++l,++d;}else {d=l-n.dt,h=n.ht,h>o&&(h=o);for(let e=0;e<h;++e)f[l]=f[d],++l,++d;}h>o&&(h=o),o-=h,n.ht-=h,0==n.ht&&(n.ft=16200);break;case 16205:if(0==o)return v();f[l++]=n.ht,o--,n.ft=16200;break;case 16206:if(n.P){if(O(32),s-=o,e.total_out+=s,n.st+=s,4&n.P&&s){let t=f.subarray(l-s,l);e.i=n.ct=x(n.ct,t,s);}if(s=o,4&n.P&&(n.ot?a:Y_(a)>>>0)!=n.ct){e.msg="incorrect data check",n.ft=16209;break}C();}n.ft=16207;case 16207:if(n.P&&n.ot){if(O(32),4&n.P&&a!=(4294967295&n.st)){e.msg="incorrect length check",n.ft=16209;break}C();}n.ft=16208;case 16208:return g=1,v();case 16209:return g=-3,v();case 16210:return -4;default:return -2}}catch(e){if(e instanceof S_)return v();throw e}function v(){if(z(),n.h||s!=e.avail_out&&n.ft<16209&&((n.Ct?n.ft<16208:n.ft<16206)||4!=t)){let t=s-e.avail_out;if(ir(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ft=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.st+=s,4&n.P&&s&&(e.i=n.ct=x(n.ct,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.T+(n.lt?64:0)+(16191==n.ft?128:0)+(16199==n.ft||16194==n.ft?256:0),(0==c&&0==s&&0==g||4==t&&0==g)&&(g=-5),g}function x(e,t,r){return n.ot?W(e,t,r):se(e,t,r)}function T(e,t){return m[0]=255&t,m[1]=t>>>8&255,W(e,m,2)>>>0}function y(e,t){return m[0]=255&t,m[1]=t>>>8&255,m[2]=t>>>16&255,m[3]=t>>>24&255,W(e,m,4)>>>0}function I(){f=e.next_out,l=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,_=e.avail_in,a=n.p,u=n.T;}function z(){e.next_out=f,e.next_out_index=l,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=_,n.p=a,n.T=u;}function C(){a=0,u=0;}function q(){if(0==_)throw new S_;_--,a+=(255&r[i])<<u,i++,a>>>=0,u+=8;}function O(e){for(;u<e;)q();}function S(e){return a&(1<<e)-1}function D(e){a>>>=e,u-=e;}function j(){a>>>=7&u,u-=7&u;}}function tn(e){return Ge(e)?-2:0}var X_=65536,or=32768,nn="trailing data after the end of the stream",W_=class{constructor(e=16,t=X_){this.Vt=[],this.Lt=e;for(let n=0;n<O.min(e,4);n++)this.Vt.push(new p(t));}acquire(e=X_){for(let t=this.Vt.length-1;t>=0;t--){let n=this.Vt[t];if(n.length>=e)return this.Vt.splice(t,1),n}return new p(e)}release(e){this.Vt.length<this.Lt&&this.Vt.push(e);}};function rn(e){let t=new W_(32,X_),n=null;function r(){let t=e.Xt(),n=e.$t(t);if(0!=n&&0!=n)throw new z("init failed: "+n);return {o:t}}function i(e){try{t.release(e);}catch{}}return new H({start(){},transform(f,l){n||(n=r());let _=n.o;if(n.Kt){if(f.length)throw new z(nn);return}let o=0;for(;o<f.length;){let r=O.min(f.length-o,or),a=f.subarray(o,o+r);for(_.next_in=a,_.next_in_index=0,_.avail_in=a.length;_.avail_in>0;){let r=t.acquire(),f=false;try{_.next_out=r,_.next_out_index=0,_.avail_out=r.length;let i=e.en(_,0),o=r.length-_.avail_out;if(o>0){let e=!1,n={tn:r.subarray(0,o),release:()=>{e||(e=!0,t.release(r));}};f=!0,l.enqueue(n);}if(1==i){n.Kt=!0;break}if(0!=i)throw new z("process error: "+i)}finally{f||i(r);}}if(n.Kt){if(_.avail_in>0||o+r<f.length)throw new z(nn);break}o+=r;}},flush(f){if(n&&n.Kt)return;n||(n=r());let l=n.o;for(;;){let n=t.acquire(),r=false;try{l.next_out=n,l.next_out_index=0,l.avail_out=n.length;let i=e.en(l,4),_=n.length-l.avail_out;if(_>0){let e=!1,i={tn:n.subarray(0,_),release:()=>{e||(e=!0,t.release(n));}};r=!0,f.enqueue(i);}if(1==i)break;if(0!=i)throw new z("finalization error: "+i)}finally{r||i(n);}}let _=e.nn(l);if(0!=_&&0!=_)throw new z("end failed: "+_)}})}function an(){return new H({start(){},transform(e,t){try{t.enqueue(e.tn.slice(0));}finally{e.release();}},flush(){}})}var fr=new Map([["deflate",15],["gzip",31],["deflate-raw",-15]]),lr=new Map([["deflate",15],["gzip",31],["deflate-raw",-15],["deflate64-raw",-16]]);function on(e,t){let n=e.get(t);if(void 0===n)throw new TypeError(`Unsupported format: ${t}`);return n}function ur(e="deflate",t){let n=on(fr,e),r=t&&"number"==typeof t.level?t.level:-1;return rn({Xt:()=>vt(),$t:e=>kt(e,r,8,n,8,0),en:Nt,nn:P_})}function cr(e="deflate"){let t=on(lr,e);return rn({Xt:()=>Qt(),$t:e=>en(e,t),en:_n,nn:tn})}var E_=class{constructor(e="deflate",t){let n=ur(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(an());}},g_=class{constructor(e="deflate"){let t=cr(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(an());}};
|
|
9273
9351
|
|
|
9274
9352
|
/*
|
|
9275
9353
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -9336,7 +9414,7 @@
|
|
|
9336
9414
|
*/
|
|
9337
9415
|
|
|
9338
9416
|
|
|
9339
|
-
|
|
9417
|
+
F(setDefaultConfiguration);
|
|
9340
9418
|
|
|
9341
9419
|
exports.BlobReader = BlobReader;
|
|
9342
9420
|
exports.BlobWriter = BlobWriter;
|
|
@@ -9346,6 +9424,7 @@
|
|
|
9346
9424
|
exports.ERR_AMBIGUOUS_ARCHIVE = ERR_AMBIGUOUS_ARCHIVE;
|
|
9347
9425
|
exports.ERR_BAD_FORMAT = ERR_BAD_FORMAT;
|
|
9348
9426
|
exports.ERR_CENTRAL_DIRECTORY_NOT_FOUND = ERR_CENTRAL_DIRECTORY_NOT_FOUND;
|
|
9427
|
+
exports.ERR_CODEC_OUT_OF_MEMORY = ERR_CODEC_OUT_OF_MEMORY;
|
|
9349
9428
|
exports.ERR_DUPLICATED_NAME = ERR_DUPLICATED_NAME;
|
|
9350
9429
|
exports.ERR_ENCRYPTED = ERR_ENCRYPTED;
|
|
9351
9430
|
exports.ERR_ENCRYPTED_CENTRAL_DIRECTORY = ERR_ENCRYPTED_CENTRAL_DIRECTORY;
|