@zip.js/zip.js 2.8.55 → 2.8.56
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 +43 -29
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +43 -29
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +54 -36
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +54 -36
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +54 -36
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +54 -36
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +54 -36
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +43 -29
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +43 -29
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +43 -29
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +54 -36
- package/index-native.min.js +1 -1
- package/index.cjs +54 -36
- package/index.d.cts +5 -0
- package/index.d.ts +5 -0
- package/index.min.js +1 -1
- package/lib/core/options.js +14 -0
- package/lib/core/zip-reader.js +8 -1
- package/lib/core/zip-writer.js +36 -35
- package/package.json +1 -1
package/dist/zip-core.js
CHANGED
|
@@ -235,6 +235,18 @@
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
+
function checkInteger(value, maxValue, errorMessage) {
|
|
239
|
+
if (!Number.isInteger(value) || value < 0 || value > maxValue) {
|
|
240
|
+
throw new Error(errorMessage);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function checkIntegerOption(value, maxValue, errorMessage) {
|
|
245
|
+
if (value !== UNDEFINED_VALUE) {
|
|
246
|
+
checkInteger(value, maxValue, errorMessage);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
238
250
|
function toNumber(value) {
|
|
239
251
|
return typeof value == STRING_TYPE && value.trim() ? Number(value) : value;
|
|
240
252
|
}
|
|
@@ -5045,8 +5057,15 @@
|
|
|
5045
5057
|
yield entry;
|
|
5046
5058
|
}
|
|
5047
5059
|
let offsetAfterSignature = offset;
|
|
5048
|
-
|
|
5060
|
+
let digitalSignature = readDigitalSignature(directoryArray.subarray(offset)) ||
|
|
5049
5061
|
(decryptedDirectory ? readDigitalSignature(dataAfterEncryptedDirectory) : UNDEFINED_VALUE);
|
|
5062
|
+
if (!digitalSignature && !decryptedDirectory) {
|
|
5063
|
+
const signatureRecordOffset = directoryDataOffset + offset;
|
|
5064
|
+
const signatureRecordLength = Math.min(centralDirectoryEndOffset - signatureRecordOffset, 6 + MAX_16_BITS);
|
|
5065
|
+
if (signatureRecordLength >= 6) {
|
|
5066
|
+
digitalSignature = readDigitalSignature(await readUint8Array(reader, signatureRecordOffset, signatureRecordLength));
|
|
5067
|
+
}
|
|
5068
|
+
}
|
|
5050
5069
|
if (digitalSignature) {
|
|
5051
5070
|
zipReader.digitalSignature = digitalSignature;
|
|
5052
5071
|
offsetAfterSignature = offset + 6 + digitalSignature.length;
|
|
@@ -6123,6 +6142,8 @@
|
|
|
6123
6142
|
|
|
6124
6143
|
const EXTRAFIELD_DATA_AES = new Uint8Array([0x07, 0x00, 0x02, 0x00, 0x41, 0x45, 0x03, 0x00, 0x00]);
|
|
6125
6144
|
const EXTRAFIELD_OFFSET_AES_VENDOR_VERSION = 4;
|
|
6145
|
+
const EXTRAFIELD_OFFSET_AES_COMPRESSION_METHOD = 9;
|
|
6146
|
+
const EXTRAFIELD_USDZ_MAX_LENGTH = 67;
|
|
6126
6147
|
const VENDOR_VERSION_AE_1 = 1;
|
|
6127
6148
|
const INFOZIP_EXTRA_FIELD_TYPE = "infozip";
|
|
6128
6149
|
const UNIX_EXTRA_FIELD_TYPE = "unix";
|
|
@@ -6169,16 +6190,14 @@
|
|
|
6169
6190
|
await zipReader$1.close();
|
|
6170
6191
|
await initStream(this.writer);
|
|
6171
6192
|
const { directoryOffset } = zipReader$1;
|
|
6172
|
-
let splitZipSignatureLength = 0;
|
|
6173
6193
|
if (this.addSplitZipSignature) {
|
|
6174
6194
|
delete this.addSplitZipSignature;
|
|
6175
6195
|
if (!await startsWithSplitZipSignature(reader)) {
|
|
6176
6196
|
await writeData(this.writer, getSplitZipSignatureArray());
|
|
6177
|
-
|
|
6178
|
-
this.offset += splitZipSignatureLength;
|
|
6197
|
+
this.offset += SPLIT_ZIP_FILE_SIGNATURE_LENGTH;
|
|
6179
6198
|
}
|
|
6180
6199
|
}
|
|
6181
|
-
const entryPositions = await copyZipData(this, reader, entries, directoryOffset
|
|
6200
|
+
const entryPositions = await copyZipData(this, reader, entries, directoryOffset);
|
|
6182
6201
|
this.filenames = new Set(entries.map(entry => entry.filename));
|
|
6183
6202
|
this.fileEntries = new Map(entries.map(entry => {
|
|
6184
6203
|
const {
|
|
@@ -6420,7 +6439,8 @@
|
|
|
6420
6439
|
signature: options[PROPERTY_NAME_SIGNATURE],
|
|
6421
6440
|
crc32: options.crc32 === UNDEFINED_VALUE ? options[PROPERTY_NAME_SIGNATURE] : options.crc32,
|
|
6422
6441
|
offset: zipWriter.offset - diskOffset,
|
|
6423
|
-
diskNumberStart: diskNumber
|
|
6442
|
+
diskNumberStart: diskNumber,
|
|
6443
|
+
[OPTION_USDZ]: zipWriter.options[OPTION_USDZ]
|
|
6424
6444
|
});
|
|
6425
6445
|
const headerInfo = getHeaderInfo(options);
|
|
6426
6446
|
const dataDescriptorInfo = getDataDescriptorInfo(options);
|
|
@@ -6452,15 +6472,9 @@
|
|
|
6452
6472
|
let setuid = getOptionValue(zipWriter, options, PROPERTY_NAME_SETUID);
|
|
6453
6473
|
let setgid = getOptionValue(zipWriter, options, PROPERTY_NAME_SETGID);
|
|
6454
6474
|
let sticky = getOptionValue(zipWriter, options, PROPERTY_NAME_STICKY);
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
if (gid !== UNDEFINED_VALUE && (!Number.isInteger(gid) || gid < 0 || gid > MAX_32_BITS)) {
|
|
6459
|
-
throw new Error(ERR_INVALID_GID);
|
|
6460
|
-
}
|
|
6461
|
-
if (unixMode !== UNDEFINED_VALUE && (!Number.isInteger(unixMode) || unixMode < 0 || unixMode > MAX_16_BITS)) {
|
|
6462
|
-
throw new Error(ERR_INVALID_UNIX_MODE);
|
|
6463
|
-
}
|
|
6475
|
+
checkIntegerOption(uid, MAX_32_BITS, ERR_INVALID_UID);
|
|
6476
|
+
checkIntegerOption(gid, MAX_32_BITS, ERR_INVALID_GID);
|
|
6477
|
+
checkIntegerOption(unixMode, MAX_16_BITS, ERR_INVALID_UNIX_MODE);
|
|
6464
6478
|
if (unixExtraFieldType !== UNDEFINED_VALUE && unixExtraFieldType !== INFOZIP_EXTRA_FIELD_TYPE && unixExtraFieldType !== UNIX_EXTRA_FIELD_TYPE) {
|
|
6465
6479
|
throw new Error(ERR_INVALID_UNIX_EXTRA_FIELD_TYPE);
|
|
6466
6480
|
}
|
|
@@ -6482,9 +6496,7 @@
|
|
|
6482
6496
|
msDosCompatible = true;
|
|
6483
6497
|
versionMadeBy = (versionMadeBy & MAX_8_BITS);
|
|
6484
6498
|
}
|
|
6485
|
-
|
|
6486
|
-
throw new Error(ERR_INVALID_MSDOS_ATTRIBUTES);
|
|
6487
|
-
}
|
|
6499
|
+
checkIntegerOption(msdosAttributesRaw, MAX_8_BITS, ERR_INVALID_MSDOS_ATTRIBUTES);
|
|
6488
6500
|
if (msdosAttributes && (typeof msdosAttributes !== OBJECT_TYPE || Array.isArray(msdosAttributes))) {
|
|
6489
6501
|
throw new Error(ERR_INVALID_MSDOS_DATA);
|
|
6490
6502
|
}
|
|
@@ -6624,9 +6636,7 @@
|
|
|
6624
6636
|
throw new Error(ERR_UNSUPPORTED_COMPRESSION);
|
|
6625
6637
|
}
|
|
6626
6638
|
let level = getNumberOptionValue(zipWriter, options, OPTION_LEVEL);
|
|
6627
|
-
|
|
6628
|
-
throw new Error(ERR_INVALID_LEVEL);
|
|
6629
|
-
}
|
|
6639
|
+
checkIntegerOption(level, MAX_LEVEL, ERR_INVALID_LEVEL);
|
|
6630
6640
|
if (zipWriter.options[OPTION_USDZ]) {
|
|
6631
6641
|
if (password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) {
|
|
6632
6642
|
throw new Error(ERR_UNSUPPORTED_ENCRYPTION_USDZ);
|
|
@@ -6704,9 +6714,7 @@
|
|
|
6704
6714
|
let extraFieldSize = 0;
|
|
6705
6715
|
let offset = 0;
|
|
6706
6716
|
extraField.forEach((data, type) => {
|
|
6707
|
-
|
|
6708
|
-
throw new Error(ERR_INVALID_EXTRAFIELD_TYPE);
|
|
6709
|
-
}
|
|
6717
|
+
checkInteger(type, MAX_16_BITS, ERR_INVALID_EXTRAFIELD_TYPE);
|
|
6710
6718
|
if (!(data instanceof Uint8Array)) {
|
|
6711
6719
|
throw new Error(ERR_INVALID_EXTRAFIELD_DATA_TYPE);
|
|
6712
6720
|
}
|
|
@@ -7300,12 +7308,13 @@
|
|
|
7300
7308
|
if (passThrough && crc32 !== UNDEFINED_VALUE) {
|
|
7301
7309
|
rawExtraFieldAES[EXTRAFIELD_OFFSET_AES_VENDOR_VERSION] = VENDOR_VERSION_AE_1;
|
|
7302
7310
|
}
|
|
7303
|
-
rawExtraFieldAES
|
|
7311
|
+
setUint16(getDataView(rawExtraFieldAES), EXTRAFIELD_OFFSET_AES_COMPRESSION_METHOD, compressionMethod);
|
|
7304
7312
|
compressionMethod = COMPRESSION_METHOD_AES;
|
|
7305
7313
|
}
|
|
7306
7314
|
const localExtraFieldZip64Length = writeLocalExtraFieldZip64 ? getLength(rawLocalExtraFieldZip64) : 0;
|
|
7307
7315
|
const extraFieldLength = localExtraFieldZip64Length + getLength(rawExtraFieldAES, rawExtraFieldExtendedTimestamp, rawExtraFieldNTFS, rawExtraFieldUnix, rawExtraField, rawLocalExtraField);
|
|
7308
|
-
|
|
7316
|
+
const maximumUsdzExtraFieldLength = options[OPTION_USDZ] ? EXTRAFIELD_USDZ_MAX_LENGTH : 0;
|
|
7317
|
+
if (extraFieldLength + maximumUsdzExtraFieldLength > MAX_16_BITS) {
|
|
7309
7318
|
throw new Error(ERR_INVALID_EXTRAFIELD_DATA);
|
|
7310
7319
|
}
|
|
7311
7320
|
const dosLastModDate = new Date(Math.ceil(Math.floor(lastModDate.getTime() / 1000) / 2) * 2000);
|
|
@@ -7706,7 +7715,11 @@
|
|
|
7706
7715
|
signatureRecord.writeUint32(DIGITAL_SIGNATURE_RECORD_SIGNATURE);
|
|
7707
7716
|
signatureRecord.writeUint16(signatureDataLength);
|
|
7708
7717
|
signatureRecord.writeBytes(signatureData);
|
|
7709
|
-
|
|
7718
|
+
const { writer } = zipWriter;
|
|
7719
|
+
if (exceedsAvailableSize(writer, getLength(signatureRecord.array))) {
|
|
7720
|
+
await writer.closeDisk();
|
|
7721
|
+
}
|
|
7722
|
+
await writeData(writer, signatureRecord.array);
|
|
7710
7723
|
return 6 + signatureDataLength;
|
|
7711
7724
|
}
|
|
7712
7725
|
return 0;
|
|
@@ -7817,7 +7830,7 @@
|
|
|
7817
7830
|
return getUint32(getDataView(signatureArray), 0) == SPLIT_ZIP_FILE_SIGNATURE;
|
|
7818
7831
|
}
|
|
7819
7832
|
|
|
7820
|
-
async function copyZipData(zipWriter, reader, entries, directoryOffset
|
|
7833
|
+
async function copyZipData(zipWriter, reader, entries, directoryOffset) {
|
|
7821
7834
|
const { writer } = zipWriter;
|
|
7822
7835
|
const entryPositions = new Map();
|
|
7823
7836
|
if (writer.closeDisk) {
|
|
@@ -7838,9 +7851,10 @@
|
|
|
7838
7851
|
}
|
|
7839
7852
|
await copyData(zipWriter, reader, copiedLength, directoryOffset - copiedLength);
|
|
7840
7853
|
} else {
|
|
7854
|
+
const baseOffset = zipWriter.offset;
|
|
7841
7855
|
await copyData(zipWriter, reader, 0, directoryOffset);
|
|
7842
7856
|
entries.forEach(entry => entryPositions.set(entry, {
|
|
7843
|
-
offset:
|
|
7857
|
+
offset: baseOffset + getSourceOffset(reader, entry),
|
|
7844
7858
|
diskNumberStart: 0
|
|
7845
7859
|
}));
|
|
7846
7860
|
}
|
package/dist/zip-core.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:g,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:v,Worker:T,Symbol:C,setTimeout:I,clearTimeout:U,structuredClone:_}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==x?x.currentScript:null;const M=4294967295,N=65535,L=255,W=67324752,P=134695760,V=P,Z=84233040,B=33639248,H=101010256,j=101075792,q=117853008,K=22,Y=20,G=56,X=21589,J=2048,Q=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",de="string",ue=new f,we="password",fe="rawPassword",pe="passThrough",he="signal",me="useWebWorkers",ye="useCompressionStream",Se="transferStreams",ge="preventClose",be="offset",xe="usdz",ze="filename",Fe="comment",Ee="strict",Re="balanced",De="tolerant",ke="Invalid option (must be a function)",Ae="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Te(e){if(e&&typeof e!=le)throw new w(ke);return e}function Ce(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Ae);return e||ie}function Ie(e,t){if(e&&typeof e!=de||t&&!(t instanceof f))throw new w(ve)}function Ue(e){return typeof e==de&&e.trim()?s(e):e}const _e="Invalid maxWorkers (must be an integer greater than 0)";let Oe=2;try{typeof v!=ce&&v.hardwareConcurrency&&(Oe=v.hardwareConcurrency)}catch{}const Me={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ce&&k,DecompressionStream:typeof A!=ce&&A},Ne="maxWorkers",Le=["chunkSize",Ne,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],We=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Pe=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Le,...We],Ve={...Me};function Ze(){return Ve}function Be(e){return He(e.chunkSize)}function He(e){return e=Ue(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function je(e){const t={};for(const n of Pe){const r=e[n];r!==ie&&(t[n]=qe(n,r))}return t}function qe(e,t){if(Le.includes(e)){if(t=Ue(t),e==Ne&&(!s.isInteger(t)||t<1))throw new w(_e)}else We.includes(e)&&Te(t);return t}function Ke(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function Ye(e,t){const n=new f(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Ge(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Xe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Je=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;Je[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Je[t-1][e];Je[t][e]=n>>>8^Je[0][255&n]}const[Qe,$e,et,tt,nt,rt,st,at]=Je;class it{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;r<=a;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=at[255&e]^st[e>>>8&255]^rt[e>>>16&255]^nt[e>>>24&255]^tt[255&n]^et[n>>>8&255]^$e[n>>>16&255]^Qe[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Qe[255&(t^e[r])];this.o=t}get(){return~this.o}}class ot extends E{constructor(){let e;const t=new it;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new f(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function ct(e){if(typeof g==ce){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const lt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=lt.l(n);return 32===r?e.concat(t):lt.h(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+lt.l(n)},m(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=lt.S(t,e[n-1]&2147483648>>t-1,1)),e},S:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=lt.l(s);return r.push(lt.S(t+a&31,t+a>32?n:r.pop(),1)),r}},dt={bytes:{F(e){const t=lt.bitLength(e)/8,n=new f(t);let r;for(let s=0;s<t;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},R(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(lt.S(8*(3&n),r)),t}}},ut=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.v=e.v.slice(0),t.T=e.T.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.v=e.D.slice(0),e.T=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=dt.I.R(e));const n=t.T=lt.concat(t.T,e),r=t.C,s=t.C=r+lt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t.U(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}_(){const e=this;let t=e.T;const n=e.v;t=lt.concat(t,[lt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.U(t.splice(0,16));return e.reset(),n}O(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}M(e,t){return t<<e|t>>>32-e}U(e){const n=this,r=n.v,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n.M(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.M(5,a)+n.O(e,o,c,l)+d+s[e]+n.A[i.floor(e/20)]|0;d=l,l=c,c=n.M(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},wt={importKey:e=>new wt.N(dt.bytes.R(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new m(d);let f=0;const p=lt;for(t=dt.bytes.R(t),l=1;f<(s||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;f<(s||1)&&o<a.length;o++)u.setInt32(f,a[o]),f+=4}return d.slice(0,r/8)},N:class{constructor(e){const t=this,n=t.W=ut,r=[[],[]];t.P=[new n,new n];const s=t.P[0].blockSize/32;e.length>s&&(e=(new n).update(e)._());for(let t=0;t<s;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.V=new n(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V._(),n=new e.W(e.P[1]).update(t)._();return e.reset(),n}encrypt(e){if(this.Z)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},ft=typeof z!=ce&&typeof z.getRandomValues==le,pt="Invalid password",ht="Invalid signature",mt=ht,yt="zipjs-abort-check-password",St="Crypto API not supported";function gt(e){if(ft)return z.getRandomValues(e);throw new w(St)}const bt=16,xt={name:"PBKDF2"},zt=n.assign({hash:{name:"HMAC"}},xt),Ft=n.assign({iterations:1e3,hash:{name:"SHA-1"}},xt),Et=["deriveBits"],Rt=[8,12,16],Dt=[16,24,32],kt=10,At=[0,0,0,0],vt=typeof z!=ce,Tt=vt&&z.subtle,Ct=vt&&typeof Tt!=ce,It=dt.bytes,Ut=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const n=t.B[0][4],r=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;a<4*s+28;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,w=257*s[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=w=w<<24^w>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}j(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.A[t],r=n.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],S=e[t?1:3]^n[3],g=4;for(let e=0;e<r;e++)u=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&S]^n[g],f=i[m>>>24]^o[y>>16&255]^c[S>>8&255]^l[255&h]^n[g+1],p=i[y>>>24]^o[S>>16&255]^c[h>>8&255]^l[255&m]^n[g+2],S=i[S>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[g+3],g+=4,h=u,m=f,y=p;for(let e=0;e<4;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^n[g++],u=h,h=m,m=y,y=S,S=u;return s}},_t=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,n){let r;if(!(r=t.length))return[];const s=lt.bitLength(t);for(let s=0;s<r;s+=4){this.$(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return lt.m(t,s)}},Ot=wt.N;let Mt=vt&&Ct&&typeof Tt.importKey==le,Nt=vt&&Ct&&typeof Tt.deriveBits==le;class Lt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Pt(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,ee:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await Zt(e,t,n,Ht(r,0,Rt[t])),a=Ht(r,Rt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(pt)})(n,a,s,Ht(e,0,Rt[a]+2)),e=Ht(e,Rt[a]+2),r?t.error(new w(yt)):i()):await o;const c=new f(e.length-kt-(e.length-kt)%bt);t.enqueue(Vt(n,e,c,0,kt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:a}=this;if(n&&t){await a;const i=Ht(r,0,r.length-kt),o=Ht(r,r.length-kt);let c=ue;if(i.length){const e=qt(It,i);n.update(e);const r=t.update(e);c=jt(It,r)}const l=Ht(jt(It,n.digest()),0,kt);let d=r.length<kt?1:0;for(let e=0;e<kt;e++)d|=l[e]^o[e];if(d&&s)throw new w(mt);e.enqueue(c)}}})}}class Wt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Pt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,ee:a,ready:i}=n;let o=ue;r?(o=await(async(e,t,n)=>{const r=gt(new f(Rt[t]));return Ye(r,await Zt(e,t,n,r))})(n,s,r),a()):await i;const c=new f(o.length+e.length-e.length%bt);c.set(o,0),t.enqueue(Vt(n,e,c,o.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:s}=this;if(n&&t){await s;let a=ue;if(r.length){const e=t.update(qt(It,r));n.update(e),a=jt(It,e)}const i=jt(It,n.digest()).slice(0,kt);e.enqueue(Ye(a,i))}}})}}function Pt(e,t,r,s){n.assign(e,{ready:new S(t=>e.ee=t),password:Bt(t,r),strength:s-1,re:ue})}function Vt(e,t,n,r,s,a){const{te:i,ne:o,re:c}=e;c.length&&(t=Ye(c,t));const l=t.length-s;let d;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new f(t)).set(n,0)}return e})(n,r+(l-l%bt)),d=0;d<=l-bt;d+=bt){const e=qt(It,Ht(t,d,d+bt));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(jt(It,s),d+r)}return e.re=Ht(t,d),n}async function Zt(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Mt)return wt.importKey(t);try{return await Tt.importKey("raw",t,n,!1,s)}catch{return Mt=!1,wt.importKey(t)}})(0,s,zt,0,Et),o=await(async(e,t,n)=>{if(!Nt)return wt.L(t,e.salt,Ft.iterations,n);try{return await Tt.deriveBits(e,t,n)}catch{return Nt=!1,wt.L(t,e.salt,Ft.iterations,n)}})(n.assign({salt:a},Ft),i,8*(2*Dt[r]+2)),c=new f(o),l=qt(It,Ht(c,0,Dt[r])),d=qt(It,Ht(c,Dt[r],2*Dt[r])),u=Ht(c,2*Dt[r]);return n.assign(e,{keys:{key:l,se:d,passwordVerification:u},te:new _t(new Ut(l),t.from(At)),ne:new Ot(d)}),u}function Bt(e,t){return t===ie?ct(e):t}function Ht(e,t,n){return e.subarray(t,n)}function jt(e,t){return e.F(t)}function qt(e,t){return e.R(t)}class Kt extends E{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Gt(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Xt(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(pt);e=e.subarray(12)}r?t.error(new w(yt)):t.enqueue(Xt(n,e))}})}}class Yt extends E{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Gt(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=gt(new f(12));t[11]=n.passwordVerification,r=new f(e.length+t.length),r.set(Jt(n,t),0),s=12}else r=new f(e.length),s=0;r.set(Jt(n,e),s),t.enqueue(r)}})}}function Gt(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ae:new it(s[0]),ie:new it(s[2])}),r)for(let t=0;t<r.length;t++)Qt(e,r[t]);else for(let n=0;n<t.length;n++)Qt(e,t.charCodeAt(n))})(e,t,r)}function Xt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=$t(e)^t[r],Qt(e,n[r]);return n}function Jt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=$t(e)^t[r],Qt(e,t[r]);return n}function Qt(e,t){let[,n]=e.keys;e.ae.append([t]);const r=~e.ae.get();n=tn(i.imul(tn(n+en(r)),134775813)+1),e.ie.append([n>>>24]);const s=~e.ie.get();e.keys=[r,n,s]}function $t(e){const t=2|e.keys[2];return en(i.imul(t,1^t)>>>8)}function en(e){return 255&e}function tn(e){return 4294967295&e}function nn(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function rn(e,t){e=nn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof R)return new d(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function sn(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const an="Invalid codec definition",on="Reserved compression method",cn="Invalid codec module",ln=[0,8,9,99],dn=new c,un=new c;function wn(e){return dn.get(e)}function fn(e){return un.get(e)}function pn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(cn);un.set(e,{CompressionStream:n,DecompressionStream:r})}const hn="Invalid uncompressed size",mn="Invalid compressed data",yn=ht,Sn="deflate-raw",gn="gzip",bn=[31,139,8];class xn extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:w}=e,f=this;let p,h,y,S=super.readable;const g=u&&fn(u),b=c&&s&&!d&&!g&&(!a||o)&&!(!i||!r);if(a&&!o||!c||b||(p=new ot,S=Tn(S,p)),s)if(g)S=Cn(S,An(g.CompressionStream,u,{level:l,chunkSize:t,compressionMethod:w}));else if(b)y=new zn,S=Cn(S,new r(gn)),S=Tn(S,y);else try{S=vn(S,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(gn)}catch{throw e}S=Cn(S,t),S=Tn(S,new zn)}a&&(o?S=Tn(S,new Yt(e)):(h=new Wt(e),S=Tn(S,h))),kn(f,S,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class zn extends E{constructor(){let e,t=10,n=new f(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(s<=8)return void(n=Ye(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(Ye(n.subarray(0,o),e.subarray(0,a-o))),n=Ye(n.subarray(o),e.subarray(a-o))},flush(){const t=Xe(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Fn extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let g,b,x=super.readable;if(a&&(s?x=Tn(x,new Kt(e)):(b=new Lt(e),x=Tn(x,b))),c){const e=u&&fn(u);if(e)x=Cn(x,An(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=vn(x,l,{chunkSize:t,deflate64:d},r,n)}catch(e){if(d||y===ie)throw e;let t;try{t=new r(gn)}catch{throw e}x=((e,t,n)=>{const r=new it;let s,a,i,o=0,c=!1;const l=new S((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const d=new E({start(e){const t=new f(10);t.set(bn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Xe(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),u=new E({transform(e,t){r.append(e),o+=e.length,o>=n?a():c&&p(),t.enqueue(e)},cancel(e){i(e)}});return e=Tn(e,d),Tn(e=Cn(e,t),u);function p(){h(),s=I(()=>i(new w(hn)),5e3)}function h(){U(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(mn);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(x)}i&&(g=new ot,x=Tn(x,g)),kn(this,x,()=>{if(i){const e=new m(g.value.buffer);if(o!=e.getUint32(0,!1))throw new w(yn)}})}}const En=new c;function Rn(e,t){if(!e)return!1;let n=En.get(e);n||(n=new c,En.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Dn(e){return Rn(e,Sn)}function kn(e,t,r){t=Tn(t,new E({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function An(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function vn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":Sn;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Cn(e,o)}function Tn(e,t){return nn(e).pipeThrough(t)}function Cn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const In="data",Un="deflate",_n="inflate";class On extends E{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Un)?a=xn:s.startsWith(_n)&&(a=Fn),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new E({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(hn)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Mn extends E{constructor(e){const t=[];let n=0;function r(){const r=new f(e);let s=0;for(;s<e;){const n=t[0],a=e-s;n.length<=a?(r.set(n,s),s+=n.length,t.shift()):(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a)}return n-=e,r}(!s.isFinite(e)||e<1)&&(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new f(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Nn="Worker startup timeout";let Ln,Wn,Pn;function Vn(e){e.createWorker?Wn=!0:Ln=!1}class Zn{constructor(e,{readable:t,writable:r},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},u){const{signal:w}=i;return Wn&&(d=ie),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Mn(Be(a))).pipeThrough(new Bn(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new S(t=>{const{de:n,ce:r}=e;n?(r?e.ue=t:(n.terminate(),t()),e.we=null):t()}),fe(){if(e.ce){const{ue:t}=e;t&&(e.ue=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,u(e)}}}),Ln===ie&&(Ln=typeof T!=ce),(o&&Pn&&(Ln&&l||d)?Pn:jn)(e,a)}}class Bn extends E{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await Hn(e,n)},async transform(e,r){s+=e.length,t&&await Hn(t,s,n),r.enqueue(e)},async flush(){r&&await Hn(r,s)}})}}async function Hn(e,...t){try{await e(...t)}catch{}}function jn(e,t){return{run:()=>qn(e,t)}}async function qn({options:e,readable:t,writable:n,fe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Un),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.he&&!Dn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.he||(e.useCompressionStream=!0)}}a=new On(e,s),await t.pipeThrough(a).pipeThrough(new Mn(Be(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const Kn={type:"module"},Yn="error";let Gn,Xn,Jn,Qn=!0;try{Qn=typeof _==le&&_(new DOMException("","AbortError")).code!==ie}catch{}var $n;function er(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function tr(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function nr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(Xn===ie||Gn!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===ie&&(s=!1),s&&(l=Kn);try{o=new T(c,l)}catch(a){if(d)try{u.revokeObjectURL(c)}catch{}if(n&&d)return nr(e,t,r,s,!1);if(s)throw a;return nr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=Kn);try{c=new u(c,t)}catch{}try{o=new T(c,l)}catch(n){if(s)return nr(e,t,r,!1,a);throw n}}Gn=e,Xn=c,Jn=l}else o=new T(Xn,Jn);return o.addEventListener("message",e=>{r.me=!0,rr(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,ye:d,Se:u,fe:p,le:h}=t,m=()=>t.le!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||ar({type:In,value:e,done:n,messageId:a},t)}r==In&&(await l.ready,await l.write(new f(s)),m()||ar({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(tr(t),y(o))}function y(e,t){m()||(e?u(e):d(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(Yn,e=>sr(e,r)),o.addEventListener("messageerror",e=>sr(e,r)),o}function rr(e){const{ge:t}=e;t&&(U(t),e.ge=null)}function sr(e,t){e.preventDefault&&e.preventDefault(),rr(t);const{me:r,Se:s,writer:a,fe:i}=t;tr(t),r||(t.de=null);let o=e.error||new w(e.message||Yn);r||(o=n.assign(new w(o.message||Yn),{be:!0}),t.xe=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function ar(e,{de:t,writer:n,transferStreams:r,me:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=Ge(n),o.push(e.value.buffer)),r&&Qn&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Qn=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}$n=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==le&&(o=o());try{c=nr(e.workerURI,r,e)}catch{return Vn(e),jn(e,t)}n.assign(e,{de:c,me:!1,pe:!1,xe:null,we:{run:async()=>{try{return await(async(e,t)=>{if(!e.de){const{xe:t}=e;e.xe=null;const n=t||new w(Nn);throw n.be=!0,n}let r,a;const i=new S((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,ye:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ze:u}=(e=>{const t=new AbortController,{writable:n,readable:r}=new E,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ze:()=>t.abort()}})(e.writable);let f;try{f=ar({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){u();try{await d}catch{}throw e.fe(),t}f||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.me&&s.isFinite(p)&&p>=0&&(e.ge=I(()=>(e=>{if(e.ge=null,e.me)return;const{Se:t,writer:n}=e;if(tr(e),e.de=null,t){const e=new w(Nn);e.be=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),u();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.be)return Vn(e),er(e),qn(e,t);if(n&&n.codecImportFailed){if(e.reader)return er(e),qn(e,t);e.fe()}throw n}}}})}return e.we},Pn=$n;let ir=[];const or=[];let cr,lr,dr=0;async function ur(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:w,format:f,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;f&&(p&&(n.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!un.has(e)&&t&&pn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,n.codecURI)),t.transferStreams=!f&&(a||a===ie&&r.transferStreams);const g=!(c||l||d||w),b=f===ie||!!n.codecURI;return t.useWebWorkers=!g&&b&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ie,t.createWorker=t.useWebWorkers&&m?m:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=ir.find(e=>!e.ce);if(n)return mr(n),new Zn(n,e,t,x);if(ir.length<y){const n={Fe:dr};return dr++,ir.push(n),new Zn(n,e,t,x)}return new S(n=>{or.push({resolve:n,stream:e,Ee:t}),lr=r.workerStarvationTimeout,wr()})})()).run();function x(e){if(fr(),or.length){const[{resolve:t,stream:n,Ee:r}]=or.splice(0,1);t(new Zn(e,n,r,x)),wr()}else e.de?(mr(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.Re=I(async()=>{ir=ir.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):ir=ir.filter(t=>t!=e)}}function wr(){!cr&&or.length&&s.isFinite(lr)&&lr>=0&&(cr=I(pr,lr))}function fr(){cr&&(U(cr),cr=null)}function pr(){if(cr=null,or.length){const[{resolve:e,stream:t,Ee:r}]=or.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new Zn({},t,s,hr)),wr()}}function hr(){fr(),wr()}function mr(e){const{Re:t}=e;t&&(U(t),e.Re=null)}const yr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Sr(e,t){return gr(e,t,!0)}function gr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=yr[e[n]];return t}})(e):new b(t,{ignoreBOM:n}).decode(e)}const br="HTTP error ",xr="HTTP Range not supported",zr="HTTP resource changed",Fr="Writer iterator completed too soon",Er="Writer not initialized",Rr="Content-Range",Dr="Range",kr="GET",Ar="bytes",vr=16777216,Tr="writable",Cr=C();class Ir{constructor(){this.size=0}init(){this.initialized=!0}}class Ur extends Ir{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Be(Ze())}={}){const r=this;let s=0;return n=He(n),new R({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await ds(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class _r extends Ir{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w(Er);return e.writeUint8Array(Ge(t))}});n.defineProperty(e,Tr,{get:()=>t})}writeUint8Array(){}}let Or,Mr;class Nr extends Ur{constructor(e){super(),n.assign(this,{De:e,size:e.size}),Mr||(Mr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Or=1==t}catch{Or=!1}})())}createReadable(e){const{De:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return!r&&s>=n?nn(t.stream()):Or?nn(t.slice(r,r+s).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,s=!e&&r>=n.size?n.De:n.De.slice(e,r);let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new f(a)}}class Lr extends Ir{constructor(e){super();const t=this,r=new E;n.defineProperty(t,Tr,{get:()=>r.writable}),t.contentType=e,t.ke=rn(r.readable,e),t.ke.catch(()=>{})}getData(){return this.ke}}class Wr extends Ur{constructor(e,t){super(),Vr(this,e,t)}async init(){await Zr(this,es,Xr),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&n<a)return((e,t,n)=>{let r,a=t,o=0,c=n;return new R({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(xr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await es(kr,e,Yr(e,a,t));if(206!=n.status)throw new w(xr);const l=n.headers.get(Rr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(xr)}Kr(e,n),qr(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return Br(this,e,t,es,Xr)}}class Pr extends Ur{constructor(e,t){super(),Vr(this,e,t)}async init(){await Zr(this,ts,Jr),super.init()}readUint8Array(e,t){return Br(this,e,t,ts,Jr)}}function Vr(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=vr,fetch:d}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Zr(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=Ze(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(kr,e,Yr(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Ar))throw new w(xr);{if(o){const t=new f(await r.arrayBuffer());206==r.status&&t.length==K&&(e.Ae=t)}qr(e,r);const s=Hr(r);s===ie?await $r(e,t,n):e.size=s}}else await $r(e,t,n)}async function Br(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,Ae:c,size:l,options:d}=e;if(i||o){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return ue;{t+n>l&&(n=l-t);const a=await r(kr,e,Yr(e,t,n));if(206!=a.status)throw new w(xr);const i=a.headers.get(Rr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(xr)}Kr(e,a),qr(e,a);const o=new f(await a.arrayBuffer());if(o.length!=n)throw new w(xr);return o}}{const{data:r}=e;return r||await a(e,d),e.data.subarray(t,t+n)}}function Hr(e){const t=e.headers.get(Rr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function jr({headers:e}){return{ve:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function qr(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=jr(t))}function Kr(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=Hr(t);if(e!==ie&&a!==ie&&e!=a)throw new w(zr);if(s){const e=jr(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(zr)}}}function Yr(e,t=0,r=1){return n.assign({},Gr(e),{[Dr]:Ar+"="+(t<0?t:t+"-"+(t+r-1))})}function Gr({options:e}){const{headers:t}=e;if(t)return C.iterator in t?n.fromEntries(t):t}async function Xr(e){await Qr(e,es)}async function Jr(e){await Qr(e,ts)}async function Qr(e,t){const n=await t(kr,e,Gr(e));e.data=new f(await n.arrayBuffer()),e.size=e.data.length}async function $r(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Gr(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function es(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(i.status<400)return i;throw 416==i.status?new w(xr):new w(br+(i.statusText||i.status))}function ts(e,{url:t},r){return new S((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(xr):new w(br+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ns extends Ur{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Pr(e,t):new Wr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class rs extends Ur{constructor(e){super(),this.Ce=e}async init(){const e=this;e.Ie=0;const t=e.Ce=await S.all(e.Ce.map(ls));e.Ue=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}_e(e){const{Ue:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Ce:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t<=r)s=await ds(c,o,t);else{const a=r-o;s=Ye(await ds(c,o,a),await n.readUint8Array(e+a,t-a))}}else s=ue;return n.Ie=i.max(a,n.Ie),s}}class ss extends Ir{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Cr)return void(i&&await l());const{availableSize:n}=r;if(i)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Fr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await cs(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await d(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function d(){await i.close()}n.defineProperty(r,Tr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Cr)}finally{e.releaseLock()}}}class as{constructor(e){return t.isArray(e)&&(e=new rs(e)),(e instanceof R||typeof e.getReader==le)&&(e={readable:nn(e)}),e}}class is{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new ss(e)),(e instanceof D||typeof e.getWriter==le)&&(e={writable:sn(e)}),e.size===ie&&(e.size=0),e}}function os(e){return!(!e||!e.getData)}async function cs(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function ls(e){return e=new as(e),await cs(e),e.size!==ie&&e.readUint8Array||(e=new Nr(await rn(e.readable)),await cs(e)),e}function ds(e,t,n){return e.readUint8Array(t,n)}function us(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Ur.prototype.createReadable.call(e,t):e.readable}const ws="filename",fs="rawFilename",ps="comment",hs="rawComment",ms="uncompressedSize",ys="compressedSize",Ss="offset",gs="diskNumberStart",bs="lastModDate",xs="rawLastModDate",zs="lastAccessDate",Fs="rawLastAccessDate",Es="creationDate",Rs="rawCreationDate",Ds="internalFileAttributes",ks="externalFileAttributes",As="internalFileAttribute",vs="externalFileAttribute",Ts="msdosAttributesRaw",Cs="msdosAttributes",Is="msDosCompatible",Us="zip64",_s="encrypted",Os="version",Ms="versionMadeBy",Ns="zipCrypto",Ls="directory",Ws="executable",Ps="compressionMethod",Vs="signature",Zs="extraField",Bs="unixMode",Hs="setuid",js="setgid",qs="sticky",Ks=[ws,fs,ms,ys,bs,xs,ps,hs,zs,Fs,Es,Rs,Ss,gs,Ds,ks,As,vs,Ts,Cs,Is,Us,_s,Os,Ms,Ns,Ls,Ws,"symlink",Ps,Vs,"crc32",Zs,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Bs,"unixExternalUpper",Hs,js,qs,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ys{constructor(e){Ks.forEach(t=>this[t]=e[t])}}const Gs="File format is not recognized",Xs="End of central directory not found",Js="End of Zip64 central directory locator not found",Qs="Central directory header not found",$s="Local file header not found",ea="Zip64 extra field not found",ta="File contains encrypted entry",na="Encryption method not supported",ra="Compression method not supported",sa="Split zip file",aa="Overlapping entry found",ia="Entry data out of bounds",oa="Ambiguous archive",ca="Encrypted central directory is not supported",la="Unsafe filename",da="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ua="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",wa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",fa=/^[a-zA-Z]:/,pa="utf-8",ha="cp437",ma=[[ms,M],[ys,M],[Ss,M],[gs,N]],ya={[N]:{Oe:Ka,bytes:4},[M]:{Oe:Ya,bytes:8}};class Sa{constructor(e,t={}){n.assign(this,{reader:new as(e),options:t,Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await cs(r),r.size!==ie&&r.readUint8Array||(r=new Nr(await rn(r.readable)),await cs(r)),r.size<K)throw new w(Gs);const a=Ua(e,t.options),o=a==Ee,c=a!=De,d=((e,t)=>{if(e!==ie){const t=Ue(e);if("number"!=typeof t||s.isNaN(t)||t<0)throw new w(wa);return t}return t==Ee?0:t==De?1/0:N})(Va(t,e,"maxAppendedDataSize"),a),u=((e,t)=>{if(e===ie)return t;if(!Ia(e))throw new w(ua);return e})(Va(t,e,"filenameValidation"),a),f=Va(t,e,"normalizeFilename"),{Ne:p,Le:h}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,d,u,w]of Ma(e,s)){const s=qa(n,u+20);if(w+K+s==r){const s=await La(e,n,i,u,w,r,a);if(2==s){if(o||(o=Na(d,u,w)),l++,!t||l>1)break}else 1!=s||c||(c=Na(d,u,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,d]of Ma(e,s)){const s=Na(c,l,d);a||(a=s);const u=await La(e,t,i,l,d,r,n);if(2==u)return s;1!=u||o||(o=s)}return o||a})(e,n,a)),{Ne:o,Le:l}})(r,c,d);if(!p)throw await(async e=>await Ca(e)==P)(r)?new w(sa):new w(Xs);c&&h>1&&Pa("multiple end of central directory records");const m=Xe(p);let y=Ka(m,12),S=Ka(m,16);const g=p.offset,b=qa(m,20),x=g+K+b;r.size-x>d&&Pa("appended data");let z=qa(m,4);const F=r.Ie||0;let R,D,k,A,v=qa(m,6),T=qa(m,10),C=0,I=G;const U=S==M||y==M||T==N||v==N;if(S!=M&&v!=N&&(S+=Ta(r,v)),U){const e=p.offset>=Y?await ds(r,p.offset-Y,Y):ue,t=Xe(e);if(e.length==Y&&Ka(t,0)==q){S=Ta(r,Ka(t,4))+Ya(t,8);let e=await ds(r,S,G),a=Xe(e);const c=p.offset-Y-G;if((e.length<G||Ka(a,0)!=j)&&S!=c&&c>=0){const t=S;S=c,S>t&&(C=S-t),e=await ds(r,S,G),a=Xe(e)}if(e.length<G||Ka(a,0)!=j)throw new w(Js);if(D=!0,k=Ya(a,4)>44,k){const e=i.min(s(Ya(a,4))-44,r.size-S-G);e>0&&(I+=e,A=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=Xe(e),a=qa(r,26);n.assign(t,{compressionMethod:qa(r,0),compressedSize:s(Ya(r,2)),uncompressedSize:s(Ya(r,10)),encryptionAlgorithm:qa(r,18),bitLength:qa(r,20),flags:qa(r,22),hashAlgorithm:qa(r,24),hashData:e.subarray(28,28+a)})}return t})(await ds(r,S+G,e)))}z==N?z=Ka(a,16):o&&z!=Ka(a,16)&&Pa("mismatched zip64 end of central directory record"),v==N?v=Ka(a,20):o&&v!=Ka(a,20)&&Pa("mismatched zip64 end of central directory record"),T==N?T=Ya(a,32):o&&T!=Ya(a,32)&&Pa("mismatched zip64 end of central directory record"),y==M?y=Ya(a,40):o&&y!=Ya(a,40)&&Pa("mismatched zip64 end of central directory record"),S=Ta(r,v)+Ya(a,48)+C}}let _=y;const O=p.offset-(D?I+Y:0);if(S>=r.size&&(C=r.size-S-y-K,S=r.size-y-K),F!=z)throw new w(sa);if(S<0)throw new w(Gs);let W=0,V=await ds(r,S,y),Z=Xe(V);if(y){if(V.length<4)throw new w(Gs);const e=O-y;if(S!=e&&v==z){let t=!(Ka(Z,W)==B||A&&A.compressedSize||xa(Z));if(!t&&e>=0&&e+4<=r.size&&(t=Ka(Xe(await ds(r,e,4)),0)==B),t){const t=S;S=e,S>t&&(C+=S-t),V=await ds(r,S,y),Z=Xe(V)}}}const H=O-S;if(y!=H&&H>=0&&v==z&&(y=H,V=await ds(r,S,y),Z=Xe(V)),S<0||S>=r.size)throw new w(Gs);t.directoryOffset=S,t.directoryLength=_;const X=Za(t,e,"decryptCentralDirectory");let J,re;if(X&&T&&V.length>=4&&Ka(Z,0)!=B&&(k||xa(Z))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n})(A,_,V.length);re=V.subarray(e),V=await X(V.subarray(0,e),A),Z=Xe(V),_=V.length,J=!0}R=S;const se=Va(t,e,"filenameEncoding"),ae=Va(t,e,"commentEncoding"),oe=o?new l:ie;let ce;for(let s=0;s<T;s++){const a=new ba(r,t.options);if(W+46>V.length||Ka(Z,W)!=B){if(0==s&&!J&&(k||xa(Z)))throw new w(ca);throw new w(Qs)}Fa(a,Z,W+6);const c=!!a.bitFlag.languageEncodingFlag,l=W+46,d=l+a.filenameLength,p=d+a.extraFieldLength,h=qa(Z,W+4),m=!(h>>8),y=h>>8==3,S=V.subarray(l,d),g=qa(Z,W+32),b=p+g,x=V.subarray(p,b),z=c,F=c,D=Ka(Z,W+38),A=D&L,v={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},I=Ka(Z,W+42),U=Za(t,e,"decodeText")||Sr,_=z?pa:se||ha,O=F?pa:ae||ha;let M=U(S,_,ze);if(M===ie&&(M=Sr(S,_)),f){const e=f(M);e!==ie&&(M=e)}if(Oa(M,u)){const e=new w(la);throw e.filename=M,e}let P=U(x,O,Fe);P===ie&&(P=Sr(x,O)),n.assign(a,{index:s,We:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Pe:g,offset:I,diskNumberStart:qa(Z,W+34),internalFileAttributes:qa(Z,W+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:v,rawFilename:S,filenameUTF8:z,commentUTF8:F,rawExtraField:V.subarray(d,p),rawComment:x,filename:M,comment:P}),Ea(a,a,Z,W+6),a.offset+=C,R=i.min(Ta(r,a.diskNumberStart)+a.offset,R),o&&(oe.has(a.filename)&&(ce=!0),oe.add(a.filename));const H=a.externalFileAttributes>>16&N;a.unixMode===ie&&16877&H&&(a.unixMode=H);const j=!!(a.unixMode&ee),q=!!(a.unixMode&te),K=!!(512&a.unixMode),Y=40960==((a.unixMode===ie?H:a.unixMode)&Q),G=!Y&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&H)),X=a.unixMode!==ie&&(a.unixMode&Q)==$,re=(H&Q)==$;n.assign(a,{setuid:j,setgid:q,sticky:K,symlink:Y,unixExternalUpper:H,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:X||re||m&&v.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new Ys(a);le.getData=(e,n)=>a.getData(e,le,t.Me,n),le.arrayBuffer=async e=>{const n=new E,r=rn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Me,e),r},W=b;const{onprogress:de}=e;if(de)try{await de(s+1,T,new Ys(a))}catch{}yield le}let le=W;const de=za(V.subarray(W))||(J?za(re):ie);de&&(t.digitalSignature=de,le=W+6+de.length),o&&W!=_&&le!=_&&Pa("trailing central directory data"),ce&&Pa("duplicate filename");const we=Va(t,e,"extractPrependedData"),fe=Va(t,e,"extractAppendedData"),pe=(o||we)&&T&&4==R&&await(async e=>{const t=await Ca(e);return t==P||808471376==t})(r)?4:0;return o&&(C||T&&R>pe)&&Pa("prepended data"),we&&(t.prependedData=R>pe?await ds(r,pe,R-pe):ue),t.comment=b?await ds(r,g+K,b):ue,fe&&(t.appendedData=x<r.size?await ds(r,x,r.size-x):ue),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class ga{constructor(e={}){const{readable:t,writable:n}=new E,r=new Sa(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new E;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class ba{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=Ze(),{reader:o,index:c,offset:l,diskNumberStart:d,extraFieldAES:u,extraFieldZip64:f,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:S,uncompressedSize:g,compressedSize:b}=s,{dataDescriptor:x}=h,z=t.localDirectory={},F=Ta(o,d)+l,E=await ds(o,F,re),R=Xe(E);let k=Va(s,r,we),A=Va(s,r,fe);const v=Va(s,r,pe);if(Ie(k,A),k=k&&k.length&&k,A=A&&A.length&&A,u&&99!=u.originalCompressionMethod)throw new w(ra);if(E.length<re||Ka(R,0)!=W)throw new w($s);Fa(z,R,4);const{extraFieldLength:T,filenameLength:C}=z,I=Va(s,r,"checkLocalDirectory"),U=Ua(r,s.options),_=((e,t)=>e===ie?t!=De:!!e)(I,U),O=((e,t)=>e===ie?t==Ee:!!e)(I,U);let M=ue;if(O&&(C||T)){const e=await ds(o,F+re,C+T);M=e.subarray(0,C),z.rawExtraField=e.subarray(C)}else z.rawExtraField=T?await ds(o,F+re+C,T):ue;O&&(z.rawFilename=M),Ea(s,z,R,4,!0),_&&((e,t,n,r)=>{const{rawFilename:s}=e,a=e.We&&!(8192&~t.rawBitFlag);!r||a||n.length==s.length&&!n.some((e,t)=>e!=s[t])||Pa("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Pa("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Pa("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Pa("mismatched local file header (crc32 or sizes)")})(s,z,M,O);const{lastAccessDate:N,creationDate:P,uid:Z,gid:B}=z;N&&(t.lastAccessDate=N),P&&(t.creationDate=P),Z!==ie&&t.uid===ie&&(t.uid=Z),B!==ie&&t.gid===ie&&(t.gid=B);const H=s.encrypted&&z.encrypted&&!v,j=H&&!u;if(v||(t.zipCrypto=j),H&&!(64&~z.rawBitFlag))throw new w(na);const q=v?ie:wn(p);if(0!=p&&8!=p&&9!=p&&!q&&!v)throw new w(ra);if(H){if(!j&&(u.strength<1||u.strength>3))throw new w(na);if(!k&&!A)throw new w(ta)}const K=F+re+C+T;if(K+b>o.size)throw new w(ia);const Y=b,G=nn(o.createReadable({offset:K,size:Y})),X=Ce(Va(s,r,he)),J=Va(s,r,"checkPasswordOnly");let Q=Va(s,r,"checkOverlappingEntry");const $=Va(s,r,"checkOverlappingEntryOnly");$&&(Q=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!v,ae=v?b:g,oe=9==p;let ce=Va(s,r,ye);oe&&(ce=!1);const le=Va(s,r,"checkCrc32"),de=(le===ie?Va(s,r,"checkSignature"):le)&&!v&&(!H||j||u&&1==u.vendorVersion),be={options:{codecType:_n,password:k,rawPassword:A,zipCrypto:j,encryptionStrength:u&&u.strength,checkCrc32:de,checkAuthenticationCode:Va(s,r,"checkAuthenticationCode"),passwordVerification:j&&(x?S>>>8&L:y>>>24&L),outputSize:ae,crc32:y,compressed:se,encrypted:H,useWebWorkers:Va(s,r,me),useCompressionStream:ce,transferStreams:Va(s,r,Se),deflate64:oe,format:q?q.format:ie,codecURI:q?q.codecURI:ie,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:a,oe:{signal:X,size:Y,onstart:ee,onprogress:te,onend:ne}};let xe,ze;Q&&await(async({reader:e,Ve:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,Ze:o,dataDescriptor:c,extraFieldZip64:l,Me:d})=>{let u=0;if(c&&(u=l?20:12),u){const n=await ds(e,o+a,u+4),r=Xe(n);let c=n.length==u+4&&Ka(r,0)==V;if(c){const e=va(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?u+=4:c=!1}if(n.length>=u){const e=va(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const f={start:r,end:o+a+u,Ve:t};for(const[e,t]of d)if(e!=n&&f.start<t.end&&t.start<f.end){const e=new w(aa);throw e.overlappingEntry=t.Ve,e}d.set(n,f)})({reader:o,Ve:t,index:c,offset:F,crc32:y,compressedSize:b,uncompressedSize:g,Ze:K,dataDescriptor:x||z.bitFlag.dataDescriptor,extraFieldZip64:f||z.extraFieldZip64,Me:n});try{if(!$){J&&(e=new D),e=new is(e),await cs(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,b,se)),({writable:xe}=e);const{outputSize:t}=await ur({readable:G,writable:xe},be);if(e.size+=t,t!=ae)throw new w(hn)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=yt)throw ze=t,t}finally{if((os(e)||!Va(s,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():xe}}function xa(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Ka(e,n))return!0;return!1}function za(e){if(e.length>=6){const t=Xe(e);if(Ka(t,0)==Z){const n=qa(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Fa(e,t,r){const s=e.rawBitFlag=qa(t,r+2),a=!(1&~s),i=Ka(t,r+6);n.assign(e,{encrypted:a,version:qa(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:Ba(i),filenameLength:qa(t,r+22),extraFieldLength:qa(t,r+24)})}function Ea(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Xe(i);let u=0;try{for(;u<i.length;){const e=qa(d,u),t=qa(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=qa(r,s+4);n.assign(t,{signature:Ka(r,s+10),crc32:Ka(r,s+10),compressedSize:Ka(r,s+14),uncompressedSize:Ka(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=Xe(e.data),r=ma.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+ya[t].bytes,0);if(e.data.length<s)throw new w(ea);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=ya[o];t[i]=e[i]=c.Oe(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Ra(h,ws,fs,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Ra(m,ps,hs,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=Xe(e.data),a=ja(s,4);n.assign(e,{vendorVersion:ja(s,0),vendorId:ja(s,2),strength:a,originalCompressionMethod:r,compressionMethod:qa(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const S=l.get(13);S&&(Da(S,t),t.extraFieldPkwareUnix=S);const g=l.get(22613);g&&(Da(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(((e,t)=>{const r=Xe(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=qa(r,a),n=qa(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=Xe(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:Ha(a),lastAccessDate:Ha(i),creationDate:Ha(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let z;if(x&&(z=ka(x,t,!1),t.extraFieldUnix=x),!z){const e=l.get(30837);e&&(ka(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(X);F&&(((e,t,n)=>{if(!e.data.length)return;const r=Xe(e.data),s=ja(r,0),a=[],i=[];n?(1&~s||(a.push(bs),i.push(xs)),2&~s||(a.push(zs),i.push(Fs)),4&~s||(a.push(Es),i.push(Rs))):e.data.length>=5&&(a.push(bs),i.push(xs));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=Ka(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(F,t,a),t.extraFieldExtendedTimestamp=F);const E=l.get(6534);E&&(t.extraFieldUSDZ=E)}function Ra(e,t,r,s,a){if(e.data.length<5)return void(e.valid=!1);const i=Xe(e.data),o=new it;o.append(a[r]);const c=Xe(new f(4));c.setUint32(0,o.get(),!0);const l=Ka(i,1);n.assign(e,{version:ja(i,0),[t]:Sr(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Ka(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Da(e,t){if(e.data.length<8)return;const r=Xe(e.data),s={lastAccessDate:new o(1e3*(0|Ka(r,0))),lastModDate:new o(1e3*(0|Ka(r,4)))};e.data.length>=12&&(s.uid=qa(r,8),s.gid=qa(r,10)),n.assign(e,s),n.assign(t,s)}function ka(e,t,r){try{const s=Xe(e.data);let a,i;if(r){let t=0;const r=ja(s,t++),o=ja(s,t++);a=Aa(e.data.subarray(t,t+o)),t+=o;const c=ja(s,t++);i=Aa(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else e.data.length>=4&&(a=qa(s,0),i=qa(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function Aa(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function va(e,t,n){const r=Ka(e,t);let s,a;return n?(s=Ya(e,t+4),a=Ya(e,t+12)):(s=Ka(e,t+4),a=Ka(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Ta(e,t){return e._e?e._e(t):0}async function Ca(e){return Ka(Xe(await ds(e,0,4)))}function Ia(e){return e===Ee||e===Re||e===De}function Ua(e,t){return _a(e,_a(t,Re))}function _a(e,t){const n=e.strictness;if(n!==ie){if(!Ia(n))throw new w(da);return n}const r=e.checkAmbiguity;return r===ie?t:r?Ee:t==De?De:Re}function Oa(e,t){if(t==De)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||fa.test(e))||t==Ee&&(n.includes(".")||n.includes(""))}async function*Ma(e,t){const n=e.size-t,r=await ds(e,n,t),s=Xe(r);for(let e=r.length-K;e>=0;e--)Ka(s,e)==H&&(yield[s,n,r,e,n+e])}function Na(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function La(e,t,n,r,s,a,i){const o=qa(t,r+10),c=Ka(t,r+12),l=Ka(t,r+16);if(o==N||c==M||l==M)return await Wa(e,t,n,s-Y,a,i)==q?2:0;if(!o&&!c)return 1;const d=qa(t,r+6);for(const r of[s-c,Ta(e,d)+l])if(await Wa(e,t,n,r,a,i)==B)return 2;return 0}async function Wa(e,t,n,r,s,a){return r<0||r+4>s?ie:r>=n?Ka(t,r-n):a.count>0?(a.count--,Ka(Xe(await ds(e,r,4)),0)):ie}function Pa(e){const t=new w(oa);throw t.reason=e,t}function Va(e,t,n){return t[n]===ie?e.options[n]:t[n]}function Za(e,t,n){return Te(Va(e,t,n))}function Ba(e){const t=(4294901760&e)>>16,n=e&N;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Ha(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ja(e,t){return e.getUint8(t)}function qa(e,t){return e.getUint16(t,!0)}function Ka(e,t){return e.getUint32(t,!0)}function Ya(e,t){return s(e.getBigUint64(t,!0))}var Ga=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:oa,ERR_BAD_FORMAT:Gs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Qs,ERR_ENCRYPTED:ta,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ca,ERR_ENTRY_DATA_OUT_OF_BOUNDS:ia,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Js,ERR_EOCDR_NOT_FOUND:Xs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ea,ERR_INVALID_AUTHENTICATION_CODE:mt,ERR_INVALID_COMPRESSED_DATA:mn,ERR_INVALID_CRC32:yn,ERR_INVALID_FILENAME_VALIDATION:ua,ERR_INVALID_MAX_APPENDED_DATA_SIZE:wa,ERR_INVALID_PASSWORD:pt,ERR_INVALID_SIGNATURE:ht,ERR_INVALID_STRICTNESS:da,ERR_INVALID_UNCOMPRESSED_SIZE:hn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:$s,ERR_OVERLAPPING_ENTRY:aa,ERR_SPLIT_ZIP_FILE:sa,ERR_UNSAFE_FILENAME:la,ERR_UNSUPPORTED_COMPRESSION:ra,ERR_UNSUPPORTED_ENCRYPTION:na,ERR_WORKER_STARTUP_TIMEOUT:Nn,ZipReader:Sa,ZipReaderStream:ga});const Xa="File already exists",Ja="Zip file comment exceeds 64KB",Qa="Invalid zip file comment (must be a Uint8Array)",$a="File entry comment exceeds 64KB",ei="Invalid file entry comment (must be a string)",ti="Invalid date (must be a valid Date instance)",ni="File entry name exceeds 64KB",ri="Version exceeds 65535",si="The strength must equal 1, 2, or 3",ai="Encryption is not supported in USDZ files",ii="Encryption is not supported when the 'passThrough' option is set",oi="Invalid extra field (must be a Map)",ci="Invalid extra field type (must be integer 0..65535)",li="Invalid extra field data (must be a Uint8Array)",di="Extra field data exceeds 64KB",ui=-2147483648,wi=2147483647,fi=a(0),pi=a("0x7fffffffffffffff"),hi="Zip64 is not supported (set the 'zip64' option to 'true')",mi="Undefined uncompressed size",yi="Undefined compression method",Si="Undefined reader",gi="Zip file not empty",bi="Invalid uid (must be integer 0..2^32-1)",xi="Invalid gid (must be integer 0..2^32-1)",zi="Invalid UNIX mode (must be integer 0..65535)",Fi="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ei="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ri="Invalid msdosAttributesRaw (must be integer 0..255)",Di="Invalid msdosAttributes (must be an object with boolean flags)",ki="Invalid level (must be integer 0..9)",Ai="Signature data exceeds 64KB",vi=new f([7,0,2,0,65,69,3,0,0]),Ti="infozip",Ci="unix";let Ii=0;const Ui=[];class _i{constructor(e,t={}){e=new is(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,Be:a,options:t,He:new c,je:new l,offset:t[be]===ie?e.size||e.writable.size||0:t[be],qe:t[be]===ie?0:t[be]-(e.size||e.writable.size||0),Ke:new l,Ye:0,Ge:ie})}async prependZip(e){if(this.je.size)throw new w(gi);e=new as(e),await cs(e),e.size!==ie&&e.readUint8Array||(e=new Nr(await rn(e.readable)),await cs(e));const{ZipReader:r}=await S.resolve().then(()=>Ga),s=new r(e),a=await s.getEntries();await s.close(),await cs(this.writer);const{directoryOffset:i}=s;let o=0;this.Be&&(delete this.Be,await(async e=>Xe(await ds(e,0,4)).getUint32(0,!0)==P)(e)||(await Yi(this.writer,Ki()),o=4,this.offset+=o));const d=await(async(e,n,r,s,a)=>{const{writer:i}=e,o=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>qi(n,e)-qi(n,t));let c=0;for(const t of a){const r=qi(n,t);await Hi(e,n,c,r-c),Zi(i,await ji(n,r))&&await i.closeDisk(),o.set(t,{offset:Bi(e,i),diskNumberStart:Pi(i)}),c=r}await Hi(e,n,c,s-c)}else await Hi(e,n,0,s),r.forEach(e=>o.set(e,{offset:a+qi(n,e),diskNumberStart:0}));return o})(this,e,a,i,o);this.je=new l(a.map(e=>e.filename)),this.He=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:u,zip64:w}=e;let{compressionMethod:f,Xe:p,Je:h,Qe:m,$e:y,et:S,rawExtraField:g}=e;const{level:b,languageEncodingFlag:x,dataDescriptor:z}=o;p=p||ue,h=h||ue,m=m||ue,y=y||ue,S=S||ue,g=g||ue,e.extraFieldAES&&(f=99);const F=fo(p,h,m,y,S,g),E=w&&l>=M,R=w&&u>=M,D=-7&ho(b,x,z,c,f)|b<<1,{nt:k,st:A}=po({version:t,bitFlag:D,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:r,rawFilename:i,it:R,ot:E,extraFieldLength:F}),{crc32:v}=e;v!==ie&&lo(A,10,v);const{offset:T,diskNumberStart:C}=d.get(e);return n.assign(e,{ot:E,it:R,offset:T,diskNumberStart:C,ct:!1,Xe:p,Je:h,Qe:m,$e:y,et:S,rawExtraField:g,extendedTimestamp:m.length>0||y.length>0,lt:1+(s?2:0)+(a?4:0),nt:k,st:A}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{Ke:d}=l;let u,p;Ii<Ze().maxWorkers?Ii++:await new S(e=>Ui.push(e));try{if(e=e.trim(),$i(l,c,Ls)&&!e.endsWith(ne)&&(e+=ne),l.je.has(e))throw new w(Xa);return l.je.add(e),p=!0,u=(async(e,r,c,l)=>{const d=((e,n,r)=>{n=n.trim();let a=$i(e,r,Is),i=$i(e,r,Ms,a?20:768);const o=$i(e,r,Ws),c=so(e,r,"uid"),l=so(e,r,"gid");let d=so(e,r,Bs),u=$i(e,r,"unixExtraFieldType"),f=$i(e,r,Hs),p=$i(e,r,js),h=$i(e,r,qs);if(c!==ie&&(!s.isInteger(c)||c<0||c>M))throw new w(bi);if(l!==ie&&(!s.isInteger(l)||l<0||l>M))throw new w(xi);if(d!==ie&&(!s.isInteger(d)||d<0||d>N))throw new w(zi);if(u!==ie&&u!==Ti&&u!==Ci)throw new w(Fi);if(u===Ci&&(c!==ie&&c>N||l!==ie&&l>N))throw new w(Ei);u!==ie||c===ie&&l===ie||(u=Ti);let m=so(e,r,Ts),y=$i(e,r,Cs);const S=m!==ie||y!==ie;if(c!==ie||l!==ie||d!==ie||u||o?(a=!1,i=i&L|768):S&&(a=!0,i&=L),m!==ie&&(!s.isInteger(m)||m<0||m>L))throw new w(Ri);if(y&&("object"!=typeof y||t.isArray(y)))throw new w(Di);if(i>N)throw new w(ri);let g=no(e,r,ks,vs);const b=g!==ie;b||(g=0),!r[Ls]&&n.endsWith(ne)&&(r[Ls]=!0);const x=$i(e,r,Ls);if(x?(n.endsWith(ne)||(n+=ne),b||(g=16,a||(g|=16877<<16))):a||b||(g=o?493<<16:27525120),!a){const e=d!==ie||!!(f||p||h);d=d===ie?g>>16&N:d&N,f?d|=ee:f=!!(d&ee),p?d|=te:p=!!(d&te),h?d|=512:h=!!(512&d),b&&!e||(x?d=-61441&d|$:d&Q||(d|=32768),g=(d&N)<<16|g&N)}return({msdosAttributesRaw:m,msdosAttributes:y}=((e,t)=>{if(e!==ie)e&=L;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&L}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(m,y)),S&&(g=g&M|m&L),{name:n,ut:{versionMadeBy:i,msDosCompatible:!!a,externalFileAttributes:g,unixExternalUpper:g>>16&N,uid:c,gid:l,unixMode:d,unixExtraFieldType:u,symlink:d!==ie&&40960==(d&Q),setuid:f,setgid:p,sticky:h,msdosAttributesRaw:m,msdosAttributes:y}}})(e,r,l);({name:r}=d);const u=((e,t,n)=>{const r=to(e,n,"encodeText")||ct;let a=r(t,ze);if(a===ie&&(a=ct(t)),fo(a)>N)throw new w(ni);const i=n[ps]||"";if(typeof i!=de)throw new w(ei);let c=r(i,Fe);if(c===ie&&(c=ct(i)),fo(c)>N)throw new w($a);const l=$i(e,n,Os,20);if(l>N)throw new w(ri);const d=eo(e,n,bs,new o),u=eo(e,n,zs),f=eo(e,n,Es),p=no(e,n,Ds,As,0),h=$i(e,n,pe),m=$i(e,n,we),y=$i(e,n,fe);Ie(m,y);const S=so(e,n,"encryptionStrength",3),g=$i(e,n,Ns),b=$i(e,n,"extendedTimestamp",!0),x=$i(e,n,"ntfsTimestamp"),z=$i(e,n,"keepOrder",!0),F=$i(e,n,me),E=$i(e,n,Se),R=$i(e,n,"bufferedWrite"),D=to(e,n,"createTempStream"),k=$i(e,n,"dataDescriptorSignature",!0),A=Ce($i(e,n,he)),v=$i(e,n,"useUnicodeFileNames",!0),T=$i(e,n,Ps),C=h||T===ie?ie:wn(T);if(!h&&T!==ie&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let I=so(e,n,"level");if(I!==ie&&(!s.isInteger(I)||I<0||I>9))throw new w(ki);if(e.options[xe]){if(m!==ie||y!==ie)throw new w(ai);I===ie&&T===ie&&(I=0)}h&&(I=ie);let U=$i(e,n,ye),_=$i(e,n,"dataDescriptor");R&&_===ie&&(_=!1),(_===ie||g)&&(_=!0),I!==ie&&6!=I&&(U=!1);const O=$i(e,n,Us);if(!(g||m===ie&&y===ie||s.isInteger(S)&&S>=1&&S<=3))throw new w(si);const M=Mi(n[Zs]),L=Mi(n.localExtraField);return{comment:i,ut:{rawFilename:a,rawComment:c,version:l,lastModDate:d,lastAccessDate:u,creationDate:f,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:S,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:R,createTempStream:D,dataDescriptorSignature:k,signal:A,useUnicodeFileNames:v,compressionMethod:T,format:C?C.format:ie,codecURI:C?C.codecURI:ie,wt:C?C.versionNeeded:ie,level:I,useCompressionStream:U,dataDescriptor:_,zip64:O,rawExtraField:M,ft:L}}})(e,r,l),{comment:p}=u,h=l[Zs];let m;e.He.set(r,ie);try{const{ut:t}=u;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.he)return!0;if(Dn(t)||Rn(t,gn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(Ze())||(t.level=0);const s=await(async(e,t,{ut:r},s)=>{if(r.passThrough&&!t&&!$i(e,s,Ls))throw new w(Si);let a;return t&&(t=new as(t),await cs(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:p}=r,h=0,m=0;if(a&&t){if(m=s[ms],m===ie)throw new w(mi);if(p===ie)throw new w(yi)}const y=!0===u,S=$i(e,s,_s);if(t&&a&&!S&&fo(o,c))throw new w(ii);const g=t&&(!!(o&&fo(o)||c&&fo(c))||a&&S);t||(f=0,p=0);const b=g?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=n===ie?ao(m)+b:n):n===ie?(d=!0,(u||u===ie)&&(u=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(io(p,f)?ao(m):m)+b));const x=y||m>=M,z=y||h>=M;if(x||z){if(!1===u)throw new w(hi);u=!0}return u=u||!1,{ht:h,ut:{dataDescriptor:d,zip64:u,ot:x,it:z,uncompressedSize:m,level:f,compressionMethod:p,encrypted:g}}})(e,!!t,a,r,s))})(e,c,u,l);({reader:c}=s);const p=Vi(e.writer),h=Pi(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:p,ft:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:S,passThrough:g,encrypted:b,ot:x,it:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&io(D,a);let A;const v=g||!k,T=c&&(e.bufferedWrite||!u||!x&&!z||v),C=T||c&&u&&(x||z);if(c&&(x||z)){const e=20,t=Wi(e);if(t.yt(1),t.yt(e-4),A=t.St,T&&(t.gt(F),v)){const e=b?l?12:16+4*m:0;t.gt(g?0:F+e)}}else A=ue;let I,U,_,O,M;if(b&&!l){const e=Wi(fo(vi)+2);e.yt(39169),e.bt(vi),I=e.St,I[8]=m}else I=ue;if(y){const e=Xi(n),t=Ji(e);if(t){const t=9+(r?4:0)+(s?4:0),n=Wi(t);O=1+(r?2:0)+(s?4:0),n.yt(X),n.yt(t-4),n.xt(O),n.zt(e),r&&n.zt(Qi(Xi(r))),s&&n.zt(Qi(Xi(s))),_=n.St}else _=ue;if(S===ie?!t||r||s:S)try{const e=Gi(n),t=Wi(36);t.yt(10),t.yt(32),t.Ft(4),t.yt(1),t.yt(24),t.gt(e),t.gt(r?Gi(r):e),t.gt(s?Gi(s):e),U=t.St}catch{U=ue}else U=ue}else U=_=ue;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Ti||t===ie&&n===ie)if(r!=Ci||t===ie&&n===ie)M=ue;else{const e=Wi(8);e.yt(30805),e.yt(4),e.yt((t===ie?0:t)&N),e.yt((n===ie?0:n)&N),M=e.St}else{const e=Li(t),r=Li(n),s=3+e.length+r.length,a=Wi(4+s);a.yt(30837),a.yt(s),a.xt(1),a.xt(e.length),a.bt(e),a.xt(r.length),a.bt(r),M=a.St}}catch{M=ue}D===ie&&(D=k?8:0);const{wt:L}=e;k&&L!==ie&&(R=R>L?R:L),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,g&&E!==ie&&(I[4]=1),I[9]=D,D=99);const P=C?fo(A):0,V=P+fo(I,_,U,M,p,h);if(V>N)throw new w(di);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{nt:B,st:H,rawLastModDate:j}=po({version:R,bitFlag:ho(a,d,u,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:Z<ae?ae:Z>se?se:Z,rawFilename:t,it:z,ot:x,extraFieldLength:V}),q=Wi(re+fo(t)+V),K=q.St,Y=Xe(K);return q.zt(W),q.bt(B),q.bt(t),C&&q.bt(A),q.bt(I),q.bt(_),q.bt(U),q.bt(M),q.bt(p),q.bt(h),u&&(z||lo(Y,18,0),x||lo(Y,22,0)),{Et:K,Rt:Y,nt:B,st:H,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,lt:O,Xe:ue,Dt:P,Qe:_,$e:U,et:M,Je:I,extraFieldLength:V}})(l=n.assign({},l,d.ut,u.ut,s.ut,{signature:l[Vs],crc32:l.crc32===ie?l[Vs]:l.crc32,offset:e.offset-p,diskNumberStart:h})),g=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=ue,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new f(i),r=Xe(s),n&&(a=4,lo(r,0,V))),{kt:s,At:r,vt:a}})(l),b=fo(y.Et,g.kt);m=await(async(e,t,r,s,i)=>{const{He:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:u}=i,{Tt:f}=s,p=e.options[xe],h=e.Ge;let m,y,g,b,x,z,F,R={},k=0;o.set(t,R),e.Ge=R;try{let y;l&&(y=h&&h.Ct,R.Ct=new S(e=>g=e)),i.bufferedWrite||!l||e.It||e.Ye||!d?(m=!0,e.Ye++,F=i.createTempStream?await i.createTempStream():new E(ie,ie,{highWaterMark:oe}),F.size=0,await cs(c)):(F=c,await A()),await cs(F);const T=Vi(c);e.Be&&(delete e.Be,await Yi(c,Ki()),e.offset+=4),p&&!m&&Ni(s,e.offset-T);const{Et:C}=f;m||(await y,await v());const I=Pi(c),U=Bi(e,c);if(R.diskNumberStart=I,m||(x=!0,z=c.size,await Yi(F,C)),R=await(async(e,t,{diskNumberStart:r,Ct:s},i,o,c)=>{const{Tt:l,Ut:d,_t:u}=i,{nt:f,st:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:g,compressionMethod:b,Xe:x,Dt:z,Qe:F,lt:E,$e:R,et:D,Je:k}=l,{kt:A}=d,{rawFilename:v,lastAccessDate:T,creationDate:C,password:I,rawPassword:U,level:_,zip64:O,ot:N,it:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:Se}=c,ge={Ct:s,versionMadeBy:H,zip64:O,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:j,Xe:x,Dt:z,Qe:F,$e:R,et:D,Je:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe};let{crc32:be,uncompressedSize:xe}=c,ze=0;me||(xe=0);const{writable:Fe}=t;if(e){const n=nn(us(e)),r=e.size,s={options:{codecType:Un,level:_,rawPassword:U,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&L,computeCrc32:!me,compressed:S&&!me,encrypted:y&&!me,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:ye,codecURI:Se,compressionMethod:b},config:o,oe:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const e=await ur({readable:n,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,me||(xe=e.inputSize,y&&!P||(be=e.crc32)),!W&&ze>=M||!N&&xe>=M)throw new w(hi)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,Tt:r,Ut:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{st:d,encrypted:u}=r,{At:w,vt:f}=s;u&&!o&&!c||e===ie||(lo(d,10,e),l&&lo(w,f,e)),i?l&&(uo(w,f+4,a(t)),uo(w,f+12,a(n))):(lo(d,14,t),lo(d,18,n),l&&(lo(w,f+4,t),lo(w,f+8,n)))})({crc32:be,compressedSize:ze,uncompressedSize:xe,Tt:l,Ut:d},c),V&&await Yi(t,A),n.assign(ge,{uncompressedSize:xe,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:T,encrypted:!!y,zipCrypto:!!P,size:u+ze,compressionMethod:b,version:g,nt:f,st:p,signature:be,crc32:!y||P||me?be:ie,lt:E,ot:N,it:W}),ge})(r,F,R,s,Ze(),i),m||(x=!1),o.set(t,R),R.filename=t,m){if(await S.all([F.writable.getWriter().close(),y]),await A(),b=!0,z=c.size,await v(),R.diskNumberStart=Pi(c),R.offset=Bi(e,c),p){const t=s._t;Ni(s,e.offset-Vi(c)),R.size+=s._t-t}(({rawFilename:e,encrypted:t,zip64:n,Dt:r,crc32:s,compressedSize:i,uncompressedSize:o,ot:c,it:l},d,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==ie)&&lo(d,14,s),l||lo(d,18,i),c||lo(d,22,o)),n&&r){const t=re+fo(e)+4;uo(d,t,a(o)),uo(d,t+8,a(i))}})(R,f.Rt,i),await Yi(c,f.Et),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await r.ready,await r.write(e),t=fo(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(F.readable,c,u),c.size+=F.size,b=!1}else R.diskNumberStart=I,R.offset=U;return e.offset+=R.size,R}catch(n){if(b||x){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,m&&(e.offset+=k)}throw o.delete(t),n}finally{if(m&&e.Ye--,g&&g(),y&&y(),m&&F&&F.dispose)try{await F.dispose()}catch{}}async function A(){e.It=!0;const{Ot:t}=e;e.Ot=new S(t=>y=()=>{e.It=!1,t()}),await t}async function v(){Zi(c,fo(f.Et))&&await c.closeDisk()}})(e,r,c,{Tt:y,Ut:g,_t:b},l)}catch(t){throw e.He.delete(r),t}return n.assign(m,{name:r,comment:p,extraField:h,[As]:m.internalFileAttributes,[vs]:m.externalFileAttributes}),new Ys(m)})(l,e,r,c),d.add(u),await u}catch(t){throw p&&l.je.delete(e),t}finally{d.delete(u);const e=Ui.shift();e?e():Ii--}}remove(e){const{je:t,He:n}=this;if(typeof e==de&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ue,n={}){const{Ke:r,writer:s}=this,{writable:i}=s;if(!(e instanceof f))throw new w(Qa);if(fo(e)>N)throw new w(Ja);for(;r.size;)await S.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,Je:r,rawComment:s,$e:a,et:i,rawExtraField:o,extendedTimestamp:c,lt:l,lastModDate:d,ot:u,it:f,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=M,y=n.diskNumberStart>=N;let S,g;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Wi(e);t.yt(1),t.yt(e-4),u&&t.gt(p),f&&t.gt(h),m&&t.gt(n.offset),y&&t.zt(n.diskNumberStart),S=t.St}else S=ue;n.Xe=S,n.Mt=m,n.ct=y;const b=Xi(d);if(c&&Ji(b)){const e=Wi(9);e.yt(X),e.yt(5),e.xt(l),e.zt(b),g=e.St}else g=ue;n.Qe=g;const x=fo(S,r,a,i,g,o);if(x>N)throw new w(di);t+=46+fo(e,s)+x}return t})(e.He),{Nt:i,Lt:o}=await(async(e,n,r)=>{const{He:s,writer:a}=e,i=new f(n);await cs(a);let o=0,c=0,l=Pi(a),d=Vi(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Xe:w,Je:f,Qe:p,$e:h,et:m,rawExtraField:y,rawComment:S,versionMadeBy:g,nt:b,st:x,ot:z,it:F,ct:E,Mt:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:v,compressedSize:T}=n,C=fo(w,f,p,h,m,y),I=46+fo(u,S)+C;Zi(a,o+I-c)&&(await Yi(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Pi(a),d=Vi(a)),z||lo(x,18,v),F||lo(x,14,T),(R||E)&&n.version<45&&co(x,0,45);const U=Wi(I);if(U.zt(B),U.yt(g),U.bt(b.subarray(0,24)),U.yt(C),U.yt(fo(S)),U.yt(E?N:A),U.yt(D),U.zt(k),U.zt(R?M:t),U.bt(u),U.bt(w),U.bt(f),U.bt(p),U.bt(h),U.bt(m),U.bt(y),U.bt(S),wo(i,U.St,o),o+=I,r.onprogress)try{await r.onprogress(e+1,s.size,new Ys(n))}catch{}}return await Yi(a,c?i.slice(c):i),{Nt:{diskNumber:l,diskOffset:d},Lt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=to(e,n,"signCentralDirectory");if(r){const n=await r(t),s=fo(n);if(s>N)throw new w(Ai);const a=Wi(6+s);return a.zt(Z),a.yt(s),a.bt(n),await Yi(e.writer,a.St),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Nt:i,Wt:o}=r;let{Pt:c}=r,l=e.He.size,d=i.diskNumber,u=Bi(e,i),f=Pi(s);Zi(s,K)&&f++;let p=$i(e,n,Us);if(u>=M||c>=M||l>=N||f>=N){if(!1===p)throw new w(hi);p=!0}const h=fo(t);if(h>N)throw new w(Ja);const m=Wi(p?98:K);Zi(s,fo(m.St)+h)&&await s.closeDisk(),f=Pi(s),p&&(m.zt(j),m.gt(44),m.yt(45),m.yt(45),m.zt(f),m.zt(d),m.gt(l),m.gt(l),m.gt(c),m.gt(u),m.zt(q),m.zt(f),m.gt(a(Bi(e,s))+a(c)+a(o)),m.zt(f+1),$i(e,n,"supportZip64SplitFile",!0)&&(f=N,d=N),l=N,u=M,c=M),m.zt(H),m.yt(f),m.yt(d),m.yt(l),m.yt(l),m.zt(c),m.zt(u),m.yt(h),await Yi(s,m.St),h&&await Yi(s,t)})(e,n,r,{Nt:i,Pt:s,Wt:c})})(this,e,n),!os(s)&&$i(this,n,ge)||await i.getWriter().close(),s.getData?s.getData():i}}function Oi(e,t,n){e.Ke.add(t),t.catch(e=>{try{n(e)}catch{}})}function Mi(e){if(!e)return ue;if(!(e instanceof c))throw new w(oi);let t=0,n=0;e.forEach((e,n)=>{if(!s.isInteger(n)||n<0||n>N)throw new w(ci);if(!(e instanceof f))throw new w(li);if(fo(e)>N)throw new w(di);t+=4+fo(e)});const r=new f(t),a=Xe(r);return e.forEach((e,t)=>{co(a,n,t),co(a,n+2,fo(e)),wo(r,e,n+4),n+=4+fo(e)}),r}function Ni(e,t){const{Tt:n}=e;let{Et:r,extraFieldLength:s}=n,a=64-(t+fo(r))%64;a<4&&(a+=64);const i=new f(a),o=Xe(i);co(o,0,6534),co(o,2,a-4);const c=r;n.Et=r=new f(fo(c)+a),wo(r,c),wo(r,i,fo(c));const l=Xe(r);co(l,28,s+a),n.Rt=l,e._t+=a}function Li(e){if(e===ie)return ue;{const t=new f(4);Xe(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function Wi(e){const t=new f(e),n=Xe(t);let r=0;return{St:t,xt:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},yt:e=>{co(n,r,e),r+=2},zt:e=>{lo(n,r,e),r+=4},gt:e=>{uo(n,r,a(e)),r+=8},bt:e=>{wo(t,e,r),r+=fo(e)},Ft:e=>r+=e}}function Pi(e){const{diskNumber:t=0}=e;return t}function Vi(e){const{diskOffset:t=0}=e;return t}function Zi(e,t){const{availableSize:n=oe}=e;return t>n}function Bi(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.qe:0)}async function Hi(e,t,n,r){if(r>0){const{writer:s}=e;await us(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function ji(e,t){const n=await ds(e,t,re);if(fo(n)<re)return re;const r=Xe(n);return re+oo(r,26)+oo(r,28)}function qi(e,{offset:t,diskNumberStart:n}){return t+(e._e?e._e(n):0)}function Ki(){const e=new f(4);return lo(Xe(e),0,P),e}async function Yi(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=fo(t),await r.write(t)}finally{r.releaseLock()}}function Gi(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return t<fi?fi:t>pi?pi:t}}function Xi(e){return i.floor(e.getTime()/1e3)}function Ji(e){return e>=ui&&e<=wi}function Qi(e){return i.min(wi,i.max(ui,e))}function $i(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function eo(e,t,n,r){const a=$i(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(ti);return a}function to(e,t,n){return Te($i(e,t,n))}function no(e,t,n,r,s){const a=ro(t,n,r),i=a===ie?ro(e.options,n,r):a;return i===ie?s:i}function ro(e,t,n){return e[t]===ie?e[n]:e[t]}function so(e,t,n,r){return Ue($i(e,t,n,r))}function ao(e){return e+5*(i.floor(e/16383)+1)}function io(e,t){return e===ie?t===ie||t>0:0!==e}function oo(e,t){return e.getUint16(t,!0)}function co(e,t,n){e.setUint16(t,n,!0)}function lo(e,t,n){e.setUint32(t,n,!0)}function uo(e,t,n){e.setBigUint64(t,n,!0)}function wo(e,t,n){e.set(t,n)}function fo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function po({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,it:c,ot:l,extraFieldLength:d}){const u=Wi(26),w=u.St,f=Xe(w);if(u.yt(e),u.yt(t),u.yt(n),i===ie){const e=new h(1),t=Xe(e);co(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),co(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return u.zt(i),u.Ft(4),c||s!==ie?u.zt(c?M:s):u.Ft(4),l||r!==ie?u.zt(l?M:r):u.Ft(4),u.yt(fo(o)),u.yt(d),{nt:w,st:f,rawLastModDate:i}}function ho(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(e>=0&&e<=3&&(a|=6),e>3&&e<=5&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const mo=1048576,yo=".zip.js-temp",So=1048576,go=1048576,bo=".zip.js-temp",xo="createSyncAccessHandle is only available in dedicated workers";try{(e=>{const t=je(Ke(e));n.assign(Me,t),n.assign(Ve,t)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new u("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Nr,e.BlobWriter=Lr,e.Data64URIReader=class extends Ur{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Vt:e,Zt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{Zt:n,Vt:r}=this,s=new f(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;e<c+t&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends _r{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Bt:""})}writeUint8Array(e){const t=this;let n,s=t.Bt;const a=t.Bt.length;for(t.Bt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Bt+=r.fromCharCode(e[n]);s.length>2?t.data+=F(s):t.Bt=s+t.Bt}getData(){return this.data+F(this.Bt)}},e.ERR_AMBIGUOUS_ARCHIVE=oa,e.ERR_BAD_FORMAT=Gs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Qs,e.ERR_DUPLICATED_NAME=Xa,e.ERR_ENCRYPTED=ta,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=ca,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=ia,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Js,e.ERR_EOCDR_NOT_FOUND=Xs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ea,e.ERR_HTTP_RANGE=xr,e.ERR_HTTP_RESOURCE_CHANGED=zr,e.ERR_INVALID_AUTHENTICATION_CODE=mt,e.ERR_INVALID_CODEC_DEFINITION=an,e.ERR_INVALID_CODEC_MODULE=cn,e.ERR_INVALID_COMMENT=Ja,e.ERR_INVALID_COMMENT_TYPE=Qa,e.ERR_INVALID_COMPRESSED_DATA=mn,e.ERR_INVALID_CRC32=yn,e.ERR_INVALID_DATE=ti,e.ERR_INVALID_ENCRYPTION_STRENGTH=si,e.ERR_INVALID_ENTRY_COMMENT=$a,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ei,e.ERR_INVALID_ENTRY_NAME=ni,e.ERR_INVALID_EXTRAFIELD=oi,e.ERR_INVALID_EXTRAFIELD_DATA=di,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=li,e.ERR_INVALID_EXTRAFIELD_TYPE=ci,e.ERR_INVALID_FILENAME_VALIDATION=ua,e.ERR_INVALID_FUNCTION_OPTION=ke,e.ERR_INVALID_GID=xi,e.ERR_INVALID_LEVEL=ki,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=wa,e.ERR_INVALID_MAX_WORKERS=_e,e.ERR_INVALID_MSDOS_ATTRIBUTES=Ri,e.ERR_INVALID_MSDOS_DATA=Di,e.ERR_INVALID_PASSWORD=pt,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Ae,e.ERR_INVALID_SIGNATURE=ht,e.ERR_INVALID_SIGNATURE_DATA=Ai,e.ERR_INVALID_STRICTNESS=da,e.ERR_INVALID_UID=bi,e.ERR_INVALID_UNCOMPRESSED_SIZE=hn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Fi,e.ERR_INVALID_UNIX_ID_SIZE=Ei,e.ERR_INVALID_UNIX_MODE=zi,e.ERR_INVALID_VERSION=ri,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Fr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=$s,e.ERR_OVERLAPPING_ENTRY=aa,e.ERR_RESERVED_COMPRESSION_METHOD=on,e.ERR_SPLIT_ZIP_FILE=sa,e.ERR_UNDEFINED_COMPRESSION_METHOD=yi,e.ERR_UNDEFINED_READER=Si,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=mi,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=la,e.ERR_UNSUPPORTED_COMPRESSION=ra,e.ERR_UNSUPPORTED_CONTEXT=xo,e.ERR_UNSUPPORTED_CRYPTO_API=St,e.ERR_UNSUPPORTED_ENCRYPTION=na,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=ii,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ai,e.ERR_UNSUPPORTED_FORMAT=hi,e.ERR_WORKER_STARTUP_TIMEOUT=Nn,e.ERR_WRITER_NOT_INITIALIZED=Er,e.ERR_ZIP_NOT_EMPTY=gi,e.HttpRangeReader=class extends ns{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ns,e.Reader=Ur,e.SplitDataReader=rs,e.SplitDataWriter=ss,e.TextReader=class extends Nr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Lr{constructor(e){super(),n.assign(this,{encoding:e,Ht:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Ht:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>gr(e,t,!1))(new f(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Ur{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends _r{constructor(e){super(),this.jt=e||262144}init(e=0){n.assign(this,{offset:0,St:new f(e>0?e:this.jt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.jt;for(;e<n;)e*=2;const r=t.St;t.St=new f(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.Writer=_r,e.ZipReader=Sa,e.ZipReaderStream=ga,e.ZipWriter=_i,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new E;this.readable=t,this.zipWriter=new _i(n,e),this.Ke=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new E({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Oi(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new E({start(e){t=e}});return Oi(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await S.all(t.from(this.Ke)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(Ve,je(Ke(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=So}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new D({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;r=rn(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=mo,directoryName:r=yo,getDirectory:s=()=>v.storage.getDirectory()}=e;let a;function i(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const d=new D({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:d,readable:new R({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else u<e.length?t.enqueue(e[u++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=go,directoryName:r=bo,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(xo);const a=s||(()=>v.storage.getDirectory());let o;function c(){return o||(o=S.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,d=0;const u=new D({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:u,readable:new R({pull(t){if(o){const e=l-d;if(e<=0)return void t.close();const n=new f(i.min(524288,e)),r=s.read(n,{at:d});r?(d+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||t<0||t>N||typeof n!=de||!n.length)throw new w(an);if(ln.includes(t))throw new w(on);const c=typeof a==le||typeof i==le;if(!(c||typeof r==de&&r.length))throw new w(an);dn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&pn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of Pe)delete Ve[e];n.assign(Ve,Me)},e.terminateWorkers=async()=>{await S.allSettled(ir.map(e=>(mr(e),e.terminate()))),Ln=ie,Wn=!1},e.unregisterCodec=e=>{const t=dn.get(e);if(t){let n;dn.delete(e),dn.forEach(e=>n=n||e.format==t.format),n||un.delete(t.format)}}});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:S,TextEncoder:g,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:v,Worker:T,Symbol:C,setTimeout:I,clearTimeout:U,structuredClone:_}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==x?x.currentScript:null;const M=4294967295,N=65535,L=255,W=67324752,P=134695760,V=P,Z=84233040,B=33639248,H=101010256,j=101075792,q=117853008,K=22,Y=20,G=56,X=21589,J=2048,Q=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",de="string",ue=new f,we="password",fe="rawPassword",pe="passThrough",me="signal",he="useWebWorkers",ye="useCompressionStream",Se="transferStreams",ge="preventClose",be="offset",xe="usdz",ze="filename",Fe="comment",Ee="strict",Re="balanced",De="tolerant",ke="Invalid option (must be a function)",Ae="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Te(e){if(e&&typeof e!=le)throw new w(ke);return e}function Ce(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Ae);return e||ie}function Ie(e,t){if(e&&typeof e!=de||t&&!(t instanceof f))throw new w(ve)}function Ue(e,t,n){if(!s.isInteger(e)||e<0||e>t)throw new w(n)}function _e(e,t,n){e!==ie&&Ue(e,t,n)}function Oe(e){return typeof e==de&&e.trim()?s(e):e}const Me="Invalid maxWorkers (must be an integer greater than 0)";let Ne=2;try{typeof v!=ce&&v.hardwareConcurrency&&(Ne=v.hardwareConcurrency)}catch{}const Le={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Ne,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ce&&k,DecompressionStream:typeof A!=ce&&A},We="maxWorkers",Pe=["chunkSize",We,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ve=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ze=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Pe,...Ve],Be={...Le};function He(){return Be}function je(e){return qe(e.chunkSize)}function qe(e){return e=Oe(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function Ke(e){const t={};for(const n of Ze){const r=e[n];r!==ie&&(t[n]=Ye(n,r))}return t}function Ye(e,t){if(Pe.includes(e)){if(t=Oe(t),e==We&&(!s.isInteger(t)||t<1))throw new w(Me)}else Ve.includes(e)&&Te(t);return t}function Ge(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function Xe(e,t){const n=new f(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Je(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Qe(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const $e=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;$e[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=$e[t-1][e];$e[t][e]=n>>>8^$e[0][255&n]}const[et,tt,nt,rt,st,at,it,ot]=$e;class ct{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new h(e.buffer,e.byteOffset,n),a=n-8;for(;r<=a;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=ot[255&e]^it[e>>>8&255]^at[e>>>16&255]^st[e>>>24&255]^rt[255&n]^nt[n>>>8&255]^tt[n>>>16&255]^et[n>>>24&255]}}for(;r<n;r++)t=t>>>8^et[255&(t^e[r])];this.o=t}get(){return~this.o}}class lt extends E{constructor(){let e;const t=new ct;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new f(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function dt(e){if(typeof g==ce){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const ut={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=ut.l(n);return 32===r?e.concat(t):ut.m(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+ut.l(n)},h(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=ut.S(t,e[n-1]&2147483648>>t-1,1)),e},S:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=ut.l(s);return r.push(ut.S(t+a&31,t+a>32?n:r.pop(),1)),r}},wt={bytes:{F(e){const t=ut.bitLength(e)/8,n=new f(t);let r;for(let s=0;s<t;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},R(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(ut.S(8*(3&n),r)),t}}},ft=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.v=e.v.slice(0),t.T=e.T.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.v=e.D.slice(0),e.T=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=wt.I.R(e));const n=t.T=ut.concat(t.T,e),r=t.C,s=t.C=r+ut.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new m(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t.U(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}_(){const e=this;let t=e.T;const n=e.v;t=ut.concat(t,[ut.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.U(t.splice(0,16));return e.reset(),n}O(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}M(e,t){return t<<e|t>>>32-e}U(e){const n=this,r=n.v,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n.M(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.M(5,a)+n.O(e,o,c,l)+d+s[e]+n.A[i.floor(e/20)]|0;d=l,l=c,c=n.M(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},pt={importKey:e=>new pt.N(wt.bytes.R(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new h(d);let f=0;const p=ut;for(t=wt.bytes.R(t),l=1;f<(s||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;f<(s||1)&&o<a.length;o++)u.setInt32(f,a[o]),f+=4}return d.slice(0,r/8)},N:class{constructor(e){const t=this,n=t.W=ft,r=[[],[]];t.P=[new n,new n];const s=t.P[0].blockSize/32;e.length>s&&(e=(new n).update(e)._());for(let t=0;t<s;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.V=new n(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V._(),n=new e.W(e.P[1]).update(t)._();return e.reset(),n}encrypt(e){if(this.Z)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},mt=typeof z!=ce&&typeof z.getRandomValues==le,ht="Invalid password",yt="Invalid signature",St=yt,gt="zipjs-abort-check-password",bt="Crypto API not supported";function xt(e){if(mt)return z.getRandomValues(e);throw new w(bt)}const zt=16,Ft={name:"PBKDF2"},Et=n.assign({hash:{name:"HMAC"}},Ft),Rt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ft),Dt=["deriveBits"],kt=[8,12,16],At=[16,24,32],vt=10,Tt=[0,0,0,0],Ct=typeof z!=ce,It=Ct&&z.subtle,Ut=Ct&&typeof It!=ce,_t=wt.bytes,Ot=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const n=t.B[0][4],r=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;a<4*s+28;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,w=257*s[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=w=w<<24^w>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}j(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.A[t],r=n.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,p,m=e[0]^n[0],h=e[t?3:1]^n[1],y=e[2]^n[2],S=e[t?1:3]^n[3],g=4;for(let e=0;e<r;e++)u=i[m>>>24]^o[h>>16&255]^c[y>>8&255]^l[255&S]^n[g],f=i[h>>>24]^o[y>>16&255]^c[S>>8&255]^l[255&m]^n[g+1],p=i[y>>>24]^o[S>>16&255]^c[m>>8&255]^l[255&h]^n[g+2],S=i[S>>>24]^o[m>>16&255]^c[h>>8&255]^l[255&y]^n[g+3],g+=4,m=u,h=f,y=p;for(let e=0;e<4;e++)s[t?3&-e:e]=d[m>>>24]<<24^d[h>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^n[g++],u=m,m=h,h=y,y=S,S=u;return s}},Mt=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,n){let r;if(!(r=t.length))return[];const s=ut.bitLength(t);for(let s=0;s<r;s+=4){this.$(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return ut.h(t,s)}},Nt=pt.N;let Lt=Ct&&Ut&&typeof It.importKey==le,Wt=Ct&&Ut&&typeof It.deriveBits==le;class Pt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Zt(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,ee:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await Ht(e,t,n,qt(r,0,kt[t])),a=qt(r,kt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(ht)})(n,a,s,qt(e,0,kt[a]+2)),e=qt(e,kt[a]+2),r?t.error(new w(gt)):i()):await o;const c=new f(e.length-vt-(e.length-vt)%zt);t.enqueue(Bt(n,e,c,0,vt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:a}=this;if(n&&t){await a;const i=qt(r,0,r.length-vt),o=qt(r,r.length-vt);let c=ue;if(i.length){const e=Yt(_t,i);n.update(e);const r=t.update(e);c=Kt(_t,r)}const l=qt(Kt(_t,n.digest()),0,vt);let d=r.length<vt?1:0;for(let e=0;e<vt;e++)d|=l[e]^o[e];if(d&&s)throw new w(St);e.enqueue(c)}}})}}class Vt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Zt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,ee:a,ready:i}=n;let o=ue;r?(o=await(async(e,t,n)=>{const r=xt(new f(kt[t]));return Xe(r,await Ht(e,t,n,r))})(n,s,r),a()):await i;const c=new f(o.length+e.length-e.length%zt);c.set(o,0),t.enqueue(Bt(n,e,c,o.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:s}=this;if(n&&t){await s;let a=ue;if(r.length){const e=t.update(Yt(_t,r));n.update(e),a=Kt(_t,e)}const i=Kt(_t,n.digest()).slice(0,vt);e.enqueue(Xe(a,i))}}})}}function Zt(e,t,r,s){n.assign(e,{ready:new S(t=>e.ee=t),password:jt(t,r),strength:s-1,re:ue})}function Bt(e,t,n,r,s,a){const{te:i,ne:o,re:c}=e;c.length&&(t=Xe(c,t));const l=t.length-s;let d;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new f(t)).set(n,0)}return e})(n,r+(l-l%zt)),d=0;d<=l-zt;d+=zt){const e=Yt(_t,qt(t,d,d+zt));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(Kt(_t,s),d+r)}return e.re=qt(t,d),n}async function Ht(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Lt)return pt.importKey(t);try{return await It.importKey("raw",t,n,!1,s)}catch{return Lt=!1,pt.importKey(t)}})(0,s,Et,0,Dt),o=await(async(e,t,n)=>{if(!Wt)return pt.L(t,e.salt,Rt.iterations,n);try{return await It.deriveBits(e,t,n)}catch{return Wt=!1,pt.L(t,e.salt,Rt.iterations,n)}})(n.assign({salt:a},Rt),i,8*(2*At[r]+2)),c=new f(o),l=Yt(_t,qt(c,0,At[r])),d=Yt(_t,qt(c,At[r],2*At[r])),u=qt(c,2*At[r]);return n.assign(e,{keys:{key:l,se:d,passwordVerification:u},te:new Mt(new Ot(l),t.from(Tt)),ne:new Nt(d)}),u}function jt(e,t){return t===ie?dt(e):t}function qt(e,t,n){return e.subarray(t,n)}function Kt(e,t){return e.F(t)}function Yt(e,t){return e.R(t)}class Gt extends E{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Jt(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Qt(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(ht);e=e.subarray(12)}r?t.error(new w(gt)):t.enqueue(Qt(n,e))}})}}class Xt extends E{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Jt(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=xt(new f(12));t[11]=n.passwordVerification,r=new f(e.length+t.length),r.set($t(n,t),0),s=12}else r=new f(e.length),s=0;r.set($t(n,e),s),t.enqueue(r)}})}}function Jt(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ae:new ct(s[0]),ie:new ct(s[2])}),r)for(let t=0;t<r.length;t++)en(e,r[t]);else for(let n=0;n<t.length;n++)en(e,t.charCodeAt(n))})(e,t,r)}function Qt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=tn(e)^t[r],en(e,n[r]);return n}function $t(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=tn(e)^t[r],en(e,t[r]);return n}function en(e,t){let[,n]=e.keys;e.ae.append([t]);const r=~e.ae.get();n=rn(i.imul(rn(n+nn(r)),134775813)+1),e.ie.append([n>>>24]);const s=~e.ie.get();e.keys=[r,n,s]}function tn(e){const t=2|e.keys[2];return nn(i.imul(t,1^t)>>>8)}function nn(e){return 255&e}function rn(e){return 4294967295&e}function sn(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function an(e,t){e=sn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof R)return new d(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function on(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const cn="Invalid codec definition",ln="Reserved compression method",dn="Invalid codec module",un=[0,8,9,99],wn=new c,fn=new c;function pn(e){return wn.get(e)}function mn(e){return fn.get(e)}function hn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(dn);fn.set(e,{CompressionStream:n,DecompressionStream:r})}const yn="Invalid uncompressed size",Sn="Invalid compressed data",gn=yt,bn="deflate-raw",xn="gzip",zn=[31,139,8];class Fn extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:w}=e,f=this;let p,m,y,S=super.readable;const g=u&&mn(u),b=c&&s&&!d&&!g&&(!a||o)&&!(!i||!r);if(a&&!o||!c||b||(p=new lt,S=In(S,p)),s)if(g)S=Un(S,Tn(g.CompressionStream,u,{level:l,chunkSize:t,compressionMethod:w}));else if(b)y=new En,S=Un(S,new r(xn)),S=In(S,y);else try{S=Cn(S,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(xn)}catch{throw e}S=Un(S,t),S=In(S,new En)}a&&(o?S=In(S,new Xt(e)):(m=new Vt(e),S=In(S,m))),vn(f,S,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new h(p.value.buffer).getUint32(0))})}}class En extends E{constructor(){let e,t=10,n=new f(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(s<=8)return void(n=Xe(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(Xe(n.subarray(0,o),e.subarray(0,a-o))),n=Xe(n.subarray(o),e.subarray(a-o))},flush(){const t=Qe(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Rn extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let g,b,x=super.readable;if(a&&(s?x=In(x,new Gt(e)):(b=new Pt(e),x=In(x,b))),c){const e=u&&mn(u);if(e)x=Un(x,Tn(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{x=Cn(x,l,{chunkSize:t,deflate64:d},r,n)}catch(e){if(d||y===ie)throw e;let t;try{t=new r(xn)}catch{throw e}x=((e,t,n)=>{const r=new ct;let s,a,i,o=0,c=!1;const l=new S((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const d=new E({start(e){const t=new f(10);t.set(zn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{m()}const t=new f(8),s=Qe(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),u=new E({transform(e,t){r.append(e),o+=e.length,o>=n?a():c&&p(),t.enqueue(e)},cancel(e){i(e)}});return e=In(e,d),In(e=Un(e,t),u);function p(){m(),s=I(()=>i(new w(yn)),5e3)}function m(){U(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Sn);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(x)}i&&(g=new lt,x=In(x,g)),vn(this,x,()=>{if(i){const e=new h(g.value.buffer);if(o!=e.getUint32(0,!1))throw new w(gn)}})}}const Dn=new c;function kn(e,t){if(!e)return!1;let n=Dn.get(e);n||(n=new c,Dn.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function An(e){return kn(e,bn)}function vn(e,t,r){t=In(t,new E({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Tn(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function Cn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":bn;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Un(e,o)}function In(e,t){return sn(e).pipeThrough(t)}function Un(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const _n="data",On="deflate",Mn="inflate";class Nn extends E{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(On)?a=Fn:s.startsWith(Mn)&&(a=Rn),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new E({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(yn)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Ln extends E{constructor(e){const t=[];let n=0;function r(){const r=new f(e);let s=0;for(;s<e;){const n=t[0],a=e-s;n.length<=a?(r.set(n,s),s+=n.length,t.shift()):(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a)}return n-=e,r}(!s.isFinite(e)||e<1)&&(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new f(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Wn="Worker startup timeout";let Pn,Vn,Zn;function Bn(e){e.createWorker?Vn=!0:Pn=!1}class Hn{constructor(e,{readable:t,writable:r},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},u){const{signal:w}=i;return Vn&&(d=ie),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Ln(je(a))).pipeThrough(new jn(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new S(t=>{const{de:n,ce:r}=e;n?(r?e.ue=t:(n.terminate(),t()),e.we=null):t()}),fe(){if(e.ce){const{ue:t}=e;t&&(e.ue=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,u(e)}}}),Pn===ie&&(Pn=typeof T!=ce),(o&&Zn&&(Pn&&l||d)?Zn:Kn)(e,a)}}class jn extends E{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await qn(e,n)},async transform(e,r){s+=e.length,t&&await qn(t,s,n),r.enqueue(e)},async flush(){r&&await qn(r,s)}})}}async function qn(e,...t){try{await e(...t)}catch{}}function Kn(e,t){return{run:()=>Yn(e,t)}}async function Yn({options:e,readable:t,writable:n,fe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(On),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!An(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}a=new Nn(e,s),await t.pipeThrough(a).pipeThrough(new Ln(je(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const Gn={type:"module"},Xn="error";let Jn,Qn,$n,er=!0;try{er=typeof _==le&&_(new DOMException("","AbortError")).code!==ie}catch{}var tr;function nr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function rr(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function sr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(Qn===ie||Jn!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===ie&&(s=!1),s&&(l=Gn);try{o=new T(c,l)}catch(a){if(d)try{u.revokeObjectURL(c)}catch{}if(n&&d)return sr(e,t,r,s,!1);if(s)throw a;return sr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=Gn);try{c=new u(c,t)}catch{}try{o=new T(c,l)}catch(n){if(s)return sr(e,t,r,!1,a);throw n}}Jn=e,Qn=c,$n=l}else o=new T(Qn,$n);return o.addEventListener("message",e=>{r.he=!0,ar(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,ye:d,Se:u,fe:p,le:m}=t,h=()=>t.le!=m;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||or({type:_n,value:e,done:n,messageId:a},t)}r==_n&&(await l.ready,await l.write(new f(s)),h()||or({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){h()||(rr(t),y(o))}function y(e,t){h()||(e?u(e):d(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(Xn,e=>ir(e,r)),o.addEventListener("messageerror",e=>ir(e,r)),o}function ar(e){const{ge:t}=e;t&&(U(t),e.ge=null)}function ir(e,t){e.preventDefault&&e.preventDefault(),ar(t);const{he:r,Se:s,writer:a,fe:i}=t;rr(t),r||(t.de=null);let o=e.error||new w(e.message||Xn);r||(o=n.assign(new w(o.message||Xn),{be:!0}),t.xe=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function or(e,{de:t,writer:n,transferStreams:r,he:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=Je(n),o.push(e.value.buffer)),r&&er&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{er=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}tr=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==le&&(o=o());try{c=sr(e.workerURI,r,e)}catch{return Bn(e),Kn(e,t)}n.assign(e,{de:c,he:!1,pe:!1,xe:null,we:{run:async()=>{try{return await(async(e,t)=>{if(!e.de){const{xe:t}=e;e.xe=null;const n=t||new w(Wn);throw n.be=!0,n}let r,a;const i=new S((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,ye:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ze:u}=(e=>{const t=new AbortController,{writable:n,readable:r}=new E,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ze:()=>t.abort()}})(e.writable);let f;try{f=or({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){u();try{await d}catch{}throw e.fe(),t}f||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.he&&s.isFinite(p)&&p>=0&&(e.ge=I(()=>(e=>{if(e.ge=null,e.he)return;const{Se:t,writer:n}=e;if(rr(e),e.de=null,t){const e=new w(Wn);e.be=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await m(),await d,e}catch(e){await m(),u();try{await d}catch{}throw e}async function m(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.be)return Bn(e),nr(e),Yn(e,t);if(n&&n.codecImportFailed){if(e.reader)return nr(e),Yn(e,t);e.fe()}throw n}}}})}return e.we},Zn=tr;let cr=[];const lr=[];let dr,ur,wr=0;async function fr(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:w,format:f,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;f&&(p&&(n.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!fn.has(e)&&t&&hn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,n.codecURI)),t.transferStreams=!f&&(a||a===ie&&r.transferStreams);const g=!(c||l||d||w),b=f===ie||!!n.codecURI;return t.useWebWorkers=!g&&b&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ie,t.createWorker=t.useWebWorkers&&h?h:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=cr.find(e=>!e.ce);if(n)return Sr(n),new Hn(n,e,t,x);if(cr.length<y){const n={Fe:wr};return wr++,cr.push(n),new Hn(n,e,t,x)}return new S(n=>{lr.push({resolve:n,stream:e,Ee:t}),ur=r.workerStarvationTimeout,pr()})})()).run();function x(e){if(mr(),lr.length){const[{resolve:t,stream:n,Ee:r}]=lr.splice(0,1);t(new Hn(e,n,r,x)),pr()}else e.de?(Sr(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.Re=I(async()=>{cr=cr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):cr=cr.filter(t=>t!=e)}}function pr(){!dr&&lr.length&&s.isFinite(ur)&&ur>=0&&(dr=I(hr,ur))}function mr(){dr&&(U(dr),dr=null)}function hr(){if(dr=null,lr.length){const[{resolve:e,stream:t,Ee:r}]=lr.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new Hn({},t,s,yr)),pr()}}function yr(){mr(),pr()}function Sr(e){const{Re:t}=e;t&&(U(t),e.Re=null)}const gr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function br(e,t){return xr(e,t,!0)}function xr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=gr[e[n]];return t}})(e):new b(t,{ignoreBOM:n}).decode(e)}const zr="HTTP error ",Fr="HTTP Range not supported",Er="HTTP resource changed",Rr="Writer iterator completed too soon",Dr="Writer not initialized",kr="Content-Range",Ar="Range",vr="GET",Tr="bytes",Cr=16777216,Ir="writable",Ur=C();class _r{constructor(){this.size=0}init(){this.initialized=!0}}class Or extends _r{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=je(He())}={}){const r=this;let s=0;return n=qe(n),new R({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await ws(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class Mr extends _r{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w(Dr);return e.writeUint8Array(Je(t))}});n.defineProperty(e,Ir,{get:()=>t})}writeUint8Array(){}}let Nr,Lr;class Wr extends Or{constructor(e){super(),n.assign(this,{De:e,size:e.size}),Lr||(Lr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Nr=1==t}catch{Nr=!1}})())}createReadable(e){const{De:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return!r&&s>=n?sn(t.stream()):Nr?sn(t.slice(r,r+s).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,s=!e&&r>=n.size?n.De:n.De.slice(e,r);let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new f(a)}}class Pr extends _r{constructor(e){super();const t=this,r=new E;n.defineProperty(t,Ir,{get:()=>r.writable}),t.contentType=e,t.ke=an(r.readable,e),t.ke.catch(()=>{})}getData(){return this.ke}}class Vr extends Or{constructor(e,t){super(),Br(this,e,t)}async init(){await Hr(this,ns,Qr),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&n<a)return((e,t,n)=>{let r,a=t,o=0,c=n;return new R({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(Fr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await ns(vr,e,Xr(e,a,t));if(206!=n.status)throw new w(Fr);const l=n.headers.get(kr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(Fr)}Gr(e,n),Yr(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return jr(this,e,t,ns,Qr)}}class Zr extends Or{constructor(e,t){super(),Br(this,e,t)}async init(){await Hr(this,rs,$r),super.init()}readUint8Array(e,t){return jr(this,e,t,rs,$r)}}function Br(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Cr,fetch:d}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Hr(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=He(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(vr,e,Xr(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Tr))throw new w(Fr);{if(o){const t=new f(await r.arrayBuffer());206==r.status&&t.length==K&&(e.Ae=t)}Yr(e,r);const s=qr(r);s===ie?await ts(e,t,n):e.size=s}}else await ts(e,t,n)}async function jr(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,Ae:c,size:l,options:d}=e;if(i||o){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return ue;{t+n>l&&(n=l-t);const a=await r(vr,e,Xr(e,t,n));if(206!=a.status)throw new w(Fr);const i=a.headers.get(kr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Fr)}Gr(e,a),Yr(e,a);const o=new f(await a.arrayBuffer());if(o.length!=n)throw new w(Fr);return o}}{const{data:r}=e;return r||await a(e,d),e.data.subarray(t,t+n)}}function qr(e){const t=e.headers.get(kr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Kr({headers:e}){return{ve:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function Yr(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=Kr(t))}function Gr(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=qr(t);if(e!==ie&&a!==ie&&e!=a)throw new w(Er);if(s){const e=Kr(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(Er)}}}function Xr(e,t=0,r=1){return n.assign({},Jr(e),{[Ar]:Tr+"="+(t<0?t:t+"-"+(t+r-1))})}function Jr({options:e}){const{headers:t}=e;if(t)return C.iterator in t?n.fromEntries(t):t}async function Qr(e){await es(e,ns)}async function $r(e){await es(e,rs)}async function es(e,t){const n=await t(vr,e,Jr(e));e.data=new f(await n.arrayBuffer()),e.size=e.data.length}async function ts(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Jr(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function ns(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(i.status<400)return i;throw 416==i.status?new w(Fr):new w(zr+(i.statusText||i.status))}function rs(e,{url:t},r){return new S((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(Fr):new w(zr+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ss extends Or{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Zr(e,t):new Vr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class as extends Or{constructor(e){super(),this.Ce=e}async init(){const e=this;e.Ie=0;const t=e.Ce=await S.all(e.Ce.map(us));e.Ue=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}_e(e){const{Ue:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Ce:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t<=r)s=await ws(c,o,t);else{const a=r-o;s=Xe(await ws(c,o,a),await n.readUint8Array(e+a,t-a))}}else s=ue;return n.Ie=i.max(a,n.Ie),s}}class is extends _r{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Ur)return void(i&&await l());const{availableSize:n}=r;if(i)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Rr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await ds(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await d(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function d(){await i.close()}n.defineProperty(r,Ir,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Ur)}finally{e.releaseLock()}}}class os{constructor(e){return t.isArray(e)&&(e=new as(e)),(e instanceof R||typeof e.getReader==le)&&(e={readable:sn(e)}),e}}class cs{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new is(e)),(e instanceof D||typeof e.getWriter==le)&&(e={writable:on(e)}),e.size===ie&&(e.size=0),e}}function ls(e){return!(!e||!e.getData)}async function ds(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function us(e){return e=new os(e),await ds(e),e.size!==ie&&e.readUint8Array||(e=new Wr(await an(e.readable)),await ds(e)),e}function ws(e,t,n){return e.readUint8Array(t,n)}function fs(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Or.prototype.createReadable.call(e,t):e.readable}const ps="filename",ms="rawFilename",hs="comment",ys="rawComment",Ss="uncompressedSize",gs="compressedSize",bs="offset",xs="diskNumberStart",zs="lastModDate",Fs="rawLastModDate",Es="lastAccessDate",Rs="rawLastAccessDate",Ds="creationDate",ks="rawCreationDate",As="internalFileAttributes",vs="externalFileAttributes",Ts="internalFileAttribute",Cs="externalFileAttribute",Is="msdosAttributesRaw",Us="msdosAttributes",_s="msDosCompatible",Os="zip64",Ms="encrypted",Ns="version",Ls="versionMadeBy",Ws="zipCrypto",Ps="directory",Vs="executable",Zs="compressionMethod",Bs="signature",Hs="extraField",js="unixMode",qs="setuid",Ks="setgid",Ys="sticky",Gs=[ps,ms,Ss,gs,zs,Fs,hs,ys,Es,Rs,Ds,ks,bs,xs,As,vs,Ts,Cs,Is,Us,_s,Os,Ms,Ns,Ls,Ws,Ps,Vs,"symlink",Zs,Bs,"crc32",Hs,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",js,"unixExternalUpper",qs,Ks,Ys,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Xs{constructor(e){Gs.forEach(t=>this[t]=e[t])}}const Js="File format is not recognized",Qs="End of central directory not found",$s="End of Zip64 central directory locator not found",ea="Central directory header not found",ta="Local file header not found",na="Zip64 extra field not found",ra="File contains encrypted entry",sa="Encryption method not supported",aa="Compression method not supported",ia="Split zip file",oa="Overlapping entry found",ca="Entry data out of bounds",la="Ambiguous archive",da="Encrypted central directory is not supported",ua="Unsafe filename",wa="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",fa="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",pa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",ma=/^[a-zA-Z]:/,ha="utf-8",ya="cp437",Sa=[[Ss,M],[gs,M],[bs,M],[xs,N]],ga={[N]:{Oe:Ga,bytes:4},[M]:{Oe:Xa,bytes:8}};class ba{constructor(e,t={}){n.assign(this,{reader:new os(e),options:t,Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await ds(r),r.size!==ie&&r.readUint8Array||(r=new Wr(await an(r.readable)),await ds(r)),r.size<K)throw new w(Js);const a=Oa(e,t.options),o=a==Ee,c=a!=De,d=((e,t)=>{if(e!==ie){const t=Oe(e);if("number"!=typeof t||s.isNaN(t)||t<0)throw new w(pa);return t}return t==Ee?0:t==De?1/0:N})(Ba(t,e,"maxAppendedDataSize"),a),u=((e,t)=>{if(e===ie)return t;if(!_a(e))throw new w(fa);return e})(Ba(t,e,"filenameValidation"),a),f=Ba(t,e,"normalizeFilename"),{Ne:p,Le:m}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,d,u,w]of La(e,s)){const s=Ya(n,u+20);if(w+K+s==r){const s=await Pa(e,n,i,u,w,r,a);if(2==s){if(o||(o=Wa(d,u,w)),l++,!t||l>1)break}else 1!=s||c||(c=Wa(d,u,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,d]of La(e,s)){const s=Wa(c,l,d);a||(a=s);const u=await Pa(e,t,i,l,d,r,n);if(2==u)return s;1!=u||o||(o=s)}return o||a})(e,n,a)),{Ne:o,Le:l}})(r,c,d);if(!p)throw await(async e=>await Ua(e)==P)(r)?new w(ia):new w(Qs);c&&m>1&&Za("multiple end of central directory records");const h=Qe(p);let y=Ga(h,12),S=Ga(h,16);const g=p.offset,b=Ya(h,20),x=g+K+b;r.size-x>d&&Za("appended data");let z=Ya(h,4);const F=r.Ie||0;let R,D,k,A,v=Ya(h,6),T=Ya(h,10),C=0,I=G;const U=S==M||y==M||T==N||v==N;if(S!=M&&v!=N&&(S+=Ia(r,v)),U){const e=p.offset>=Y?await ws(r,p.offset-Y,Y):ue,t=Qe(e);if(e.length==Y&&Ga(t,0)==q){S=Ia(r,Ga(t,4))+Xa(t,8);let e=await ws(r,S,G),a=Qe(e);const c=p.offset-Y-G;if((e.length<G||Ga(a,0)!=j)&&S!=c&&c>=0){const t=S;S=c,S>t&&(C=S-t),e=await ws(r,S,G),a=Qe(e)}if(e.length<G||Ga(a,0)!=j)throw new w($s);if(D=!0,k=Xa(a,4)>44,k){const e=i.min(s(Xa(a,4))-44,r.size-S-G);e>0&&(I+=e,A=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=Qe(e),a=Ya(r,26);n.assign(t,{compressionMethod:Ya(r,0),compressedSize:s(Xa(r,2)),uncompressedSize:s(Xa(r,10)),encryptionAlgorithm:Ya(r,18),bitLength:Ya(r,20),flags:Ya(r,22),hashAlgorithm:Ya(r,24),hashData:e.subarray(28,28+a)})}return t})(await ws(r,S+G,e)))}z==N?z=Ga(a,16):o&&z!=Ga(a,16)&&Za("mismatched zip64 end of central directory record"),v==N?v=Ga(a,20):o&&v!=Ga(a,20)&&Za("mismatched zip64 end of central directory record"),T==N?T=Xa(a,32):o&&T!=Xa(a,32)&&Za("mismatched zip64 end of central directory record"),y==M?y=Xa(a,40):o&&y!=Xa(a,40)&&Za("mismatched zip64 end of central directory record"),S=Ia(r,v)+Xa(a,48)+C}}let _=y;const O=p.offset-(D?I+Y:0);if(S>=r.size&&(C=r.size-S-y-K,S=r.size-y-K),F!=z)throw new w(ia);if(S<0)throw new w(Js);let W=0,V=await ws(r,S,y),Z=Qe(V);if(y){if(V.length<4)throw new w(Js);const e=O-y;if(S!=e&&v==z){let t=!(Ga(Z,W)==B||A&&A.compressedSize||Fa(Z));if(!t&&e>=0&&e+4<=r.size&&(t=Ga(Qe(await ws(r,e,4)),0)==B),t){const t=S;S=e,S>t&&(C+=S-t),V=await ws(r,S,y),Z=Qe(V)}}}const H=O-S;if(y!=H&&H>=0&&v==z&&(y=H,V=await ws(r,S,y),Z=Qe(V)),S<0||S>=r.size)throw new w(Js);t.directoryOffset=S,t.directoryLength=_;const X=Ha(t,e,"decryptCentralDirectory");let J,re;if(X&&T&&V.length>=4&&Ga(Z,0)!=B&&(k||Fa(Z))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n})(A,_,V.length);re=V.subarray(e),V=await X(V.subarray(0,e),A),Z=Qe(V),_=V.length,J=!0}R=S;const se=Ba(t,e,"filenameEncoding"),ae=Ba(t,e,"commentEncoding"),oe=o?new l:ie;let ce;for(let s=0;s<T;s++){const a=new za(r,t.options);if(W+46>V.length||Ga(Z,W)!=B){if(0==s&&!J&&(k||Fa(Z)))throw new w(da);throw new w(ea)}Ra(a,Z,W+6);const c=!!a.bitFlag.languageEncodingFlag,l=W+46,d=l+a.filenameLength,p=d+a.extraFieldLength,m=Ya(Z,W+4),h=!(m>>8),y=m>>8==3,S=V.subarray(l,d),g=Ya(Z,W+32),b=p+g,x=V.subarray(p,b),z=c,F=c,D=Ga(Z,W+38),A=D&L,v={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},I=Ga(Z,W+42),U=Ha(t,e,"decodeText")||br,_=z?ha:se||ya,O=F?ha:ae||ya;let M=U(S,_,ze);if(M===ie&&(M=br(S,_)),f){const e=f(M);e!==ie&&(M=e)}if(Na(M,u)){const e=new w(ua);throw e.filename=M,e}let P=U(x,O,Fe);P===ie&&(P=br(x,O)),n.assign(a,{index:s,We:J,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,Pe:g,offset:I,diskNumberStart:Ya(Z,W+34),internalFileAttributes:Ya(Z,W+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:v,rawFilename:S,filenameUTF8:z,commentUTF8:F,rawExtraField:V.subarray(d,p),rawComment:x,filename:M,comment:P}),Da(a,a,Z,W+6),a.offset+=C,R=i.min(Ia(r,a.diskNumberStart)+a.offset,R),o&&(oe.has(a.filename)&&(ce=!0),oe.add(a.filename));const H=a.externalFileAttributes>>16&N;a.unixMode===ie&&16877&H&&(a.unixMode=H);const j=!!(a.unixMode&ee),q=!!(a.unixMode&te),K=!!(512&a.unixMode),Y=40960==((a.unixMode===ie?H:a.unixMode)&Q),G=!Y&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&H)),X=a.unixMode!==ie&&(a.unixMode&Q)==$,re=(H&Q)==$;n.assign(a,{setuid:j,setgid:q,sticky:K,symlink:Y,unixExternalUpper:H,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:X||re||h&&v.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new Xs(a);le.getData=(e,n)=>a.getData(e,le,t.Me,n),le.arrayBuffer=async e=>{const n=new E,r=an(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Me,e),r},W=b;const{onprogress:de}=e;if(de)try{await de(s+1,T,new Xs(a))}catch{}yield le}let le=W,de=Ea(V.subarray(W))||(J?Ea(re):ie);if(!de&&!J){const e=S+W,t=i.min(O-e,65541);t>=6&&(de=Ea(await ws(r,e,t)))}de&&(t.digitalSignature=de,le=W+6+de.length),o&&W!=_&&le!=_&&Za("trailing central directory data"),ce&&Za("duplicate filename");const we=Ba(t,e,"extractPrependedData"),fe=Ba(t,e,"extractAppendedData"),pe=(o||we)&&T&&4==R&&await(async e=>{const t=await Ua(e);return t==P||808471376==t})(r)?4:0;return o&&(C||T&&R>pe)&&Za("prepended data"),we&&(t.prependedData=R>pe?await ws(r,pe,R-pe):ue),t.comment=b?await ws(r,g+K,b):ue,fe&&(t.appendedData=x<r.size?await ws(r,x,r.size-x):ue),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class xa{constructor(e={}){const{readable:t,writable:n}=new E,r=new ba(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new E;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class za{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=He(),{reader:o,index:c,offset:l,diskNumberStart:d,extraFieldAES:u,extraFieldZip64:f,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:S,uncompressedSize:g,compressedSize:b}=s,{dataDescriptor:x}=m,z=t.localDirectory={},F=Ia(o,d)+l,E=await ws(o,F,re),R=Qe(E);let k=Ba(s,r,we),A=Ba(s,r,fe);const v=Ba(s,r,pe);if(Ie(k,A),k=k&&k.length&&k,A=A&&A.length&&A,u&&99!=u.originalCompressionMethod)throw new w(aa);if(E.length<re||Ga(R,0)!=W)throw new w(ta);Ra(z,R,4);const{extraFieldLength:T,filenameLength:C}=z,I=Ba(s,r,"checkLocalDirectory"),U=Oa(r,s.options),_=((e,t)=>e===ie?t!=De:!!e)(I,U),O=((e,t)=>e===ie?t==Ee:!!e)(I,U);let M=ue;if(O&&(C||T)){const e=await ws(o,F+re,C+T);M=e.subarray(0,C),z.rawExtraField=e.subarray(C)}else z.rawExtraField=T?await ws(o,F+re+C,T):ue;O&&(z.rawFilename=M),Da(s,z,R,4,!0),_&&((e,t,n,r)=>{const{rawFilename:s}=e,a=e.We&&!(8192&~t.rawBitFlag);!r||a||n.length==s.length&&!n.some((e,t)=>e!=s[t])||Za("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Za("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Za("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Za("mismatched local file header (crc32 or sizes)")})(s,z,M,O);const{lastAccessDate:N,creationDate:P,uid:Z,gid:B}=z;N&&(t.lastAccessDate=N),P&&(t.creationDate=P),Z!==ie&&t.uid===ie&&(t.uid=Z),B!==ie&&t.gid===ie&&(t.gid=B);const H=s.encrypted&&z.encrypted&&!v,j=H&&!u;if(v||(t.zipCrypto=j),H&&!(64&~z.rawBitFlag))throw new w(sa);const q=v?ie:pn(p);if(0!=p&&8!=p&&9!=p&&!q&&!v)throw new w(aa);if(H){if(!j&&(u.strength<1||u.strength>3))throw new w(sa);if(!k&&!A)throw new w(ra)}const K=F+re+C+T;if(K+b>o.size)throw new w(ca);const Y=b,G=sn(o.createReadable({offset:K,size:Y})),X=Ce(Ba(s,r,me)),J=Ba(s,r,"checkPasswordOnly");let Q=Ba(s,r,"checkOverlappingEntry");const $=Ba(s,r,"checkOverlappingEntryOnly");$&&(Q=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!v,ae=v?b:g,oe=9==p;let ce=Ba(s,r,ye);oe&&(ce=!1);const le=Ba(s,r,"checkCrc32"),de=(le===ie?Ba(s,r,"checkSignature"):le)&&!v&&(!H||j||u&&1==u.vendorVersion),be={options:{codecType:Mn,password:k,rawPassword:A,zipCrypto:j,encryptionStrength:u&&u.strength,checkCrc32:de,checkAuthenticationCode:Ba(s,r,"checkAuthenticationCode"),passwordVerification:j&&(x?S>>>8&L:y>>>24&L),outputSize:ae,crc32:y,compressed:se,encrypted:H,useWebWorkers:Ba(s,r,he),useCompressionStream:ce,transferStreams:Ba(s,r,Se),deflate64:oe,format:q?q.format:ie,codecURI:q?q.codecURI:ie,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:J},config:a,oe:{signal:X,size:Y,onstart:ee,onprogress:te,onend:ne}};let xe,ze;Q&&await(async({reader:e,Ve:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,Ze:o,dataDescriptor:c,extraFieldZip64:l,Me:d})=>{let u=0;if(c&&(u=l?20:12),u){const n=await ws(e,o+a,u+4),r=Qe(n);let c=n.length==u+4&&Ga(r,0)==V;if(c){const e=Ca(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?u+=4:c=!1}if(n.length>=u){const e=Ca(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const f={start:r,end:o+a+u,Ve:t};for(const[e,t]of d)if(e!=n&&f.start<t.end&&t.start<f.end){const e=new w(oa);throw e.overlappingEntry=t.Ve,e}d.set(n,f)})({reader:o,Ve:t,index:c,offset:F,crc32:y,compressedSize:b,uncompressedSize:g,Ze:K,dataDescriptor:x||z.bitFlag.dataDescriptor,extraFieldZip64:f||z.extraFieldZip64,Me:n});try{if(!$){J&&(e=new D),e=new cs(e),await ds(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,b,se)),({writable:xe}=e);const{outputSize:t}=await fr({readable:G,writable:xe},be);if(e.size+=t,t!=ae)throw new w(yn)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=gt)throw ze=t,t}finally{if((ls(e)||!Ba(s,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():xe}}function Fa(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Ga(e,n))return!0;return!1}function Ea(e){if(e.length>=6){const t=Qe(e);if(Ga(t,0)==Z){const n=Ya(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Ra(e,t,r){const s=e.rawBitFlag=Ya(t,r+2),a=!(1&~s),i=Ga(t,r+6);n.assign(e,{encrypted:a,version:Ya(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:ja(i),filenameLength:Ya(t,r+22),extraFieldLength:Ya(t,r+24)})}function Da(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Qe(i);let u=0;try{for(;u<i.length;){const e=Ya(d,u),t=Ya(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=Ya(r,s+4);n.assign(t,{signature:Ga(r,s+10),crc32:Ga(r,s+10),compressedSize:Ga(r,s+14),uncompressedSize:Ga(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=Qe(e.data),r=Sa.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+ga[t].bytes,0);if(e.data.length<s)throw new w(na);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=ga[o];t[i]=e[i]=c.Oe(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const m=l.get(28789);m&&(ka(m,ps,ms,t,e),t.extraFieldUnicodePath=m);const h=l.get(25461);h&&(ka(h,hs,ys,t,e),t.extraFieldUnicodeComment=h);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=Qe(e.data),a=Ka(s,4);n.assign(e,{vendorVersion:Ka(s,0),vendorId:Ka(s,2),strength:a,originalCompressionMethod:r,compressionMethod:Ya(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const S=l.get(13);S&&(Aa(S,t),t.extraFieldPkwareUnix=S);const g=l.get(22613);g&&(Aa(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(((e,t)=>{const r=Qe(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=Ya(r,a),n=Ya(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=Qe(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:qa(a),lastAccessDate:qa(i),creationDate:qa(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let z;if(x&&(z=va(x,t,!1),t.extraFieldUnix=x),!z){const e=l.get(30837);e&&(va(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(X);F&&(((e,t,n)=>{if(!e.data.length)return;const r=Qe(e.data),s=Ka(r,0),a=[],i=[];n?(1&~s||(a.push(zs),i.push(Fs)),2&~s||(a.push(Es),i.push(Rs)),4&~s||(a.push(Ds),i.push(ks))):e.data.length>=5&&(a.push(zs),i.push(Fs));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=Ga(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(F,t,a),t.extraFieldExtendedTimestamp=F);const E=l.get(6534);E&&(t.extraFieldUSDZ=E)}function ka(e,t,r,s,a){if(e.data.length<5)return void(e.valid=!1);const i=Qe(e.data),o=new ct;o.append(a[r]);const c=Qe(new f(4));c.setUint32(0,o.get(),!0);const l=Ga(i,1);n.assign(e,{version:Ka(i,0),[t]:br(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Ga(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Aa(e,t){if(e.data.length<8)return;const r=Qe(e.data),s={lastAccessDate:new o(1e3*(0|Ga(r,0))),lastModDate:new o(1e3*(0|Ga(r,4)))};e.data.length>=12&&(s.uid=Ya(r,8),s.gid=Ya(r,10)),n.assign(e,s),n.assign(t,s)}function va(e,t,r){try{const s=Qe(e.data);let a,i;if(r){let t=0;const r=Ka(s,t++),o=Ka(s,t++);a=Ta(e.data.subarray(t,t+o)),t+=o;const c=Ka(s,t++);i=Ta(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else e.data.length>=4&&(a=Ya(s,0),i=Ya(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function Ta(e){const t=new f(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ca(e,t,n){const r=Ga(e,t);let s,a;return n?(s=Xa(e,t+4),a=Xa(e,t+12)):(s=Ga(e,t+4),a=Ga(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Ia(e,t){return e._e?e._e(t):0}async function Ua(e){return Ga(Qe(await ws(e,0,4)))}function _a(e){return e===Ee||e===Re||e===De}function Oa(e,t){return Ma(e,Ma(t,Re))}function Ma(e,t){const n=e.strictness;if(n!==ie){if(!_a(n))throw new w(wa);return n}const r=e.checkAmbiguity;return r===ie?t:r?Ee:t==De?De:Re}function Na(e,t){if(t==De)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||ma.test(e))||t==Ee&&(n.includes(".")||n.includes(""))}async function*La(e,t){const n=e.size-t,r=await ws(e,n,t),s=Qe(r);for(let e=r.length-K;e>=0;e--)Ga(s,e)==H&&(yield[s,n,r,e,n+e])}function Wa(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function Pa(e,t,n,r,s,a,i){const o=Ya(t,r+10),c=Ga(t,r+12),l=Ga(t,r+16);if(o==N||c==M||l==M)return await Va(e,t,n,s-Y,a,i)==q?2:0;if(!o&&!c)return 1;const d=Ya(t,r+6);for(const r of[s-c,Ia(e,d)+l])if(await Va(e,t,n,r,a,i)==B)return 2;return 0}async function Va(e,t,n,r,s,a){return r<0||r+4>s?ie:r>=n?Ga(t,r-n):a.count>0?(a.count--,Ga(Qe(await ws(e,r,4)),0)):ie}function Za(e){const t=new w(la);throw t.reason=e,t}function Ba(e,t,n){return t[n]===ie?e.options[n]:t[n]}function Ha(e,t,n){return Te(Ba(e,t,n))}function ja(e){const t=(4294901760&e)>>16,n=e&N;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function qa(e){return new o(s(e/a(1e4)-a(116444736e5)))}function Ka(e,t){return e.getUint8(t)}function Ya(e,t){return e.getUint16(t,!0)}function Ga(e,t){return e.getUint32(t,!0)}function Xa(e,t){return s(e.getBigUint64(t,!0))}var Ja=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:la,ERR_BAD_FORMAT:Js,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ea,ERR_ENCRYPTED:ra,ERR_ENCRYPTED_CENTRAL_DIRECTORY:da,ERR_ENTRY_DATA_OUT_OF_BOUNDS:ca,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:$s,ERR_EOCDR_NOT_FOUND:Qs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:na,ERR_INVALID_AUTHENTICATION_CODE:St,ERR_INVALID_COMPRESSED_DATA:Sn,ERR_INVALID_CRC32:gn,ERR_INVALID_FILENAME_VALIDATION:fa,ERR_INVALID_MAX_APPENDED_DATA_SIZE:pa,ERR_INVALID_PASSWORD:ht,ERR_INVALID_SIGNATURE:yt,ERR_INVALID_STRICTNESS:wa,ERR_INVALID_UNCOMPRESSED_SIZE:yn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ta,ERR_OVERLAPPING_ENTRY:oa,ERR_SPLIT_ZIP_FILE:ia,ERR_UNSAFE_FILENAME:ua,ERR_UNSUPPORTED_COMPRESSION:aa,ERR_UNSUPPORTED_ENCRYPTION:sa,ERR_WORKER_STARTUP_TIMEOUT:Wn,ZipReader:ba,ZipReaderStream:xa});const Qa="File already exists",$a="Zip file comment exceeds 64KB",ei="Invalid zip file comment (must be a Uint8Array)",ti="File entry comment exceeds 64KB",ni="Invalid file entry comment (must be a string)",ri="Invalid date (must be a valid Date instance)",si="File entry name exceeds 64KB",ai="Version exceeds 65535",ii="The strength must equal 1, 2, or 3",oi="Encryption is not supported in USDZ files",ci="Encryption is not supported when the 'passThrough' option is set",li="Invalid extra field (must be a Map)",di="Invalid extra field type (must be integer 0..65535)",ui="Invalid extra field data (must be a Uint8Array)",wi="Extra field data exceeds 64KB",fi=-2147483648,pi=2147483647,mi=a(0),hi=a("0x7fffffffffffffff"),yi="Zip64 is not supported (set the 'zip64' option to 'true')",Si="Undefined uncompressed size",gi="Undefined compression method",bi="Undefined reader",xi="Zip file not empty",zi="Invalid uid (must be integer 0..2^32-1)",Fi="Invalid gid (must be integer 0..2^32-1)",Ei="Invalid UNIX mode (must be integer 0..65535)",Ri="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Di="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ki="Invalid msdosAttributesRaw (must be integer 0..255)",Ai="Invalid msdosAttributes (must be an object with boolean flags)",vi="Invalid level (must be integer 0..9)",Ti="Signature data exceeds 64KB",Ci=new f([7,0,2,0,65,69,3,0,0]),Ii="infozip",Ui="unix";let _i=0;const Oi=[];class Mi{constructor(e,t={}){e=new cs(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,Be:a,options:t,He:new c,je:new l,offset:t[be]===ie?e.size||e.writable.size||0:t[be],qe:t[be]===ie?0:t[be]-(e.size||e.writable.size||0),Ke:new l,Ye:0,Ge:ie})}async prependZip(e){if(this.je.size)throw new w(xi);e=new os(e),await ds(e),e.size!==ie&&e.readUint8Array||(e=new Wr(await an(e.readable)),await ds(e));const{ZipReader:r}=await S.resolve().then(()=>Ja),s=new r(e),a=await s.getEntries();await s.close(),await ds(this.writer);const{directoryOffset:i}=s;this.Be&&(delete this.Be,await(async e=>Qe(await ws(e,0,4)).getUint32(0,!0)==P)(e)||(await Xi(this.writer,Gi()),this.offset+=4));const o=await(async(e,n,r,s)=>{const{writer:a}=e,i=new c;if(a.closeDisk){const o=t.from(r).sort((e,t)=>Yi(n,e)-Yi(n,t));let c=0;for(const t of o){const r=Yi(n,t);await qi(e,n,c,r-c),Hi(a,await Ki(n,r))&&await a.closeDisk(),i.set(t,{offset:ji(e,a),diskNumberStart:Zi(a)}),c=r}await qi(e,n,c,s-c)}else{const t=e.offset;await qi(e,n,0,s),r.forEach(e=>i.set(e,{offset:t+Yi(n,e),diskNumberStart:0}))}return i})(this,e,a,i);this.je=new l(a.map(e=>e.filename)),this.He=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,zip64:w}=e;let{compressionMethod:f,Xe:p,Je:m,Qe:h,$e:y,et:S,rawExtraField:g}=e;const{level:b,languageEncodingFlag:x,dataDescriptor:z}=c;p=p||ue,m=m||ue,h=h||ue,y=y||ue,S=S||ue,g=g||ue,e.extraFieldAES&&(f=99);const F=mo(p,m,h,y,S,g),E=w&&d>=M,R=w&&u>=M,D=-7&yo(b,x,z,l,f)|b<<1,{nt:k,st:A}=ho({version:t,bitFlag:D,compressionMethod:f,uncompressedSize:d,compressedSize:u,rawLastModDate:r,rawFilename:i,it:R,ot:E,extraFieldLength:F}),{crc32:v}=e;v!==ie&&wo(A,10,v);const{offset:T,diskNumberStart:C}=o.get(e);return n.assign(e,{ot:E,it:R,offset:T,diskNumberStart:C,ct:!1,Xe:p,Je:m,Qe:h,$e:y,et:S,rawExtraField:g,extendedTimestamp:h.length>0||y.length>0,lt:1+(s?2:0)+(a?4:0),nt:k,st:A}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{Ke:d}=l;let u,p;_i<He().maxWorkers?_i++:await new S(e=>Oi.push(e));try{if(e=e.trim(),to(l,c,Ps)&&!e.endsWith(ne)&&(e+=ne),l.je.has(e))throw new w(Qa);return l.je.add(e),p=!0,u=(async(e,r,c,l)=>{const d=((e,n,r)=>{n=n.trim();let s=to(e,r,_s),a=to(e,r,Ls,s?20:768);const i=to(e,r,Vs),o=io(e,r,"uid"),c=io(e,r,"gid");let l=io(e,r,js),d=to(e,r,"unixExtraFieldType"),u=to(e,r,qs),f=to(e,r,Ks),p=to(e,r,Ys);if(_e(o,M,zi),_e(c,M,Fi),_e(l,N,Ei),d!==ie&&d!==Ii&&d!==Ui)throw new w(Ri);if(d===Ui&&(o!==ie&&o>N||c!==ie&&c>N))throw new w(Di);d!==ie||o===ie&&c===ie||(d=Ii);let m=io(e,r,Is),h=to(e,r,Us);const y=m!==ie||h!==ie;if(o!==ie||c!==ie||l!==ie||d||i?(s=!1,a=a&L|768):y&&(s=!0,a&=L),_e(m,L,ki),h&&("object"!=typeof h||t.isArray(h)))throw new w(Ai);if(a>N)throw new w(ai);let S=so(e,r,vs,Cs);const g=S!==ie;g||(S=0),!r[Ps]&&n.endsWith(ne)&&(r[Ps]=!0);const b=to(e,r,Ps);if(b?(n.endsWith(ne)||(n+=ne),g||(S=16,s||(S|=16877<<16))):s||g||(S=i?493<<16:27525120),!s){const e=l!==ie||!!(u||f||p);l=l===ie?S>>16&N:l&N,u?l|=ee:u=!!(l&ee),f?l|=te:f=!!(l&te),p?l|=512:p=!!(512&l),g&&!e||(b?l=-61441&l|$:l&Q||(l|=32768),S=(l&N)<<16|S&N)}return({msdosAttributesRaw:m,msdosAttributes:h}=((e,t)=>{if(e!==ie)e&=L;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&L}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(m,h)),y&&(S=S&M|m&L),{name:n,ut:{versionMadeBy:a,msDosCompatible:!!s,externalFileAttributes:S,unixExternalUpper:S>>16&N,uid:o,gid:c,unixMode:l,unixExtraFieldType:d,symlink:l!==ie&&40960==(l&Q),setuid:u,setgid:f,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}})(e,r,l);({name:r}=d);const u=((e,t,n)=>{const r=ro(e,n,"encodeText")||dt;let a=r(t,ze);if(a===ie&&(a=dt(t)),mo(a)>N)throw new w(si);const i=n[hs]||"";if(typeof i!=de)throw new w(ni);let c=r(i,Fe);if(c===ie&&(c=dt(i)),mo(c)>N)throw new w(ti);const l=to(e,n,Ns,20);if(l>N)throw new w(ai);const d=no(e,n,zs,new o),u=no(e,n,Es),f=no(e,n,Ds),p=so(e,n,As,Ts,0),m=to(e,n,pe),h=to(e,n,we),y=to(e,n,fe);Ie(h,y);const S=io(e,n,"encryptionStrength",3),g=to(e,n,Ws),b=to(e,n,"extendedTimestamp",!0),x=to(e,n,"ntfsTimestamp"),z=to(e,n,"keepOrder",!0),F=to(e,n,he),E=to(e,n,Se),R=to(e,n,"bufferedWrite"),D=ro(e,n,"createTempStream"),k=to(e,n,"dataDescriptorSignature",!0),A=Ce(to(e,n,me)),v=to(e,n,"useUnicodeFileNames",!0),T=to(e,n,Zs),C=m||T===ie?ie:pn(T);if(!m&&T!==ie&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let I=io(e,n,"level");if(_e(I,9,vi),e.options[xe]){if(h!==ie||y!==ie)throw new w(oi);I===ie&&T===ie&&(I=0)}m&&(I=ie);let U=to(e,n,ye),_=to(e,n,"dataDescriptor");R&&_===ie&&(_=!1),(_===ie||g)&&(_=!0),I!==ie&&6!=I&&(U=!1);const O=to(e,n,Os);if(!(g||h===ie&&y===ie||s.isInteger(S)&&S>=1&&S<=3))throw new w(ii);const M=Li(n[Hs]),L=Li(n.localExtraField);return{comment:i,ut:{rawFilename:a,rawComment:c,version:l,lastModDate:d,lastAccessDate:u,creationDate:f,internalFileAttributes:p,passThrough:m,password:h,rawPassword:y,encryptionStrength:S,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:R,createTempStream:D,dataDescriptorSignature:k,signal:A,useUnicodeFileNames:v,compressionMethod:T,format:C?C.format:ie,codecURI:C?C.codecURI:ie,wt:C?C.versionNeeded:ie,level:I,useCompressionStream:U,dataDescriptor:_,zip64:O,rawExtraField:M,ft:L}}})(e,r,l),{comment:p}=u,m=l[Hs];let h;e.He.set(r,ie);try{const{ut:t}=u;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(An(t)||kn(t,xn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(He())||(t.level=0);const s=await(async(e,t,{ut:r},s)=>{if(r.passThrough&&!t&&!to(e,s,Ps))throw new w(bi);let a;return t&&(t=new os(t),await ds(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:p}=r,m=0,h=0;if(a&&t){if(h=s[Ss],h===ie)throw new w(Si);if(p===ie)throw new w(gi)}const y=!0===u,S=to(e,s,Ms);if(t&&a&&!S&&mo(o,c))throw new w(ci);const g=t&&(!!(o&&mo(o)||c&&mo(c))||a&&S);t||(f=0,p=0);const b=g?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=h,m=n===ie?oo(h)+b:n):n===ie?(d=!0,(u||u===ie)&&(u=!0,h=m=4294967296)):(s.uncompressedSize=h=n,m=(co(p,f)?oo(h):h)+b));const x=y||h>=M,z=y||m>=M;if(x||z){if(!1===u)throw new w(yi);u=!0}return u=u||!1,{ht:m,ut:{dataDescriptor:d,zip64:u,ot:x,it:z,uncompressedSize:h,level:f,compressionMethod:p,encrypted:g}}})(e,!!t,a,r,s))})(e,c,u,l);({reader:c}=s);const p=Bi(e.writer),m=Zi(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:p,ft:m,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:S,passThrough:g,encrypted:b,ot:x,it:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&co(D,a);let A;const v=g||!k,T=c&&(e.bufferedWrite||!u||!x&&!z||v),C=T||c&&u&&(x||z);if(c&&(x||z)){const e=20,t=Vi(e);if(t.yt(1),t.yt(e-4),A=t.St,T&&(t.gt(F),v)){const e=b?l?12:16+4*h:0;t.gt(g?0:F+e)}}else A=ue;let I,U,_,O,M;if(b&&!l){const e=Vi(mo(Ci)+2);e.yt(39169),e.bt(Ci),I=e.St,I[8]=h}else I=ue;if(y){const e=Qi(n),t=$i(e);if(t){const t=9+(r?4:0)+(s?4:0),n=Vi(t);O=1+(r?2:0)+(s?4:0),n.yt(X),n.yt(t-4),n.xt(O),n.zt(e),r&&n.zt(eo(Qi(r))),s&&n.zt(eo(Qi(s))),_=n.St}else _=ue;if(S===ie?!t||r||s:S)try{const e=Ji(n),t=Vi(36);t.yt(10),t.yt(32),t.Ft(4),t.yt(1),t.yt(24),t.gt(e),t.gt(r?Ji(r):e),t.gt(s?Ji(s):e),U=t.St}catch{U=ue}else U=ue}else U=_=ue;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Ii||t===ie&&n===ie)if(r!=Ui||t===ie&&n===ie)M=ue;else{const e=Vi(8);e.yt(30805),e.yt(4),e.yt((t===ie?0:t)&N),e.yt((n===ie?0:n)&N),M=e.St}else{const e=Pi(t),r=Pi(n),s=3+e.length+r.length,a=Vi(4+s);a.yt(30837),a.yt(s),a.xt(1),a.xt(e.length),a.bt(e),a.xt(r.length),a.bt(r),M=a.St}}catch{M=ue}D===ie&&(D=k?8:0);const{wt:L}=e;k&&L!==ie&&(R=R>L?R:L),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,g&&E!==ie&&(I[4]=1),uo(Qe(I),9,D),D=99);const P=C?mo(A):0,V=P+mo(I,_,U,M,p,m);if(V+(e[xe]?67:0)>N)throw new w(wi);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{nt:B,st:H,rawLastModDate:j}=ho({version:R,bitFlag:yo(a,d,u,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:Z<ae?ae:Z>se?se:Z,rawFilename:t,it:z,ot:x,extraFieldLength:V}),q=Vi(re+mo(t)+V),K=q.St,Y=Qe(K);return q.zt(W),q.bt(B),q.bt(t),C&&q.bt(A),q.bt(I),q.bt(_),q.bt(U),q.bt(M),q.bt(p),q.bt(m),u&&(z||wo(Y,18,0),x||wo(Y,22,0)),{Et:K,Rt:Y,nt:B,st:H,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,lt:O,Xe:ue,Dt:P,Qe:_,$e:U,et:M,Je:I,extraFieldLength:V}})(l=n.assign({},l,d.ut,u.ut,s.ut,{signature:l[Bs],crc32:l.crc32===ie?l[Bs]:l.crc32,offset:e.offset-p,diskNumberStart:m,[xe]:e.options[xe]})),g=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=ue,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new f(i),r=Qe(s),n&&(a=4,wo(r,0,V))),{kt:s,At:r,vt:a}})(l),b=mo(y.Et,g.kt);h=await(async(e,t,r,s,i)=>{const{He:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:u}=i,{Tt:f}=s,p=e.options[xe],m=e.Ge;let h,y,g,b,x,z,F,R={},k=0;o.set(t,R),e.Ge=R;try{let y;l&&(y=m&&m.Ct,R.Ct=new S(e=>g=e)),i.bufferedWrite||!l||e.It||e.Ye||!d?(h=!0,e.Ye++,F=i.createTempStream?await i.createTempStream():new E(ie,ie,{highWaterMark:oe}),F.size=0,await ds(c)):(F=c,await A()),await ds(F);const T=Bi(c);e.Be&&(delete e.Be,await Xi(c,Gi()),e.offset+=4),p&&!h&&Wi(s,e.offset-T);const{Et:C}=f;h||(await y,await v());const I=Zi(c),U=ji(e,c);if(R.diskNumberStart=I,h||(x=!0,z=c.size,await Xi(F,C)),R=await(async(e,t,{diskNumberStart:r,Ct:s},i,o,c)=>{const{Tt:l,Ut:d,_t:u}=i,{nt:f,st:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:S,version:g,compressionMethod:b,Xe:x,Dt:z,Qe:F,lt:E,$e:R,et:D,Je:k}=l,{kt:A}=d,{rawFilename:v,lastAccessDate:T,creationDate:C,password:I,rawPassword:U,level:_,zip64:O,ot:N,it:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe,useCompressionStream:me,passThrough:he,format:ye,codecURI:Se}=c,ge={Ct:s,versionMadeBy:H,zip64:O,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:j,Xe:x,Dt:z,Qe:F,$e:R,et:D,Je:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe};let{crc32:be,uncompressedSize:xe}=c,ze=0;he||(xe=0);const{writable:Fe}=t;if(e){const n=sn(fs(e)),r=e.size,s={options:{codecType:On,level:_,rawPassword:U,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&h>>8&L,computeCrc32:!he,compressed:S&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:me,transferStreams:Y,format:ye,codecURI:Se,compressionMethod:b},config:o,oe:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const e=await fr({readable:n,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,he||(xe=e.inputSize,y&&!P||(be=e.crc32)),!W&&ze>=M||!N&&xe>=M)throw new w(yi)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,Tt:r,Ut:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{st:d,encrypted:u}=r,{At:w,vt:f}=s;u&&!o&&!c||e===ie||(wo(d,10,e),l&&wo(w,f,e)),i?l&&(fo(w,f+4,a(t)),fo(w,f+12,a(n))):(wo(d,14,t),wo(d,18,n),l&&(wo(w,f+4,t),wo(w,f+8,n)))})({crc32:be,compressedSize:ze,uncompressedSize:xe,Tt:l,Ut:d},c),V&&await Xi(t,A),n.assign(ge,{uncompressedSize:xe,compressedSize:ze,lastModDate:m,rawLastModDate:h,creationDate:C,lastAccessDate:T,encrypted:!!y,zipCrypto:!!P,size:u+ze,compressionMethod:b,version:g,nt:f,st:p,signature:be,crc32:!y||P||he?be:ie,lt:E,ot:N,it:W}),ge})(r,F,R,s,He(),i),h||(x=!1),o.set(t,R),R.filename=t,h){if(await S.all([F.writable.getWriter().close(),y]),await A(),b=!0,z=c.size,await v(),R.diskNumberStart=Zi(c),R.offset=ji(e,c),p){const t=s._t;Wi(s,e.offset-Bi(c)),R.size+=s._t-t}(({rawFilename:e,encrypted:t,zip64:n,Dt:r,crc32:s,compressedSize:i,uncompressedSize:o,ot:c,it:l},d,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==ie)&&wo(d,14,s),l||wo(d,18,i),c||wo(d,22,o)),n&&r){const t=re+mo(e)+4;fo(d,t,a(o)),fo(d,t+8,a(i))}})(R,f.Rt,i),await Xi(c,f.Et),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await r.ready,await r.write(e),t=mo(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(F.readable,c,u),c.size+=F.size,b=!1}else R.diskNumberStart=I,R.offset=U;return e.offset+=R.size,R}catch(n){if(b||x){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,h&&(e.offset+=k)}throw o.delete(t),n}finally{if(h&&e.Ye--,g&&g(),y&&y(),h&&F&&F.dispose)try{await F.dispose()}catch{}}async function A(){e.It=!0;const{Ot:t}=e;e.Ot=new S(t=>y=()=>{e.It=!1,t()}),await t}async function v(){Hi(c,mo(f.Et))&&await c.closeDisk()}})(e,r,c,{Tt:y,Ut:g,_t:b},l)}catch(t){throw e.He.delete(r),t}return n.assign(h,{name:r,comment:p,extraField:m,[Ts]:h.internalFileAttributes,[Cs]:h.externalFileAttributes}),new Xs(h)})(l,e,r,c),d.add(u),await u}catch(t){throw p&&l.je.delete(e),t}finally{d.delete(u);const e=Oi.shift();e?e():_i--}}remove(e){const{je:t,He:n}=this;if(typeof e==de&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ue,n={}){const{Ke:r,writer:s}=this,{writable:i}=s;if(!(e instanceof f))throw new w(ei);if(mo(e)>N)throw new w($a);for(;r.size;)await S.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,Je:r,rawComment:s,$e:a,et:i,rawExtraField:o,extendedTimestamp:c,lt:l,lastModDate:d,ot:u,it:f,uncompressedSize:p,compressedSize:m}=n,h=n.offset>=M,y=n.diskNumberStart>=N;let S,g;if(h||y||u||f){const e=4+(u?8:0)+(f?8:0)+(h?8:0)+(y?4:0),t=Vi(e);t.yt(1),t.yt(e-4),u&&t.gt(p),f&&t.gt(m),h&&t.gt(n.offset),y&&t.zt(n.diskNumberStart),S=t.St}else S=ue;n.Xe=S,n.Mt=h,n.ct=y;const b=Qi(d);if(c&&$i(b)){const e=Vi(9);e.yt(X),e.yt(5),e.xt(l),e.zt(b),g=e.St}else g=ue;n.Qe=g;const x=mo(S,r,a,i,g,o);if(x>N)throw new w(wi);t+=46+mo(e,s)+x}return t})(e.He),{Nt:i,Lt:o}=await(async(e,n,r)=>{const{He:s,writer:a}=e,i=new f(n);await ds(a);let o=0,c=0,l=Zi(a),d=Bi(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Xe:w,Je:f,Qe:p,$e:m,et:h,rawExtraField:y,rawComment:S,versionMadeBy:g,nt:b,st:x,ot:z,it:F,ct:E,Mt:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:v,compressedSize:T}=n,C=mo(w,f,p,m,h,y),I=46+mo(u,S)+C;Hi(a,o+I-c)&&(await Xi(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Zi(a),d=Bi(a)),z||wo(x,18,v),F||wo(x,14,T),(R||E)&&n.version<45&&uo(x,0,45);const U=Vi(I);if(U.zt(B),U.yt(g),U.bt(b.subarray(0,24)),U.yt(C),U.yt(mo(S)),U.yt(E?N:A),U.yt(D),U.zt(k),U.zt(R?M:t),U.bt(u),U.bt(w),U.bt(f),U.bt(p),U.bt(m),U.bt(h),U.bt(y),U.bt(S),po(i,U.St,o),o+=I,r.onprogress)try{await r.onprogress(e+1,s.size,new Xs(n))}catch{}}return await Xi(a,c?i.slice(c):i),{Nt:{diskNumber:l,diskOffset:d},Lt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=ro(e,n,"signCentralDirectory");if(r){const n=await r(t),s=mo(n);if(s>N)throw new w(Ti);const a=Vi(6+s);a.zt(Z),a.yt(s),a.bt(n);const{writer:i}=e;return Hi(i,mo(a.St))&&await i.closeDisk(),await Xi(i,a.St),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Nt:i,Wt:o}=r;let{Pt:c}=r,l=e.He.size,d=i.diskNumber,u=ji(e,i),f=Zi(s);Hi(s,K)&&f++;let p=to(e,n,Os);if(u>=M||c>=M||l>=N||f>=N){if(!1===p)throw new w(yi);p=!0}const m=mo(t);if(m>N)throw new w($a);const h=Vi(p?98:K);Hi(s,mo(h.St)+m)&&await s.closeDisk(),f=Zi(s),p&&(h.zt(j),h.gt(44),h.yt(45),h.yt(45),h.zt(f),h.zt(d),h.gt(l),h.gt(l),h.gt(c),h.gt(u),h.zt(q),h.zt(f),h.gt(a(ji(e,s))+a(c)+a(o)),h.zt(f+1),to(e,n,"supportZip64SplitFile",!0)&&(f=N,d=N),l=N,u=M,c=M),h.zt(H),h.yt(f),h.yt(d),h.yt(l),h.yt(l),h.zt(c),h.zt(u),h.yt(m),await Xi(s,h.St),m&&await Xi(s,t)})(e,n,r,{Nt:i,Pt:s,Wt:c})})(this,e,n),!ls(s)&&to(this,n,ge)||await i.getWriter().close(),s.getData?s.getData():i}}function Ni(e,t,n){e.Ke.add(t),t.catch(e=>{try{n(e)}catch{}})}function Li(e){if(!e)return ue;if(!(e instanceof c))throw new w(li);let t=0,n=0;e.forEach((e,n)=>{if(Ue(n,N,di),!(e instanceof f))throw new w(ui);if(mo(e)>N)throw new w(wi);t+=4+mo(e)});const r=new f(t),s=Qe(r);return e.forEach((e,t)=>{uo(s,n,t),uo(s,n+2,mo(e)),po(r,e,n+4),n+=4+mo(e)}),r}function Wi(e,t){const{Tt:n}=e;let{Et:r,extraFieldLength:s}=n,a=64-(t+mo(r))%64;a<4&&(a+=64);const i=new f(a),o=Qe(i);uo(o,0,6534),uo(o,2,a-4);const c=r;n.Et=r=new f(mo(c)+a),po(r,c),po(r,i,mo(c));const l=Qe(r);uo(l,28,s+a),n.Rt=l,e._t+=a}function Pi(e){if(e===ie)return ue;{const t=new f(4);Qe(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function Vi(e){const t=new f(e),n=Qe(t);let r=0;return{St:t,xt:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},yt:e=>{uo(n,r,e),r+=2},zt:e=>{wo(n,r,e),r+=4},gt:e=>{fo(n,r,a(e)),r+=8},bt:e=>{po(t,e,r),r+=mo(e)},Ft:e=>r+=e}}function Zi(e){const{diskNumber:t=0}=e;return t}function Bi(e){const{diskOffset:t=0}=e;return t}function Hi(e,t){const{availableSize:n=oe}=e;return t>n}function ji(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.qe:0)}async function qi(e,t,n,r){if(r>0){const{writer:s}=e;await fs(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function Ki(e,t){const n=await ws(e,t,re);if(mo(n)<re)return re;const r=Qe(n);return re+lo(r,26)+lo(r,28)}function Yi(e,{offset:t,diskNumberStart:n}){return t+(e._e?e._e(n):0)}function Gi(){const e=new f(4);return wo(Qe(e),0,P),e}async function Xi(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=mo(t),await r.write(t)}finally{r.releaseLock()}}function Ji(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return t<mi?mi:t>hi?hi:t}}function Qi(e){return i.floor(e.getTime()/1e3)}function $i(e){return e>=fi&&e<=pi}function eo(e){return i.min(pi,i.max(fi,e))}function to(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function no(e,t,n,r){const a=to(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(ri);return a}function ro(e,t,n){return Te(to(e,t,n))}function so(e,t,n,r,s){const a=ao(t,n,r),i=a===ie?ao(e.options,n,r):a;return i===ie?s:i}function ao(e,t,n){return e[t]===ie?e[n]:e[t]}function io(e,t,n,r){return Oe(to(e,t,n,r))}function oo(e){return e+5*(i.floor(e/16383)+1)}function co(e,t){return e===ie?t===ie||t>0:0!==e}function lo(e,t){return e.getUint16(t,!0)}function uo(e,t,n){e.setUint16(t,n,!0)}function wo(e,t,n){e.setUint32(t,n,!0)}function fo(e,t,n){e.setBigUint64(t,n,!0)}function po(e,t,n){e.set(t,n)}function mo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function ho({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,it:c,ot:l,extraFieldLength:d}){const u=Vi(26),w=u.St,f=Qe(w);if(u.yt(e),u.yt(t),u.yt(n),i===ie){const e=new m(1),t=Qe(e);uo(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),uo(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return u.zt(i),u.Ft(4),c||s!==ie?u.zt(c?M:s):u.Ft(4),l||r!==ie?u.zt(l?M:r):u.Ft(4),u.yt(mo(o)),u.yt(d),{nt:w,st:f,rawLastModDate:i}}function yo(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(e>=0&&e<=3&&(a|=6),e>3&&e<=5&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const So=1048576,go=".zip.js-temp",bo=1048576,xo=1048576,zo=".zip.js-temp",Fo="createSyncAccessHandle is only available in dedicated workers";try{(e=>{const t=Ke(Ge(e));n.assign(Le,t),n.assign(Be,t)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new u("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Wr,e.BlobWriter=Pr,e.Data64URIReader=class extends Or{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Vt:e,Zt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{Zt:n,Vt:r}=this,s=new f(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;e<c+t&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Mr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Bt:""})}writeUint8Array(e){const t=this;let n,s=t.Bt;const a=t.Bt.length;for(t.Bt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Bt+=r.fromCharCode(e[n]);s.length>2?t.data+=F(s):t.Bt=s+t.Bt}getData(){return this.data+F(this.Bt)}},e.ERR_AMBIGUOUS_ARCHIVE=la,e.ERR_BAD_FORMAT=Js,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ea,e.ERR_DUPLICATED_NAME=Qa,e.ERR_ENCRYPTED=ra,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=da,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=ca,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=$s,e.ERR_EOCDR_NOT_FOUND=Qs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=na,e.ERR_HTTP_RANGE=Fr,e.ERR_HTTP_RESOURCE_CHANGED=Er,e.ERR_INVALID_AUTHENTICATION_CODE=St,e.ERR_INVALID_CODEC_DEFINITION=cn,e.ERR_INVALID_CODEC_MODULE=dn,e.ERR_INVALID_COMMENT=$a,e.ERR_INVALID_COMMENT_TYPE=ei,e.ERR_INVALID_COMPRESSED_DATA=Sn,e.ERR_INVALID_CRC32=gn,e.ERR_INVALID_DATE=ri,e.ERR_INVALID_ENCRYPTION_STRENGTH=ii,e.ERR_INVALID_ENTRY_COMMENT=ti,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ni,e.ERR_INVALID_ENTRY_NAME=si,e.ERR_INVALID_EXTRAFIELD=li,e.ERR_INVALID_EXTRAFIELD_DATA=wi,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=ui,e.ERR_INVALID_EXTRAFIELD_TYPE=di,e.ERR_INVALID_FILENAME_VALIDATION=fa,e.ERR_INVALID_FUNCTION_OPTION=ke,e.ERR_INVALID_GID=Fi,e.ERR_INVALID_LEVEL=vi,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=pa,e.ERR_INVALID_MAX_WORKERS=Me,e.ERR_INVALID_MSDOS_ATTRIBUTES=ki,e.ERR_INVALID_MSDOS_DATA=Ai,e.ERR_INVALID_PASSWORD=ht,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Ae,e.ERR_INVALID_SIGNATURE=yt,e.ERR_INVALID_SIGNATURE_DATA=Ti,e.ERR_INVALID_STRICTNESS=wa,e.ERR_INVALID_UID=zi,e.ERR_INVALID_UNCOMPRESSED_SIZE=yn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ri,e.ERR_INVALID_UNIX_ID_SIZE=Di,e.ERR_INVALID_UNIX_MODE=Ei,e.ERR_INVALID_VERSION=ai,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Rr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ta,e.ERR_OVERLAPPING_ENTRY=oa,e.ERR_RESERVED_COMPRESSION_METHOD=ln,e.ERR_SPLIT_ZIP_FILE=ia,e.ERR_UNDEFINED_COMPRESSION_METHOD=gi,e.ERR_UNDEFINED_READER=bi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Si,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=ua,e.ERR_UNSUPPORTED_COMPRESSION=aa,e.ERR_UNSUPPORTED_CONTEXT=Fo,e.ERR_UNSUPPORTED_CRYPTO_API=bt,e.ERR_UNSUPPORTED_ENCRYPTION=sa,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=ci,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=oi,e.ERR_UNSUPPORTED_FORMAT=yi,e.ERR_WORKER_STARTUP_TIMEOUT=Wn,e.ERR_WRITER_NOT_INITIALIZED=Dr,e.ERR_ZIP_NOT_EMPTY=xi,e.HttpRangeReader=class extends ss{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ss,e.Reader=Or,e.SplitDataReader=as,e.SplitDataWriter=is,e.TextReader=class extends Wr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Pr{constructor(e){super(),n.assign(this,{encoding:e,Ht:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Ht:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>xr(e,t,!1))(new f(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Or{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Mr{constructor(e){super(),this.jt=e||262144}init(e=0){n.assign(this,{offset:0,St:new f(e>0?e:this.jt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.jt;for(;e<n;)e*=2;const r=t.St;t.St=new f(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.Writer=Mr,e.ZipReader=ba,e.ZipReaderStream=xa,e.ZipWriter=Mi,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new E;this.readable=t,this.zipWriter=new Mi(n,e),this.Ke=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new E({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Ni(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new E({start(e){t=e}});return Ni(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await S.all(t.from(this.Ke)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(Be,Ke(Ge(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=bo}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new D({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;r=an(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=So,directoryName:r=go,getDirectory:s=()=>v.storage.getDirectory()}=e;let a;function i(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const d=new D({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:d,readable:new R({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else u<e.length?t.enqueue(e[u++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=xo,directoryName:r=zo,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(Fo);const a=s||(()=>v.storage.getDirectory());let o;function c(){return o||(o=S.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,d=0;const u=new D({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:u,readable:new R({pull(t){if(o){const e=l-d;if(e<=0)return void t.close();const n=new f(i.min(524288,e)),r=s.read(n,{at:d});r?(d+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||t<0||t>N||typeof n!=de||!n.length)throw new w(cn);if(un.includes(t))throw new w(ln);const c=typeof a==le||typeof i==le;if(!(c||typeof r==de&&r.length))throw new w(cn);wn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&hn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of Ze)delete Be[e];n.assign(Be,Le)},e.terminateWorkers=async()=>{await S.allSettled(cr.map(e=>(Sr(e),e.terminate()))),Pn=ie,Vn=!1},e.unregisterCodec=e=>{const t=wn.get(e);if(t){let n;wn.delete(e),wn.forEach(e=>n=n||e.format==t.format),n||fn.delete(t.format)}}});
|