@zip.js/zip.js 2.8.61 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/zip-core.js CHANGED
@@ -493,7 +493,7 @@
493
493
  // Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
494
494
  // which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
495
495
  // table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
496
- // slower). Signedness is irrelevant to the result — the reads mask/shift it and the final
496
+ // slower). Signedness is irrelevant to the result: the reads mask/shift it and the final
497
497
  // `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
498
498
  const T = [[], [], [], [], [], [], [], []];
499
499
  for (let n = 0; n < 256; n++) {
@@ -3477,7 +3477,7 @@
3477
3477
 
3478
3478
  /* global TextDecoder */
3479
3479
 
3480
- const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
3480
+ const CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\u00B6\u00A7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0".split("");
3481
3481
  const VALID_CP437 = CP437.length == 256;
3482
3482
 
3483
3483
  function decodeCP437(stringValue) {
@@ -4723,6 +4723,7 @@
4723
4723
  const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
4724
4724
  const WARNING_APPENDED_DATA = "appended data";
4725
4725
  const WARNING_PREPENDED_DATA = "prepended data";
4726
+ const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
4726
4727
  const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
4727
4728
  const WARNING_DUPLICATE_FILENAME = "duplicate filename";
4728
4729
  const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
@@ -4816,6 +4817,7 @@
4816
4817
  let diskNumber = getUint16$1(endOfDirectoryView, 6);
4817
4818
  let filesLength = getUint16$1(endOfDirectoryView, 10);
4818
4819
  let prependedDataLength = 0;
4820
+ let prependedCentralDirectory;
4819
4821
  let startOffset;
4820
4822
  let zip64EndOfDirectory;
4821
4823
  let zip64EndOfDirectoryVersion2;
@@ -4919,6 +4921,7 @@
4919
4921
  directoryDataOffset = expectedDirectoryDataOffset;
4920
4922
  if (directoryDataOffset > originalDirectoryDataOffset) {
4921
4923
  prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
4924
+ prependedCentralDirectory = storedPointsAtDirectory;
4922
4925
  }
4923
4926
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
4924
4927
  directoryView = getDataView(directoryArray);
@@ -5146,6 +5149,9 @@
5146
5149
  if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
5147
5150
  addWarning(warnings, WARNING_PREPENDED_DATA);
5148
5151
  }
5152
+ if (prependedCentralDirectory) {
5153
+ addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
5154
+ }
5149
5155
  if (extractPrependedData) {
5150
5156
  zipReader.prependedData = startOffset > splitZipSignatureLength ?
5151
5157
  await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
@@ -6206,6 +6212,7 @@
6206
6212
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
6207
6213
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
6208
6214
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
6215
+ WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
6209
6216
  WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
6210
6217
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
6211
6218
  WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
@@ -8522,7 +8529,7 @@
8522
8529
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8523
8530
  */
8524
8531
 
8525
- const VERSION = "2.8.61";
8532
+ const VERSION = "2.9.0";
8526
8533
 
8527
8534
  /*
8528
8535
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9062,6 +9069,7 @@
9062
9069
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD = WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD;
9063
9070
  exports.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES = WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES;
9064
9071
  exports.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY;
9072
+ exports.WARNING_PREPENDED_CENTRAL_DIRECTORY = WARNING_PREPENDED_CENTRAL_DIRECTORY;
9065
9073
  exports.WARNING_PREPENDED_DATA = WARNING_PREPENDED_DATA;
9066
9074
  exports.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = WARNING_TRAILING_CENTRAL_DIRECTORY_DATA;
9067
9075
  exports.WARNING_UNKNOWN_VERSION = WARNING_UNKNOWN_VERSION;
@@ -1 +1 @@
1
- !function(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:o,BigInt:i,Math:s,Date:a,Map:c,Set:l,Response:u,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:S,TextEncoder:E,TextDecoder:g,document:b,crypto:x,btoa:R,TransformStream:F,ReadableStream:z,WritableStream:A,CompressionStream:D,DecompressionStream:k,navigator:I,Worker:C,Symbol:T,setTimeout:v,clearTimeout:_,structuredClone:N}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==b?b.currentScript:null;const M=4294967295,O=65535,L=255,B=67324752,W=134695760,P=W,V=84233040,Z=33639248,H=101010256,G=101075792,j=117853008,q=46,K=22,Y=20,X=56,J=21589,Q=2048,$=61440,ee=16384,te=2048,ne=1024,re="/",oe=30,ie=new a(2107,11,31,23,59,58),se=new a(1980,0,1),ae=void 0,ce=1/0,le="undefined",ue="function",fe="string",de=new w,we="password",pe="rawPassword",me="passThrough",he="signal",ye="useWebWorkers",Se="useCompressionStream",Ee="transferStreams",ge="preventClose",be="dataDescriptor",xe="offset",Re="usdz",Fe="maxAppendedDataSize",ze="filename",Ae="comment",De="strict",ke="balanced",Ie="tolerant",Ce="Invalid option (must be a function)",Te="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function _e(e){if(e&&typeof e!=ue)throw new d(Ce);return e}function Ne(e){if(e&&(typeof e.addEventListener!=ue||"boolean"!=typeof e.aborted))throw new d(Te);return e||ae}function Ue(e,t){if(e&&typeof e!=fe||t&&!(t instanceof w))throw new d(ve)}function Me(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function Oe(e,t,n){e!==ae&&Me(e,t,n)}function Le(e){return typeof e==fe&&e.trim()?o(e):e}const Be="Invalid maxWorkers (must be an integer greater than 0)";let We=2;try{typeof I!=le&&I.hardwareConcurrency&&(We=I.hardwareConcurrency)}catch{}const Pe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:We,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof D!=le&&D,DecompressionStream:typeof k!=le&&k},Ve="maxWorkers",Ze=["chunkSize",Ve,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],He=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ge=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Ze,...He],je={...Pe};function qe(){return je}function Ke(e){return Ye(e.chunkSize)}function Ye(e){return e=Le(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function Xe(e){const t={};for(const n of Ge){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(Ze.includes(e)){if(t=Le(t),e==Ve&&(!o.isInteger(t)||t<1))throw new d(Be)}else He.includes(e)&&_e(t);return t}function Qe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ae&&r===ae)return e;const o=n.assign({},e);return o.CompressionStreamFallback===ae&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===ae&&(o.DecompressionStreamFallback=r),o}function $e(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function et(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function tt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const nt=[[],[],[],[],[],[],[],[]];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;nt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=nt[t-1][e];nt[t][e]=n>>>8^nt[0][255&n]}const[rt,ot,it,st,at,ct,lt,ut]=nt;class ft{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 o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=ut[255&e]^lt[e>>>8&255]^ct[e>>>16&255]^at[e>>>24&255]^st[255&n]^it[n>>>8&255]^ot[n>>>16&255]^rt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^rt[255&(t^e[r])];this.o=t}get(){return~this.o}}class dt extends F{constructor(){let e;const t=new ft;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function wt(e){if(typeof E==le){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const pt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=pt.l(n);return 32===r?e.concat(t):pt.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)+pt.l(n)},h(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=pt.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=>s.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 o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=pt.l(o);return r.push(pt.S(t+i&31,t+i>32?n:r.pop(),1)),r}},mt={bytes:{R(e){const t=pt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},F(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(pt.S(8*(3&n),r)),t}}},ht=class{constructor(e){const t=this;t.blockSize=512,t.A=[1732584193,4023233417,2562383102,271733878,3285377520],t.D=[1518500249,1859775393,2400959708,3395469782],e?(t.I=e.I.slice(0),t.C=e.C.slice(0),t.T=e.T):t.reset()}reset(){const e=this;return e.I=e.A.slice(0),e.C=[],e.T=0,e}update(e){const t=this;"string"==typeof e&&(e=mt.v.F(e));const n=t.C=pt.concat(t.C,e),r=t.T,o=t.T=r+pt.bitLength(e);if(o>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t._(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}N(){const e=this;let t=e.C;const n=e.I;t=pt.concat(t,[pt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.T/4294967296)),t.push(0|e.T);t.length;)e._(t.splice(0,16));return e.reset(),n}U(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}_(e){const n=this,r=n.I,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.M(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.M(5,i)+n.U(e,a,c,l)+u+o[e]+n.D[s.floor(e/20)]|0;u=l,l=c,c=n.M(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},yt={importKey:e=>new yt.O(mt.bytes.F(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,l;const u=new ArrayBuffer(o),f=new h(u);let w=0;const p=pt;for(t=mt.bytes.F(t),l=1;w<(o||1);l++){for(i=s=e.encrypt(p.concat(t,[l])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)f.setInt32(w,i[a]),w+=4}return u.slice(0,r/8)},O:class{constructor(e){const t=this,n=t.B=ht,r=[[],[]];t.W=[new n,new n];const o=t.W[0].blockSize/32;e.length>o&&(e=(new n).update(e).N());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.P=new n(t.W[0])}reset(){const e=this;e.P=new e.B(e.W[0]),e.V=!1}update(e){this.V=!0,this.P.update(e)}digest(){const e=this,t=e.P.N(),n=new e.B(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.V)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},St=typeof x!=le&&typeof x.getRandomValues==ue,Et="Invalid password",gt="Invalid signature",bt=gt,xt="zipjs-abort-check-password",Rt="Crypto API not supported";function Ft(e){if(St)return x.getRandomValues(e);throw new d(Rt)}const zt=16,At={name:"PBKDF2"},Dt=n.assign({hash:{name:"HMAC"}},At),kt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},At),It=["deriveBits"],Ct=[8,12,16],Tt=[16,24,32],vt=10,_t=[0,0,0,0],Nt=typeof x!=le,Ut=Nt&&x.subtle,Mt=Nt&&typeof Ut!=le,Ot=mt.bytes,Lt=class{constructor(e){const t=this;t.Z=[[[],[],[],[],[]],[[],[],[],[],[]]],t.Z[0][0][0]||t.H();const n=t.Z[0][4],r=t.Z[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new d("invalid aes key size");for(t.D=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=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.G(e,0)}decrypt(e){return this.G(e,1)}H(){const e=this.Z[0],t=this.Z[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,l;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=o[c=o[a=o[u]]];let f=16843009*l^65537*c^257*a^16843008*u,d=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}G(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this.D[t],r=n.length/4-2,o=[0,0,0,0],i=this.Z[t],s=i[0],a=i[1],c=i[2],l=i[3],u=i[4];let f,w,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],E=4;for(let e=0;e<r;e++)f=s[m>>>24]^a[h>>16&255]^c[y>>8&255]^l[255&S]^n[E],w=s[h>>>24]^a[y>>16&255]^c[S>>8&255]^l[255&m]^n[E+1],p=s[y>>>24]^a[S>>16&255]^c[m>>8&255]^l[255&h]^n[E+2],S=s[S>>>24]^a[m>>16&255]^c[h>>8&255]^l[255&y]^n[E+3],E+=4,m=f,h=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=u[m>>>24]<<24^u[h>>16&255]<<16^u[y>>8&255]<<8^u[255&S]^n[E++],f=m,m=h,h=y,y=S,S=f;return o}},Bt=class{constructor(e,t){this.j=e,this.K=t,this.Y=t}reset(){this.Y=this.K}update(e){return this.X(this.j,e,this.Y)}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 o=pt.bitLength(t);for(let o=0;o<r;o+=4){this.$(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return pt.h(t,o)}},Wt=yt.O;let Pt=Nt&&Mt&&typeof Ut.importKey==ue,Vt=Nt&&Mt&&typeof Ut.deriveBits==ue;class Zt extends F{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Gt(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,ee:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await qt(e,t,n,Yt(r,0,Ct[t])),i=Yt(r,Ct[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new d(Et)}(n,i,o,Yt(e,0,Ct[i]+2)),e=Yt(e,Ct[i]+2),r?t.error(new d(xt)):s()):await a;const c=new w(e.length-vt-(e.length-vt)%zt);t.enqueue(jt(n,e,c,0,vt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:i}=this;if(n&&t){await i;const s=Yt(r,0,r.length-vt),a=Yt(r,r.length-vt);let c=de;if(s.length){const e=Jt(Ot,s);n.update(e);const r=t.update(e);c=Xt(Ot,r)}const l=Yt(Xt(Ot,n.digest()),0,vt);let u=r.length<vt?1:0;for(let e=0;e<vt;e++)u|=l[e]^a[e];if(u&&o)throw new d(bt);e.enqueue(c)}}})}}class Ht extends F{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Gt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,ee:i,ready:s}=n;let a=de;r?(a=await async function(e,t,n){const r=Ft(new w(Ct[t]));return $e(r,await qt(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%zt);c.set(a,0),t.enqueue(jt(n,e,c,a.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:o}=this;if(n&&t){await o;let i=de;if(r.length){const e=t.update(Jt(Ot,r));n.update(e),i=Xt(Ot,e)}const s=Xt(Ot,n.digest()).slice(0,vt);e.enqueue($e(i,s))}}})}}function Gt(e,t,r,o){n.assign(e,{ready:new S(t=>e.ee=t),password:Kt(t,r),strength:o-1,re:de})}function jt(e,t,n,r,o,i){const{te:s,ne:a,re:c}=e;c.length&&(t=$e(c,t));const l=t.length-o;let u;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(l-l%zt)),u=0;u<=l-zt;u+=zt){const e=Jt(Ot,Yt(t,u,u+zt));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(Xt(Ot,o),u+r)}return e.re=Yt(t,u),n}async function qt(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!Pt)return yt.importKey(t);try{return await Ut.importKey("raw",t,n,!1,o)}catch{return Pt=!1,yt.importKey(t)}}(0,o,Dt,0,It),a=await async function(e,t,n){if(!Vt)return yt.L(t,e.salt,kt.iterations,n);try{return await Ut.deriveBits(e,t,n)}catch{return Vt=!1,yt.L(t,e.salt,kt.iterations,n)}}(n.assign({salt:i},kt),s,8*(2*Tt[r]+2)),c=new w(a),l=Jt(Ot,Yt(c,0,Tt[r])),u=Jt(Ot,Yt(c,Tt[r],2*Tt[r])),f=Yt(c,2*Tt[r]);return n.assign(e,{keys:{key:l,oe:u,passwordVerification:f},te:new Bt(new Lt(l),t.from(_t)),ne:new Wt(u)}),f}function Kt(e,t){return t===ae?wt(e):t}function Yt(e,t,n){return e.subarray(t,n)}function Xt(e,t){return e.R(t)}function Jt(e,t){return e.F(t)}class Qt extends F{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){en(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=tn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(Et);e=e.subarray(12)}r?t.error(new d(xt)):t.enqueue(tn(n,e))}})}}class $t extends F{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){en(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Ft(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(nn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(nn(n,e),o),t.enqueue(r)}})}}function en(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,ie:new ft(o[0]),se:new ft(o[2])}),r)for(let t=0;t<r.length;t++)rn(e,r[t]);else for(let n=0;n<t.length;n++)rn(e,t.charCodeAt(n))}(e,t,r)}function tn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=on(e)^t[r],rn(e,n[r]);return n}function nn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=on(e)^t[r],rn(e,t[r]);return n}function rn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=an(s.imul(an(n+sn(r)),134775813)+1),e.se.append([n>>>24]);const o=~e.se.get();e.keys=[r,n,o]}function on(e){const t=2|e.keys[2];return sn(s.imul(t,1^t)>>>8)}function sn(e){return 255&e}function an(e){return 4294967295&e}function cn(e){if(e instanceof z)return e;const t=e.getReader();return new z({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function ln(e,t){e=cn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=ue||new y([]).stream()instanceof z)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new A({write(e){r.push(e)}})).then(()=>new y(r,n))}function un(e){if(e instanceof A)return e;const t=e.getWriter();return new A({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const fn="Invalid codec definition",dn="Reserved compression method",wn="Invalid codec module",pn=[0,8,9,99],mn=new c,hn=new c;function yn(e){return mn.get(e)}function Sn(){return t.from(mn.values(),e=>n.assign({},e,hn.get(e.format)))}function En(e){return hn.get(e)}function gn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=ue&&typeof r!=ue)throw new d(wn);hn.set(e,{CompressionStream:n,DecompressionStream:r})}const bn="Invalid uncompressed size",xn="Invalid compressed data",Rn=gt,Fn="deflate-raw",zn="deflate64-raw",An="gzip",Dn=[31,139,8];class kn extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,S,E=super.readable;const g=f&&En(f),b=c&&o&&!u&&!g&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||b||(m=new dt,E=On(E,m)),o)if(g)E=Ln(E,Un(g.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)S=new In,E=Ln(E,new r(An)),E=On(E,S);else try{E=Mn(E,s,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(An)}catch{throw e}E=Ln(E,t),E=On(E,new In)}i&&(a?E=On(E,new $t(e)):(y=new Ht(e),E=On(E,y))),Nn(p,E,()=>{i&&!a||!c||(p.crc32=b?S.crc32:new h(m.value.buffer).getUint32(0))})}}class In extends F{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=$e(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue($e(n.subarray(0,a),e.subarray(0,i-a))),n=$e(n.subarray(a),e.subarray(i-a))},flush(){const t=tt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Cn extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let E,g,b=super.readable;if(i&&(o?b=On(b,new Qt(e)):(g=new Zt(e),b=On(b,g))),c){const e=f&&En(f);if(e)b=Ln(b,Un(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=Mn(b,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ae)throw e;let t;try{t=new r(An)}catch{throw e}b=function(e,t,n){const r=new ft;let o,i,s,a=0,c=!1;const l=new S((e,t)=>{i=e,s=t});l.catch(()=>{}),n||i();const u=new F({start(e){const t=new w(10);t.set(Dn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{m()}const t=new w(8),o=tt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new F({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=On(e,u),On(e=Ln(e,t),f);function p(){m(),o=v(()=>s(new d(bn)),5e3)}function m(){_(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new z({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(xn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}s&&(E=new dt,b=On(b,E)),Nn(this,b,()=>{if(s){const e=new h(E.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Rn)}})}}const Tn=new c;function vn(e,t){if(!e)return!1;let n=Tn.get(e);n||(n=new c,Tn.set(e,n));let r=n.get(t);if(r===ae){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function _n(e){return vn(e,Fn)}function Nn(e,t,r){t=On(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Un(e,t,n){if(!e)throw new d("Compression method not supported");return new e(t,n)}function Mn(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?zn:Fn;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Ln(e,a)}function On(e,t){return cn(e).pipeThrough(t)}function Ln(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){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 function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const Bn="data",Wn="deflate",Pn="inflate";class Vn extends F{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Wn)?i=kn:o.startsWith(Pn)&&(i=Cn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),u=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new d(bn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(a).pipeThrough(u)})}}class Zn extends F{constructor(e){const t=[];let n=0;function r(){const r=new w(e);let o=0;for(;o<e;){const n=t[0],i=e-o;n.length<=i?(r.set(n,o),o+=n.length,t.shift()):(r.set(n.subarray(0,i),o),t[0]=n.subarray(i),o+=i)}return n-=e,r}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(o,i){for(t.push(o),n+=o.length;n>e;)i.enqueue(r())},flush(e){n&&e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const Hn="Worker startup timeout";let Gn,jn,qn;function Kn(e){e.createWorker?jn=!0:Gn=!1}class Yn{constructor(e,{readable:t,writable:r},{options:o,config:i,ae:s,useWebWorkers:a,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:d}=s;return jn&&(u=ae),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Zn(Ke(i))).pipeThrough(new Xn(s),{signal:d}),writable:r,options:n.assign({},o),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new S(t=>{const{ue:n,ce:r}=e;n?(r?e.fe=t:(n.terminate(),t()),e.de=null):t()}),we(){if(e.ce){const{fe:t}=e;t&&(e.fe=null,e.pe=!0,e.ue.terminate(),t()),e.ce=!1,f(e)}}}),Gn===ae&&(Gn=typeof C!=le),(a&&qn&&(Gn&&l||u)?qn:Qn)(e,i)}}class Xn extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Jn(e,n)},async transform(e,r){o+=e.length,t&&await Jn(t,o,n),r.enqueue(e)},async flush(){r&&await Jn(r,o)}})}}async function Jn(e,...t){try{await e(...t)}catch{}}function Qn(e,t){return{run:()=>$n(e,t)}}async function $n({options:e,readable:t,writable:n,we:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Wn),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!_n(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}i=new Vn(e,o),await t.pipeThrough(i).pipeThrough(new Zn(Ke(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{r()}}const er={type:"module"},tr="error";let nr,rr,or,ir=!0;try{ir=typeof N==ue&&N(new DOMException("","AbortError")).code!==ae}catch{}var sr;function ar(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function cr(e){const{ue:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function lr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,l;if(s)a=s();else if(rr===ae||nr!==e){const n=typeof e==ue;c=n?e(i):e;const s=c.startsWith("data:"),u=c.startsWith("blob:");if(s||u){o===ae&&(o=!1),o&&(l=er);try{a=new C(c,l)}catch(i){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return lr(e,t,r,o,!1);if(o)throw i;return lr(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(l=er);try{c=new f(c,t)}catch{}try{a=new C(c,l)}catch(n){if(o)return lr(e,t,r,!1,i);throw n}}nr=e,rr=c,or=l}else a=new C(rr,or);return a.addEventListener("message",e=>{r.he=!0,ur(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:l,ye:u,Se:f,we:p,le:m}=t,h=()=>t.le!=m;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,l=new d(e);n.assign(l,{stack:t,code:r,name:o,outputSize:i}),s&&(l.cause=n.assign(new d(s.message),{name:s.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||dr({type:Bn,value:e,done:n,messageId:i},t)}r==Bn&&(await l.ready,await l.write(new w(o)),h()||dr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){h()||(cr(t),y(a))}function y(e,t){h()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(tr,e=>fr(e,r)),a.addEventListener("messageerror",e=>fr(e,r)),a}function ur(e){const{Ee:t}=e;t&&(_(t),e.Ee=null)}function fr(e,t){e.preventDefault&&e.preventDefault(),ur(t);const{he:r,Se:o,writer:i,we:s}=t;cr(t),r||(t.ue=null);let a=e.error||new d(e.message||tr);r||(a=n.assign(new d(a.message||tr),{ge:!0}),t.be=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function dr(e,{ue:t,writer:n,transferStreams:r,he:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=et(n),a.push(e.value.buffer)),r&&ir&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{ir=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}sr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.de){let c;typeof a==ue&&(a=a());try{c=lr(e.workerURI,r,e)}catch{return Kn(e),Qn(e,t)}n.assign(e,{ue:c,he:!1,pe:!1,be:null,de:{run:async()=>{try{return await async function(e,t){if(!e.ue){const{be:t}=e;e.be=null;const n=t||new d(Hn);throw n.ge=!0,n}let r,i;const s=new S((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ye:r,Se:i,result:s});const{readable:a,options:c}=e,{writable:l,closed:u,xe:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new F,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,xe:()=>t.abort()}}(e.writable);let w;try{w=dr({type:"start",options:c,config:t,readable:a,writable:l},e)}catch(t){f();try{await u}catch{}throw e.we(),t}w||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.he&&o.isFinite(p)&&p>=0&&(e.Ee=v(()=>function(e){if(e.Ee=null,e.he)return;const{Se:t,writer:n}=e;if(cr(e),e.ue=null,t){const e=new d(Hn);e.ge=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await u,e}catch(e){await m(),f();try{await u}catch{}throw e}async function m(){if(!w&&!l.locked)try{await l.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.ge)return Kn(e),ar(e),$n(e,t);if(n&&n.codecImportFailed){if(e.reader)return ar(e),$n(e,t);e.we()}throw n}}}})}return e.de},qn=sr;let wr=[];const pr=[];let mr,hr,yr=0;async function Sr(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!hn.has(e)&&t&&gn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===ae&&r.transferStreams);const E=!(c||l||u||d),g=w===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&g&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ae,t.createWorker=t.useWebWorkers&&h?h:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=wr.find(e=>!e.ce);if(n)return Rr(n),new Yn(n,e,t,b);if(wr.length<y){const n={Re:yr};return yr++,wr.push(n),new Yn(n,e,t,b)}return new S(n=>{pr.push({resolve:n,stream:e,Fe:t}),hr=r.workerStarvationTimeout,Er()})}()).run();function b(e){if(gr(),pr.length){const[{resolve:t,stream:n,Fe:r}]=pr.splice(0,1);t(new Yn(e,n,r,b)),Er()}else e.ue?(Rr(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.ze=v(async()=>{wr=wr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):wr=wr.filter(t=>t!=e)}}function Er(){!mr&&pr.length&&o.isFinite(hr)&&hr>=0&&(mr=v(br,hr))}function gr(){mr&&(_(mr),mr=null)}function br(){if(mr=null,pr.length){const[{resolve:e,stream:t,Fe:r}]=pr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new Yn({},t,o,xr)),Er()}}function xr(){gr(),Er()}function Rr(e){const{ze:t}=e;t&&(_(t),e.ze=null)}const Fr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),zr=256==Fr.length;function Ar(e,t){return Dr(e,t,!0)}function Dr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(zr){let t="";for(let n=0;n<e.length;n++)t+=Fr[e[n]];return t}return(new g).decode(e)}(e):new g(t,{ignoreBOM:n}).decode(e)}const kr="HTTP error ",Ir="HTTP Range not supported",Cr="HTTP resource changed",Tr="Writer iterator completed too soon",vr="Writer not initialized",_r="Content-Range",Nr="Range",Ur="GET",Mr="bytes",Or=16777216,Lr="writable",Br=T();class Wr{constructor(){this.size=0}init(){this.initialized=!0}}class Pr extends Wr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Ke(qe())}={}){const r=this;let o=0;return n=Ye(n),new z({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await Eo(r,e+o,a);c.length&&i.enqueue(c),o+n>=t||!c.length&&a?i.close():o+=n}})}}class Vr extends Wr{constructor(){super();const e=this,t=new A({write(t){if(!e.initialized)throw new d(vr);return e.writeUint8Array(et(t))}});n.defineProperty(e,Lr,{get:()=>t})}writeUint8Array(){}}let Zr,Hr;class Gr extends Pr{constructor(e){super(),n.assign(this,{Ae:e,size:e.size}),Hr||(Hr=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Zr=1==t}catch{Zr=!1}})())}createReadable(e){const{Ae:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?cn(t.stream()):Zr?cn(t.slice(r,r+o).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.Ae:n.Ae.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class jr extends Wr{constructor(e){super();const t=this,r=new F;n.defineProperty(t,Lr,{get:()=>r.writable}),t.contentType=e,t.De=ln(r.readable,e),t.De.catch(()=>{})}getData(){return this.De}}class qr extends Pr{constructor(e,t){super(),Yr(this,e,t)}async init(){await Xr(this,co,oo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==ae){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new z({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new d(Ir);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=ae,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=s.min(e.maximumRangeSize,c),n=await co(Ur,e,no(e,i,t));if(206!=n.status)throw new d(Ir);const l=n.headers.get(_r);if(l){const e=o(l.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new d(Ir)}to(e,n),eo(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return Jr(this,e,t,co,oo)}}class Kr extends Pr{constructor(e,t){super(),Yr(this,e,t)}async init(){await Xr(this,lo,io),super.init()}readUint8Array(e,t){return Jr(this,e,t,lo,io)}}function Yr(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:l=Or,fetch:u}=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:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function Xr(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=qe(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==le||o)){const r=await t(Ur,e,no(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Mr))throw new d(Ir);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==K&&(e.ke=t)}eo(e,r);const o=Qr(r);o===ae?await ao(e,t,n):e.size=o}}else await ao(e,t,n)}async function Jr(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,ke:c,size:l,options:u}=e;if(s||a){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return de;{t+n>l&&(n=l-t);const i=await r(Ur,e,no(e,t,n));if(206!=i.status)throw new d(Ir);const s=i.headers.get(_r);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new d(Ir)}to(e,i),eo(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new d(Ir);return a}}{const{data:r}=e;return r||await i(e,u),e.data.subarray(t,t+n)}}function Qr(e){const t=e.headers.get(_r);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function $r({headers:e}){return{Ie:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function eo(e,t){const{checkResourceChanges:n,Ce:r}=e;n&&!r&&206==t.status&&(e.Ce=$r(t))}function to(e,t){const{checkResourceChanges:r,Ce:o,size:i}=e;if(r){const e=Qr(t);if(e!==ae&&i!==ae&&e!=i)throw new d(Cr);if(o){const e=$r(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new d(Cr)}}}function no(e,t=0,r=1){return n.assign({},ro(e),{[Nr]:Mr+"="+(t<0?t:t+"-"+(t+r-1))})}function ro({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function oo(e){await so(e,co)}async function io(e){await so(e,lo)}async function so(e,t){const n=await t(Ur,e,ro(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function ao(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,ro(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function co(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status<400)return s;throw 416==s.status?new d(Ir):new d(kr+(s.statusText||s.status))}function lo(e,{url:t},r){return new S((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const e=[];s.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)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(Ir):new d(kr+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class uo extends Pr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Kr(e,t):new qr(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 fo extends Pr{constructor(e){super(),this.Te=e}async init(){const e=this;e.ve=0;const t=e.Te=await S.all(e.Te.map(So));e._e=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{_e:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{Te:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await Eo(c,a,t);else{const i=r-a;o=$e(await Eo(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=de;return n.ve=s.max(i,n.ve),o}}class wo extends Wr{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new A({async write(t){if(t===Br)return void(s&&await l());const{availableSize:n}=r;if(s)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:a}=await e.next();if(a&&!n)throw new d(Tr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await yo(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await u())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function u(){await s.close()}n.defineProperty(r,Lr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Br)}finally{e.releaseLock()}}}class po{constructor(e){return t.isArray(e)&&(e=new fo(e)),(e instanceof z||typeof e.getReader==ue)&&(e={readable:cn(e)}),e}}class mo{constructor(e){return e.writable===ae&&typeof e.next==ue&&(e=new wo(e)),(e instanceof A||typeof e.getWriter==ue)&&(e={writable:un(e)}),e.size===ae&&(e.size=0),e}}function ho(e){return Boolean(e&&e.getData)}async function yo(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function So(e){return e=new po(e),await yo(e),e.size!==ae&&e.readUint8Array||(e=new Gr(await ln(e.readable)),await yo(e)),e}function Eo(e,t,n){return e.readUint8Array(t,n)}function go(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Pr.prototype.createReadable.call(e,t):e.readable}const bo="filename",xo="rawFilename",Ro="comment",Fo="rawComment",zo="uncompressedSize",Ao="compressedSize",Do="offset",ko="diskNumberStart",Io="lastModDate",Co="rawLastModDate",To="lastAccessDate",vo="rawLastAccessDate",_o="creationDate",No="rawCreationDate",Uo="internalFileAttributes",Mo="externalFileAttributes",Oo="internalFileAttribute",Lo="externalFileAttribute",Bo="msdosAttributesRaw",Wo="msdosAttributes",Po="msDosCompatible",Vo="zip64",Zo="encrypted",Ho="version",Go="versionMadeBy",jo="zipCrypto",qo="directory",Ko="executable",Yo="compressionMethod",Xo="signature",Jo="extraField",Qo="unixMode",$o="setuid",ei="setgid",ti="sticky",ni=[bo,xo,zo,Ao,Io,Co,Ro,Fo,To,vo,_o,No,Do,ko,Uo,Mo,Oo,Lo,Bo,Wo,Po,Vo,Zo,Ho,Go,jo,qo,Ko,"symlink",Yo,Xo,"crc32",Jo,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Qo,"unixExternalUpper",$o,ei,ti,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ri{constructor(e){ni.forEach(t=>this[t]=e[t])}}const oi="File format is not recognized",ii="End of central directory not found",si="End of Zip64 central directory locator not found",ai="Central directory header not found",ci="Local file header not found",li="Zip64 extra field not found",ui="File contains encrypted entry",fi="Encryption method not supported",di="Compression method not supported",wi="Split zip file",pi="Overlapping entry found",mi="Entry data out of bounds",hi="Ambiguous archive",yi="Encrypted central directory is not supported",Si="Unsafe filename",Ei="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",gi="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",bi="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",xi="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ri="unsorted central directory",Fi="unknown version needed to extract",zi="compressed patched data",Ai="malformed extra field",Di="unknown zip64 extensible data",ki="wrapped entries count",Ii="appended data",Ci="prepended data",Ti="trailing central directory data",vi="duplicate filename",_i="mismatched zip64 end of central directory record",Ni="mismatched local file header (general purpose bit flag)",Ui="mismatched local file header (compression method)",Mi="mismatched local file header (crc32 or sizes)",Oi=/^[a-zA-Z]:/,Li="utf-8",Bi="cp437",Wi=[[zo,M],[Ao,M],[Do,M],[ko,O]],Pi={[O]:{Ue:Fs,bytes:4},[M]:{Ue:zs,bytes:8}},Vi=i(o.MAX_SAFE_INTEGER);class Zi{constructor(e,t={}){n.assign(this,{reader:new po(e),options:t,Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await yo(r),r.size!==ae&&r.readUint8Array||(r=new Gr(await ln(r.readable)),await yo(r)),r.size<K)throw new d(oi);const o=t.warnings=[],i=ss(e,t.options),a=i==De,c=i!=Ie,u=ls(Ss(t,e,Fe),i),f=function(e,t){if(e===ae)return t;if(!is(e))throw new d(gi);return e}(Ss(t,e,"filenameValidation"),i),w=Ss(t,e,"normalizeFilename"),{Oe:p,Le:m}=await us(r,c,u);if(!p)throw await async function(e){return await os(e)==W}(r)?new d(wi):new d(ii);c&&m>1&&ys("multiple end of central directory records");const h=tt(p);let y=Fs(h,12),S=Fs(h,16);const E=p.offset,g=Rs(h,20),b=E+K+g,x=r.size-b;x>u&&ys(Ii),x>0&&hs(o,Ii);let R=Rs(h,4);const z=r.ve||0;let A,D,k,I,C=Rs(h,6),T=Rs(h,10),v=0,_=X;const N=S==M||y==M||T==O||C==O;if(S!=M&&C!=O&&(S+=rs(r,C)),N){const e=p.offset>=Y?await Eo(r,p.offset-Y,Y):de,t=tt(e);if(e.length==Y&&Fs(t,0)==j){S=rs(r,Fs(t,4))+zs(t,8);let e=await Eo(r,S,X),i=tt(e);const c=p.offset-Y-X;if((e.length<X||Fs(i,0)!=G)&&S!=c&&c>=0){const t=S;S=c,S>t&&(v=S-t),e=await Eo(r,S,X),i=tt(e)}if(e.length<X||Fs(i,0)!=G)throw new d(si);if(D=!0,k=zs(i,4)>44,k){const e=s.min(zs(i,4)-44,r.size-S-X);e>0&&(_+=e,I=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=tt(e),o=Rs(r,26);n.assign(t,{compressionMethod:Rs(r,0),compressedSize:zs(r,2),uncompressedSize:zs(r,10),encryptionAlgorithm:Rs(r,18),bitLength:Rs(r,20),flags:Rs(r,22),hashAlgorithm:Rs(r,24),hashData:e.subarray(28,28+o)})}return t}(await Eo(r,S+X,e)))}R==O?R=Fs(i,16):R!=Fs(i,16)&&ms(a,o,_i),C==O?C=Fs(i,20):C!=Fs(i,20)&&ms(a,o,_i),T==O?T=zs(i,32):T!=zs(i,32)&&ms(a,o,_i),y==M?y=zs(i,40):y!=zs(i,40)&&ms(a,o,_i),S=rs(r,C)+zs(i,48)+v}}let U=y;const B=p.offset-(D?_+Y:0);if(S>=r.size&&(v=r.size-S-y-K,S=r.size-y-K),z!=R)throw new d(wi);if(S<0)throw new d(oi);let P=0,V=await Eo(r,S,y),H=tt(V);if(y){if(V.length<4)throw new d(oi);const e=B-y;if(S!=e&&C==R){let t=!(Fs(H,P)==Z||Boolean(I&&I.compressedSize)||qi(H));if(!t&&e>=0&&e+4<=r.size&&(t=Fs(tt(await Eo(r,e,4)),0)==Z),t){const t=S;S=e,S>t&&(v+=S-t),V=await Eo(r,S,y),H=tt(V)}}}const J=B-S;if(y!=J&&J>=0&&C==R&&(y=J,V=await Eo(r,S,y),H=tt(V)),S<0||S>=r.size)throw new d(oi);t.directoryOffset=S,t.directoryLength=U;const Q=Es(t,e,"decryptCentralDirectory");let oe,ie;if(Q&&T&&V.length>=4&&Fs(H,0)!=Z&&(k||qi(H))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(I,U,V.length);ie=V.subarray(e),V=await Q(V.subarray(0,e),I),H=tt(V),U=V.length,oe=!0}I&&!oe&&(V.length<4||Fs(H,0)==Z)&&hs(o,Di),A=S;const se=Ss(t,e,"filenameEncoding"),ce=Ss(t,e,"commentEncoding"),le=new l;let ue,fe=-1;const we=!a&&!D;!T&&we&&(T=Ki(H,V,P),T&&hs(o,ki));for(let i=0;i<T;i++){const a=new ji(r,t.options);if(P+q>V.length||Fs(H,P)!=Z){if(0==i&&!oe&&(k||qi(H)))throw new d(yi);throw new d(ai)}Xi(a,H,P+6);const c=Boolean(a.bitFlag.languageEncodingFlag),l=P+q,u=l+a.filenameLength,p=u+a.extraFieldLength,m=Rs(H,P+4),h=!(m>>8),y=m>>8==3,S=V.subarray(l,u),E=Rs(H,P+32),g=p+E,b=V.subarray(p,g),x=c,R=c,z=Fs(H,P+38),D=z&L,I={readOnly:Boolean(1&D),hidden:Boolean(2&D),system:Boolean(4&D),directory:Boolean(16&D),archive:Boolean(32&D)},C=Fs(H,P+42),_=Es(t,e,"decodeText")||Ar,N=x?Li:se||Bi,U=R?Li:ce||Bi;let M=_(S,N,ze);if(M===ae&&(M=Ar(S,N)),w){const e=w(M);e!==ae&&(M=e)}if(cs(M,f)){const e=new d(Si);throw e.filename=M,e}let B=_(b,U,Ae);B===ae&&(B=Ar(b,U)),n.assign(a,{index:i,Be:oe,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,We:E,offset:C,diskNumberStart:Rs(H,P+34),internalFileAttributes:Rs(H,P+36),externalFileAttributes:z,msdosAttributesRaw:D,msdosAttributes:I,rawFilename:S,filenameUTF8:x,commentUTF8:R,rawExtraField:V.subarray(u,p),rawComment:b,filename:M,comment:B}),Ji(a,a,H,P+6)&&hs(o,Ai,M),a.offset+=v;const W=rs(r,a.diskNumberStart)+a.offset;A=s.min(W,A),W<fe&&hs(o,Ri,M),fe=W,(a.version&L)>63&&hs(o,Fi,M),32&~a.rawBitFlag||hs(o,zi,M),le.has(a.filename)&&(ue=!0),le.add(a.filename);const G=a.externalFileAttributes>>16&O;a.unixMode===ae&&16877&G&&(a.unixMode=G);const j=Boolean(a.unixMode&te),K=Boolean(a.unixMode&ne),Y=Boolean(512&a.unixMode),X=40960==((a.unixMode===ae?G:a.unixMode)&$),J=!X&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&G)),Q=a.unixMode!==ae&&(a.unixMode&$)==ee,ie=(G&$)==ee;n.assign(a,{setuid:j,setgid:K,sticky:Y,symlink:X,unixExternalUpper:G,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:J,directory:Q||ie||h&&I.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const de=new ri(a);if(de.getData=(e,n)=>a.getData(e,de,t.Me,n),de.arrayBuffer=async e=>{const n=new F,r=ln(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,de,t.Me,e),r},P=g,i==T-1&&we){const e=Ki(H,V,P);e&&(T+=e,hs(o,ki))}const{onprogress:pe}=e;if(pe)try{await pe(i+1,T,new ri(a))}catch{}yield de}let pe=P,me=Yi(V.subarray(P))||(oe?Yi(ie):ae);if(!me&&!oe){const e=S+P,t=s.min(B-e,65541);t>=6&&(me=Yi(await Eo(r,e,t)))}me&&(t.digitalSignature=me,pe=P+6+me.length),(P!=U&&pe!=U||!oe&&P!=y&&pe!=y)&&ms(a,o,Ti),ue&&ms(a,o,vi);const he=Ss(t,e,"extractPrependedData"),ye=Ss(t,e,"extractAppendedData"),Se=(a||he)&&T&&4==A&&await async function(e){const t=await os(e);return t==W||808471376==t}(r)?4:0;return a&&(v||T&&A>Se)&&ys(Ci),(v||T&&A>4)&&hs(o,Ci),he&&(t.prependedData=A>Se?await Eo(r,Se,A-Se):de),t.comment=g?await Eo(r,E+K,g):de,ye&&(t.appendedData=b<r.size?await Eo(r,b,r.size-b):de),!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 Hi{constructor(e={}){const{readable:t,writable:n}=new F,r=new Zi(t,e).getEntriesGenerator();this.readable=new z({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const o={...n,readable:function(){const{readable:e,writable:t}=new F;if(n.getData)return async function(){try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}}(),e}()};delete o.getData,e.enqueue(o)}}),this.writable=n}}async function Gi(e,t={}){if(e=new po(e),await yo(e),e.size!==ae&&e.readUint8Array||(e=new Gr(await ln(e.readable)),await yo(e)),e.size<K)return!1;const n=ss(t,{}),r=n!=Ie,o=ls(t[Fe],n),{Oe:i,Le:s}=await us(e,r,o);if(!i||n==De&&s>1)return!1;const a=Rs(tt(i),20),c=i.offset+K+a;return e.size-c<=o}class ji{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const o=this,i=qe(),{reader:a,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=o,{dataDescriptor:b}=m,x=t.localDirectory={},R=t.warnings=[],F=rs(a,u)+l,z=await Eo(a,F,oe),D=tt(z);let k=Ss(o,r,we),I=Ss(o,r,pe);const C=Ss(o,r,me);if(Ue(k,I),k=k&&k.length&&k,I=I&&I.length&&I,f&&99!=f.originalCompressionMethod)throw new d(di);if(z.length<oe||Fs(D,0)!=B)throw new d(ci);Xi(x,D,4);const{extraFieldLength:T,filenameLength:v}=x,_=x.dataOffset=F+oe+v+T,N=Ss(o,r,"checkLocalDirectory"),U=ss(r,o.options),M=function(e,t){return e===ae?t!=Ie:Boolean(e)}(N,U),O=function(e,t){return e===ae?t==De:Boolean(e)}(N,U);let W=de;if(O&&(v||T)){const e=await Eo(a,F+oe,v+T);W=e.subarray(0,v),x.rawExtraField=e.subarray(v)}else x.rawExtraField=T?await Eo(a,F+oe+v,T):de;O&&(x.rawFilename=W),Ji(o,x,D,4,!0)&&hs(R,Ai),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Be&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||ms(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ms(s,o,Ni),t.compressionMethod!=e.compressionMethod&&ms(s,o,Ui),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ms(s,o,Mi)}(o,x,W,O,M?ae:R);const{lastAccessDate:V,creationDate:Z,uid:H,gid:G}=x;V&&(t.lastAccessDate=V),Z&&(t.creationDate=Z),H!==ae&&t.uid===ae&&(t.uid=H),G!==ae&&t.gid===ae&&(t.gid=G);const j=o.encrypted&&x.encrypted&&!C,q=j&&!f;if(C||(t.zipCrypto=q),j&&!(64&~x.rawBitFlag))throw new d(fi);const K=C?ae:yn(p);if(0!=p&&8!=p&&9!=p&&!K&&!C)throw new d(di);if(j){if(!q&&(f.strength<1||f.strength>3))throw new d(fi);if(!k&&!I)throw new d(ui)}if(_+g>a.size)throw new d(mi);const Y=g,X=cn(a.createReadable({offset:_,size:Y})),J=Ne(Ss(o,r,he)),Q=Ss(o,r,"checkPasswordOnly");let $=Ss(o,r,"checkOverlappingEntry");const ee=Ss(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!C,se=C?g:E,ce=9==p;let le=Ss(o,r,Se);ce&&(le=!1);const ue=Ss(o,r,"checkCrc32"),fe=(ue===ae?Ss(o,r,"checkSignature"):ue)&&!C&&(!j||q||f&&1==f.vendorVersion),be={options:{codecType:Pn,password:k,rawPassword:I,zipCrypto:q,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:Ss(o,r,"checkAuthenticationCode"),passwordVerification:q&&(b?S>>>8&L:y>>>24&L),outputSize:se,crc32:y,compressed:ie,encrypted:j,useWebWorkers:Ss(o,r,ye),useCompressionStream:le,transferStreams:Ss(o,r,Ee),deflate64:ce,format:K?K.format:ae,codecURI:K?K.codecURI:ae,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:Q},config:i,ae:{signal:J,size:Y,onstart:te,onprogress:ne,onend:re}};let xe,Re;$&&await async function({reader:e,Pe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:l,Me:u}){let f=0;if(c&&(f=l?20:12),f){const n=await Eo(e,a+i,f+4),r=tt(n);let c=n.length==f+4&&Fs(r,0)==P;if(c){const e=ns(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=ns(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,Pe:t};for(const[e,t]of u)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(pi);throw e.overlappingEntry=t.Pe,e}u.set(n,w)}({reader:a,Pe:t,index:c,offset:F,crc32:y,compressedSize:g,uncompressedSize:E,dataOffset:_,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:w||x.extraFieldZip64,Me:n});try{if(!ee){Q&&(e=new A),e=new mo(e),await yo(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,g,ie)),({writable:xe}=e);const{outputSize:t}=await Sr({readable:X,writable:xe},be);if(e.size+=t,t!=se)throw new d(bn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!Q||t.message!=xt)throw Re=t,t}finally{if((ho(e)||!Ss(o,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(Re)try{await e.abort(Re)}catch{}else await e.close()}}return Q||ee?ae:e.getData?e.getData():xe}}function qi(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Fs(e,n))return!0;return!1}function Ki(e,t,n){let r=0;for(;n+q<=t.length&&Fs(e,n)==Z;)n+=q+Rs(e,n+28)+Rs(e,n+30)+Rs(e,n+32),r++;return r%65536?0:r}function Yi(e){if(e.length>=6){const t=tt(e);if(Fs(t,0)==V){const n=Rs(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Xi(e,t,r){const o=e.rawBitFlag=Rs(t,r+2),i=!(1&~o),s=Fs(t,r+6);n.assign(e,{encrypted:i,version:Rs(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&Q)==Q},rawLastModDate:s,lastModDate:gs(s),filenameLength:Rs(t,r+22),extraFieldLength:Rs(t,r+24)})}function Ji(e,t,r,o,i){const{rawExtraField:s}=t,l=t.extraField=new c,u=tt(s);let f=0,w=!1;try{for(;f<s.length;){const e=Rs(u,f),t=Rs(u,f+2);l.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=Rs(r,o+4);n.assign(t,{signature:Fs(r,o+10),crc32:Fs(r,o+10),compressedSize:Fs(r,o+14),uncompressedSize:Fs(r,o+18)});const m=l.get(1);m&&(function(e,t){t.zip64=!0;const n=tt(e.data),r=Wi.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Pi[t].bytes,0);if(e.data.length<o)throw new d(li);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Pi[a];t[s]=e[s]=c.Ue(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=l.get(28789);h&&(Qi(h,bo,xo,t,e),t.extraFieldUnicodePath=h);const y=l.get(25461);y&&(Qi(y,Ro,Fo,t,e),t.extraFieldUnicodeComment=y);const S=l.get(39169);S&&S.data.length>=7?(function(e,t,r){const o=tt(e.data),i=xs(o,4);n.assign(e,{vendorVersion:xs(o,0),vendorId:xs(o,2),strength:i,originalCompressionMethod:r,compressionMethod:Rs(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(S,t,p),t.extraFieldAES=S):t.compressionMethod=p;const E=l.get(13);E&&($i(E,t),t.extraFieldPkwareUnix=E);const g=l.get(22613);g&&($i(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(function(e,t){const r=tt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=Rs(r,i),n=Rs(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=tt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:bs(i),lastAccessDate:bs(s),creationDate:bs(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let R;if(x&&(R=es(x,t,!1),t.extraFieldUnix=x),!R){const e=l.get(30837);e&&(es(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(J);F&&(function(e,t,n){if(!e.data.length)return;const r=tt(e.data),o=xs(r,0),i=[],s=[];n?(1&~o||(i.push(Io),s.push(Co)),2&~o||(i.push(To),s.push(vo)),4&~o||(i.push(_o),s.push(No))):e.data.length>=5&&(i.push(Io),s.push(Co));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=Fs(r,c);t[n]=e[n]=new a(1e3*(0|i));const l=s[o];e[l]=i}c+=4})}(F,t,i),t.extraFieldExtendedTimestamp=F);const z=l.get(6534);return z&&(t.extraFieldUSDZ=z),w}function Qi(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=tt(e.data),a=new ft;a.append(i[r]);const c=tt(new w(4));c.setUint32(0,a.get(),!0);const l=Fs(s,1),u=xs(s,0);n.assign(e,{version:u,[t]:Ar(e.data.subarray(5)),valid:1==u&&!i.bitFlag.languageEncodingFlag&&l==Fs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function $i(e,t){if(e.data.length<8)return;const r=tt(e.data),o={lastAccessDate:new a(1e3*(0|Fs(r,0))),lastModDate:new a(1e3*(0|Fs(r,4)))};e.data.length>=12&&(o.uid=Rs(r,8),o.gid=Rs(r,10)),n.assign(e,o),n.assign(t,o)}function es(e,t,r){try{const o=tt(e.data);let i,s;if(r){let t=0;const r=xs(o,t++),a=xs(o,t++);i=ts(e.data.subarray(t,t+a)),t+=a;const c=xs(o,t++);s=ts(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=Rs(o,0),s=Rs(o,2),n.assign(e,{uid:i,gid:s}));return i!==ae&&(t.uid=i),s!==ae&&(t.gid=s),i!==ae||s!==ae}catch{}}function ts(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ns(e,t,n){const r=Fs(e,t);let o,i;return n?(o=zs(e,t+4),i=zs(e,t+12)):(o=Fs(e,t+4),i=Fs(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function rs(e,t){return e.Ne?e.Ne(t):0}async function os(e){return Fs(tt(await Eo(e,0,4)))}function is(e){return e===De||e===ke||e===Ie}function ss(e,t){return as(e,as(t,ke))}function as(e,t){const n=e.strictness;if(n!==ae){if(!is(n))throw new d(Ei);return n}const r=e.checkAmbiguity;return r===ae?t:r?De:t==Ie?Ie:ke}function cs(e,t){if(t==Ie)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Oi.test(e))||t==De&&(n.includes(".")||n.includes(""))}function ls(e,t){if(e!==ae){const t=Le(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(bi);return t}return t==De?0:t==Ie?1/0:O}async function us(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,l=0;for await(const[n,s,u,f,d]of fs(e,o)){const o=Rs(n,f+20);if(d+K+o==r){const o=await ws(e,n,s,f,d,r,i);if(2==o){if(a||(a=ds(u,f,d)),l++,!t||l>1)break}else 1!=o||c||(c=ds(u,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,l,u]of fs(e,o)){const o=ds(c,l,u);i||(i=o);const f=await ws(e,t,s,l,u,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{Oe:a,Le:l}}async function*fs(e,t){const n=e.size-t,r=await Eo(e,n,t),o=tt(r);for(let e=r.length-K;e>=0;e--)Fs(o,e)==H&&(yield[o,n,r,e,n+e])}function ds(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function ws(e,t,n,r,o,i,s){const a=Rs(t,r+10),c=Fs(t,r+12),l=Fs(t,r+16);if(a==O||c==M||l==M)return await ps(e,t,n,o-Y,i,s)==j?2:0;if(!a&&!c)return 1;const u=Rs(t,r+6);for(const r of[o-c,rs(e,u)+l])if(await ps(e,t,n,r,i,s)==Z)return 2;return 0}async function ps(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?Fs(t,r-n):i.count>0?(i.count--,Fs(tt(await Eo(e,r,4)),0)):ae}function ms(e,t,n){e?ys(n):hs(t,n)}function hs(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function ys(e){const t=new d(hi);throw t.reason=e,t}function Ss(e,t,n){return t[n]===ae?e.options[n]:t[n]}function Es(e,t,n){return _e(Ss(e,t,n))}function gs(e){const t=(4294901760&e)>>16,n=e&O,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<se?se:r}function bs(e){return new a(o(e/i(1e4)-i(116444736e5)))}function xs(e,t){return e.getUint8(t)}function Rs(e,t){return e.getUint16(t,!0)}function Fs(e,t){return e.getUint32(t,!0)}function zs(e,t){const n=e.getBigUint64(t,!0);if(n>Vi)throw new d(xi);return o(n)}var As=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:hi,ERR_BAD_FORMAT:oi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ai,ERR_ENCRYPTED:ui,ERR_ENCRYPTED_CENTRAL_DIRECTORY:yi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:mi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:si,ERR_EOCDR_NOT_FOUND:ii,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:li,ERR_INVALID_AUTHENTICATION_CODE:bt,ERR_INVALID_COMPRESSED_DATA:xn,ERR_INVALID_CRC32:Rn,ERR_INVALID_FILENAME_VALIDATION:gi,ERR_INVALID_MAX_APPENDED_DATA_SIZE:bi,ERR_INVALID_PASSWORD:Et,ERR_INVALID_SIGNATURE:gt,ERR_INVALID_STRICTNESS:Ei,ERR_INVALID_UNCOMPRESSED_SIZE:bn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ci,ERR_OVERLAPPING_ENTRY:pi,ERR_SPLIT_ZIP_FILE:wi,ERR_UNSAFE_FILENAME:Si,ERR_UNSUPPORTED_COMPRESSION:di,ERR_UNSUPPORTED_ENCRYPTION:fi,ERR_UNSUPPORTED_UINT64:xi,ERR_WORKER_STARTUP_TIMEOUT:Hn,WARNING_APPENDED_DATA:Ii,WARNING_COMPRESSED_PATCHED_DATA:zi,WARNING_DUPLICATE_FILENAME:vi,WARNING_MALFORMED_EXTRA_FIELD:Ai,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ni,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Ui,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Mi,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:_i,WARNING_PREPENDED_DATA:Ci,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Ti,WARNING_UNKNOWN_VERSION:Fi,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Di,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ri,WARNING_WRAPPED_ENTRIES_COUNT:ki,ZipReader:Zi,ZipReaderStream:Hi,isZipFile:Gi});const Ds="File already exists",ks="Zip file comment exceeds 64KB",Is="Invalid zip file comment (must be a Uint8Array)",Cs="File entry comment exceeds 64KB",Ts="Invalid file entry comment (must be a string)",vs="Invalid date (must be a valid Date instance)",_s="File entry name exceeds 64KB",Ns="Version exceeds 65535",Us="The strength must equal 1, 2, or 3",Ms="Encryption is not supported in USDZ files",Os="Encryption is not supported when the 'passThrough' option is set",Ls="Invalid extra field (must be a Map)",Bs="Invalid extra field type (must be integer 0..65535)",Ws="Invalid extra field data (must be a Uint8Array)",Ps="Extra field data exceeds 64KB",Vs=-2147483648,Zs=2147483647,Hs=i(0),Gs=i("0x7fffffffffffffff"),js="Zip64 is not supported (set the 'zip64' option to 'true')",qs="Undefined uncompressed size",Ks="Undefined compression method",Ys="Undefined reader",Xs="Zip file not empty",Js="Invalid uid (must be integer 0..2^32-1)",Qs="Invalid gid (must be integer 0..2^32-1)",$s="Invalid UNIX mode (must be integer 0..65535)",ea="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ta="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",na="Invalid msdosAttributesRaw (must be integer 0..255)",ra="Invalid msdosAttributes (must be an object with boolean flags)",oa="Invalid level (must be integer 0..9)",ia="Signature data exceeds 64KB",sa=new w([7,0,2,0,65,69,3,0,0]),aa="infozip",ca="unix";let la=0;const ua=[];class fa{constructor(e,t={}){e=new mo(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;n.assign(this,{writer:e,Ve:i,options:t,Ze:new c,He:new l,offset:t[xe]===ae?e.size||e.writable.size||0:t[xe],Ge:t[xe]===ae?0:t[xe]-(e.size||e.writable.size||0),je:new l,qe:[],Ke:0,Ye:ae})}prependZip(e){return wa(this,async function(e,t){if(e.He.size)throw new d(Xs);await e.Xe(t)}(this,e))}appendZip(e){return wa(this,this.Xe(e))}async Xe(e){const r=this,{je:o,He:i,Ze:s}=r;for(;o.size;)await S.allSettled(t.from(o));let a;const l=new S(e=>a=e);o.add(l);const u=[];let f;try{e=new po(e),await yo(e),e.size!==ae&&e.readUint8Array||(e=new Gr(await ln(e.readable)),await yo(e));const{ZipReader:o}=await S.resolve().then(function(){return As}),a=new o(e),l=await a.getEntries();await a.close(),await yo(r.writer);const{directoryOffset:w}=a;l.forEach(({filename:e})=>{if(i.has(e))throw new d(Ds);i.add(e),u.push(e)}),r.Je=!0;const{Qe:p}=r;r.Qe=new S(e=>f=()=>{r.Je=!1,e()}),await p,r.Ve&&(delete r.Ve,await async function(e){return tt(await Eo(e,0,4)).getUint32(0,!0)==W}(e)||(await Ca(r.writer,ka()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Da(n,e)-Da(n,t));let c=0;for(const t of a){const r=Da(n,t);await za(e,n,c,r-c),xa(i,await Aa(n,r))&&await i.closeDisk(),s.set(t,{offset:Ra(e,i),diskNumberStart:ga(i)}),c=r}await za(e,n,c,o-c)}else{const t=e.offset;await za(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Da(n,e),diskNumberStart:0}))}return s}(r,e,l,w);l.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:l,extraFieldZip64:u}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=Fa(d||de),e.extraFieldAES&&(f=99);const y=Ya(d),S=Boolean(u)&&u.uncompressedSize!==ae,E=Boolean(u)&&u.compressedSize!==ae,g=-7&Ja(w,p,h,a,f)|w<<1,{$e:b,et:x}=Xa({version:t,bitFlag:g,compressionMethod:f,uncompressedSize:c,compressedSize:l,rawLastModDate:r,rawFilename:o,nt:E,ot:S,extraFieldLength:y}),{crc32:R}=e;R!==ae&&ja(x,10,R);const{offset:F,diskNumberStart:z}=m.get(e);n.assign(e,{ot:S,nt:E,offset:F,diskNumberStart:z,it:!1,st:de,ct:de,lt:de,ut:de,ft:de,rawExtraField:d,wt:de,extendedTimestamp:!1,$e:b,et:x}),s.set(e.filename,e)})}catch(e){throw u.forEach(e=>i.delete(e)),e}finally{a(),o.delete(l),f&&f()}}add(e="",r,c={}){const l=this,{je:u}=l,f=async function(e,r,c,l){if(Ma(e,l=n.assign({},l),qo)&&!r.endsWith(re)&&(r+=re),e.He.has(r))throw new d(Ds);e.He.add(r),la<qe().maxWorkers?la++:await new S(e=>ua.push(e));try{return await async function(e,r,c,l){const u=function(e,n,r){let o=Ma(e,r,Po),i=Ma(e,r,Go,o?20:768);const s=Ma(e,r,Ko),a=Pa(e,r,"uid"),c=Pa(e,r,"gid");let l=Pa(e,r,Qo),u=Ma(e,r,"unixExtraFieldType"),f=Ma(e,r,$o),w=Ma(e,r,ei),p=Ma(e,r,ti);if(Oe(a,M,Js),Oe(c,M,Qs),Oe(l,O,$s),u!==ae&&u!==aa&&u!==ca)throw new d(ea);if(u===ca&&(a!==ae&&a>O||c!==ae&&c>O))throw new d(ta);u!==ae||a===ae&&c===ae||(u=aa);let m=Pa(e,r,Bo),h=Ma(e,r,Wo);const y=m!==ae||h!==ae;if(a!==ae||c!==ae||l!==ae||u||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),Oe(m,L,na),h&&("object"!=typeof h||t.isArray(h)))throw new d(ra);if(i>O)throw new d(Ns);let S=Ba(e,r,Mo,Lo);const E=S!==ae;E||(S=0),!r[qo]&&n.endsWith(re)&&(r[qo]=!0);const g=Ma(e,r,qo);if(g?(n.endsWith(re)||(n+=re),E||(S=16,o||(S|=16877<<16))):o||E||(S=s?493<<16:27525120),!o){const e=l!==ae||Boolean(f||w||p);l=l===ae?S>>16&O:l&O,f?l|=te:f=Boolean(l&te),w?l|=ne:w=Boolean(l&ne),p?l|=512:p=Boolean(512&l),E&&!e||(g?l=-61441&l|ee:l&$||(l|=32768),S=(l&O)<<16|S&O)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==ae)e&=L;else if(t!==ae){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&L}return t===ae&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(S=S&M|m&L);const b=S>>16&O,x=l!==ae&&40960==(l&$);return{name:n,ht:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:S,unixExternalUpper:b,uid:a,gid:c,unixMode:l,unixExtraFieldType:u,symlink:x,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,l);({name:r}=u);const f=function(e,t,n){const r=La(e,n,"encodeText")||wt;let i=r(t,ze);if(i===ae&&(i=wt(t)),Ya(i)>O)throw new d(_s);const s=n[Ro]||"";if(typeof s!=fe)throw new d(Ts);let c=r(s,Ae);if(c===ae&&(c=wt(s)),Ya(c)>O)throw new d(Cs);const l=Ma(e,n,Ho);if(l!==ae&&l>O)throw new d(Ns);const u=Oa(e,n,Io,new a),f=Ma(e,n,Co),w=Oa(e,n,To),p=Oa(e,n,_o),m=Ba(e,n,Uo,Oo,0),h=Ma(e,n,me),y=Ma(e,n,we),S=Ma(e,n,pe);Ue(y,S);const E=Pa(e,n,"encryptionStrength",3),g=Ma(e,n,jo),b=Ma(e,n,"extendedTimestamp",!0),x=Ma(e,n,"ntfsTimestamp"),R=Ma(e,n,"keepOrder",!0),F=Ma(e,n,ye),z=Ma(e,n,Ee),A=Ma(e,n,"bufferedWrite"),D=La(e,n,"createTempStream"),k=Ma(e,n,"dataDescriptorSignature",!0),I=Ne(Ma(e,n,he)),C=Ma(e,n,"useUnicodeFileNames",!0),T=Ma(e,n,Yo),v=h||T===ae?ae:yn(T);if(!h&&T!==ae&&0!==T&&8!==T&&!v)throw new d("Compression method not supported");let _=Pa(e,n,"level");if(Oe(_,9,oa),e.options[Re]){if(y!==ae||S!==ae)throw new d(Ms);_===ae&&T===ae&&(_=0)}h&&(_=ae);let N=Ma(e,n,Se),U=Ma(e,n,be);A&&U===ae&&(U=!1),(U===ae||g&&!h)&&(U=!0),_!==ae&&6!=_&&(N=!1);const M=Ma(e,n,Vo);if(!(g||y===ae&&S===ae||o.isInteger(E)&&E>=1&&E<=3))throw new d(Us);const L=ha(n[Jo]),B=ha(n.localExtraField),W=ha(n.centralExtraField);return{comment:s,ht:{rawFilename:i,rawComment:c,version:l,lastModDate:u,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,passThrough:h,password:y,rawPassword:S,encryptionStrength:E,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:R,useWebWorkers:F,transferStreams:z,bufferedWrite:A,createTempStream:D,dataDescriptorSignature:k,signal:I,useUnicodeFileNames:C,compressionMethod:T,format:v?v.format:ae,codecURI:v?v.codecURI:ae,yt:v?v.versionNeeded:ae,level:_,useCompressionStream:N,dataDescriptor:U,zip64:M,rawExtraField:L,St:B,wt:W}}}(e,r,l),{comment:p}=f,m=l[Jo];e.Ze.set(r,ae);const h=e.Ye,y={};let E,g;f.ht.keepOrder&&(y.Et=new S(e=>E=e)),e.Ye=y;try{const{ht:t}=f;0==t.level||t.compressionMethod!==ae||t.passThrough||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(_n(t)||vn(t,An))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(qe())||(t.level=0);const o=await async function(e,t,{ht:r},o){if(r.passThrough&&!t&&!Ma(e,o,qo))throw new d(Ys);let i;return t&&(t=new po(t),await yo(t),({size:i}=t)),n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:w,compressionMethod:p}=r,m=0,h=0;if(i&&t){if(h=o[zo],h===ae)throw new d(qs);if(p===ae)throw new d(Ks)}const y=!0===f,S=Ma(e,o,Zo);if(t&&i&&!S&&Ya(a,c))throw new d(Os);const E=t&&(Boolean(a&&Ya(a)||c&&Ya(c))||i&&S);t||(w=0,p=0);const g=E?s?12:16+4*l:0;t&&(i?(o.uncompressedSize=h,m=n===ae?Va(h)+g:n):n===ae?(u=!0,(f||f===ae)&&(f=!0,h=m=4294967296)):(o.uncompressedSize=h=n,m=(Za(p,w)?Va(h):h)+g));const b=!(E||t&&(0!==n||i)||Za(p,w));b&&!s&&Ma(e,o,be)===ae&&(u=!1);const x=y||h>=M,R=y||m>=M;if(x||R){if(!1===f)throw new d(js);f=!0}return f=f||!1,{gt:m,ht:{dataDescriptor:u,bt:b,zip64:f,ot:x,nt:R,uncompressedSize:h,level:w,compressionMethod:p,encrypted:E}}}(e,Boolean(t),i,r,o))}(e,c,f,l);({reader:c}=o);const p=ba(e.writer),m=ga(e.writer),b=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,St:h,encryptionStrength:y,extendedTimestamp:S,ntfsTimestamp:E,passThrough:g,encrypted:b,ot:x,nt:R,uncompressedSize:F,crc32:z}=e;let{version:A,compressionMethod:D}=e;const k=!p&&Za(D,c);let I;const C=g||!k,T=l&&(e.bufferedWrite||!w||!x&&!R||C),v=T||l&&w&&(x||R);if(l&&(x||R)){const e=20,t=Ea(e);if(t.xt(1),t.xt(e-4),I=t.Rt,T&&(t.Ft(F),C)){const e=b?u?12:16+4*y:0;t.Ft(g?0:F+e)}}else I=de;let _,N,U,M,L;if(b&&!u){const e=Ea(Ya(sa)+2);e.xt(39169),e.zt(sa),_=e.Rt,_[8]=y}else _=de;if(S){const e=_a(n),t=Na(e);if(t){const t=9+(o?4:0)+(i?4:0),n=Ea(t);M=1+(o?2:0)+(i?4:0),n.xt(J),n.xt(t-4),n.At(M),n.Dt(e),o&&n.Dt(Ua(_a(o))),i&&n.Dt(Ua(_a(i))),U=n.Rt}else U=de;if(E===ae?!t||Boolean(o||i):E)try{const e=va(n),t=Ea(36);t.xt(10),t.xt(32),t.kt(4),t.xt(1),t.xt(24),t.Ft(e),t.Ft(o?va(o):e),t.Ft(i?va(i):e),N=t.Rt}catch{N=de}else N=de}else N=U=de;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=aa||t===ae&&n===ae)if(r!=ca||t===ae&&n===ae)L=de;else{const e=Ea(8);e.xt(30805),e.xt(4),e.xt((t===ae?0:t)&O),e.xt((n===ae?0:n)&O),L=e.Rt}else{const e=Sa(t===ae?0:t),r=Sa(n===ae?0:n),o=3+e.length+r.length,i=Ea(4+o);i.xt(30837),i.xt(o),i.At(1),i.At(e.length),i.zt(e),i.At(r.length),i.zt(r),L=i.Rt}}catch{L=de}D===ae&&(D=k?8:0),A===ae&&(A=0!=D||p||b?20:10);const{yt:W}=e;k&&W!==ae&&(A=A>W?A:W),l&&(A=A>45?A:45),b&&!u&&(A=A>51?A:51,g&&z!==ae&&(_[4]=1),Ga(tt(_),9,D),D=99);const P=v?Ya(I):0,V=P+Ya(_,U,N,L,m,h);if(V+(e[Re]?67:0)>O)throw new d(Ps);const Z=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),{$e:H,et:G,rawLastModDate:j}=Xa({version:A,bitFlag:Ja(c,f,w,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:Z<se?se:Z>ie?ie:Z,rawLastModDate:r,rawFilename:t,nt:R,ot:x,extraFieldLength:V}),q=Ea(oe+Ya(t)+V),K=q.Rt,Y=tt(K);return q.Dt(B),q.zt(H),q.zt(t),v&&q.zt(I),q.zt(_),q.zt(U),q.zt(N),q.zt(L),q.zt(m),q.zt(h),w&&(R||ja(Y,18,0),x||ja(Y,22,0)),{It:K,Ct:Y,$e:H,et:G,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:A,compressionMethod:D,Tt:M,st:de,vt:P,lt:U,ut:N,ft:L,ct:_,extraFieldLength:V}}(l=n.assign({},l,u.ht,f.ht,o.ht,{signature:l[Xo],crc32:l.crc32===ae?l[Xo]:l.crc32,offset:e.offset-p,diskNumberStart:m,[Re]:e.options[Re]})),x=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=de,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=tt(o),n&&(i=4,ja(r,0,P))),{_t:o,Nt:r,Ut:i}}(l),R=Ya(b.It,x._t);g=await async function(e,t,r,o,s){const{Ze:a,writer:c}=e,{keepOrder:l,dataDescriptor:u,bt:f,signal:w}=s,{Mt:p,Pe:m,Ot:h,Lt:y}=o,E=e.options[Re];let g,b,x,R,z,A,D=m,k=0;const I=l&&h?h.Et:ae;a.set(t,D);try{s.bufferedWrite||!l||e.Je||e.Ke||!u&&!f?(g=!0,e.Ke++,A=s.createTempStream?await s.createTempStream():new F(ae,ae,{highWaterMark:ce}),A.size=0,await yo(c)):(A=c,await I,await C()),await yo(A);const m=ba(c);e.Ve&&!g&&await Ia(e,c),E&&!g&&ya(o,e.offset-m);const{It:h}=p;g||await T();const y=ga(c),b=Ra(e,c);if(D.diskNumberStart=y,g||(R=!0,z=c.size,await Ca(A,h)),D=await async function(e,t,{diskNumberStart:r,Et:o},s,a,c){const{Mt:l,Bt:u,Wt:f}=s,{$e:w,et:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:S,version:E,compressionMethod:g,st:b,vt:x,lt:R,Tt:F,ut:z,ft:A,ct:D}=l,{_t:k}=u,{rawFilename:I,lastAccessDate:C,creationDate:T,password:v,rawPassword:_,level:N,zip64:U,ot:O,nt:B,zipCrypto:W,dataDescriptor:P,directory:V,executable:Z,versionMadeBy:H,rawComment:G,rawExtraField:j,wt:q,useWebWorkers:K,transferStreams:Y,onstart:X,onprogress:J,onend:Q,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,uid:ie,gid:se,unixMode:ce,symlink:le,setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me,useCompressionStream:he,passThrough:ye,format:Se,codecURI:Ee}=c,ge={Et:o,versionMadeBy:H,zip64:U,directory:Boolean(V),executable:Boolean(Z),filenameUTF8:!0,rawFilename:I,commentUTF8:!0,rawComment:G,st:b,vt:x,lt:R,ut:z,ft:A,ct:D,rawExtraField:j,wt:q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,diskNumberStart:r,uid:ie,gid:se,unixMode:ce,symlink:Boolean(le),setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me};let{crc32:be,uncompressedSize:xe}=c,Re=0;ye||(xe=0);const{writable:Fe}=t;if(e){const n=cn(go(e)),r=e.size,o={options:{codecType:Wn,inputSize:r,level:N,rawPassword:_,password:v,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&h>>8&L,computeCrc32:!ye,compressed:S&&!ye,encrypted:y&&!ye,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:Se,codecURI:Ee,compressionMethod:g},config:a,ae:{signal:$,size:r,onstart:X,onprogress:J,onend:Q}};try{const e=await Sr({readable:n,writable:Fe},o);if(Re=e.outputSize,t.size+=Re,ye||(xe=e.inputSize,y&&!W||(be=e.crc32)),!B&&Re>=M||!O&&xe>=M)throw new d(js)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Mt:r,Bt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:l}){const{et:u,encrypted:f}=r,{Nt:d,Ut:w}=o;f&&!a&&!c||e===ae||(ja(u,10,e),l&&ja(d,w,e)),s?l&&(qa(d,w+4,i(t)),qa(d,w+12,i(n))):(ja(u,14,t),ja(u,18,n),l&&(ja(d,w+4,t),ja(d,w+8,n)))}({crc32:be,compressedSize:Re,uncompressedSize:xe,Mt:l,Bt:u},c),P&&await Ca(t,k),n.assign(ge,{uncompressedSize:xe,compressedSize:Re,lastModDate:m,rawLastModDate:h,creationDate:T,lastAccessDate:C,encrypted:Boolean(y),zipCrypto:Boolean(W),size:f+Re,compressionMethod:g,version:E,$e:w,et:p,signature:be,crc32:!y||W||ye?be:ae,Tt:F,ot:O,nt:B}),ge}(r,A,D,o,qe(),s),g||(R=!1),a.set(t,D),D.filename=t,g){if(await S.all([A.writable.getWriter().close(),I]),await C(),e.Ve&&await Ia(e,c),x=!0,z=c.size,await T(),D.diskNumberStart=ga(c),D.offset=Ra(e,c),E){const t=o.Wt;ya(o,e.offset-ba(c)),D.size+=o.Wt-t}!function({rawFilename:e,encrypted:t,zip64:n,vt:r,crc32:o,compressedSize:s,uncompressedSize:a,ot:c,nt:l},u,{dataDescriptor:f,passThrough:d}){if(f||((!t||d&&o!==ae)&&ja(u,14,o),l||ja(u,18,s),c||ja(u,22,a)),n&&r){const t=oe+Ya(e)+4;qa(u,t,i(a)),qa(u,t+8,i(s))}}(D,p.Ct,s),await Ca(c,p.It),await Ta(A.readable,c,w,e=>k+=e),c.size+=A.size,x=!1}else D.diskNumberStart=y,D.offset=b;return e.offset+=D.size,D}catch(n){if(x||R){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,g&&(e.offset+=k)}throw a.delete(t),n}finally{if(g&&e.Ke--,y&&y(I),b&&b(),g&&A&&A.dispose)try{await A.dispose()}catch{}}async function C(){e.Je=!0;const{Qe:t}=e;e.Qe=new S(t=>b=()=>{e.Je=!1,t()}),await t}async function T(){xa(c,Ya(p.It))&&await c.closeDisk()}}(e,r,c,{Mt:b,Bt:x,Wt:R,Pe:y,Ot:h,Lt:E},l)}catch(t){throw e.Ze.delete(r),t}finally{E&&E(h&&h.Et)}return n.assign(g,{name:r,comment:p,extraField:m,[Oo]:g.internalFileAttributes,[Lo]:g.externalFileAttributes}),new ri(g)}(e,r,c,l)}catch(t){throw e.He.delete(r),t}finally{const e=ua.shift();e?e():la--}}(l,e,r,c);u.add(f);const p=()=>u.delete(f);return S.prototype.then.call(f,p,p),wa(l,f)}remove(e){const{He:t,Ze:n}=this;if(typeof e==fe&&(e=n.get(e)),e&&e.filename!==ae){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=de,n={}){const r=this,{je:o,writer:s}=this,{writable:a}=s;if(!(e instanceof w))throw new d(Is);if(Ya(e)>O)throw new d(ks);for(;o.size;)await S.allSettled(t.from(o));await S.allSettled(r.qe.map(e=>e.Pt));const c=r.qe.filter(e=>e.error&&!e.Vt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Vt=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const o=function(e){let t=0;for(const[,n]of e){const{rawFilename:e,ct:r,rawComment:o,ut:i,ft:s,rawExtraField:a,wt:c,extendedTimestamp:l,Tt:u,lastModDate:f,ot:w,nt:p,uncompressedSize:m,compressedSize:h}=n,y=n.offset>=M,S=n.diskNumberStart>=O;let E,g;if(y||S||w||p){const e=4+(w?8:0)+(p?8:0)+(y?8:0)+(S?4:0),t=Ea(e);t.xt(1),t.xt(e-4),w&&t.Ft(m),p&&t.Ft(h),y&&t.Ft(n.offset),S&&t.Dt(n.diskNumberStart),E=t.Rt}else E=de;n.st=E,n.Zt=y,n.it=S;const b=_a(f);if(l&&Na(b)){const e=Ea(9);e.xt(J),e.xt(5),e.At(u),e.Dt(b),g=e.Rt}else g=de;n.lt=g;const x=Ya(E,r,i,s,g,a,c);if(x>O)throw new d(Ps);t+=q+Ya(e,o)+x}return t}(e.Ze),{Ht:s,Gt:a,jt:c}=await async function(e,n,r){const{Ze:o,writer:i}=e,s=new w(n);await yo(i);let a=0,c=0,l=ga(i),u=ba(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,st:w,ct:p,lt:m,ut:h,ft:y,rawExtraField:S,wt:E,rawComment:g,versionMadeBy:b,$e:x,et:R,ot:F,nt:z,it:A,Zt:D,internalFileAttributes:k,externalFileAttributes:I,diskNumberStart:C,uncompressedSize:T,compressedSize:v}=n,_=Ya(w,p,m,h,y,S,E),N=q+Ya(d,g)+_;xa(i,a+N-c)&&(await Ca(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(l=ga(i),u=ba(i)),F||ja(R,18,T),z||ja(R,14,v),(D||A)&&n.version<45&&Ga(R,0,45);const U=Ea(N);if(U.Dt(Z),U.xt(b),U.zt(x.subarray(0,24)),U.xt(_),U.xt(Ya(g)),U.xt(A?O:C),U.xt(k),U.Dt(I),U.Dt(D?M:t),U.zt(d),U.zt(w),U.zt(p),U.zt(m),U.zt(h),U.zt(y),U.zt(S),U.zt(E),U.zt(g),Ka(s,U.Rt,a),a+=N,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new ri(n))}catch{}}return await Ca(i,c?s.slice(c):s),{Ht:{diskNumber:l,diskOffset:u},Gt:{diskNumber:ga(i),qt:f},jt:s}}(e,o,r),l=await async function(e,t,n){const r=La(e,n,"signCentralDirectory");if(r){const n=await r(t),o=Ya(n);if(o>O)throw new d(ia);const i=Ea(6+o);i.Dt(V),i.xt(o),i.zt(n);const{writer:s}=e;return xa(s,Ya(i.Rt))&&await s.closeDisk(),await Ca(s,i.Rt),6+o}return 0}(e,c,r);await async function(e,t,n,r){const{writer:o}=e,{Ht:s,Gt:a,Kt:c}=r;let{Yt:l}=r,u=e.Ze.size,f=s.diskNumber,w=Ra(e,s);const p=Ya(t);if(p>O)throw new d(ks);let m=Ma(e,n,Vo),h=ga(o);if(xa(o,(m?98:K)+p)&&h++,w>=M||l>=M||u>=O||h>=O){if(!1===m)throw new d(js);m=!0}const y=Ea(m?98:K);xa(o,Ya(y.Rt)+p)&&await o.closeDisk(),h=ga(o);let S=h==a.diskNumber?a.qt:0;m&&(y.Dt(G),y.Ft(44),y.xt(45),y.xt(45),y.Dt(h),y.Dt(f),y.Ft(S),y.Ft(u),y.Ft(l),y.Ft(w),y.Dt(j),y.Dt(h),y.Ft(i(Ra(e,o))+i(l)+i(c)),y.Dt(h+1),Ma(e,n,"supportZip64SplitFile",!0)&&(h=O,f=O),S=O,u=O,w=M,l=M),y.Dt(H),y.xt(h),y.xt(f),y.xt(S),y.xt(u),y.Dt(l),y.Dt(w),y.xt(p),await Ca(o,y.Rt),p&&await Ca(o,t)}(e,n,r,{Ht:s,Gt:a,Yt:o,Kt:l})}(r,e,n),!ho(s)&&Ma(r,n,ge)||await a.getWriter().close(),s.getData?s.getData():a}}class da extends S{then(e,t){const{Xt:n}=this;return n&&(n.Vt=!0),super.then(e,t)}}function wa(e,t){const n=new da((e,n)=>S.prototype.then.call(t,e,n)),r={};return n.Xt=r,r.Pt=S.prototype.then.call(n,ae,e=>r.error=e),e.qe.push(r),n}async function pa(e,t){try{await e.writer.writable.abort(t)}catch{}}function ma(e,t,n){e.je.add(t),t.catch(e=>{try{n(e)}catch{}})}function ha(e){if(!e)return de;if(!(e instanceof c))throw new d(Ls);let t=0,n=0;e.forEach((e,n)=>{if(Me(n,O,Bs),!(e instanceof w))throw new d(Ws);if(Ya(e)>O)throw new d(Ps);t+=4+Ya(e)});const r=new w(t),o=tt(r);return e.forEach((e,t)=>{Ga(o,n,t),Ga(o,n+2,Ya(e)),Ka(r,e,n+4),n+=4+Ya(e)}),r}function ya(e,t){const{Mt:n}=e;let{It:r,extraFieldLength:o}=n,i=64-(t+Ya(r))%64;i<4&&(i+=64);const s=new w(i),a=tt(s);Ga(a,0,6534),Ga(a,2,i-4);const c=r;n.It=r=new w(Ya(c)+i),Ka(r,c),Ka(r,s,Ya(c));const l=tt(r);Ga(l,28,o+i),n.Ct=l,e.Wt+=i}function Sa(e){const t=new w(4);tt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Ea(e){const t=new w(e),n=tt(t);let r=0;return{Rt:t,At:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},xt:e=>{Ga(n,r,e),r+=2},Dt:e=>{ja(n,r,e),r+=4},Ft:e=>{qa(n,r,i(e)),r+=8},zt:e=>{Ka(t,e,r),r+=Ya(e)},kt:e=>r+=e}}function ga(e){const{diskNumber:t=0}=e;return t}function ba(e){const{diskOffset:t=0}=e;return t}function xa(e,t){const{availableSize:n=ce}=e;return t>n}function Ra(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ge:0)}function Fa(e){const t=tt(e);let n=0;for(;n+4<=Ya(e);){const r=4+Ha(t,n+2);if(1==Ha(t,n))return Fa($e(e.subarray(0,n),e.subarray(s.min(n+r,Ya(e)))));n+=r}return e}async function za(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Ta(go(t,{offset:n,size:r}),o,ae,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Aa(e,t){const n=await Eo(e,t,oe);if(Ya(n)<oe)return oe;const r=tt(n);return oe+Ha(r,26)+Ha(r,28)}function Da(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function ka(){const e=new w(4);return ja(tt(e),0,W),e}async function Ia(e,t){delete e.Ve,await Ca(t,ka()),e.offset+=4}async function Ca(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Ya(t),await r.write(t)}finally{r.releaseLock()}}async function Ta(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new A({async write(e){await o.ready,await o.write(e),r(Ya(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function va(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Hs?Hs:t>Gs?Gs:t}}function _a(e){return s.floor(e.getTime()/1e3)}function Na(e){return e>=Vs&&e<=Zs}function Ua(e){return s.min(Zs,s.max(Vs,e))}function Ma(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function Oa(e,t,n,r){const i=Ma(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=ue||o.isNaN(i.getTime())))throw new d(vs);return i}function La(e,t,n){return _e(Ma(e,t,n))}function Ba(e,t,n,r,o){const i=Wa(t,n,r),s=i===ae?Wa(e.options,n,r):i;return s===ae?o:s}function Wa(e,t,n){return e[t]===ae?e[n]:e[t]}function Pa(e,t,n,r){return Le(Ma(e,t,n,r))}function Va(e){return e+5*(s.floor(e/16383)+1)}function Za(e,t){return e===ae?t===ae||t>0:0!==e}function Ha(e,t){return e.getUint16(t,!0)}function Ga(e,t,n){e.setUint16(t,n,!0)}function ja(e,t,n){e.setUint32(t,n,!0)}function qa(e,t,n){e.setBigUint64(t,n,!0)}function Ka(e,t,n){e.set(t,n)}function Ya(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Xa({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,nt:c,ot:l,extraFieldLength:u}){const f=Ea(26),d=f.Rt,w=tt(d);if(f.xt(e),f.xt(t),f.xt(n),s===ae){const e=new m(1),t=tt(e);Ga(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ga(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.Dt(s),f.kt(4),c||o!==ae?f.Dt(c?M:o):f.kt(4),l||r!==ae?f.Dt(l?M:r):f.kt(4),f.xt(Ya(a)),f.xt(u),{$e:d,et:w,rawLastModDate:s}}function Ja(e,t,n,r,o){let i=0;return t&&(i|=Q),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function Qa(e,t){if(!e)return!1;const{Jt:n}=e;return n?n.includes(t):vn(e,t)}const $a=1048576,ec=".zip.js-temp",tc=1048576,nc=1048576,rc=".zip.js-temp",oc="createSyncAccessHandle is only available in dedicated workers";try{!function(e){const t=Xe(Qe(e));n.assign(Pe,t),n.assign(je,t)}({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new f("zip-core.min.js",b.baseURI).href})}catch{}e.BlobReader=Gr,e.BlobWriter=jr,e.Data64URIReader=class extends Pr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Qt:e,$t:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{$t:n,Qt:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let l=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),l++;return l<o.length?o.subarray(0,l):o}},e.Data64URIWriter=class extends Vr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",en:""})}writeUint8Array(e){const t=this;let n,o=t.en;const i=t.en.length;for(t.en="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.en+=r.fromCharCode(e[n]);o.length>2?t.data+=R(o):t.en=o+t.en}getData(){return this.data+R(this.en)}},e.ERR_AMBIGUOUS_ARCHIVE=hi,e.ERR_BAD_FORMAT=oi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ai,e.ERR_DUPLICATED_NAME=Ds,e.ERR_ENCRYPTED=ui,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=yi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=mi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=si,e.ERR_EOCDR_NOT_FOUND=ii,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=li,e.ERR_HTTP_RANGE=Ir,e.ERR_HTTP_RESOURCE_CHANGED=Cr,e.ERR_INVALID_AUTHENTICATION_CODE=bt,e.ERR_INVALID_CODEC_DEFINITION=fn,e.ERR_INVALID_CODEC_MODULE=wn,e.ERR_INVALID_COMMENT=ks,e.ERR_INVALID_COMMENT_TYPE=Is,e.ERR_INVALID_COMPRESSED_DATA=xn,e.ERR_INVALID_CRC32=Rn,e.ERR_INVALID_DATE=vs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Us,e.ERR_INVALID_ENTRY_COMMENT=Cs,e.ERR_INVALID_ENTRY_COMMENT_TYPE=Ts,e.ERR_INVALID_ENTRY_NAME=_s,e.ERR_INVALID_EXTRAFIELD=Ls,e.ERR_INVALID_EXTRAFIELD_DATA=Ps,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Ws,e.ERR_INVALID_EXTRAFIELD_TYPE=Bs,e.ERR_INVALID_FILENAME_VALIDATION=gi,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=Qs,e.ERR_INVALID_LEVEL=oa,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=bi,e.ERR_INVALID_MAX_WORKERS=Be,e.ERR_INVALID_MSDOS_ATTRIBUTES=na,e.ERR_INVALID_MSDOS_DATA=ra,e.ERR_INVALID_PASSWORD=Et,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Te,e.ERR_INVALID_SIGNATURE=gt,e.ERR_INVALID_SIGNATURE_DATA=ia,e.ERR_INVALID_STRICTNESS=Ei,e.ERR_INVALID_UID=Js,e.ERR_INVALID_UNCOMPRESSED_SIZE=bn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=ea,e.ERR_INVALID_UNIX_ID_SIZE=ta,e.ERR_INVALID_UNIX_MODE=$s,e.ERR_INVALID_VERSION=Ns,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Tr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ci,e.ERR_OVERLAPPING_ENTRY=pi,e.ERR_RESERVED_COMPRESSION_METHOD=dn,e.ERR_SPLIT_ZIP_FILE=wi,e.ERR_UNDEFINED_COMPRESSION_METHOD=Ks,e.ERR_UNDEFINED_READER=Ys,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=qs,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Si,e.ERR_UNSUPPORTED_COMPRESSION=di,e.ERR_UNSUPPORTED_CONTEXT=oc,e.ERR_UNSUPPORTED_CRYPTO_API=Rt,e.ERR_UNSUPPORTED_ENCRYPTION=fi,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Os,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ms,e.ERR_UNSUPPORTED_FORMAT=js,e.ERR_UNSUPPORTED_UINT64=xi,e.ERR_WORKER_STARTUP_TIMEOUT=Hn,e.ERR_WRITER_NOT_INITIALIZED=vr,e.ERR_ZIP_NOT_EMPTY=Xs,e.HttpRangeReader=class extends uo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=uo,e.Reader=Pr,e.SplitDataReader=fo,e.SplitDataWriter=wo,e.TextReader=class extends Gr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends jr{constructor(e){super(),n.assign(this,{encoding:e,tn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,tn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Dr(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Pr{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Rt:e,size:e.length})}readUint8Array(e,t){return this.Rt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Vr{constructor(e){super(),this.nn=e||262144}init(e=0){n.assign(this,{offset:0,Rt:new w(e>0?e:this.nn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Rt.length){let e=t.Rt.length?2*t.Rt.length:t.nn;for(;e<n;)e*=2;const r=t.Rt;t.Rt=new w(e),t.Rt.set(r)}t.Rt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Rt.length?this.Rt:this.Rt.slice(0,this.offset)}},e.VERSION="2.8.61",e.WARNING_APPENDED_DATA=Ii,e.WARNING_COMPRESSED_PATCHED_DATA=zi,e.WARNING_DUPLICATE_FILENAME=vi,e.WARNING_MALFORMED_EXTRA_FIELD=Ai,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ni,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Ui,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Mi,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=_i,e.WARNING_PREPENDED_DATA=Ci,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Ti,e.WARNING_UNKNOWN_VERSION=Fi,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Di,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Ri,e.WARNING_WRAPPED_ENTRIES_COUNT=ki,e.Writer=Vr,e.ZipReader=Zi,e.ZipReaderStream=Hi,e.ZipWriter=fa,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new fa(n,e),this.je=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new F({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await pa(t,e)}}()}});return ma(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new F({start(e){t=e}});return ma(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await S.allSettled(t.from(this.je))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await pa(r,e),e}try{return await r.close(e,n)}catch(e){throw await pa(r,e),e}}},e.configure=function(e){n.assign(je,Xe(Qe(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=tc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new A({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new F;r=ln(t.readable),n=t.writable.getWriter(),s=!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:a,readable:new z({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=$a,directoryName:r=ec,getDirectory:o=()=>I.storage.getDirectory()}=e;let i;function s(){return i||(i=S.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,l=!1;const u=new A({async write(a){l?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),l=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:u,readable:new z({async pull(t){if(l){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=nc,directoryName:r=rc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(oc);const i=o||(()=>I.storage.getDirectory());let a;function c(){return a||(a=S.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,l=0,u=0;const f=new A({async write(s){a?(o.write(s,{at:l}),l+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:l}),l+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new z({pull(t){if(a){const e=l-u;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Sn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=qe(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Qa(n,Fn)||Qa(e,Fn)||Qa(e,An),decompression:Qa(r,Fn)||Qa(t,Fn)||Qa(t,An),registered:!1},{compressionMethod:9,compression:!1,decompression:Qa(r,zn)||Qa(t,zn),registered:!1}];for(const e of Sn()){const t=En(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==ue:ae,decompression:t?typeof t.DecompressionStream==ue:ae,registered:!0})}return o},e.isZipFile=Gi,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>O||typeof n!=fe||!n.length)throw new d(fn);if(pn.includes(t))throw new d(dn);const c=typeof i==ue||typeof s==ue;if(!(c||typeof r==fe&&r.length))throw new d(fn);mn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&gn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of Ge)delete je[e];n.assign(je,Pe)},e.terminateWorkers=async function(){await S.allSettled(wr.map(e=>(Rr(e),e.terminate()))),Gn=ae,jn=!1},e.unregisterCodec=function(e){const t=mn.get(e);if(t){let n;mn.delete(e),mn.forEach(e=>n=n||e.format==t.format),n||hn.delete(t.format)}}});
1
+ !function(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:o,BigInt:i,Math:s,Date:a,Map:c,Set:l,Response:u,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:S,TextEncoder:E,TextDecoder:g,document:b,crypto:x,btoa:R,TransformStream:F,ReadableStream:z,WritableStream:A,CompressionStream:D,DecompressionStream:I,navigator:k,Worker:C,Symbol:T,setTimeout:_,clearTimeout:v,structuredClone:N}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==b?b.currentScript:null;const O=4294967295,M=65535,L=255,B=67324752,W=134695760,P=W,V=84233040,Z=33639248,H=101010256,G=101075792,j=117853008,q=46,K=22,Y=20,X=56,J=21589,Q=2048,$=61440,ee=16384,te=2048,ne=1024,re="/",oe=30,ie=new a(2107,11,31,23,59,58),se=new a(1980,0,1),ae=void 0,ce=1/0,le="undefined",ue="function",fe="string",de=new w,we="password",pe="rawPassword",me="passThrough",he="signal",ye="useWebWorkers",Se="useCompressionStream",Ee="transferStreams",ge="preventClose",be="dataDescriptor",xe="offset",Re="usdz",Fe="maxAppendedDataSize",ze="filename",Ae="comment",De="strict",Ie="balanced",ke="tolerant",Ce="Invalid option (must be a function)",Te="Invalid signal (must be an AbortSignal instance)",_e="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function ve(e){if(e&&typeof e!=ue)throw new d(Ce);return e}function Ne(e){if(e&&(typeof e.addEventListener!=ue||"boolean"!=typeof e.aborted))throw new d(Te);return e||ae}function Ue(e,t){if(e&&typeof e!=fe||t&&!(t instanceof w))throw new d(_e)}function Oe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function Me(e,t,n){e!==ae&&Oe(e,t,n)}function Le(e){return typeof e==fe&&e.trim()?o(e):e}const Be="Invalid maxWorkers (must be an integer greater than 0)";let We=2;try{typeof k!=le&&k.hardwareConcurrency&&(We=k.hardwareConcurrency)}catch{}const Pe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:We,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof D!=le&&D,DecompressionStream:typeof I!=le&&I},Ve="maxWorkers",Ze=["chunkSize",Ve,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],He=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ge=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Ze,...He],je={...Pe};function qe(){return je}function Ke(e){return Ye(e.chunkSize)}function Ye(e){return e=Le(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function Xe(e){const t={};for(const n of Ge){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(Ze.includes(e)){if(t=Le(t),e==Ve&&(!o.isInteger(t)||t<1))throw new d(Be)}else He.includes(e)&&ve(t);return t}function Qe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ae&&r===ae)return e;const o=n.assign({},e);return o.CompressionStreamFallback===ae&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===ae&&(o.DecompressionStreamFallback=r),o}function $e(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function et(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function tt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const nt=[[],[],[],[],[],[],[],[]];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;nt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=nt[t-1][e];nt[t][e]=n>>>8^nt[0][255&n]}const[rt,ot,it,st,at,ct,lt,ut]=nt;class ft{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 o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=ut[255&e]^lt[e>>>8&255]^ct[e>>>16&255]^at[e>>>24&255]^st[255&n]^it[n>>>8&255]^ot[n>>>16&255]^rt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^rt[255&(t^e[r])];this.o=t}get(){return~this.o}}class dt extends F{constructor(){let e;const t=new ft;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function wt(e){if(typeof E==le){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const pt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=pt.l(n);return 32===r?e.concat(t):pt.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)+pt.l(n)},h(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=pt.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=>s.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 o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=pt.l(o);return r.push(pt.S(t+i&31,t+i>32?n:r.pop(),1)),r}},mt={bytes:{R(e){const t=pt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},F(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(pt.S(8*(3&n),r)),t}}},ht=class{constructor(e){const t=this;t.blockSize=512,t.A=[1732584193,4023233417,2562383102,271733878,3285377520],t.D=[1518500249,1859775393,2400959708,3395469782],e?(t.I=e.I.slice(0),t.C=e.C.slice(0),t.T=e.T):t.reset()}reset(){const e=this;return e.I=e.A.slice(0),e.C=[],e.T=0,e}update(e){const t=this;"string"==typeof e&&(e=mt._.F(e));const n=t.C=pt.concat(t.C,e),r=t.T,o=t.T=r+pt.bitLength(e);if(o>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t.v(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}N(){const e=this;let t=e.C;const n=e.I;t=pt.concat(t,[pt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.T/4294967296)),t.push(0|e.T);t.length;)e.v(t.splice(0,16));return e.reset(),n}U(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}O(e,t){return t<<e|t>>>32-e}v(e){const n=this,r=n.I,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.O(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.O(5,i)+n.U(e,a,c,l)+u+o[e]+n.D[s.floor(e/20)]|0;u=l,l=c,c=n.O(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},yt={importKey:e=>new yt.M(mt.bytes.F(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,l;const u=new ArrayBuffer(o),f=new h(u);let w=0;const p=pt;for(t=mt.bytes.F(t),l=1;w<(o||1);l++){for(i=s=e.encrypt(p.concat(t,[l])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)f.setInt32(w,i[a]),w+=4}return u.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.B=ht,r=[[],[]];t.W=[new n,new n];const o=t.W[0].blockSize/32;e.length>o&&(e=(new n).update(e).N());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.P=new n(t.W[0])}reset(){const e=this;e.P=new e.B(e.W[0]),e.V=!1}update(e){this.V=!0,this.P.update(e)}digest(){const e=this,t=e.P.N(),n=new e.B(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.V)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},St=typeof x!=le&&typeof x.getRandomValues==ue,Et="Invalid password",gt="Invalid signature",bt=gt,xt="zipjs-abort-check-password",Rt="Crypto API not supported";function Ft(e){if(St)return x.getRandomValues(e);throw new d(Rt)}const zt=16,At={name:"PBKDF2"},Dt=n.assign({hash:{name:"HMAC"}},At),It=n.assign({iterations:1e3,hash:{name:"SHA-1"}},At),kt=["deriveBits"],Ct=[8,12,16],Tt=[16,24,32],_t=10,vt=[0,0,0,0],Nt=typeof x!=le,Ut=Nt&&x.subtle,Ot=Nt&&typeof Ut!=le,Mt=mt.bytes,Lt=class{constructor(e){const t=this;t.Z=[[[],[],[],[],[]],[[],[],[],[],[]]],t.Z[0][0][0]||t.H();const n=t.Z[0][4],r=t.Z[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new d("invalid aes key size");for(t.D=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=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.G(e,0)}decrypt(e){return this.G(e,1)}H(){const e=this.Z[0],t=this.Z[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,l;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=o[c=o[a=o[u]]];let f=16843009*l^65537*c^257*a^16843008*u,d=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}G(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this.D[t],r=n.length/4-2,o=[0,0,0,0],i=this.Z[t],s=i[0],a=i[1],c=i[2],l=i[3],u=i[4];let f,w,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],E=4;for(let e=0;e<r;e++)f=s[m>>>24]^a[h>>16&255]^c[y>>8&255]^l[255&S]^n[E],w=s[h>>>24]^a[y>>16&255]^c[S>>8&255]^l[255&m]^n[E+1],p=s[y>>>24]^a[S>>16&255]^c[m>>8&255]^l[255&h]^n[E+2],S=s[S>>>24]^a[m>>16&255]^c[h>>8&255]^l[255&y]^n[E+3],E+=4,m=f,h=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=u[m>>>24]<<24^u[h>>16&255]<<16^u[y>>8&255]<<8^u[255&S]^n[E++],f=m,m=h,h=y,y=S,S=f;return o}},Bt=class{constructor(e,t){this.j=e,this.K=t,this.Y=t}reset(){this.Y=this.K}update(e){return this.X(this.j,e,this.Y)}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 o=pt.bitLength(t);for(let o=0;o<r;o+=4){this.$(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return pt.h(t,o)}},Wt=yt.M;let Pt=Nt&&Ot&&typeof Ut.importKey==ue,Vt=Nt&&Ot&&typeof Ut.deriveBits==ue;class Zt extends F{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Gt(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,ee:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await qt(e,t,n,Yt(r,0,Ct[t])),i=Yt(r,Ct[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new d(Et)}(n,i,o,Yt(e,0,Ct[i]+2)),e=Yt(e,Ct[i]+2),r?t.error(new d(xt)):s()):await a;const c=new w(e.length-_t-(e.length-_t)%zt);t.enqueue(jt(n,e,c,0,_t,!0))},async flush(e){const{te:t,ne:n,re:r,ready:i}=this;if(n&&t){await i;const s=Yt(r,0,r.length-_t),a=Yt(r,r.length-_t);let c=de;if(s.length){const e=Jt(Mt,s);n.update(e);const r=t.update(e);c=Xt(Mt,r)}const l=Yt(Xt(Mt,n.digest()),0,_t);let u=r.length<_t?1:0;for(let e=0;e<_t;e++)u|=l[e]^a[e];if(u&&o)throw new d(bt);e.enqueue(c)}}})}}class Ht extends F{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Gt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,ee:i,ready:s}=n;let a=de;r?(a=await async function(e,t,n){const r=Ft(new w(Ct[t]));return $e(r,await qt(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%zt);c.set(a,0),t.enqueue(jt(n,e,c,a.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:o}=this;if(n&&t){await o;let i=de;if(r.length){const e=t.update(Jt(Mt,r));n.update(e),i=Xt(Mt,e)}const s=Xt(Mt,n.digest()).slice(0,_t);e.enqueue($e(i,s))}}})}}function Gt(e,t,r,o){n.assign(e,{ready:new S(t=>e.ee=t),password:Kt(t,r),strength:o-1,re:de})}function jt(e,t,n,r,o,i){const{te:s,ne:a,re:c}=e;c.length&&(t=$e(c,t));const l=t.length-o;let u;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(l-l%zt)),u=0;u<=l-zt;u+=zt){const e=Jt(Mt,Yt(t,u,u+zt));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(Xt(Mt,o),u+r)}return e.re=Yt(t,u),n}async function qt(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!Pt)return yt.importKey(t);try{return await Ut.importKey("raw",t,n,!1,o)}catch{return Pt=!1,yt.importKey(t)}}(0,o,Dt,0,kt),a=await async function(e,t,n){if(!Vt)return yt.L(t,e.salt,It.iterations,n);try{return await Ut.deriveBits(e,t,n)}catch{return Vt=!1,yt.L(t,e.salt,It.iterations,n)}}(n.assign({salt:i},It),s,8*(2*Tt[r]+2)),c=new w(a),l=Jt(Mt,Yt(c,0,Tt[r])),u=Jt(Mt,Yt(c,Tt[r],2*Tt[r])),f=Yt(c,2*Tt[r]);return n.assign(e,{keys:{key:l,oe:u,passwordVerification:f},te:new Bt(new Lt(l),t.from(vt)),ne:new Wt(u)}),f}function Kt(e,t){return t===ae?wt(e):t}function Yt(e,t,n){return e.subarray(t,n)}function Xt(e,t){return e.R(t)}function Jt(e,t){return e.F(t)}class Qt extends F{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){en(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=tn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(Et);e=e.subarray(12)}r?t.error(new d(xt)):t.enqueue(tn(n,e))}})}}class $t extends F{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){en(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Ft(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(nn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(nn(n,e),o),t.enqueue(r)}})}}function en(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,ie:new ft(o[0]),se:new ft(o[2])}),r)for(let t=0;t<r.length;t++)rn(e,r[t]);else for(let n=0;n<t.length;n++)rn(e,t.charCodeAt(n))}(e,t,r)}function tn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=on(e)^t[r],rn(e,n[r]);return n}function nn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=on(e)^t[r],rn(e,t[r]);return n}function rn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=an(s.imul(an(n+sn(r)),134775813)+1),e.se.append([n>>>24]);const o=~e.se.get();e.keys=[r,n,o]}function on(e){const t=2|e.keys[2];return sn(s.imul(t,1^t)>>>8)}function sn(e){return 255&e}function an(e){return 4294967295&e}function cn(e){if(e instanceof z)return e;const t=e.getReader();return new z({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function ln(e,t){e=cn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=ue||new y([]).stream()instanceof z)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new A({write(e){r.push(e)}})).then(()=>new y(r,n))}function un(e){if(e instanceof A)return e;const t=e.getWriter();return new A({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const fn="Invalid codec definition",dn="Reserved compression method",wn="Invalid codec module",pn=[0,8,9,99],mn=new c,hn=new c;function yn(e){return mn.get(e)}function Sn(){return t.from(mn.values(),e=>n.assign({},e,hn.get(e.format)))}function En(e){return hn.get(e)}function gn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=ue&&typeof r!=ue)throw new d(wn);hn.set(e,{CompressionStream:n,DecompressionStream:r})}const bn="Invalid uncompressed size",xn="Invalid compressed data",Rn=gt,Fn="deflate-raw",zn="deflate64-raw",An="gzip",Dn=[31,139,8];class In extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,S,E=super.readable;const g=f&&En(f),b=c&&o&&!u&&!g&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||b||(m=new dt,E=Mn(E,m)),o)if(g)E=Ln(E,Un(g.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)S=new kn,E=Ln(E,new r(An)),E=Mn(E,S);else try{E=On(E,s,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(An)}catch{throw e}E=Ln(E,t),E=Mn(E,new kn)}i&&(a?E=Mn(E,new $t(e)):(y=new Ht(e),E=Mn(E,y))),Nn(p,E,()=>{i&&!a||!c||(p.crc32=b?S.crc32:new h(m.value.buffer).getUint32(0))})}}class kn extends F{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=$e(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue($e(n.subarray(0,a),e.subarray(0,i-a))),n=$e(n.subarray(a),e.subarray(i-a))},flush(){const t=tt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Cn extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let E,g,b=super.readable;if(i&&(o?b=Mn(b,new Qt(e)):(g=new Zt(e),b=Mn(b,g))),c){const e=f&&En(f);if(e)b=Ln(b,Un(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=On(b,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ae)throw e;let t;try{t=new r(An)}catch{throw e}b=function(e,t,n){const r=new ft;let o,i,s,a=0,c=!1;const l=new S((e,t)=>{i=e,s=t});l.catch(()=>{}),n||i();const u=new F({start(e){const t=new w(10);t.set(Dn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{m()}const t=new w(8),o=tt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new F({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=Mn(e,u),Mn(e=Ln(e,t),f);function p(){m(),o=_(()=>s(new d(bn)),5e3)}function m(){v(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new z({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(xn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}s&&(E=new dt,b=Mn(b,E)),Nn(this,b,()=>{if(s){const e=new h(E.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Rn)}})}}const Tn=new c;function _n(e,t){if(!e)return!1;let n=Tn.get(e);n||(n=new c,Tn.set(e,n));let r=n.get(t);if(r===ae){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function vn(e){return _n(e,Fn)}function Nn(e,t,r){t=Mn(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Un(e,t,n){if(!e)throw new d("Compression method not supported");return new e(t,n)}function On(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?zn:Fn;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Ln(e,a)}function Mn(e,t){return cn(e).pipeThrough(t)}function Ln(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){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 function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const Bn="data",Wn="deflate",Pn="inflate";class Vn extends F{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Wn)?i=In:o.startsWith(Pn)&&(i=Cn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),u=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new d(bn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(a).pipeThrough(u)})}}class Zn extends F{constructor(e){const t=[];let n=0;function r(){const r=new w(e);let o=0;for(;o<e;){const n=t[0],i=e-o;n.length<=i?(r.set(n,o),o+=n.length,t.shift()):(r.set(n.subarray(0,i),o),t[0]=n.subarray(i),o+=i)}return n-=e,r}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(o,i){for(t.push(o),n+=o.length;n>e;)i.enqueue(r())},flush(e){n&&e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const Hn="Worker startup timeout";let Gn,jn,qn;function Kn(e){e.createWorker?jn=!0:Gn=!1}class Yn{constructor(e,{readable:t,writable:r},{options:o,config:i,ae:s,useWebWorkers:a,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:d}=s;return jn&&(u=ae),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Zn(Ke(i))).pipeThrough(new Xn(s),{signal:d}),writable:r,options:n.assign({},o),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new S(t=>{const{ue:n,ce:r}=e;n?(r?e.fe=t:(n.terminate(),t()),e.de=null):t()}),we(){if(e.ce){const{fe:t}=e;t&&(e.fe=null,e.pe=!0,e.ue.terminate(),t()),e.ce=!1,f(e)}}}),Gn===ae&&(Gn=typeof C!=le),(a&&qn&&(Gn&&l||u)?qn:Qn)(e,i)}}class Xn extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Jn(e,n)},async transform(e,r){o+=e.length,t&&await Jn(t,o,n),r.enqueue(e)},async flush(){r&&await Jn(r,o)}})}}async function Jn(e,...t){try{await e(...t)}catch{}}function Qn(e,t){return{run:()=>$n(e,t)}}async function $n({options:e,readable:t,writable:n,we:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Wn),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!vn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}i=new Vn(e,o),await t.pipeThrough(i).pipeThrough(new Zn(Ke(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{r()}}const er={type:"module"},tr="error";let nr,rr,or,ir=!0;try{ir=typeof N==ue&&N(new DOMException("","AbortError")).code!==ae}catch{}var sr;function ar(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function cr(e){const{ue:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function lr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,l;if(s)a=s();else if(rr===ae||nr!==e){const n=typeof e==ue;c=n?e(i):e;const s=c.startsWith("data:"),u=c.startsWith("blob:");if(s||u){o===ae&&(o=!1),o&&(l=er);try{a=new C(c,l)}catch(i){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return lr(e,t,r,o,!1);if(o)throw i;return lr(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(l=er);try{c=new f(c,t)}catch{}try{a=new C(c,l)}catch(n){if(o)return lr(e,t,r,!1,i);throw n}}nr=e,rr=c,or=l}else a=new C(rr,or);return a.addEventListener("message",e=>{r.he=!0,ur(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:l,ye:u,Se:f,we:p,le:m}=t,h=()=>t.le!=m;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,l=new d(e);n.assign(l,{stack:t,code:r,name:o,outputSize:i}),s&&(l.cause=n.assign(new d(s.message),{name:s.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||dr({type:Bn,value:e,done:n,messageId:i},t)}r==Bn&&(await l.ready,await l.write(new w(o)),h()||dr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){h()||(cr(t),y(a))}function y(e,t){h()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(tr,e=>fr(e,r)),a.addEventListener("messageerror",e=>fr(e,r)),a}function ur(e){const{Ee:t}=e;t&&(v(t),e.Ee=null)}function fr(e,t){e.preventDefault&&e.preventDefault(),ur(t);const{he:r,Se:o,writer:i,we:s}=t;cr(t),r||(t.ue=null);let a=e.error||new d(e.message||tr);r||(a=n.assign(new d(a.message||tr),{ge:!0}),t.be=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function dr(e,{ue:t,writer:n,transferStreams:r,he:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=et(n),a.push(e.value.buffer)),r&&ir&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{ir=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}sr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.de){let c;typeof a==ue&&(a=a());try{c=lr(e.workerURI,r,e)}catch{return Kn(e),Qn(e,t)}n.assign(e,{ue:c,he:!1,pe:!1,be:null,de:{run:async()=>{try{return await async function(e,t){if(!e.ue){const{be:t}=e;e.be=null;const n=t||new d(Hn);throw n.ge=!0,n}let r,i;const s=new S((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ye:r,Se:i,result:s});const{readable:a,options:c}=e,{writable:l,closed:u,xe:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new F,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,xe:()=>t.abort()}}(e.writable);let w;try{w=dr({type:"start",options:c,config:t,readable:a,writable:l},e)}catch(t){f();try{await u}catch{}throw e.we(),t}w||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.he&&o.isFinite(p)&&p>=0&&(e.Ee=_(()=>function(e){if(e.Ee=null,e.he)return;const{Se:t,writer:n}=e;if(cr(e),e.ue=null,t){const e=new d(Hn);e.ge=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await u,e}catch(e){await m(),f();try{await u}catch{}throw e}async function m(){if(!w&&!l.locked)try{await l.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.ge)return Kn(e),ar(e),$n(e,t);if(n&&n.codecImportFailed){if(e.reader)return ar(e),$n(e,t);e.we()}throw n}}}})}return e.de},qn=sr;let wr=[];const pr=[];let mr,hr,yr=0;async function Sr(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!hn.has(e)&&t&&gn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===ae&&r.transferStreams);const E=!(c||l||u||d),g=w===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&g&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ae,t.createWorker=t.useWebWorkers&&h?h:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=wr.find(e=>!e.ce);if(n)return Rr(n),new Yn(n,e,t,b);if(wr.length<y){const n={Re:yr};return yr++,wr.push(n),new Yn(n,e,t,b)}return new S(n=>{pr.push({resolve:n,stream:e,Fe:t}),hr=r.workerStarvationTimeout,Er()})}()).run();function b(e){if(gr(),pr.length){const[{resolve:t,stream:n,Fe:r}]=pr.splice(0,1);t(new Yn(e,n,r,b)),Er()}else e.ue?(Rr(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.ze=_(async()=>{wr=wr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):wr=wr.filter(t=>t!=e)}}function Er(){!mr&&pr.length&&o.isFinite(hr)&&hr>=0&&(mr=_(br,hr))}function gr(){mr&&(v(mr),mr=null)}function br(){if(mr=null,pr.length){const[{resolve:e,stream:t,Fe:r}]=pr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new Yn({},t,o,xr)),Er()}}function xr(){gr(),Er()}function Rr(e){const{ze:t}=e;t&&(v(t),e.ze=null)}const Fr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split(""),zr=256==Fr.length;function Ar(e,t){return Dr(e,t,!0)}function Dr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(zr){let t="";for(let n=0;n<e.length;n++)t+=Fr[e[n]];return t}return(new g).decode(e)}(e):new g(t,{ignoreBOM:n}).decode(e)}const Ir="HTTP error ",kr="HTTP Range not supported",Cr="HTTP resource changed",Tr="Writer iterator completed too soon",_r="Writer not initialized",vr="Content-Range",Nr="Range",Ur="GET",Or="bytes",Mr=16777216,Lr="writable",Br=T();class Wr{constructor(){this.size=0}init(){this.initialized=!0}}class Pr extends Wr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Ke(qe())}={}){const r=this;let o=0;return n=Ye(n),new z({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await Eo(r,e+o,a);c.length&&i.enqueue(c),o+n>=t||!c.length&&a?i.close():o+=n}})}}class Vr extends Wr{constructor(){super();const e=this,t=new A({write(t){if(!e.initialized)throw new d(_r);return e.writeUint8Array(et(t))}});n.defineProperty(e,Lr,{get:()=>t})}writeUint8Array(){}}let Zr,Hr;class Gr extends Pr{constructor(e){super(),n.assign(this,{Ae:e,size:e.size}),Hr||(Hr=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Zr=1==t}catch{Zr=!1}})())}createReadable(e){const{Ae:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?cn(t.stream()):Zr?cn(t.slice(r,r+o).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.Ae:n.Ae.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class jr extends Wr{constructor(e){super();const t=this,r=new F;n.defineProperty(t,Lr,{get:()=>r.writable}),t.contentType=e,t.De=ln(r.readable,e),t.De.catch(()=>{})}getData(){return this.De}}class qr extends Pr{constructor(e,t){super(),Yr(this,e,t)}async init(){await Xr(this,co,oo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==ae){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new z({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new d(kr);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=ae,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=s.min(e.maximumRangeSize,c),n=await co(Ur,e,no(e,i,t));if(206!=n.status)throw new d(kr);const l=n.headers.get(vr);if(l){const e=o(l.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new d(kr)}to(e,n),eo(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return Jr(this,e,t,co,oo)}}class Kr extends Pr{constructor(e,t){super(),Yr(this,e,t)}async init(){await Xr(this,lo,io),super.init()}readUint8Array(e,t){return Jr(this,e,t,lo,io)}}function Yr(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:l=Mr,fetch:u}=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:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function Xr(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=qe(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==le||o)){const r=await t(Ur,e,no(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Or))throw new d(kr);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==K&&(e.Ie=t)}eo(e,r);const o=Qr(r);o===ae?await ao(e,t,n):e.size=o}}else await ao(e,t,n)}async function Jr(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,Ie:c,size:l,options:u}=e;if(s||a){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return de;{t+n>l&&(n=l-t);const i=await r(Ur,e,no(e,t,n));if(206!=i.status)throw new d(kr);const s=i.headers.get(vr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new d(kr)}to(e,i),eo(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new d(kr);return a}}{const{data:r}=e;return r||await i(e,u),e.data.subarray(t,t+n)}}function Qr(e){const t=e.headers.get(vr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function $r({headers:e}){return{ke:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function eo(e,t){const{checkResourceChanges:n,Ce:r}=e;n&&!r&&206==t.status&&(e.Ce=$r(t))}function to(e,t){const{checkResourceChanges:r,Ce:o,size:i}=e;if(r){const e=Qr(t);if(e!==ae&&i!==ae&&e!=i)throw new d(Cr);if(o){const e=$r(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new d(Cr)}}}function no(e,t=0,r=1){return n.assign({},ro(e),{[Nr]:Or+"="+(t<0?t:t+"-"+(t+r-1))})}function ro({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function oo(e){await so(e,co)}async function io(e){await so(e,lo)}async function so(e,t){const n=await t(Ur,e,ro(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function ao(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,ro(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function co(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status<400)return s;throw 416==s.status?new d(kr):new d(Ir+(s.statusText||s.status))}function lo(e,{url:t},r){return new S((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const e=[];s.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)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(kr):new d(Ir+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class uo extends Pr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Kr(e,t):new qr(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 fo extends Pr{constructor(e){super(),this.Te=e}async init(){const e=this;e._e=0;const t=e.Te=await S.all(e.Te.map(So));e.ve=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{ve:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{Te:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await Eo(c,a,t);else{const i=r-a;o=$e(await Eo(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=de;return n._e=s.max(i,n._e),o}}class wo extends Wr{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new A({async write(t){if(t===Br)return void(s&&await l());const{availableSize:n}=r;if(s)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:a}=await e.next();if(a&&!n)throw new d(Tr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await yo(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await u())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function u(){await s.close()}n.defineProperty(r,Lr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Br)}finally{e.releaseLock()}}}class po{constructor(e){return t.isArray(e)&&(e=new fo(e)),(e instanceof z||typeof e.getReader==ue)&&(e={readable:cn(e)}),e}}class mo{constructor(e){return e.writable===ae&&typeof e.next==ue&&(e=new wo(e)),(e instanceof A||typeof e.getWriter==ue)&&(e={writable:un(e)}),e.size===ae&&(e.size=0),e}}function ho(e){return Boolean(e&&e.getData)}async function yo(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function So(e){return e=new po(e),await yo(e),e.size!==ae&&e.readUint8Array||(e=new Gr(await ln(e.readable)),await yo(e)),e}function Eo(e,t,n){return e.readUint8Array(t,n)}function go(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Pr.prototype.createReadable.call(e,t):e.readable}const bo="filename",xo="rawFilename",Ro="comment",Fo="rawComment",zo="uncompressedSize",Ao="compressedSize",Do="offset",Io="diskNumberStart",ko="lastModDate",Co="rawLastModDate",To="lastAccessDate",_o="rawLastAccessDate",vo="creationDate",No="rawCreationDate",Uo="internalFileAttributes",Oo="externalFileAttributes",Mo="internalFileAttribute",Lo="externalFileAttribute",Bo="msdosAttributesRaw",Wo="msdosAttributes",Po="msDosCompatible",Vo="zip64",Zo="encrypted",Ho="version",Go="versionMadeBy",jo="zipCrypto",qo="directory",Ko="executable",Yo="compressionMethod",Xo="signature",Jo="extraField",Qo="unixMode",$o="setuid",ei="setgid",ti="sticky",ni=[bo,xo,zo,Ao,ko,Co,Ro,Fo,To,_o,vo,No,Do,Io,Uo,Oo,Mo,Lo,Bo,Wo,Po,Vo,Zo,Ho,Go,jo,qo,Ko,"symlink",Yo,Xo,"crc32",Jo,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Qo,"unixExternalUpper",$o,ei,ti,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ri{constructor(e){ni.forEach(t=>this[t]=e[t])}}const oi="File format is not recognized",ii="End of central directory not found",si="End of Zip64 central directory locator not found",ai="Central directory header not found",ci="Local file header not found",li="Zip64 extra field not found",ui="File contains encrypted entry",fi="Encryption method not supported",di="Compression method not supported",wi="Split zip file",pi="Overlapping entry found",mi="Entry data out of bounds",hi="Ambiguous archive",yi="Encrypted central directory is not supported",Si="Unsafe filename",Ei="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",gi="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",bi="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",xi="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ri="unsorted central directory",Fi="unknown version needed to extract",zi="compressed patched data",Ai="malformed extra field",Di="unknown zip64 extensible data",Ii="wrapped entries count",ki="appended data",Ci="prepended data",Ti="prepended central directory",_i="trailing central directory data",vi="duplicate filename",Ni="mismatched zip64 end of central directory record",Ui="mismatched local file header (general purpose bit flag)",Oi="mismatched local file header (compression method)",Mi="mismatched local file header (crc32 or sizes)",Li=/^[a-zA-Z]:/,Bi="utf-8",Wi="cp437",Pi=[[zo,O],[Ao,O],[Do,O],[Io,M]],Vi={[M]:{Ue:zs,bytes:4},[O]:{Ue:As,bytes:8}},Zi=i(o.MAX_SAFE_INTEGER);class Hi{constructor(e,t={}){n.assign(this,{reader:new po(e),options:t,Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await yo(r),r.size!==ae&&r.readUint8Array||(r=new Gr(await ln(r.readable)),await yo(r)),r.size<K)throw new d(oi);const o=t.warnings=[],i=as(e,t.options),a=i==De,c=i!=ke,u=us(Es(t,e,Fe),i),f=function(e,t){if(e===ae)return t;if(!ss(e))throw new d(gi);return e}(Es(t,e,"filenameValidation"),i),w=Es(t,e,"normalizeFilename"),{Me:p,Le:m}=await fs(r,c,u);if(!p)throw await async function(e){return await is(e)==W}(r)?new d(wi):new d(ii);c&&m>1&&Ss("multiple end of central directory records");const h=tt(p);let y=zs(h,12),S=zs(h,16);const E=p.offset,g=Fs(h,20),b=E+K+g,x=r.size-b;x>u&&Ss(ki),x>0&&ys(o,ki);let R=Fs(h,4);const z=r._e||0;let A,D,I,k,C,T=Fs(h,6),_=Fs(h,10),v=0,N=X;const U=S==O||y==O||_==M||T==M;if(S!=O&&T!=M&&(S+=os(r,T)),U){const e=p.offset>=Y?await Eo(r,p.offset-Y,Y):de,t=tt(e);if(e.length==Y&&zs(t,0)==j){S=os(r,zs(t,4))+As(t,8);let e=await Eo(r,S,X),i=tt(e);const c=p.offset-Y-X;if((e.length<X||zs(i,0)!=G)&&S!=c&&c>=0){const t=S;S=c,S>t&&(v=S-t),e=await Eo(r,S,X),i=tt(e)}if(e.length<X||zs(i,0)!=G)throw new d(si);if(I=!0,k=As(i,4)>44,k){const e=s.min(As(i,4)-44,r.size-S-X);e>0&&(N+=e,C=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=tt(e),o=Fs(r,26);n.assign(t,{compressionMethod:Fs(r,0),compressedSize:As(r,2),uncompressedSize:As(r,10),encryptionAlgorithm:Fs(r,18),bitLength:Fs(r,20),flags:Fs(r,22),hashAlgorithm:Fs(r,24),hashData:e.subarray(28,28+o)})}return t}(await Eo(r,S+X,e)))}R==M?R=zs(i,16):R!=zs(i,16)&&hs(a,o,Ni),T==M?T=zs(i,20):T!=zs(i,20)&&hs(a,o,Ni),_==M?_=As(i,32):_!=As(i,32)&&hs(a,o,Ni),y==O?y=As(i,40):y!=As(i,40)&&hs(a,o,Ni),S=os(r,T)+As(i,48)+v}}let B=y;const P=p.offset-(I?N+Y:0);if(S>=r.size&&(v=r.size-S-y-K,S=r.size-y-K),z!=R)throw new d(wi);if(S<0)throw new d(oi);let V=0,H=await Eo(r,S,y),J=tt(H);if(y){if(H.length<4)throw new d(oi);const e=P-y;if(S!=e&&T==R){const t=zs(J,V)==Z||Boolean(C&&C.compressedSize)||Ki(J);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=zs(tt(await Eo(r,e,4)),0)==Z),n){const n=S;S=e,S>n&&(v+=S-n,A=t),H=await Eo(r,S,y),J=tt(H)}}}const Q=P-S;if(y!=Q&&Q>=0&&T==R&&(y=Q,H=await Eo(r,S,y),J=tt(H)),S<0||S>=r.size)throw new d(oi);t.directoryOffset=S,t.directoryLength=B;const oe=gs(t,e,"decryptCentralDirectory");let ie,se;if(oe&&_&&H.length>=4&&zs(J,0)!=Z&&(k||Ki(J))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(C,B,H.length);se=H.subarray(e),H=await oe(H.subarray(0,e),C),J=tt(H),B=H.length,ie=!0}C&&!ie&&(H.length<4||zs(J,0)==Z)&&ys(o,Di),D=S;const ce=Es(t,e,"filenameEncoding"),le=Es(t,e,"commentEncoding"),ue=new l;let fe,we=-1;const pe=!a&&!I;!_&&pe&&(_=Yi(J,H,V),_&&ys(o,Ii));for(let i=0;i<_;i++){const a=new qi(r,t.options);if(V+q>H.length||zs(J,V)!=Z){if(0==i&&!ie&&(k||Ki(J)))throw new d(yi);throw new d(ai)}Ji(a,J,V+6);const c=Boolean(a.bitFlag.languageEncodingFlag),l=V+q,u=l+a.filenameLength,p=u+a.extraFieldLength,m=Fs(J,V+4),h=!(m>>8),y=m>>8==3,S=H.subarray(l,u),E=Fs(J,V+32),g=p+E,b=H.subarray(p,g),x=c,R=c,z=zs(J,V+38),A=z&L,I={readOnly:Boolean(1&A),hidden:Boolean(2&A),system:Boolean(4&A),directory:Boolean(16&A),archive:Boolean(32&A)},C=zs(J,V+42),T=gs(t,e,"decodeText")||Ar,N=x?Bi:ce||Wi,U=R?Bi:le||Wi;let O=T(S,N,ze);if(O===ae&&(O=Ar(S,N)),w){const e=w(O);e!==ae&&(O=e)}if(ls(O,f)){const e=new d(Si);throw e.filename=O,e}let B=T(b,U,Ae);B===ae&&(B=Ar(b,U)),n.assign(a,{index:i,Be:ie,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,We:E,offset:C,diskNumberStart:Fs(J,V+34),internalFileAttributes:Fs(J,V+36),externalFileAttributes:z,msdosAttributesRaw:A,msdosAttributes:I,rawFilename:S,filenameUTF8:x,commentUTF8:R,rawExtraField:H.subarray(u,p),rawComment:b,filename:O,comment:B}),Qi(a,a,J,V+6)&&ys(o,Ai,O),a.offset+=v;const W=os(r,a.diskNumberStart)+a.offset;D=s.min(W,D),W<we&&ys(o,Ri,O),we=W,(a.version&L)>63&&ys(o,Fi,O),32&~a.rawBitFlag||ys(o,zi,O),ue.has(a.filename)&&(fe=!0),ue.add(a.filename);const P=a.externalFileAttributes>>16&M;a.unixMode===ae&&16877&P&&(a.unixMode=P);const G=Boolean(a.unixMode&te),j=Boolean(a.unixMode&ne),K=Boolean(512&a.unixMode),Y=40960==((a.unixMode===ae?P:a.unixMode)&$),X=!Y&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&P)),Q=a.unixMode!==ae&&(a.unixMode&$)==ee,oe=(P&$)==ee;n.assign(a,{setuid:G,setgid:j,sticky:K,symlink:Y,unixExternalUpper:P,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:X,directory:Q||oe||h&&I.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const se=new ri(a);if(se.getData=(e,n)=>a.getData(e,se,t.Oe,n),se.arrayBuffer=async e=>{const n=new F,r=ln(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,se,t.Oe,e),r},V=g,i==_-1&&pe){const e=Yi(J,H,V);e&&(_+=e,ys(o,Ii))}const{onprogress:de}=e;if(de)try{await de(i+1,_,new ri(a))}catch{}yield se}let me=V,he=Xi(H.subarray(V))||(ie?Xi(se):ae);if(!he&&!ie){const e=S+V,t=s.min(P-e,65541);t>=6&&(he=Xi(await Eo(r,e,t)))}he&&(t.digitalSignature=he,me=V+6+he.length),(V!=B&&me!=B||!ie&&V!=y&&me!=y)&&hs(a,o,_i),fe&&hs(a,o,vi);const ye=Es(t,e,"extractPrependedData"),Se=Es(t,e,"extractAppendedData"),Ee=(a||ye)&&_&&4==D&&await async function(e){const t=await is(e);return t==W||808471376==t}(r)?4:0;return a&&(v||_&&D>Ee)&&Ss(Ci),(v||_&&D>4)&&ys(o,Ci),A&&ys(o,Ti),ye&&(t.prependedData=D>Ee?await Eo(r,Ee,D-Ee):de),t.comment=g?await Eo(r,E+K,g):de,Se&&(t.appendedData=b<r.size?await Eo(r,b,r.size-b):de),!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 Gi{constructor(e={}){const{readable:t,writable:n}=new F,r=new Hi(t,e).getEntriesGenerator();this.readable=new z({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const o={...n,readable:function(){const{readable:e,writable:t}=new F;if(n.getData)return async function(){try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}}(),e}()};delete o.getData,e.enqueue(o)}}),this.writable=n}}async function ji(e,t={}){if(e=new po(e),await yo(e),e.size!==ae&&e.readUint8Array||(e=new Gr(await ln(e.readable)),await yo(e)),e.size<K)return!1;const n=as(t,{}),r=n!=ke,o=us(t[Fe],n),{Me:i,Le:s}=await fs(e,r,o);if(!i||n==De&&s>1)return!1;const a=Fs(tt(i),20),c=i.offset+K+a;return e.size-c<=o}class qi{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const o=this,i=qe(),{reader:a,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=o,{dataDescriptor:b}=m,x=t.localDirectory={},R=t.warnings=[],F=os(a,u)+l,z=await Eo(a,F,oe),D=tt(z);let I=Es(o,r,we),k=Es(o,r,pe);const C=Es(o,r,me);if(Ue(I,k),I=I&&I.length&&I,k=k&&k.length&&k,f&&99!=f.originalCompressionMethod)throw new d(di);if(z.length<oe||zs(D,0)!=B)throw new d(ci);Ji(x,D,4);const{extraFieldLength:T,filenameLength:_}=x,v=x.dataOffset=F+oe+_+T,N=Es(o,r,"checkLocalDirectory"),U=as(r,o.options),O=function(e,t){return e===ae?t!=ke:Boolean(e)}(N,U),M=function(e,t){return e===ae?t==De:Boolean(e)}(N,U);let W=de;if(M&&(_||T)){const e=await Eo(a,F+oe,_+T);W=e.subarray(0,_),x.rawExtraField=e.subarray(_)}else x.rawExtraField=T?await Eo(a,F+oe+_,T):de;M&&(x.rawFilename=W),Qi(o,x,D,4,!0)&&ys(R,Ai),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Be&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||hs(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&hs(s,o,Ui),t.compressionMethod!=e.compressionMethod&&hs(s,o,Oi),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||hs(s,o,Mi)}(o,x,W,M,O?ae:R);const{lastAccessDate:V,creationDate:Z,uid:H,gid:G}=x;V&&(t.lastAccessDate=V),Z&&(t.creationDate=Z),H!==ae&&t.uid===ae&&(t.uid=H),G!==ae&&t.gid===ae&&(t.gid=G);const j=o.encrypted&&x.encrypted&&!C,q=j&&!f;if(C||(t.zipCrypto=q),j&&!(64&~x.rawBitFlag))throw new d(fi);const K=C?ae:yn(p);if(0!=p&&8!=p&&9!=p&&!K&&!C)throw new d(di);if(j){if(!q&&(f.strength<1||f.strength>3))throw new d(fi);if(!I&&!k)throw new d(ui)}if(v+g>a.size)throw new d(mi);const Y=g,X=cn(a.createReadable({offset:v,size:Y})),J=Ne(Es(o,r,he)),Q=Es(o,r,"checkPasswordOnly");let $=Es(o,r,"checkOverlappingEntry");const ee=Es(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!C,se=C?g:E,ce=9==p;let le=Es(o,r,Se);ce&&(le=!1);const ue=Es(o,r,"checkCrc32"),fe=(ue===ae?Es(o,r,"checkSignature"):ue)&&!C&&(!j||q||f&&1==f.vendorVersion),be={options:{codecType:Pn,password:I,rawPassword:k,zipCrypto:q,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:Es(o,r,"checkAuthenticationCode"),passwordVerification:q&&(b?S>>>8&L:y>>>24&L),outputSize:se,crc32:y,compressed:ie,encrypted:j,useWebWorkers:Es(o,r,ye),useCompressionStream:le,transferStreams:Es(o,r,Ee),deflate64:ce,format:K?K.format:ae,codecURI:K?K.codecURI:ae,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:Q},config:i,ae:{signal:J,size:Y,onstart:te,onprogress:ne,onend:re}};let xe,Re;$&&await async function({reader:e,Pe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:l,Oe:u}){let f=0;if(c&&(f=l?20:12),f){const n=await Eo(e,a+i,f+4),r=tt(n);let c=n.length==f+4&&zs(r,0)==P;if(c){const e=rs(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=rs(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,Pe:t};for(const[e,t]of u)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(pi);throw e.overlappingEntry=t.Pe,e}u.set(n,w)}({reader:a,Pe:t,index:c,offset:F,crc32:y,compressedSize:g,uncompressedSize:E,dataOffset:v,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:w||x.extraFieldZip64,Oe:n});try{if(!ee){Q&&(e=new A),e=new mo(e),await yo(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,g,ie)),({writable:xe}=e);const{outputSize:t}=await Sr({readable:X,writable:xe},be);if(e.size+=t,t!=se)throw new d(bn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!Q||t.message!=xt)throw Re=t,t}finally{if((ho(e)||!Es(o,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(Re)try{await e.abort(Re)}catch{}else await e.close()}}return Q||ee?ae:e.getData?e.getData():xe}}function Ki(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==zs(e,n))return!0;return!1}function Yi(e,t,n){let r=0;for(;n+q<=t.length&&zs(e,n)==Z;)n+=q+Fs(e,n+28)+Fs(e,n+30)+Fs(e,n+32),r++;return r%65536?0:r}function Xi(e){if(e.length>=6){const t=tt(e);if(zs(t,0)==V){const n=Fs(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Ji(e,t,r){const o=e.rawBitFlag=Fs(t,r+2),i=!(1&~o),s=zs(t,r+6);n.assign(e,{encrypted:i,version:Fs(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&Q)==Q},rawLastModDate:s,lastModDate:bs(s),filenameLength:Fs(t,r+22),extraFieldLength:Fs(t,r+24)})}function Qi(e,t,r,o,i){const{rawExtraField:s}=t,l=t.extraField=new c,u=tt(s);let f=0,w=!1;try{for(;f<s.length;){const e=Fs(u,f),t=Fs(u,f+2);l.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=Fs(r,o+4);n.assign(t,{signature:zs(r,o+10),crc32:zs(r,o+10),compressedSize:zs(r,o+14),uncompressedSize:zs(r,o+18)});const m=l.get(1);m&&(function(e,t){t.zip64=!0;const n=tt(e.data),r=Pi.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Vi[t].bytes,0);if(e.data.length<o)throw new d(li);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Vi[a];t[s]=e[s]=c.Ue(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=l.get(28789);h&&($i(h,bo,xo,t,e),t.extraFieldUnicodePath=h);const y=l.get(25461);y&&($i(y,Ro,Fo,t,e),t.extraFieldUnicodeComment=y);const S=l.get(39169);S&&S.data.length>=7?(function(e,t,r){const o=tt(e.data),i=Rs(o,4);n.assign(e,{vendorVersion:Rs(o,0),vendorId:Rs(o,2),strength:i,originalCompressionMethod:r,compressionMethod:Fs(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(S,t,p),t.extraFieldAES=S):t.compressionMethod=p;const E=l.get(13);E&&(es(E,t),t.extraFieldPkwareUnix=E);const g=l.get(22613);g&&(es(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(function(e,t){const r=tt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=Fs(r,i),n=Fs(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=tt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:xs(i),lastAccessDate:xs(s),creationDate:xs(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let R;if(x&&(R=ts(x,t,!1),t.extraFieldUnix=x),!R){const e=l.get(30837);e&&(ts(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(J);F&&(function(e,t,n){if(!e.data.length)return;const r=tt(e.data),o=Rs(r,0),i=[],s=[];n?(1&~o||(i.push(ko),s.push(Co)),2&~o||(i.push(To),s.push(_o)),4&~o||(i.push(vo),s.push(No))):e.data.length>=5&&(i.push(ko),s.push(Co));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=zs(r,c);t[n]=e[n]=new a(1e3*(0|i));const l=s[o];e[l]=i}c+=4})}(F,t,i),t.extraFieldExtendedTimestamp=F);const z=l.get(6534);return z&&(t.extraFieldUSDZ=z),w}function $i(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=tt(e.data),a=new ft;a.append(i[r]);const c=tt(new w(4));c.setUint32(0,a.get(),!0);const l=zs(s,1),u=Rs(s,0);n.assign(e,{version:u,[t]:Ar(e.data.subarray(5)),valid:1==u&&!i.bitFlag.languageEncodingFlag&&l==zs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function es(e,t){if(e.data.length<8)return;const r=tt(e.data),o={lastAccessDate:new a(1e3*(0|zs(r,0))),lastModDate:new a(1e3*(0|zs(r,4)))};e.data.length>=12&&(o.uid=Fs(r,8),o.gid=Fs(r,10)),n.assign(e,o),n.assign(t,o)}function ts(e,t,r){try{const o=tt(e.data);let i,s;if(r){let t=0;const r=Rs(o,t++),a=Rs(o,t++);i=ns(e.data.subarray(t,t+a)),t+=a;const c=Rs(o,t++);s=ns(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=Fs(o,0),s=Fs(o,2),n.assign(e,{uid:i,gid:s}));return i!==ae&&(t.uid=i),s!==ae&&(t.gid=s),i!==ae||s!==ae}catch{}}function ns(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function rs(e,t,n){const r=zs(e,t);let o,i;return n?(o=As(e,t+4),i=As(e,t+12)):(o=zs(e,t+4),i=zs(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function os(e,t){return e.Ne?e.Ne(t):0}async function is(e){return zs(tt(await Eo(e,0,4)))}function ss(e){return e===De||e===Ie||e===ke}function as(e,t){return cs(e,cs(t,Ie))}function cs(e,t){const n=e.strictness;if(n!==ae){if(!ss(n))throw new d(Ei);return n}const r=e.checkAmbiguity;return r===ae?t:r?De:t==ke?ke:Ie}function ls(e,t){if(t==ke)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Li.test(e))||t==De&&(n.includes(".")||n.includes(""))}function us(e,t){if(e!==ae){const t=Le(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(bi);return t}return t==De?0:t==ke?1/0:M}async function fs(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,l=0;for await(const[n,s,u,f,d]of ds(e,o)){const o=Fs(n,f+20);if(d+K+o==r){const o=await ps(e,n,s,f,d,r,i);if(2==o){if(a||(a=ws(u,f,d)),l++,!t||l>1)break}else 1!=o||c||(c=ws(u,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,l,u]of ds(e,o)){const o=ws(c,l,u);i||(i=o);const f=await ps(e,t,s,l,u,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{Me:a,Le:l}}async function*ds(e,t){const n=e.size-t,r=await Eo(e,n,t),o=tt(r);for(let e=r.length-K;e>=0;e--)zs(o,e)==H&&(yield[o,n,r,e,n+e])}function ws(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function ps(e,t,n,r,o,i,s){const a=Fs(t,r+10),c=zs(t,r+12),l=zs(t,r+16);if(a==M||c==O||l==O)return await ms(e,t,n,o-Y,i,s)==j?2:0;if(!a&&!c)return 1;const u=Fs(t,r+6);for(const r of[o-c,os(e,u)+l])if(await ms(e,t,n,r,i,s)==Z)return 2;return 0}async function ms(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?zs(t,r-n):i.count>0?(i.count--,zs(tt(await Eo(e,r,4)),0)):ae}function hs(e,t,n){e?Ss(n):ys(t,n)}function ys(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function Ss(e){const t=new d(hi);throw t.reason=e,t}function Es(e,t,n){return t[n]===ae?e.options[n]:t[n]}function gs(e,t,n){return ve(Es(e,t,n))}function bs(e){const t=(4294901760&e)>>16,n=e&M,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<se?se:r}function xs(e){return new a(o(e/i(1e4)-i(116444736e5)))}function Rs(e,t){return e.getUint8(t)}function Fs(e,t){return e.getUint16(t,!0)}function zs(e,t){return e.getUint32(t,!0)}function As(e,t){const n=e.getBigUint64(t,!0);if(n>Zi)throw new d(xi);return o(n)}var Ds=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:hi,ERR_BAD_FORMAT:oi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ai,ERR_ENCRYPTED:ui,ERR_ENCRYPTED_CENTRAL_DIRECTORY:yi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:mi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:si,ERR_EOCDR_NOT_FOUND:ii,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:li,ERR_INVALID_AUTHENTICATION_CODE:bt,ERR_INVALID_COMPRESSED_DATA:xn,ERR_INVALID_CRC32:Rn,ERR_INVALID_FILENAME_VALIDATION:gi,ERR_INVALID_MAX_APPENDED_DATA_SIZE:bi,ERR_INVALID_PASSWORD:Et,ERR_INVALID_SIGNATURE:gt,ERR_INVALID_STRICTNESS:Ei,ERR_INVALID_UNCOMPRESSED_SIZE:bn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ci,ERR_OVERLAPPING_ENTRY:pi,ERR_SPLIT_ZIP_FILE:wi,ERR_UNSAFE_FILENAME:Si,ERR_UNSUPPORTED_COMPRESSION:di,ERR_UNSUPPORTED_ENCRYPTION:fi,ERR_UNSUPPORTED_UINT64:xi,ERR_WORKER_STARTUP_TIMEOUT:Hn,WARNING_APPENDED_DATA:ki,WARNING_COMPRESSED_PATCHED_DATA:zi,WARNING_DUPLICATE_FILENAME:vi,WARNING_MALFORMED_EXTRA_FIELD:Ai,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ui,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Oi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Mi,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Ni,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ti,WARNING_PREPENDED_DATA:Ci,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:_i,WARNING_UNKNOWN_VERSION:Fi,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Di,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ri,WARNING_WRAPPED_ENTRIES_COUNT:Ii,ZipReader:Hi,ZipReaderStream:Gi,isZipFile:ji});const Is="File already exists",ks="Zip file comment exceeds 64KB",Cs="Invalid zip file comment (must be a Uint8Array)",Ts="File entry comment exceeds 64KB",_s="Invalid file entry comment (must be a string)",vs="Invalid date (must be a valid Date instance)",Ns="File entry name exceeds 64KB",Us="Version exceeds 65535",Os="The strength must equal 1, 2, or 3",Ms="Encryption is not supported in USDZ files",Ls="Encryption is not supported when the 'passThrough' option is set",Bs="Invalid extra field (must be a Map)",Ws="Invalid extra field type (must be integer 0..65535)",Ps="Invalid extra field data (must be a Uint8Array)",Vs="Extra field data exceeds 64KB",Zs=-2147483648,Hs=2147483647,Gs=i(0),js=i("0x7fffffffffffffff"),qs="Zip64 is not supported (set the 'zip64' option to 'true')",Ks="Undefined uncompressed size",Ys="Undefined compression method",Xs="Undefined reader",Js="Zip file not empty",Qs="Invalid uid (must be integer 0..2^32-1)",$s="Invalid gid (must be integer 0..2^32-1)",ea="Invalid UNIX mode (must be integer 0..65535)",ta="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",na="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ra="Invalid msdosAttributesRaw (must be integer 0..255)",oa="Invalid msdosAttributes (must be an object with boolean flags)",ia="Invalid level (must be integer 0..9)",sa="Signature data exceeds 64KB",aa=new w([7,0,2,0,65,69,3,0,0]),ca="infozip",la="unix";let ua=0;const fa=[];class da{constructor(e,t={}){e=new mo(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;n.assign(this,{writer:e,Ve:i,options:t,Ze:new c,He:new l,offset:t[xe]===ae?e.size||e.writable.size||0:t[xe],Ge:t[xe]===ae?0:t[xe]-(e.size||e.writable.size||0),je:new l,qe:[],Ke:0,Ye:ae})}prependZip(e){return pa(this,async function(e,t){if(e.He.size)throw new d(Js);await e.Xe(t)}(this,e))}appendZip(e){return pa(this,this.Xe(e))}async Xe(e){const r=this,{je:o,He:i,Ze:s}=r;for(;o.size;)await S.allSettled(t.from(o));let a;const l=new S(e=>a=e);o.add(l);const u=[];let f;try{e=new po(e),await yo(e),e.size!==ae&&e.readUint8Array||(e=new Gr(await ln(e.readable)),await yo(e));const{ZipReader:o}=await S.resolve().then(function(){return Ds}),a=new o(e),l=await a.getEntries();await a.close(),await yo(r.writer);const{directoryOffset:w}=a;l.forEach(({filename:e})=>{if(i.has(e))throw new d(Is);i.add(e),u.push(e)}),r.Je=!0;const{Qe:p}=r;r.Qe=new S(e=>f=()=>{r.Je=!1,e()}),await p,r.Ve&&(delete r.Ve,await async function(e){return tt(await Eo(e,0,4)).getUint32(0,!0)==W}(e)||(await Ta(r.writer,ka()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Ia(n,e)-Ia(n,t));let c=0;for(const t of a){const r=Ia(n,t);await Aa(e,n,c,r-c),Ra(i,await Da(n,r))&&await i.closeDisk(),s.set(t,{offset:Fa(e,i),diskNumberStart:ba(i)}),c=r}await Aa(e,n,c,o-c)}else{const t=e.offset;await Aa(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Ia(n,e),diskNumberStart:0}))}return s}(r,e,l,w);l.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:l,extraFieldZip64:u}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=za(d||de),e.extraFieldAES&&(f=99);const y=Xa(d),S=Boolean(u)&&u.uncompressedSize!==ae,E=Boolean(u)&&u.compressedSize!==ae,g=-7&Qa(w,p,h,a,f)|w<<1,{$e:b,et:x}=Ja({version:t,bitFlag:g,compressionMethod:f,uncompressedSize:c,compressedSize:l,rawLastModDate:r,rawFilename:o,nt:E,ot:S,extraFieldLength:y}),{crc32:R}=e;R!==ae&&qa(x,10,R);const{offset:F,diskNumberStart:z}=m.get(e);n.assign(e,{ot:S,nt:E,offset:F,diskNumberStart:z,it:!1,st:de,ct:de,lt:de,ut:de,ft:de,rawExtraField:d,wt:de,extendedTimestamp:!1,$e:b,et:x}),s.set(e.filename,e)})}catch(e){throw u.forEach(e=>i.delete(e)),e}finally{a(),o.delete(l),f&&f()}}add(e="",r,c={}){const l=this,{je:u}=l,f=async function(e,r,c,l){if(Ma(e,l=n.assign({},l),qo)&&!r.endsWith(re)&&(r+=re),e.He.has(r))throw new d(Is);e.He.add(r),ua<qe().maxWorkers?ua++:await new S(e=>fa.push(e));try{return await async function(e,r,c,l){const u=function(e,n,r){let o=Ma(e,r,Po),i=Ma(e,r,Go,o?20:768);const s=Ma(e,r,Ko),a=Va(e,r,"uid"),c=Va(e,r,"gid");let l=Va(e,r,Qo),u=Ma(e,r,"unixExtraFieldType"),f=Ma(e,r,$o),w=Ma(e,r,ei),p=Ma(e,r,ti);if(Me(a,O,Qs),Me(c,O,$s),Me(l,M,ea),u!==ae&&u!==ca&&u!==la)throw new d(ta);if(u===la&&(a!==ae&&a>M||c!==ae&&c>M))throw new d(na);u!==ae||a===ae&&c===ae||(u=ca);let m=Va(e,r,Bo),h=Ma(e,r,Wo);const y=m!==ae||h!==ae;if(a!==ae||c!==ae||l!==ae||u||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),Me(m,L,ra),h&&("object"!=typeof h||t.isArray(h)))throw new d(oa);if(i>M)throw new d(Us);let S=Wa(e,r,Oo,Lo);const E=S!==ae;E||(S=0),!r[qo]&&n.endsWith(re)&&(r[qo]=!0);const g=Ma(e,r,qo);if(g?(n.endsWith(re)||(n+=re),E||(S=16,o||(S|=16877<<16))):o||E||(S=s?493<<16:27525120),!o){const e=l!==ae||Boolean(f||w||p);l=l===ae?S>>16&M:l&M,f?l|=te:f=Boolean(l&te),w?l|=ne:w=Boolean(l&ne),p?l|=512:p=Boolean(512&l),E&&!e||(g?l=-61441&l|ee:l&$||(l|=32768),S=(l&M)<<16|S&M)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==ae)e&=L;else if(t!==ae){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&L}return t===ae&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(S=S&O|m&L);const b=S>>16&M,x=l!==ae&&40960==(l&$);return{name:n,ht:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:S,unixExternalUpper:b,uid:a,gid:c,unixMode:l,unixExtraFieldType:u,symlink:x,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,l);({name:r}=u);const f=function(e,t,n){const r=Ba(e,n,"encodeText")||wt;let i=r(t,ze);if(i===ae&&(i=wt(t)),Xa(i)>M)throw new d(Ns);const s=n[Ro]||"";if(typeof s!=fe)throw new d(_s);let c=r(s,Ae);if(c===ae&&(c=wt(s)),Xa(c)>M)throw new d(Ts);const l=Ma(e,n,Ho);if(l!==ae&&l>M)throw new d(Us);const u=La(e,n,ko,new a),f=Ma(e,n,Co),w=La(e,n,To),p=La(e,n,vo),m=Wa(e,n,Uo,Mo,0),h=Ma(e,n,me),y=Ma(e,n,we),S=Ma(e,n,pe);Ue(y,S);const E=Va(e,n,"encryptionStrength",3),g=Ma(e,n,jo),b=Ma(e,n,"extendedTimestamp",!0),x=Ma(e,n,"ntfsTimestamp"),R=Ma(e,n,"keepOrder",!0),F=Ma(e,n,ye),z=Ma(e,n,Ee),A=Ma(e,n,"bufferedWrite"),D=Ba(e,n,"createTempStream"),I=Ma(e,n,"dataDescriptorSignature",!0),k=Ne(Ma(e,n,he)),C=Ma(e,n,"useUnicodeFileNames",!0),T=Ma(e,n,Yo),_=h||T===ae?ae:yn(T);if(!h&&T!==ae&&0!==T&&8!==T&&!_)throw new d("Compression method not supported");let v=Va(e,n,"level");if(Me(v,9,ia),e.options[Re]){if(y!==ae||S!==ae)throw new d(Ms);v===ae&&T===ae&&(v=0)}h&&(v=ae);let N=Ma(e,n,Se),U=Ma(e,n,be);A&&U===ae&&(U=!1),(U===ae||g&&!h)&&(U=!0),v!==ae&&6!=v&&(N=!1);const O=Ma(e,n,Vo);if(!(g||y===ae&&S===ae||o.isInteger(E)&&E>=1&&E<=3))throw new d(Os);const L=ya(n[Jo]),B=ya(n.localExtraField),W=ya(n.centralExtraField);return{comment:s,ht:{rawFilename:i,rawComment:c,version:l,lastModDate:u,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,passThrough:h,password:y,rawPassword:S,encryptionStrength:E,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:R,useWebWorkers:F,transferStreams:z,bufferedWrite:A,createTempStream:D,dataDescriptorSignature:I,signal:k,useUnicodeFileNames:C,compressionMethod:T,format:_?_.format:ae,codecURI:_?_.codecURI:ae,yt:_?_.versionNeeded:ae,level:v,useCompressionStream:N,dataDescriptor:U,zip64:O,rawExtraField:L,St:B,wt:W}}}(e,r,l),{comment:p}=f,m=l[Jo];e.Ze.set(r,ae);const h=e.Ye,y={};let E,g;f.ht.keepOrder&&(y.Et=new S(e=>E=e)),e.Ye=y;try{const{ht:t}=f;0==t.level||t.compressionMethod!==ae||t.passThrough||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(vn(t)||_n(t,An))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(qe())||(t.level=0);const o=await async function(e,t,{ht:r},o){if(r.passThrough&&!t&&!Ma(e,o,qo))throw new d(Xs);let i;return t&&(t=new po(t),await yo(t),({size:i}=t)),n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:w,compressionMethod:p}=r,m=0,h=0;if(i&&t){if(h=o[zo],h===ae)throw new d(Ks);if(p===ae)throw new d(Ys)}const y=!0===f,S=Ma(e,o,Zo);if(t&&i&&!S&&Xa(a,c))throw new d(Ls);const E=t&&(Boolean(a&&Xa(a)||c&&Xa(c))||i&&S);t||(w=0,p=0);const g=E?s?12:16+4*l:0;t&&(i?(o.uncompressedSize=h,m=n===ae?Za(h)+g:n):n===ae?(u=!0,(f||f===ae)&&(f=!0,h=m=4294967296)):(o.uncompressedSize=h=n,m=(Ha(p,w)?Za(h):h)+g));const b=!(E||t&&(0!==n||i)||Ha(p,w));b&&!s&&Ma(e,o,be)===ae&&(u=!1);const x=y||h>=O,R=y||m>=O;if(x||R){if(!1===f)throw new d(qs);f=!0}return f=f||!1,{gt:m,ht:{dataDescriptor:u,bt:b,zip64:f,ot:x,nt:R,uncompressedSize:h,level:w,compressionMethod:p,encrypted:E}}}(e,Boolean(t),i,r,o))}(e,c,f,l);({reader:c}=o);const p=xa(e.writer),m=ba(e.writer),b=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,St:h,encryptionStrength:y,extendedTimestamp:S,ntfsTimestamp:E,passThrough:g,encrypted:b,ot:x,nt:R,uncompressedSize:F,crc32:z}=e;let{version:A,compressionMethod:D}=e;const I=!p&&Ha(D,c);let k;const C=g||!I,T=l&&(e.bufferedWrite||!w||!x&&!R||C),_=T||l&&w&&(x||R);if(l&&(x||R)){const e=20,t=ga(e);if(t.xt(1),t.xt(e-4),k=t.Rt,T&&(t.Ft(F),C)){const e=b?u?12:16+4*y:0;t.Ft(g?0:F+e)}}else k=de;let v,N,U,O,L;if(b&&!u){const e=ga(Xa(aa)+2);e.xt(39169),e.zt(aa),v=e.Rt,v[8]=y}else v=de;if(S){const e=Na(n),t=Ua(e);if(t){const t=9+(o?4:0)+(i?4:0),n=ga(t);O=1+(o?2:0)+(i?4:0),n.xt(J),n.xt(t-4),n.At(O),n.Dt(e),o&&n.Dt(Oa(Na(o))),i&&n.Dt(Oa(Na(i))),U=n.Rt}else U=de;if(E===ae?!t||Boolean(o||i):E)try{const e=va(n),t=ga(36);t.xt(10),t.xt(32),t.It(4),t.xt(1),t.xt(24),t.Ft(e),t.Ft(o?va(o):e),t.Ft(i?va(i):e),N=t.Rt}catch{N=de}else N=de}else N=U=de;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=ca||t===ae&&n===ae)if(r!=la||t===ae&&n===ae)L=de;else{const e=ga(8);e.xt(30805),e.xt(4),e.xt((t===ae?0:t)&M),e.xt((n===ae?0:n)&M),L=e.Rt}else{const e=Ea(t===ae?0:t),r=Ea(n===ae?0:n),o=3+e.length+r.length,i=ga(4+o);i.xt(30837),i.xt(o),i.At(1),i.At(e.length),i.zt(e),i.At(r.length),i.zt(r),L=i.Rt}}catch{L=de}D===ae&&(D=I?8:0),A===ae&&(A=0!=D||p||b?20:10);const{yt:W}=e;I&&W!==ae&&(A=A>W?A:W),l&&(A=A>45?A:45),b&&!u&&(A=A>51?A:51,g&&z!==ae&&(v[4]=1),ja(tt(v),9,D),D=99);const P=_?Xa(k):0,V=P+Xa(v,U,N,L,m,h);if(V+(e[Re]?67:0)>M)throw new d(Vs);const Z=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),{$e:H,et:G,rawLastModDate:j}=Ja({version:A,bitFlag:Qa(c,f,w,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:Z<se?se:Z>ie?ie:Z,rawLastModDate:r,rawFilename:t,nt:R,ot:x,extraFieldLength:V}),q=ga(oe+Xa(t)+V),K=q.Rt,Y=tt(K);return q.Dt(B),q.zt(H),q.zt(t),_&&q.zt(k),q.zt(v),q.zt(U),q.zt(N),q.zt(L),q.zt(m),q.zt(h),w&&(R||qa(Y,18,0),x||qa(Y,22,0)),{kt:K,Ct:Y,$e:H,et:G,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:I,version:A,compressionMethod:D,Tt:O,st:de,_t:P,lt:U,ut:N,ft:L,ct:v,extraFieldLength:V}}(l=n.assign({},l,u.ht,f.ht,o.ht,{signature:l[Xo],crc32:l.crc32===ae?l[Xo]:l.crc32,offset:e.offset-p,diskNumberStart:m,[Re]:e.options[Re]})),x=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=de,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=tt(o),n&&(i=4,qa(r,0,P))),{vt:o,Nt:r,Ut:i}}(l),R=Xa(b.kt,x.vt);g=await async function(e,t,r,o,s){const{Ze:a,writer:c}=e,{keepOrder:l,dataDescriptor:u,bt:f,signal:w}=s,{Ot:p,Pe:m,Mt:h,Lt:y}=o,E=e.options[Re];let g,b,x,R,z,A,D=m,I=0;const k=l&&h?h.Et:ae;a.set(t,D);try{s.bufferedWrite||!l||e.Je||e.Ke||!u&&!f?(g=!0,e.Ke++,A=s.createTempStream?await s.createTempStream():new F(ae,ae,{highWaterMark:ce}),A.size=0,await yo(c)):(A=c,await k,await C()),await yo(A);const m=xa(c);e.Ve&&!g&&await Ca(e,c),E&&!g&&Sa(o,e.offset-m);const{kt:h}=p;g||await T();const y=ba(c),b=Fa(e,c);if(D.diskNumberStart=y,g||(R=!0,z=c.size,await Ta(A,h)),D=await async function(e,t,{diskNumberStart:r,Et:o},s,a,c){const{Ot:l,Bt:u,Wt:f}=s,{$e:w,et:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:S,version:E,compressionMethod:g,st:b,_t:x,lt:R,Tt:F,ut:z,ft:A,ct:D}=l,{vt:I}=u,{rawFilename:k,lastAccessDate:C,creationDate:T,password:_,rawPassword:v,level:N,zip64:U,ot:M,nt:B,zipCrypto:W,dataDescriptor:P,directory:V,executable:Z,versionMadeBy:H,rawComment:G,rawExtraField:j,wt:q,useWebWorkers:K,transferStreams:Y,onstart:X,onprogress:J,onend:Q,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,uid:ie,gid:se,unixMode:ce,symlink:le,setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me,useCompressionStream:he,passThrough:ye,format:Se,codecURI:Ee}=c,ge={Et:o,versionMadeBy:H,zip64:U,directory:Boolean(V),executable:Boolean(Z),filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:G,st:b,_t:x,lt:R,ut:z,ft:A,ct:D,rawExtraField:j,wt:q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,diskNumberStart:r,uid:ie,gid:se,unixMode:ce,symlink:Boolean(le),setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me};let{crc32:be,uncompressedSize:xe}=c,Re=0;ye||(xe=0);const{writable:Fe}=t;if(e){const n=cn(go(e)),r=e.size,o={options:{codecType:Wn,inputSize:r,level:N,rawPassword:v,password:_,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&h>>8&L,computeCrc32:!ye,compressed:S&&!ye,encrypted:y&&!ye,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:Se,codecURI:Ee,compressionMethod:g},config:a,ae:{signal:$,size:r,onstart:X,onprogress:J,onend:Q}};try{const e=await Sr({readable:n,writable:Fe},o);if(Re=e.outputSize,t.size+=Re,ye||(xe=e.inputSize,y&&!W||(be=e.crc32)),!B&&Re>=O||!M&&xe>=O)throw new d(qs)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Ot:r,Bt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:l}){const{et:u,encrypted:f}=r,{Nt:d,Ut:w}=o;f&&!a&&!c||e===ae||(qa(u,10,e),l&&qa(d,w,e)),s?l&&(Ka(d,w+4,i(t)),Ka(d,w+12,i(n))):(qa(u,14,t),qa(u,18,n),l&&(qa(d,w+4,t),qa(d,w+8,n)))}({crc32:be,compressedSize:Re,uncompressedSize:xe,Ot:l,Bt:u},c),P&&await Ta(t,I),n.assign(ge,{uncompressedSize:xe,compressedSize:Re,lastModDate:m,rawLastModDate:h,creationDate:T,lastAccessDate:C,encrypted:Boolean(y),zipCrypto:Boolean(W),size:f+Re,compressionMethod:g,version:E,$e:w,et:p,signature:be,crc32:!y||W||ye?be:ae,Tt:F,ot:M,nt:B}),ge}(r,A,D,o,qe(),s),g||(R=!1),a.set(t,D),D.filename=t,g){if(await S.all([A.writable.getWriter().close(),k]),await C(),e.Ve&&await Ca(e,c),x=!0,z=c.size,await T(),D.diskNumberStart=ba(c),D.offset=Fa(e,c),E){const t=o.Wt;Sa(o,e.offset-xa(c)),D.size+=o.Wt-t}!function({rawFilename:e,encrypted:t,zip64:n,_t:r,crc32:o,compressedSize:s,uncompressedSize:a,ot:c,nt:l},u,{dataDescriptor:f,passThrough:d}){if(f||((!t||d&&o!==ae)&&qa(u,14,o),l||qa(u,18,s),c||qa(u,22,a)),n&&r){const t=oe+Xa(e)+4;Ka(u,t,i(a)),Ka(u,t+8,i(s))}}(D,p.Ct,s),await Ta(c,p.kt),await _a(A.readable,c,w,e=>I+=e),c.size+=A.size,x=!1}else D.diskNumberStart=y,D.offset=b;return e.offset+=D.size,D}catch(n){if(x||R){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,g&&(e.offset+=I)}throw a.delete(t),n}finally{if(g&&e.Ke--,y&&y(k),b&&b(),g&&A&&A.dispose)try{await A.dispose()}catch{}}async function C(){e.Je=!0;const{Qe:t}=e;e.Qe=new S(t=>b=()=>{e.Je=!1,t()}),await t}async function T(){Ra(c,Xa(p.kt))&&await c.closeDisk()}}(e,r,c,{Ot:b,Bt:x,Wt:R,Pe:y,Mt:h,Lt:E},l)}catch(t){throw e.Ze.delete(r),t}finally{E&&E(h&&h.Et)}return n.assign(g,{name:r,comment:p,extraField:m,[Mo]:g.internalFileAttributes,[Lo]:g.externalFileAttributes}),new ri(g)}(e,r,c,l)}catch(t){throw e.He.delete(r),t}finally{const e=fa.shift();e?e():ua--}}(l,e,r,c);u.add(f);const p=()=>u.delete(f);return S.prototype.then.call(f,p,p),pa(l,f)}remove(e){const{He:t,Ze:n}=this;if(typeof e==fe&&(e=n.get(e)),e&&e.filename!==ae){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=de,n={}){const r=this,{je:o,writer:s}=this,{writable:a}=s;if(!(e instanceof w))throw new d(Cs);if(Xa(e)>M)throw new d(ks);for(;o.size;)await S.allSettled(t.from(o));await S.allSettled(r.qe.map(e=>e.Pt));const c=r.qe.filter(e=>e.error&&!e.Vt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Vt=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const o=function(e){let t=0;for(const[,n]of e){const{rawFilename:e,ct:r,rawComment:o,ut:i,ft:s,rawExtraField:a,wt:c,extendedTimestamp:l,Tt:u,lastModDate:f,ot:w,nt:p,uncompressedSize:m,compressedSize:h}=n,y=n.offset>=O,S=n.diskNumberStart>=M;let E,g;if(y||S||w||p){const e=4+(w?8:0)+(p?8:0)+(y?8:0)+(S?4:0),t=ga(e);t.xt(1),t.xt(e-4),w&&t.Ft(m),p&&t.Ft(h),y&&t.Ft(n.offset),S&&t.Dt(n.diskNumberStart),E=t.Rt}else E=de;n.st=E,n.Zt=y,n.it=S;const b=Na(f);if(l&&Ua(b)){const e=ga(9);e.xt(J),e.xt(5),e.At(u),e.Dt(b),g=e.Rt}else g=de;n.lt=g;const x=Xa(E,r,i,s,g,a,c);if(x>M)throw new d(Vs);t+=q+Xa(e,o)+x}return t}(e.Ze),{Ht:s,Gt:a,jt:c}=await async function(e,n,r){const{Ze:o,writer:i}=e,s=new w(n);await yo(i);let a=0,c=0,l=ba(i),u=xa(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,st:w,ct:p,lt:m,ut:h,ft:y,rawExtraField:S,wt:E,rawComment:g,versionMadeBy:b,$e:x,et:R,ot:F,nt:z,it:A,Zt:D,internalFileAttributes:I,externalFileAttributes:k,diskNumberStart:C,uncompressedSize:T,compressedSize:_}=n,v=Xa(w,p,m,h,y,S,E),N=q+Xa(d,g)+v;Ra(i,a+N-c)&&(await Ta(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(l=ba(i),u=xa(i)),F||qa(R,18,T),z||qa(R,14,_),(D||A)&&n.version<45&&ja(R,0,45);const U=ga(N);if(U.Dt(Z),U.xt(b),U.zt(x.subarray(0,24)),U.xt(v),U.xt(Xa(g)),U.xt(A?M:C),U.xt(I),U.Dt(k),U.Dt(D?O:t),U.zt(d),U.zt(w),U.zt(p),U.zt(m),U.zt(h),U.zt(y),U.zt(S),U.zt(E),U.zt(g),Ya(s,U.Rt,a),a+=N,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new ri(n))}catch{}}return await Ta(i,c?s.slice(c):s),{Ht:{diskNumber:l,diskOffset:u},Gt:{diskNumber:ba(i),qt:f},jt:s}}(e,o,r),l=await async function(e,t,n){const r=Ba(e,n,"signCentralDirectory");if(r){const n=await r(t),o=Xa(n);if(o>M)throw new d(sa);const i=ga(6+o);i.Dt(V),i.xt(o),i.zt(n);const{writer:s}=e;return Ra(s,Xa(i.Rt))&&await s.closeDisk(),await Ta(s,i.Rt),6+o}return 0}(e,c,r);await async function(e,t,n,r){const{writer:o}=e,{Ht:s,Gt:a,Kt:c}=r;let{Yt:l}=r,u=e.Ze.size,f=s.diskNumber,w=Fa(e,s);const p=Xa(t);if(p>M)throw new d(ks);let m=Ma(e,n,Vo),h=ba(o);if(Ra(o,(m?98:K)+p)&&h++,w>=O||l>=O||u>=M||h>=M){if(!1===m)throw new d(qs);m=!0}const y=ga(m?98:K);Ra(o,Xa(y.Rt)+p)&&await o.closeDisk(),h=ba(o);let S=h==a.diskNumber?a.qt:0;m&&(y.Dt(G),y.Ft(44),y.xt(45),y.xt(45),y.Dt(h),y.Dt(f),y.Ft(S),y.Ft(u),y.Ft(l),y.Ft(w),y.Dt(j),y.Dt(h),y.Ft(i(Fa(e,o))+i(l)+i(c)),y.Dt(h+1),Ma(e,n,"supportZip64SplitFile",!0)&&(h=M,f=M),S=M,u=M,w=O,l=O),y.Dt(H),y.xt(h),y.xt(f),y.xt(S),y.xt(u),y.Dt(l),y.Dt(w),y.xt(p),await Ta(o,y.Rt),p&&await Ta(o,t)}(e,n,r,{Ht:s,Gt:a,Yt:o,Kt:l})}(r,e,n),!ho(s)&&Ma(r,n,ge)||await a.getWriter().close(),s.getData?s.getData():a}}class wa extends S{then(e,t){const{Xt:n}=this;return n&&(n.Vt=!0),super.then(e,t)}}function pa(e,t){const n=new wa((e,n)=>S.prototype.then.call(t,e,n)),r={};return n.Xt=r,r.Pt=S.prototype.then.call(n,ae,e=>r.error=e),e.qe.push(r),n}async function ma(e,t){try{await e.writer.writable.abort(t)}catch{}}function ha(e,t,n){e.je.add(t),t.catch(e=>{try{n(e)}catch{}})}function ya(e){if(!e)return de;if(!(e instanceof c))throw new d(Bs);let t=0,n=0;e.forEach((e,n)=>{if(Oe(n,M,Ws),!(e instanceof w))throw new d(Ps);if(Xa(e)>M)throw new d(Vs);t+=4+Xa(e)});const r=new w(t),o=tt(r);return e.forEach((e,t)=>{ja(o,n,t),ja(o,n+2,Xa(e)),Ya(r,e,n+4),n+=4+Xa(e)}),r}function Sa(e,t){const{Ot:n}=e;let{kt:r,extraFieldLength:o}=n,i=64-(t+Xa(r))%64;i<4&&(i+=64);const s=new w(i),a=tt(s);ja(a,0,6534),ja(a,2,i-4);const c=r;n.kt=r=new w(Xa(c)+i),Ya(r,c),Ya(r,s,Xa(c));const l=tt(r);ja(l,28,o+i),n.Ct=l,e.Wt+=i}function Ea(e){const t=new w(4);tt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function ga(e){const t=new w(e),n=tt(t);let r=0;return{Rt:t,At:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},xt:e=>{ja(n,r,e),r+=2},Dt:e=>{qa(n,r,e),r+=4},Ft:e=>{Ka(n,r,i(e)),r+=8},zt:e=>{Ya(t,e,r),r+=Xa(e)},It:e=>r+=e}}function ba(e){const{diskNumber:t=0}=e;return t}function xa(e){const{diskOffset:t=0}=e;return t}function Ra(e,t){const{availableSize:n=ce}=e;return t>n}function Fa(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ge:0)}function za(e){const t=tt(e);let n=0;for(;n+4<=Xa(e);){const r=4+Ga(t,n+2);if(1==Ga(t,n))return za($e(e.subarray(0,n),e.subarray(s.min(n+r,Xa(e)))));n+=r}return e}async function Aa(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await _a(go(t,{offset:n,size:r}),o,ae,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Da(e,t){const n=await Eo(e,t,oe);if(Xa(n)<oe)return oe;const r=tt(n);return oe+Ga(r,26)+Ga(r,28)}function Ia(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function ka(){const e=new w(4);return qa(tt(e),0,W),e}async function Ca(e,t){delete e.Ve,await Ta(t,ka()),e.offset+=4}async function Ta(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Xa(t),await r.write(t)}finally{r.releaseLock()}}async function _a(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new A({async write(e){await o.ready,await o.write(e),r(Xa(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function va(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Gs?Gs:t>js?js:t}}function Na(e){return s.floor(e.getTime()/1e3)}function Ua(e){return e>=Zs&&e<=Hs}function Oa(e){return s.min(Hs,s.max(Zs,e))}function Ma(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function La(e,t,n,r){const i=Ma(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=ue||o.isNaN(i.getTime())))throw new d(vs);return i}function Ba(e,t,n){return ve(Ma(e,t,n))}function Wa(e,t,n,r,o){const i=Pa(t,n,r),s=i===ae?Pa(e.options,n,r):i;return s===ae?o:s}function Pa(e,t,n){return e[t]===ae?e[n]:e[t]}function Va(e,t,n,r){return Le(Ma(e,t,n,r))}function Za(e){return e+5*(s.floor(e/16383)+1)}function Ha(e,t){return e===ae?t===ae||t>0:0!==e}function Ga(e,t){return e.getUint16(t,!0)}function ja(e,t,n){e.setUint16(t,n,!0)}function qa(e,t,n){e.setUint32(t,n,!0)}function Ka(e,t,n){e.setBigUint64(t,n,!0)}function Ya(e,t,n){e.set(t,n)}function Xa(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Ja({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,nt:c,ot:l,extraFieldLength:u}){const f=ga(26),d=f.Rt,w=tt(d);if(f.xt(e),f.xt(t),f.xt(n),s===ae){const e=new m(1),t=tt(e);ja(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ja(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.Dt(s),f.It(4),c||o!==ae?f.Dt(c?O:o):f.It(4),l||r!==ae?f.Dt(l?O:r):f.It(4),f.xt(Xa(a)),f.xt(u),{$e:d,et:w,rawLastModDate:s}}function Qa(e,t,n,r,o){let i=0;return t&&(i|=Q),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function $a(e,t){if(!e)return!1;const{Jt:n}=e;return n?n.includes(t):_n(e,t)}const ec=1048576,tc=".zip.js-temp",nc=1048576,rc=1048576,oc=".zip.js-temp",ic="createSyncAccessHandle is only available in dedicated workers";try{!function(e){const t=Xe(Qe(e));n.assign(Pe,t),n.assign(je,t)}({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new f("zip-core.min.js",b.baseURI).href})}catch{}e.BlobReader=Gr,e.BlobWriter=jr,e.Data64URIReader=class extends Pr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Qt:e,$t:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{$t:n,Qt:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let l=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),l++;return l<o.length?o.subarray(0,l):o}},e.Data64URIWriter=class extends Vr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",en:""})}writeUint8Array(e){const t=this;let n,o=t.en;const i=t.en.length;for(t.en="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.en+=r.fromCharCode(e[n]);o.length>2?t.data+=R(o):t.en=o+t.en}getData(){return this.data+R(this.en)}},e.ERR_AMBIGUOUS_ARCHIVE=hi,e.ERR_BAD_FORMAT=oi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ai,e.ERR_DUPLICATED_NAME=Is,e.ERR_ENCRYPTED=ui,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=yi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=mi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=si,e.ERR_EOCDR_NOT_FOUND=ii,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=li,e.ERR_HTTP_RANGE=kr,e.ERR_HTTP_RESOURCE_CHANGED=Cr,e.ERR_INVALID_AUTHENTICATION_CODE=bt,e.ERR_INVALID_CODEC_DEFINITION=fn,e.ERR_INVALID_CODEC_MODULE=wn,e.ERR_INVALID_COMMENT=ks,e.ERR_INVALID_COMMENT_TYPE=Cs,e.ERR_INVALID_COMPRESSED_DATA=xn,e.ERR_INVALID_CRC32=Rn,e.ERR_INVALID_DATE=vs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Os,e.ERR_INVALID_ENTRY_COMMENT=Ts,e.ERR_INVALID_ENTRY_COMMENT_TYPE=_s,e.ERR_INVALID_ENTRY_NAME=Ns,e.ERR_INVALID_EXTRAFIELD=Bs,e.ERR_INVALID_EXTRAFIELD_DATA=Vs,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Ps,e.ERR_INVALID_EXTRAFIELD_TYPE=Ws,e.ERR_INVALID_FILENAME_VALIDATION=gi,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=$s,e.ERR_INVALID_LEVEL=ia,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=bi,e.ERR_INVALID_MAX_WORKERS=Be,e.ERR_INVALID_MSDOS_ATTRIBUTES=ra,e.ERR_INVALID_MSDOS_DATA=oa,e.ERR_INVALID_PASSWORD=Et,e.ERR_INVALID_PASSWORD_TYPE=_e,e.ERR_INVALID_SIGNAL=Te,e.ERR_INVALID_SIGNATURE=gt,e.ERR_INVALID_SIGNATURE_DATA=sa,e.ERR_INVALID_STRICTNESS=Ei,e.ERR_INVALID_UID=Qs,e.ERR_INVALID_UNCOMPRESSED_SIZE=bn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=ta,e.ERR_INVALID_UNIX_ID_SIZE=na,e.ERR_INVALID_UNIX_MODE=ea,e.ERR_INVALID_VERSION=Us,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Tr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ci,e.ERR_OVERLAPPING_ENTRY=pi,e.ERR_RESERVED_COMPRESSION_METHOD=dn,e.ERR_SPLIT_ZIP_FILE=wi,e.ERR_UNDEFINED_COMPRESSION_METHOD=Ys,e.ERR_UNDEFINED_READER=Xs,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ks,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Si,e.ERR_UNSUPPORTED_COMPRESSION=di,e.ERR_UNSUPPORTED_CONTEXT=ic,e.ERR_UNSUPPORTED_CRYPTO_API=Rt,e.ERR_UNSUPPORTED_ENCRYPTION=fi,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ls,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ms,e.ERR_UNSUPPORTED_FORMAT=qs,e.ERR_UNSUPPORTED_UINT64=xi,e.ERR_WORKER_STARTUP_TIMEOUT=Hn,e.ERR_WRITER_NOT_INITIALIZED=_r,e.ERR_ZIP_NOT_EMPTY=Js,e.HttpRangeReader=class extends uo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=uo,e.Reader=Pr,e.SplitDataReader=fo,e.SplitDataWriter=wo,e.TextReader=class extends Gr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends jr{constructor(e){super(),n.assign(this,{encoding:e,tn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,tn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Dr(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Pr{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Rt:e,size:e.length})}readUint8Array(e,t){return this.Rt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Vr{constructor(e){super(),this.nn=e||262144}init(e=0){n.assign(this,{offset:0,Rt:new w(e>0?e:this.nn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Rt.length){let e=t.Rt.length?2*t.Rt.length:t.nn;for(;e<n;)e*=2;const r=t.Rt;t.Rt=new w(e),t.Rt.set(r)}t.Rt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Rt.length?this.Rt:this.Rt.slice(0,this.offset)}},e.VERSION="2.9.0",e.WARNING_APPENDED_DATA=ki,e.WARNING_COMPRESSED_PATCHED_DATA=zi,e.WARNING_DUPLICATE_FILENAME=vi,e.WARNING_MALFORMED_EXTRA_FIELD=Ai,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ui,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Oi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Mi,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Ni,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Ti,e.WARNING_PREPENDED_DATA=Ci,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=_i,e.WARNING_UNKNOWN_VERSION=Fi,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Di,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Ri,e.WARNING_WRAPPED_ENTRIES_COUNT=Ii,e.Writer=Vr,e.ZipReader=Hi,e.ZipReaderStream=Gi,e.ZipWriter=da,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new da(n,e),this.je=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new F({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await ma(t,e)}}()}});return ha(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new F({start(e){t=e}});return ha(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await S.allSettled(t.from(this.je))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await ma(r,e),e}try{return await r.close(e,n)}catch(e){throw await ma(r,e),e}}},e.configure=function(e){n.assign(je,Xe(Qe(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=nc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new A({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new F;r=ln(t.readable),n=t.writable.getWriter(),s=!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:a,readable:new z({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=ec,directoryName:r=tc,getDirectory:o=()=>k.storage.getDirectory()}=e;let i;function s(){return i||(i=S.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,l=!1;const u=new A({async write(a){l?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),l=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:u,readable:new z({async pull(t){if(l){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=rc,directoryName:r=oc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(ic);const i=o||(()=>k.storage.getDirectory());let a;function c(){return a||(a=S.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,l=0,u=0;const f=new A({async write(s){a?(o.write(s,{at:l}),l+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:l}),l+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new z({pull(t){if(a){const e=l-u;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Sn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=qe(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:$a(n,Fn)||$a(e,Fn)||$a(e,An),decompression:$a(r,Fn)||$a(t,Fn)||$a(t,An),registered:!1},{compressionMethod:9,compression:!1,decompression:$a(r,zn)||$a(t,zn),registered:!1}];for(const e of Sn()){const t=En(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==ue:ae,decompression:t?typeof t.DecompressionStream==ue:ae,registered:!0})}return o},e.isZipFile=ji,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>M||typeof n!=fe||!n.length)throw new d(fn);if(pn.includes(t))throw new d(dn);const c=typeof i==ue||typeof s==ue;if(!(c||typeof r==fe&&r.length))throw new d(fn);mn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&gn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of Ge)delete je[e];n.assign(je,Pe)},e.terminateWorkers=async function(){await S.allSettled(wr.map(e=>(Rr(e),e.terminate()))),Gn=ae,jn=!1},e.unregisterCodec=function(e){const t=mn.get(e);if(t){let n;mn.delete(e),mn.forEach(e=>n=n||e.format==t.format),n||hn.delete(t.format)}}});