@zip.js/zip.js 2.8.46 → 2.8.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deno.json +1 -1
- package/dist/zip-core-external.js +85 -9
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +95 -8
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +85 -9
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +86 -8
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +85 -9
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +99 -10
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +98 -9
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +97 -10
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +97 -10
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +96 -9
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +99 -10
- package/index-native.min.js +1 -1
- package/index.cjs +98 -9
- package/index.d.cts +141 -0
- package/index.d.ts +141 -0
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +6 -3
- package/lib/core/codec-worker.js +2 -1
- package/lib/core/constants.js +2 -0
- package/lib/core/options.js +4 -0
- package/lib/core/streams/codec-stream.js +2 -0
- package/lib/core/streams/common-crypto.js +2 -1
- package/lib/core/streams/zip-entry-stream.js +4 -2
- package/lib/core/util/sync-access-handle-temp-stream.js +2 -1
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +1 -1
- package/lib/core/zip-reader.js +58 -5
- package/lib/core/zip-writer.js +43 -8
- package/lib/zip-core-base.js +2 -1
- package/lib/zip-core-reader.js +2 -1
- package/lib/zip-core-writer.js +10 -1
- package/package.json +1 -1
package/dist/zip-fs-core.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:T,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,N=M,_=33639248,P=101010256,L=101075792,W=117853008,B=22,Z=20,V=39169,H=21589,j=6534,q=30837,K=30805,Y=2048,G=16384,X=2048,J=1024,Q="/",$=30,ee=new o(2107,11,31,23,59,58),te=new o(1980,0,1),re=void 0,ne=1/0,se="undefined",ie="function",ae=new f;let oe=2;try{typeof T!=se&&T.hardwareConcurrency&&(oe=T.hardwareConcurrency)}catch{}const ce={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=se&&A,DecompressionStream:typeof k!=se&&k};function de(){return ce}function le(e){return a.max(e.chunkSize,64)}function ue(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function we(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function fe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function pe(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function he(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const me="HTTP error ",ye="HTTP Range not supported",ge="HTTP resource changed",xe="Content-Range",Se="Range",be="GET",ze="bytes",Fe=16777216,Re="writable",Ee=Symbol();class De{constructor(){this.size=0}init(){this.initialized=!0}}class Ae extends De{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=le(de())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===re?r:a.min(r,t-s),c=await ct(n,e+s,o);i.enqueue(c),s+r>t||t===re&&!c.length&&o?i.close():s+=r}})}}class ke extends De{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(we(t))}});r.defineProperty(e,Re,{get:()=>t})}writeUint8Array(){}}class Te extends Ae{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o:r,dataURI:n}=this,s=new f(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ce extends ke{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let ve,Ue;class Ie extends Ae{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Ue||(Ue=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();ve=1==t}catch{ve=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?ve?pe(t.slice(n,n+s).stream()):super.createReadable(e):pe(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new f(i)}}class Oe extends De{constructor(e){super();const t=this,n=new R;if(r.defineProperty(t,Re,{get:()=>n.writable}),typeof y.prototype.stream!=ie||new y([]).stream()instanceof E){const r=[];e&&r.push(["Content-Type",e]),t.blob=new l(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Me extends Ie{constructor(e){super(new y([e],{type:"text/plain"}))}}class Ne extends Oe{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class _e extends Ae{constructor(e,t){super(),Le(this,e,t)}async init(){await We(this,Qe,Ye),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==re){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(ye);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=re,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await Qe(be,e,qe(e,i,t));if(206!=r.status)throw new w(ye);const d=r.headers.get(xe);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(ye)}je(e,r),He(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return Be(this,e,t,Qe,Ye)}}class Pe extends Ae{constructor(e,t){super(),Le(this,e,t)}async init(){await We(this,$e,Ge),super.init()}readUint8Array(e,t){return Be(this,e,t,$e,Ge)}}function Le(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=Fe,fetch:l}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:l})}async function We(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=de(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(be,e,qe(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==ze))throw new w(ye);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==B&&(e.h=t)}He(e,n);const s=Ze(n);s===re?await Je(e,t,r):e.size=s}}else await Je(e,t,r)}async function Be(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-B&&r==B)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(be,e,qe(e,t,r));if(206!=i.status)throw new w(ye);const a=i.headers.get(xe);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(ye)}je(e,i),He(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(ye);return o}return ae}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function Ze(e){const t=e.headers.get(xe);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Ve({headers:e}){return{m:e.get("Etag")||re,lastModified:e.get("Last-Modified")||re}}function He(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=Ve(t))}function je(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=Ze(t);if(e!==re&&i!==re&&e!=i)throw new w(ge);if(s){const e=Ve(t);if(r.entries(s).some(([t,r])=>r!==re&&e[t]!==re&&r!=e[t]))throw new w(ge)}}}function qe(e,t=0,n=1){return r.assign({},Ke(e),{[Se]:ze+"="+(0>t?t:t+"-"+(t+n-1))})}function Ke({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Ye(e){await Xe(e,Qe)}async function Ge(e){await Xe(e,$e)}async function Xe(e,t){const r=await t(be,e,Ke(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function Je(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Ke(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function Qe(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new w(ye):new w(me+(a.statusText||a.status))}function $e(e,{url:t},n){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(ye):new w(me+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class et extends Ae{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Pe(e,t):new _e(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 tt extends Ae{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class rt extends ke{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new f(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class nt extends Ae{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>ot(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===re?r:n}async readUint8Array(e,t){const r=this,{F:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=ue(await ct(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await ct(c,o,t)}else s=ae;return r.R=a.max(i,r.R),s}}class st extends De{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Ee)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ot(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,Re,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Ee)}finally{e.releaseLock()}}}class it{constructor(e){return t.isArray(e)&&(e=new nt(e)),(e instanceof E||typeof e.getReader==ie)&&(e={readable:pe(e)}),e}}class at{constructor(e){return e.writable===re&&typeof e.next==ie&&(e=new st(e)),(e instanceof D||typeof e.getWriter==ie)&&(e={writable:he(e)}),e.size===re&&(e.size=0),e}}async function ot(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function ct(e,t,r){return e.readUint8Array(t,r)}const dt=new c,lt=new c;function ut(e){return dt.get(e)}function wt(e){return lt.get(e)}const ft=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;ft[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=ft[t-1][e];ft[t][e]=r>>>8^ft[0][255&r]}const[pt,ht,mt,yt,gt,xt,St,bt]=ft;class zt{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=bt[255&e]^St[e>>>8&255]^xt[e>>>16&255]^gt[e>>>24&255]^yt[255&r]^mt[r>>>8&255]^ht[r>>>16&255]^pt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^pt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Ft extends R{constructor(){let e;const t=new zt;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Rt(e){if(typeof x==se){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new x).encode(e)}const Et={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Et.C(r);return 32===n?e.concat(t):Et.v(t,n,0|r,e.slice(0,e.length-1))},U(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Et.C(r)},I(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Et.O(t,e[r-1]&2147483648>>t-1,1)),e},O:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=Et.C(s);return n.push(Et.O(t+i&31,t+i>32?r:n.pop(),1)),n}},Dt={bytes:{M(e){const t=Et.U(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},N(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(Et.O(8*(3&r),n)),t}}},At=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.P=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.W=e.W.slice(0),t.B=e.B):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.W=[],e.B=0,e}update(e){const t=this;"string"==typeof e&&(e=Dt.Z.N(e));const r=t.W=Et.concat(t.W,e),n=t.B,s=t.B=n+Et.U(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.V(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}H(){const e=this;let t=e.W;const r=e.L;t=Et.concat(t,[Et.O(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.B/4294967296)),t.push(0|e.B);t.length;)e.V(t.splice(0,16));return e.reset(),r}j(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}K(e,t){return t<<e|t>>>32-e}V(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.K(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.K(5,i)+r.j(e,o,c,d)+l+s[e]+r.P[a.floor(e/20)]|0;l=d,d=c,c=r.K(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+d|0,n[4]=n[4]+l|0}},kt={importKey:e=>new kt.Y(Dt.bytes.N(e)),G(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new w("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=Et;for(t=Dt.bytes.N(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>f&&o<i.length;o++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},Y:class{constructor(e){const t=this,r=t.X=At,n=[[],[]];t.J=[new r,new r];const s=t.J[0].blockSize/32;e.length>s&&(e=(new r).update(e).H());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.J[0].update(n[0]),t.J[1].update(n[1]),t.$=new r(t.J[0])}reset(){const e=this;e.$=new e.X(e.J[0]),e.ee=!1}update(e){this.ee=!0,this.$.update(e)}digest(){const e=this,t=e.$.H(),r=new e.X(e.J[1]).update(t).H();return e.reset(),r}encrypt(e){if(this.ee)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Tt=typeof z!=se&&typeof z.getRandomValues==ie,Ct="Invalid password",vt="Invalid signature",Ut=vt,It="zipjs-abort-check-password";function Ot(e){if(Tt)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Mt=16,Nt={name:"PBKDF2"},_t=r.assign({hash:{name:"HMAC"}},Nt),Pt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Nt),Lt=["deriveBits"],Wt=[8,12,16],Bt=[16,24,32],Zt=10,Vt=[0,0,0,0],Ht=typeof z!=se,jt=Ht&&z.subtle,qt=Ht&&typeof jt!=se,Kt=Dt.bytes,Yt=class{constructor(e){const t=this;t.te=[[[],[],[],[],[]],[[],[],[],[],[]]],t.te[0][0][0]||t.re();const r=t.te[0][4],n=t.te[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.P=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.ne(e,0)}decrypt(e){return this.ne(e,1)}re(){const e=this.te[0],t=this.te[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}ne(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.P[t],n=r.length/4-2,s=[0,0,0,0],i=this.te[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Gt=class{constructor(e,t){this.se=e,this.ie=t,this.ae=t}reset(){this.ae=this.ie}update(e){return this.oe(this.se,e,this.ae)}ce(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}de(e){0===(e[0]=this.ce(e[0]))&&(e[1]=this.ce(e[1]))}oe(e,t,r){let n;if(!(n=t.length))return[];const s=Et.U(t);for(let s=0;n>s;s+=4){this.de(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return Et.I(t,s)}},Xt=kt.Y;let Jt=Ht&&qt&&typeof jt.importKey==ie,Qt=Ht&&qt&&typeof jt.deriveBits==ie;class $t extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){tr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,le:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await nr(e,t,r,ir(n,0,Wt[t])),i=ir(n,Wt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(Ct)})(r,i,s,ir(e,0,Wt[i]+2)),e=ir(e,Wt[i]+2),n?t.error(new w(It)):a()):await o;const c=new f(e.length-Zt-(e.length-Zt)%Mt);t.enqueue(rr(r,e,c,0,Zt,!0))},async flush(e){const{ue:t,we:r,pending:n,ready:i}=this;if(r&&t){await i;const a=ir(n,0,n.length-Zt),o=ir(n,n.length-Zt);let c=ae;if(a.length){const e=or(Kt,a);r.update(e);const n=t.update(e);c=ar(Kt,n)}const d=ir(ar(Kt,r.digest()),0,Zt);let l=n.length<Zt?1:0;for(let e=0;Zt>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Ut);e.enqueue(c)}}})}}class er extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){tr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,le:i,ready:a}=r;let o=ae;n?(o=await(async(e,t,r)=>{const n=Ot(new f(Wt[t]));return ue(n,await nr(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Mt);c.set(o,0),t.enqueue(rr(r,e,c,o.length,0))},async flush(e){const{ue:t,we:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ae;if(n.length){const e=t.update(or(Kt,n));r.update(e),i=ar(Kt,e)}const a=ar(Kt,r.digest()).slice(0,Zt);e.enqueue(ue(i,a))}}})}}function tr(e,t,n,s){r.assign(e,{ready:new g(t=>e.le=t),password:sr(t,n),strength:s-1,pending:ae})}function rr(e,t,r,n,s,i){const{ue:a,we:o,pending:c}=e;c.length&&(t=ue(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Mt)),l=0;d-Mt>=l;l+=Mt){const e=or(Kt,ir(t,l,l+Mt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(ar(Kt,s),l+n)}return e.pending=ir(t,l),r}async function nr(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!Jt)return kt.importKey(t);try{return await jt.importKey("raw",t,r,!1,s)}catch{return Jt=!1,kt.importKey(t)}})(0,s,_t,0,Lt),o=await(async(e,t,r)=>{if(!Qt)return kt.G(t,e.salt,Pt.iterations,r);try{return await jt.deriveBits(e,t,r)}catch{return Qt=!1,kt.G(t,e.salt,Pt.iterations,r)}})(r.assign({salt:i},Pt),a,8*(2*Bt[n]+2)),c=new f(o),d=or(Kt,ir(c,0,Bt[n])),l=or(Kt,ir(c,Bt[n],2*Bt[n])),u=ir(c,2*Bt[n]);return r.assign(e,{keys:{key:d,fe:l,passwordVerification:u},ue:new Gt(new Yt(d),t.from(Vt)),we:new Xt(l)}),u}function sr(e,t){return t===re?Rt(e):t}function ir(e,t,r){return e.subarray(t,r)}function ar(e,t){return e.M(t)}function or(e,t){return e.N(t)}class cr extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){lr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=ur(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(Ct);e=e.subarray(12)}n?t.error(new w(It)):t.enqueue(ur(r,e))}})}}class dr extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){lr(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Ot(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(wr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(wr(r,e),s),t.enqueue(n)}})}}function lr(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,pe:new zt(s[0]),he:new zt(s[2])}),n)for(let t=0;t<n.length;t++)fr(e,n[t]);else for(let r=0;r<t.length;r++)fr(e,t.charCodeAt(r))})(e,t,n)}function ur(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=pr(e)^t[n],fr(e,r[n]);return r}function wr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=pr(e)^t[n],fr(e,t[n]);return r}function fr(e,t){let[,r]=e.keys;e.pe.append([t]);const n=~e.pe.get();r=mr(a.imul(mr(r+hr(n)),134775813)+1),e.he.append([r>>>24]);const s=~e.he.get();e.keys=[n,r,s]}function pr(e){const t=2|e.keys[2];return hr(a.imul(t,1^t)>>>8)}function hr(e){return 255&e}function mr(e){return 4294967295&e}const yr="Invalid uncompressed size",gr="Invalid compressed data",xr=vt,Sr="deflate-raw",br="gzip",zr=[31,139,8];class Fr extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&wt(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Ft,g=Ur(g,p)),s)if(x)g=Ir(g,Cr(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Rr,g=Ir(g,new n(br)),g=Ur(g,y);else try{g=vr(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(br)}catch{throw e}g=Ir(g,t),g=Ur(g,new Rr)}i&&(o?g=Ur(g,new dr(e)):(h=new er(e),g=Ur(g,h))),Tr(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Rr extends R{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=a.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=ue(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(ue(r.subarray(0,o),e.subarray(0,i-o))),r=ue(r.subarray(o),e.subarray(i-o))},flush(){const t=fe(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Er extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Ur(b,new cr(e)):(S=new $t(e),b=Ur(b,S))),c){const e=u&&wt(u);if(e)b=Ir(b,Cr(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=vr(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===re)throw e;let t;try{t=new n(br)}catch{throw e}b=((e,t,r)=>{const n=new zt;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(zr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=fe(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Ur(e,l),Ur(e=Ir(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(yr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(gr);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Ft,b=Ur(b,x)),Tr(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(xr)}})}}const Dr=new c;function Ar(e,t){if(!e)return!1;let r=Dr.get(e);r||(r=new c,Dr.set(e,r));let n=r.get(t);if(n===re){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function kr(e){return Ar(e,Sr)}function Tr(e,t,n){t=Ur(t,new R({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Cr(e,t,r){if(!e)throw new w("Compression method not supported");return new e(t,r)}function vr(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":Sr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return Ir(e,o)}function Ur(e,t){return pe(e).pipeThrough(t)}function Ir(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const Or="data",Mr="deflate",Nr="inflate";class _r extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Mr)?i=Fr:s.startsWith(Nr)&&(i=Er),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==re&&n.outputSize>e.outputSize))throw new w(yr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Pr extends R{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Lr={type:"module"},Wr="error";let Br,Zr,Vr,Hr,jr,qr=!0;try{qr=typeof structuredClone==ie&&structuredClone(new DOMException("","AbortError")).code!==re}catch{}class Kr{constructor(e,{readable:t,writable:n},{options:s,config:i,me:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:l},u){const{signal:w}=a;return jr&&(l=re),r.assign(e,{ye:!0,ge:(e.ge||0)+1,readable:t.pipeThrough(new Pr(le(i))).pipeThrough(new Yr(a),{signal:w}),writable:n,options:r.assign({},s),workerURI:d,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{xe:r,ye:n}=e;r?(n?e.Se=t:(r.terminate(),t()),e.be=null):t()}),ze(){if(e.ye){const{Se:t}=e;t&&(e.Se=null,e.Fe=!0,e.xe.terminate(),t()),e.ye=!1,u(e)}}}),Br===re&&(Br=typeof C!=se),(o&&(Br&&d||l)?Jr:Xr)(e,i)}}class Yr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Gr(e,r)},async transform(e,n){s+=e.length,t&&await Gr(t,s,r),n.enqueue(e)},async flush(){n&&await Gr(n,s)}})}}async function Gr(e,...t){try{await e(...t)}catch{}}function Xr(e,t){return{run:()=>Qr(e,t)}}function Jr(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.be){let c;typeof o==ie&&(o=o());try{c=en(e.workerURI,n,e)}catch{return e.createWorker?jr=!0:Br=!1,Xr(e,t)}r.assign(e,{xe:c,Re:!1,Fe:!1,be:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Ee:n,De:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,Ae:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,Ae:()=>t.abort()}})(e.writable);let f;try{f=nn({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.ze(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Re||!s.isFinite(p)||0>p||(e.ke=setTimeout(()=>(e=>{if(e.ke=null,e.Re)return;const{De:t,writer:r}=e;if($r(e),e.xe=null,t){const e=new w("Worker startup timeout");e.Te=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.Te){e.createWorker?jr=!0:Br=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,Qr(e,t)}throw r}}}})}return e.be}async function Qr({options:e,readable:t,writable:r,ze:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Mr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Ce&&!kr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Ce||(e.useCompressionStream=!0)}}i=new _r(e,s),await t.pipeThrough(i).pipeThrough(new Pr(le(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:a,outputSize:o}=i;return{crc32:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function $r(e){const{xe:t}=e;if(t)try{t.terminate()}catch{}e.be=null}function en(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,d;if(a)o=a();else if(Vr===re||Zr!==e){const r=typeof e==ie;c=r?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){s===re&&(s=!1),s&&(d=Lr);try{o=new C(c,d)}catch(i){if(l)try{u.revokeObjectURL(c)}catch{}if(r&&l)return en(e,t,n,s,!1);if(s)throw i;return en(e,t,n,!0,!1)}}else{s===re&&(s=!0),s&&(d=Lr);try{c=new u(c,t)}catch{}try{o=new C(c,d)}catch(r){if(s)throw r;return en(e,t,n,!1,i)}}Zr=e,Vr=c,Hr=d}else o=new C(Vr,Hr);return o.addEventListener("message",e=>{n.Re=!0,tn(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Ee:l,De:u,ze:p,ge:h}=t,m=()=>t.ge!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new w(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new w(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||nn({type:Or,value:e,done:r,messageId:i},t)}n==Or&&(await d.ready,await d.write(new f(s)),m()||nn({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||($r(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),o.addEventListener(Wr,e=>rn(e,n)),o.addEventListener("messageerror",e=>rn(e,n)),o}function tn(e){const{ke:t}=e;t&&(clearTimeout(t),e.ke=null)}function rn(e,t){e.preventDefault&&e.preventDefault(),tn(t);const{Re:n,De:s,writer:i,ze:a}=t;if($r(t),n||(t.xe=null),s){let t=e.error||new w(e.message||Wr);n||(t=r.assign(new w(t.message||Wr),{Te:!0})),s(t),i&&i.releaseLock(),n&&a()}}function nn(e,{xe:t,writer:r,transferStreams:n,Re:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=we(r),o.push(e.value.buffer)),n&&qr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{qr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let sn=[];const an=[];let on,cn,dn=0;async function ln(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,createWorker:y,maxWorkers:x}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!lt.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=ie&&typeof n!=ie)throw new w("Invalid codec module");lt.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=i||i===re&&n.transferStreams;const S=!(c||d||l||f),b=p===re||!!r.codecURI;return t.useWebWorkers=!S&&b&&(a||a===re&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:re,t.createWorker=t.useWebWorkers&&y?y:re,r.useCompressionStream=o||o===re&&n.useCompressionStream,(await(async()=>{const r=sn.find(e=>!e.ye);if(r)return hn(r),new Kr(r,e,t,z);if(sn.length<x){const r={ve:dn};return dn++,sn.push(r),new Kr(r,e,t,z)}return new g(r=>{an.push({resolve:r,stream:e,Ue:t}),cn=n.workerStarvationTimeout,un()})})()).run();function z(e){if(wn(),an.length){const[{resolve:t,stream:r,Ue:n}]=an.splice(0,1);t(new Kr(e,r,n,z)),un()}else e.xe?(hn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.Fe?e.Fe=!1:e.Ie=setTimeout(async()=>{sn=sn.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):sn=sn.filter(t=>t!=e)}}function un(){!on&&an.length&&s.isFinite(cn)&&cn>=0&&(on=setTimeout(fn,cn))}function wn(){on&&(clearTimeout(on),on=null)}function fn(){if(on=null,an.length){const[{resolve:e,stream:t,Ue:n}]=an.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:re,createWorker:re});e(new Kr({},t,s,pn)),un()}}function pn(){wn(),un()}function hn(e){const{Ie:t}=e;t&&(clearTimeout(t),e.Ie=null)}const mn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function yn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=mn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const gn="filename",xn="rawFilename",Sn="comment",bn="rawComment",zn="uncompressedSize",Fn="compressedSize",Rn="offset",En="diskNumberStart",Dn="lastModDate",An="rawLastModDate",kn="lastAccessDate",Tn="rawLastAccessDate",Cn="creationDate",vn="rawCreationDate",Un="internalFileAttributes",In="externalFileAttributes",On="msdosAttributesRaw",Mn="msdosAttributes",Nn="msDosCompatible",_n="zip64",Pn="encrypted",Ln="version",Wn="versionMadeBy",Bn="zipCrypto",Zn="directory",Vn="executable",Hn="compressionMethod",jn="signature",qn="extraField",Kn="unixMode",Yn="setuid",Gn="setgid",Xn="sticky",Jn=[gn,xn,zn,Fn,Dn,An,Sn,bn,kn,Tn,Cn,vn,Rn,En,Un,In,On,Mn,Nn,_n,Pn,Ln,Wn,Bn,Zn,Vn,Hn,jn,"crc32",qn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Kn,Yn,Gn,Xn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Qn{constructor(e){Jn.forEach(t=>this[t]=e[t])}}const $n="password",es="rawPassword",ts="passThrough",rs="signal",ns="checkAmbiguity",ss="useWebWorkers",is="useCompressionStream",as="transferStreams",os="preventClose",cs="offset",ds="usdz",ls="strictness",us="strict",ws="tolerant",fs="File format is not recognized",ps="End of central directory not found",hs="End of Zip64 central directory locator not found",ms="Central directory header not found",ys="Local file header not found",gs="Zip64 extra field not found",xs="File contains encrypted entry",Ss="Encryption method not supported",bs="Compression method not supported",zs="Split zip file",Fs="Overlapping entry found",Rs="Ambiguous archive",Es="Encrypted central directory is not supported",Ds="utf-8",As="cp437",ks=[[zn,v],[Fn,v],[Rn,v],[En,U]],Ts={[U]:{Oe:ti,bytes:4},[v]:{Oe:ri,bytes:8}};class Cs{constructor(e,t={}){r.assign(this,{reader:new it(e),options:t,config:de(),Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:s}=t;if(await ot(n),n.size!==re&&n.readUint8Array||(n=new Ie(await new l(n.readable).blob()),await ot(n)),n.size<B)throw new w(fs);const i=Ws(Xs(t,e,ls),Xs(t,e,ns)),o=i==us,c=i!=ws,u=((e,t)=>e!==re?e:t==us?0:t==ws?1/0:U)(Xs(t,e,"maxAppendedDataSize"),i),{Ne:f,_e:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:Bs};let o,c,d=0;for await(const[r,a,l,u,w]of js(e,s)){const s=ei(r,u+20);if(w+B+s==n){const s=await Ks(e,r,a,u,w,n,i);if(s==Hs){if(o||(o=qs(l,u,w)),d++,!t||d>1)break}else s!=Vs||c||(c=qs(l,u,w))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,d,l]of js(e,s)){const s=qs(c,d,l);i||(i=s);const u=await Ks(e,t,a,d,l,n,r);if(u==Hs)return s;u!=Vs||o||(o=s)}return o||i})(e,r,i)),{Ne:o,_e:d}})(n,c,u);if(!f)throw ti(fe(await ct(n,0,4)))==M?new w(zs):new w(ps);c&&p>1&&Gs("multiple end of central directory records");const h=fe(f);let m=ti(h,12),y=ti(h,16);const x=f.offset,S=ei(h,20),b=x+B+S;n.size-b>u&&Gs("appended data");let z=ei(h,4);const F=n.R||0;let E,D,A,k=ei(h,6),T=ei(h,10),C=0;const O=y==v||m==v||T==U||k==U;if(y!=v&&k!=U&&(y+=Ls(n,k)),O){const e=f.offset<Z?ae:await ct(n,f.offset-Z,Z),t=fe(e);if(e.length==Z&&ti(t,0)==W){y=Ls(n,ti(t,4))+ri(t,8);let e=await ct(n,y,56),r=fe(e);const s=f.offset-Z-56;if((56>e.length||ti(r,0)!=L)&&y!=s&&s>=0){const t=y;y=s,y>t&&(C=y-t),e=await ct(n,y,56),r=fe(e)}if(56>e.length||ti(r,0)!=L)throw new w(hs);D=!0,A=ri(r,4)>44,z==U?z=ti(r,16):o&&z!=ti(r,16)&&Gs("mismatched zip64 end of central directory record"),k==U?k=ti(r,20):o&&k!=ti(r,20)&&Gs("mismatched zip64 end of central directory record"),T==U?T=ri(r,32):o&&T!=ri(r,32)&&Gs("mismatched zip64 end of central directory record"),m==v?m=ri(r,40):o&&m!=ri(r,40)&&Gs("mismatched zip64 end of central directory record"),y=Ls(n,k)+ri(r,48)+C}}const N=m,P=f.offset-(D?76:0);if(y<n.size||(C=n.size-y-m-B,y=n.size-m-B),F!=z)throw new w(zs);if(0>y)throw new w(fs);let V=0,H=await ct(n,y,m),j=fe(H);if(m){if(4>H.length)throw new w(fs);const e=P-m;if(y!=e&&k==z){let t=!(ti(j,V)==_);if(t||0>e||e+4>n.size||(t=ti(fe(await ct(n,e,4)),0)==_),t){const t=y;y=e,y>t&&(C+=y-t),H=await ct(n,y,m),j=fe(H)}}}const q=P-y;if(m==q||0>q||k!=z||(m=q,H=await ct(n,y,m),j=fe(H)),0>y||y>=n.size)throw new w(fs);E=y;const K=Xs(t,e,"filenameEncoding"),Y=Xs(t,e,"commentEncoding"),$=o?new d:re;let ee;for(let i=0;T>i;i++){const c=new vs(n,s,t.options);if(V+46>H.length||ti(j,V)!=_){if(0==i&&(A||Us(j)))throw new w(Es);throw new w(ms)}Is(c,j,V+6);const d=!!c.bitFlag.languageEncodingFlag,u=V+46,f=u+c.filenameLength,p=f+c.extraFieldLength,h=ei(j,V+4),m=!(h>>8),y=h>>8==3,x=H.subarray(u,f),S=ei(j,V+32),b=p+S,z=H.subarray(p,b),F=d,D=d,k=ti(j,V+38),v=k&I,O={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},M=ti(j,V+42),N=Xs(t,e,"decodeText")||yn,P=F?Ds:K||As,L=D?Ds:Y||As;let W=N(x,P);W===re&&(W=yn(x,P));let B=N(z,L);B===re&&(B=yn(z,L)),r.assign(c,{index:i,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Pe:S,offset:M,diskNumberStart:ei(j,V+34),internalFileAttributes:ei(j,V+36),externalFileAttributes:k,msdosAttributesRaw:v,msdosAttributes:O,rawFilename:x,filenameUTF8:F,commentUTF8:D,rawExtraField:H.subarray(f,p),rawComment:z,filename:W,comment:B}),Os(c,c,j,V+6),c.offset+=C,E=a.min(Ls(n,c.diskNumberStart)+c.offset,E),o&&($.has(c.filename)&&(ee=!0),$.add(c.filename));const Z=c.externalFileAttributes>>16&U;c.unixMode===re&&16877&Z&&(c.unixMode=Z);const q=!!(c.unixMode&X),te=!!(c.unixMode&J),ne=!!(512&c.unixMode),se=c.unixMode!==re?!!(73&c.unixMode):y&&!!(73&Z),ie=c.unixMode!==re&&(61440&c.unixMode)==G,ae=(61440&Z)==G;r.assign(c,{setuid:q,setgid:te,sticky:ne,unixExternalUpper:Z,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:se,directory:ie||ae||m&&O.directory||c.filename.endsWith(Q)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new Qn(c);oe.getData=(e,r)=>c.getData(e,oe,t.Me,r),oe.arrayBuffer=async e=>{const r=new R,[n]=await g.all([new l(r.readable).arrayBuffer(),c.getData(r,oe,t.Me,e)]);return n},V=b;const{onprogress:ce}=e;if(ce)try{await ce(i+1,T,new Qn(c))}catch{}yield oe}o&&V!=N&&Gs("trailing central directory data"),ee&&Gs("duplicate filename"),o&&(C||T&&E>0)&&Gs("prepended data");const te=Xs(t,e,"extractPrependedData"),ne=Xs(t,e,"extractAppendedData");return te&&(t.prependedData=E>0?await ct(n,0,E):ae),t.comment=S?await ct(n,x+B,S):ae,ne&&(t.appendedData=b<n.size?await ct(n,b,n.size-b):ae),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let vs=class{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Ls(i,c)+o,F=await ct(i,z,$),R=fe(F);let E=Xs(s,n,$n),A=Xs(s,n,es);const k=Xs(s,n,ts);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(bs);if(F.length<$||ti(R,0)!=O)throw new w(ys);Is(b,R,4);const{extraFieldLength:T,filenameLength:C}=b,v=Ws(Xs(s,n,ls),Xs(s,n,ns))==us;let U=ae;if(v&&(C||T)){const e=await ct(i,z+$,C+T);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=T?await ct(i,z+$+C,T):ae;Os(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Gs("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Gs("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Gs("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Gs("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:_}=b;M&&(t.lastAccessDate=M),_&&(t.creationDate=_);const P=s.encrypted&&b.encrypted&&!k,L=P&&!d;if(k||(t.zipCrypto=L),P&&!(64&~b.rawBitFlag))throw new w(Ss);const W=k?re:ut(u);if(0!=u&&8!=u&&9!=u&&!W&&!k)throw new w(bs);if(P){if(!L&&(1>d.strength||d.strength>3))throw new w(Ss);if(!E&&!A)throw new w(xs)}const B=z+$+C+T,Z=x,V=pe(i.createReadable({offset:B,size:Z})),H=Xs(s,n,rs),j=Xs(s,n,"checkPasswordOnly");let q=Xs(s,n,"checkOverlappingEntry");const K=Xs(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=Xs(s,n,is);J&&(Q=!1);const ee=Xs(s,n,"checkCrc32"),te=(ee===re?Xs(s,n,"checkSignature"):ee)&&!k&&(!P||L||d&&1==d.vendorVersion),ne={options:{codecType:Nr,password:E,rawPassword:A,zipCrypto:L,encryptionStrength:d&&d.strength,checkCrc32:te,checkAuthenticationCode:Xs(s,n,"checkAuthenticationCode"),passwordVerification:L&&(S?y>>>8&I:m>>>24&I),outputSize:k?x:g,crc32:m,compressed:0!=u&&!k,encrypted:P,useWebWorkers:Xs(s,n,ss),useCompressionStream:Q,transferStreams:Xs(s,n,as),deflate64:J,format:W?W.format:re,codecURI:W?W.codecURI:re,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,me:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let se;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,We:o,dataDescriptor:c,extraFieldZip64:d,Me:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await ct(e,o+i,u+4);if(r.length==u+4&&ti(fe(r),0)==N){const e=ti(fe(r),4);let n,o;d?(n=ri(fe(r),8),o=ri(fe(r),16)):(n=ti(fe(r),8),o=ti(fe(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(Fs);throw e.Be=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,We:B,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Me:r});try{if(!K){j&&(e=new D),e=new at(e),await ot(e,k?x:g),({writable:se}=e);const{outputSize:t}=await ln({readable:V,writable:se},ne);if(e.size+=t,t!=(k?x:g))throw new w(yr)}}catch(t){if(t.outputSize!==re&&(e.size+=t.outputSize),!j||t.message!=It)throw t}finally{Xs(s,n,os)||!se||se.locked||await se.getWriter().close()}return j||K?re:e.getData?e.getData():se}};function Us(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==ti(e,r))return!0;return!1}function Is(e,t,n){const s=e.rawBitFlag=ei(t,n+2),i=!(1&~s),a=ti(t,n+6);r.assign(e,{encrypted:i,version:ei(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&Y)==Y},rawLastModDate:a,lastModDate:Js(a),filenameLength:ei(t,n+22),extraFieldLength:ei(t,n+24)})}function Os(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=fe(a);let u=0;try{for(;u<a.length;){const e=ei(l,u),t=ei(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=ei(n,s+4);r.assign(t,{signature:ti(n,s+10),crc32:ti(n,s+10),compressedSize:ti(n,s+14),uncompressedSize:ti(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=fe(e.data),n=ks.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Ts[t].bytes,0);if(e.data.length<s)throw new w(gs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Ts[o];t[a]=e[a]=c.Oe(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Ms(h,gn,xn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Ms(m,Sn,bn,t,e),t.extraFieldUnicodeComment=m);const y=d.get(V);y&&y.data.length>=7?(((e,t,n)=>{const s=fe(e.data),i=$s(s,4);r.assign(e,{vendorVersion:$s(s,0),vendorId:$s(s,2),strength:i,originalCompressionMethod:n,compressionMethod:ei(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=re)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Ns(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Ns(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=fe(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=ei(n,i),r=ei(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}if(s&&24==s.length){const n=fe(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:Qs(i),lastAccessDate:Qs(a),creationDate:Qs(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(K);if(b)_s(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(q);e&&(_s(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(H);z&&(((e,t,r)=>{if(!e.data.length)return;const n=fe(e.data),s=$s(n,0),i=[],a=[];r?(1&~s||(i.push(Dn),a.push(An)),2&~s||(i.push(kn),a.push(Tn)),4&~s||(i.push(Cn),a.push(vn))):5>e.data.length||(i.push(Dn),a.push(An));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=ti(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(j);F&&(t.extraFieldUSDZ=F)}function Ms(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=fe(e.data),o=new zt;o.append(i[n]);const c=fe(new f(4));c.setUint32(0,o.get(),!0);const d=ti(a,1);r.assign(e,{version:$s(a,0),[t]:yn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==ti(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ns(e,t){if(8>e.data.length)return;const n=fe(e.data),s={lastAccessDate:new o(1e3*ti(n,0)),lastModDate:new o(1e3*ti(n,4))};12>e.data.length||(s.uid=ei(n,8),s.gid=ei(n,10)),r.assign(e,s),r.assign(t,s)}function _s(e,t,n){try{const s=fe(e.data);let i,a;if(n){let t=0;const n=$s(s,t++),o=$s(s,t++);i=Ps(e.data.subarray(t,t+o)),t+=o;const c=$s(s,t++);a=Ps(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=ei(s,0),a=ei(s,2),r.assign(e,{uid:i,gid:a}));i!==re&&(t.uid=i),a!==re&&(t.gid=a)}catch{}}function Ps(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ls(e,t){return e.A?e.A(t):0}function Ws(e,t){return e===re?t?us:"balanced":e}const Bs=64,Zs=0,Vs=1,Hs=2;async function*js(e,t){const r=e.size-t,n=await ct(e,r,t),s=fe(n);for(let e=n.length-B;e>=0;e--)ti(s,e)==P&&(yield[s,r,n,e,r+e])}function qs(e,t,r){return{offset:r,buffer:e.slice(t,t+B).buffer}}async function Ks(e,t,r,n,s,i,a){const o=ei(t,n+10),c=ti(t,n+12),d=ti(t,n+16);if(o==U||c==v||d==v)return await Ys(e,t,r,s-Z,i,a)==W?Hs:Zs;if(!o&&!c)return Vs;const l=ei(t,n+6);for(const n of[s-c,Ls(e,l)+d])if(await Ys(e,t,r,n,i,a)==_)return Hs;return Zs}async function Ys(e,t,r,n,s,i){return 0>n||n+4>s?re:r>n?i.count>0?(i.count--,ti(fe(await ct(e,n,4)),0)):re:ti(t,n-r)}function Gs(e){const t=new w(Rs);throw t.reason=e,t}function Xs(e,t,r){return t[r]===re?e.options[r]:t[r]}function Js(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function Qs(e){return new o(s(e/i(1e4)-i(116444736e5)))}function $s(e,t){return e.getUint8(t)}function ei(e,t){return e.getUint16(t,!0)}function ti(e,t){return e.getUint32(t,!0)}function ri(e,t){return s(e.getBigUint64(t,!0))}var ni=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Rs,ERR_BAD_FORMAT:fs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ms,ERR_ENCRYPTED:xs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Es,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:hs,ERR_EOCDR_NOT_FOUND:ps,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:gs,ERR_INVALID_AUTHENTICATION_CODE:Ut,ERR_INVALID_COMPRESSED_DATA:gr,ERR_INVALID_CRC32:xr,ERR_INVALID_PASSWORD:Ct,ERR_INVALID_SIGNATURE:vt,ERR_INVALID_UNCOMPRESSED_SIZE:yr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ys,ERR_OVERLAPPING_ENTRY:Fs,ERR_SPLIT_ZIP_FILE:zs,ERR_UNSUPPORTED_COMPRESSION:bs,ERR_UNSUPPORTED_ENCRYPTION:Ss,ZipReader:Cs});const si="Zip file comment exceeds 64KB",ii="Version exceeds 65535",ai="Extra field data exceeds 64KB",oi=-2147483648,ci=2147483647,di=i(0),li=i("0x7fffffffffffffff"),ui="Zip64 is not supported (set the 'zip64' option to 'true')",wi=new f([7,0,2,0,65,69,3,0,0]),fi="infozip",pi="unix";let hi=0;const mi=[];class yi{constructor(e,t={}){e=new at(e);const{availableSize:n=ne,maxSize:s=ne}=e,i=n>0&&n!==ne&&s>0&&s!==ne;r.assign(this,{writer:e,Ze:i,options:t,config:de(),files:new c,Ve:new d,offset:t[cs]===re?e.size||e.writable.size||0:t[cs],He:t[cs]===re?0:t[cs]-(e.size||e.writable.size||0),je:new d,qe:0,Ke:re})}async prependZip(e){if(this.Ve.size)throw new w("Zip file not empty");e=new it(e),await ot(e);const{ZipReader:t}=await g.resolve().then(()=>ni),n=new t(e.readable),s=await n.getEntries();await n.close(),await ot(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ve=new d(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ye:f,Ge:p,Xe:h,Je:m,Qe:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ae,p=p||ae,h=h||ae,m=m||ae,y=y||ae,g=g||ae,e.extraFieldAES&&(w=99);const z=_i(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Li(x,S,b,c,w)|x<<1,{$e:D,et:A}=Pi({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,nt:R,st:F,extraFieldLength:z}),{crc32:k}=e;return k!==re&&Oi(A,10,k),r.assign(e,{st:F,nt:R,it:u&&e.offset>=v,diskNumberStart:0,ot:!1,Ye:f,Ge:p,Xe:h,Je:m,Qe:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ct:1+(s?2:0)+(i?4:0),$e:D,et:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{je:c,config:d}=s;let l,u;hi<d.maxWorkers?hi++:await new g(e=>mi.push(e));try{if(e=e.trim(),vi(s,n,Zn)&&!e.endsWith(Q)&&(e+=Q),s.Ve.has(e))throw new w("File already exists");return s.Ve.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=vi(e,r,Nn),s=vi(e,r,Wn,n?20:768);const i=vi(e,r,Vn),a=vi(e,r,"uid"),o=vi(e,r,"gid");let c=vi(e,r,Kn),d=vi(e,r,"unixExtraFieldType"),l=vi(e,r,Yn),u=vi(e,r,Gn),f=vi(e,r,Xn);if(a!==re&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==re&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==re&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==re&&d!==fi&&d!==pi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===pi&&(a!==re&&a>U||o!==re&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==re||a===re&&o===re||(d=fi);let p=vi(e,r,On),h=vi(e,r,Mn);const m=p!==re||h!==re;if(a!==re||o!==re||c!==re||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==re&&(0>p||p>I))throw new w("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(s>U)throw new w(ii);let y=vi(e,r,In);const g=y!==re;g||(y=0),!r[Zn]&&t.endsWith(Q)&&(r[Zn]=!0);const x=vi(e,r,Zn);let S;if(x?(t.endsWith(Q)||(t+=Q),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==re||!!(l||u||f);S=y>>16&U,c=c===re?S:c&U,l?c|=X:l=!!(c&X),u?c|=J:u=!!(c&J),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=G),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==re)e&=I;else if(t!==re){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&I}return t===re&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&v|p&I),{name:t,lt:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=vi(e,r,"encodeText",Rt);let s=n(t);if(s===re&&(s=Rt(t)),_i(s)>U)throw new w("File entry name exceeds 64KB");const i=r[Sn]||"";let a=n(i);if(a===re&&(a=Rt(i)),_i(a)>U)throw new w("File entry comment exceeds 64KB");const c=vi(e,r,Ln,20);if(c>U)throw new w(ii);const d=vi(e,r,Dn,new o),l=vi(e,r,kn),u=vi(e,r,Cn),f=vi(e,r,Un,0),p=vi(e,r,ts);let h,m;p||(h=vi(e,r,$n),m=vi(e,r,es));const y=vi(e,r,"encryptionStrength",3),g=vi(e,r,Bn),x=vi(e,r,"extendedTimestamp",!0),S=vi(e,r,"ntfsTimestamp"),b=vi(e,r,"keepOrder",!0),z=vi(e,r,ss),F=vi(e,r,as),R=vi(e,r,"bufferedWrite"),E=vi(e,r,"createTempStream"),D=vi(e,r,"dataDescriptorSignature",!0),A=vi(e,r,rs),k=vi(e,r,"useUnicodeFileNames",!0),T=vi(e,r,Hn),C=p||T===re?re:ut(T);if(!p&&T!==re&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let v=vi(e,r,"level");if(e.options[ds]){if(h!==re||m!==re)throw new w("Encryption is not supported in USDZ files");v===re&&T===re&&(v=0)}let I=vi(e,r,is),O=vi(e,r,"dataDescriptor");R&&O===re&&(O=!1),(O===re||g)&&(O=!0),v!==re&&6!=v&&(I=!1);const M=vi(e,r,_n);if(!g&&(h!==re||m!==re)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const N=gi(r[qn]),_=gi(r.localExtraField);return{comment:i,lt:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:k,compressionMethod:T,format:C?C.format:re,codecURI:C?C.codecURI:re,ut:C?C.versionNeeded:re,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:N,wt:_}}})(e,t,s),{comment:l}=d,u=s[qn];let p;e.files.set(t,re);try{const{lt:l}=d;0==l.level||l.compressionMethod!==re||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Ce)return!0;if(kr(t)||Ar(t,br))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{lt:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[zn],h===re)throw new w("Undefined uncompressed size")}const m=!0===l,y=vi(e,n,Pn),g=!!t&&(!!(a&&_i(a)||o&&_i(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new it(t),await ot(t),s?(n.uncompressedSize=h,p=Ui(h)+x):t.size===re?(d=!0,(l||l===re)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=Ui(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(ui);l=!0}return l=l||!1,{reader:t,lt:{dataDescriptor:d,zip64:l,st:S,nt:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=Fi(e.writer),m=zi(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,wt:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,st:b,nt:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===re?i===re||i>0:0!==D);let k;const T=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||T),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=bi(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.ft(F),T)){const e=S?d?12:16+4*m:0;t.ft(x?0:F+e)}}else k=ae;let I,M,N,_,P;if(S&&!d){const e=bi(_i(wi)+2);e.uint16(V),e.bytes(wi),I=e.array,I[8]=m}else I=ae;if(y){const e=ki(r),t=Ti(e);if(t){const t=9+(n?4:0)+(s?4:0),r=bi(t);_=1+(n?2:0)+(s?4:0),r.uint16(H),r.uint16(t-4),r.uint8(_),r.uint32(e),n&&r.uint32(Ci(ki(n))),s&&r.uint32(Ci(ki(s))),N=r.array}else N=ae;if(g===re?!t||n||s:g)try{const e=Ai(r),t=bi(36);t.uint16(10),t.uint16(32),t.ht(4),t.uint16(1),t.uint16(24),t.ft(e),t.ft(n?Ai(n):e),t.ft(s?Ai(s):e),M=t.array}catch{M=ae}else M=ae}else M=N=ae;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=fi||t===re&&r===re)if(n!=pi||t===re&&r===re)P=ae;else{const e=bi(8);e.uint16(K),e.uint16(4),e.uint16((t===re?0:t)&U),e.uint16((r===re?0:r)&U),P=e.array}else{const e=Si(t),n=Si(r),s=3+e.length+n.length,i=bi(4+s);i.uint16(q),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),P=i.array}}catch{P=ae}D===re&&(D=A?8:0);const{ut:L}=e;A&&L!==re&&(E=E>L?E:L),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==re&&(I[4]=1),I[9]=D,D=99);const W=v?_i(k):0,B=W+_i(I,N,M,P,p,h);if(B>U)throw new w(ai);const Z=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{$e:j,et:Y,rawLastModDate:G}=Pi({version:E,bitFlag:Li(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:te>Z?te:Z>ee?ee:Z,rawFilename:t,nt:z,st:b,extraFieldLength:B}),X=bi($+_i(t)+B),J=X.array,Q=fe(J);return X.uint32(O),X.bytes(j),X.bytes(t),v&&X.bytes(k),X.bytes(I),X.bytes(N),X.bytes(M),X.bytes(P),X.bytes(p),X.bytes(h),u&&(z||Oi(Q,18,0),b||Oi(Q,22,0)),{yt:J,gt:Q,$e:j,et:Y,lastModDate:r,rawLastModDate:G,encrypted:S,compressed:A,version:E,compressionMethod:D,ct:_,Ye:ae,xt:W,Xe:N,Je:M,Qe:P,Ge:I,extraFieldLength:B}})(s=r.assign({},s,c.lt,d.lt,u.lt,{internalFileAttribute:d.lt.internalFileAttributes,externalFileAttribute:c.lt.externalFileAttributes,signature:s[jn],crc32:s.crc32===re?s[jn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ae,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=fe(s),r&&(i=4,Oi(n,0,N))),{St:s,bt:n,zt:i}})(s),S=_i(y.yt,x.St);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{Ft:p}=s,h=e.options[ds],m=e.Ke;let y,x,S,b,z,F,E,A={},k=0;o.set(t,A),e.Ke=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Rt||e.qe||!l?(y=!0,e.qe++,E=a.createTempStream?await a.createTempStream():new R(re,re,{highWaterMark:ne}),E.size=0,await ot(c)):(E=c,await T()),await ot(E);const U=Fi(c);if(e.Ze){delete e.Ze;const t=new f(4);Oi(fe(t),0,M),await Di(c,t),e.offset+=4}h&&!y&&xi(s,e.offset-U);const{yt:O}=p;y||(await x,await C());const N=zi(c),_=Ei(e,c);if(A.diskNumberStart=N,y||(z=!0,F=c.size,await Di(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{Ft:d,Et:l,Dt:u}=a,{$e:f,et:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ye:b,xt:z,Xe:F,ct:R,Je:E,Qe:D,Ge:A}=d,{St:k}=l,{rawFilename:T,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:N,zip64:_,st:P,nt:L,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:se,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:he,passThrough:me,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:_,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,Ye:b,xt:z,Xe:F,Je:E,Qe:D,Ge:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;me||(be=0);const{writable:Fe}=t;if(e){const r=pe(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Mr,level:N,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!me,compressed:g&&!me,encrypted:y&&!me,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,me:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await ln({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,me||(be=e.inputSize,y&&!W||(Se=e.crc32)),!L&&ze>=v||!P&&be>=v)throw new w(ui)}catch(e){throw e.outputSize!==re&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,Ft:n,Et:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{et:l,encrypted:u}=n,{bt:w,zt:f}=s;u&&!o&&!c||e===re||(Oi(l,10,e),d&&Oi(w,f,e)),a?d&&(Mi(w,f+4,i(t)),Mi(w,f+12,i(r))):(Oi(l,14,t),Oi(l,18,r),d&&(Oi(w,f+4,t),Oi(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,Ft:d,Et:l},c),B&&await Di(t,k),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,$e:f,et:p,signature:Se,crc32:!y||W||me?Se:re,ct:R,st:P,nt:L}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await T(),b=!0,F=c.size,await C(),A.diskNumberStart=zi(c),A.offset=Ei(e,c),h){const t=s.Dt;xi(s,e.offset-Fi(c)),A.size+=s.Dt-t}(({rawFilename:e,encrypted:t,zip64:r,xt:n,crc32:s,compressedSize:a,uncompressedSize:o,st:c,nt:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==re)&&Oi(l,14,s),d||Oi(l,18,a),c||Oi(l,22,o)),r&&n){const t=$+_i(e)+4;Mi(l,t,i(o)),Mi(l,t+8,i(a))}})(A,p.gt,a),await Di(c,p.yt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=_i(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=N,A.offset=_;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),r}finally{if(y&&e.qe--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function T(){e.Rt=!0;const{At:t}=e;e.At=new g(t=>x=()=>{e.Rt=!1,t()}),await t}async function C(){Ri(c,_i(p.yt))&&await c.closeDisk()}})(e,t,n,{Ft:y,Et:x,Dt:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new Qn(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ve.delete(e),t}finally{c.delete(l);const e=mi.shift();e?e():hi--}}remove(e){const{Ve:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==re){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ae,r={}){const{je:n,writer:s}=this,{writable:a}=s;if(_i(e)>U)throw new w(si);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ge:n,rawComment:s,Je:i,Qe:a,rawExtraField:o,extendedTimestamp:c,ct:d,lastModDate:l,st:u,nt:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=bi(e);t.uint16(1),t.uint16(e-4),u&&t.ft(p),f&&t.ft(h),m&&t.ft(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ae;r.Ye=g,r.it=m,r.ot=y;const S=ki(l);if(c&&Ti(S)){const e=bi(9);e.uint16(H),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ae;r.Xe=x;const b=_i(g,n,i,a,x,o);if(b>U)throw new w(ai);t+=46+_i(e,s)+b}return t})(e.files),a=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await ot(i);let o=0,c=0,d=zi(i),l=Fi(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ye:w,Ge:f,Xe:p,Je:h,Qe:m,rawExtraField:y,rawComment:g,versionMadeBy:x,$e:S,et:b,st:z,nt:F,ot:R,it:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:k,uncompressedSize:T,compressedSize:C}=r,I=_i(w,f,p,h,m,y),O=46+_i(u,g)+I;Ri(i,o+O-c)&&(await Di(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=zi(i),l=Fi(i)),z||Oi(b,18,T),F||Oi(b,14,C),(E||R)&&45>r.version&&Ii(b,0,45);const M=bi(O);if(M.uint32(_),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(_i(g)),M.uint16(R?U:k),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Ni(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new Qn(r))}catch{}}return await Di(i,c?a.slice(c):a),{diskNumber:d,diskOffset:l}})(e,s,n);await(async(e,t,r,n)=>{const{writer:s}=e,{kt:a}=n;let{Tt:o}=n,c=e.files.size,d=a.diskNumber,l=Ei(e,a),u=zi(s);Ri(s,B)&&u++;let f=vi(e,r,_n);if(!(v>l&&v>o&&U>c&&U>u)){if(!1===f)throw new w(ui);f=!0}const p=_i(t);if(p>U)throw new w(si);const h=bi(f?98:B);Ri(s,_i(h.array)+p)&&await s.closeDisk(),u=zi(s),f&&(h.uint32(L),h.ft(44),h.uint16(45),h.uint16(45),h.uint32(u),h.uint32(d),h.ft(c),h.ft(c),h.ft(o),h.ft(l),h.uint32(W),h.uint32(u),h.ft(i(Ei(e,s))+i(o)),h.uint32(u+1),vi(e,r,"supportZip64SplitFile",!0)&&(u=U,d=U),c=U,l=v,o=v),h.uint32(P),h.uint16(u),h.uint16(d),h.uint16(c),h.uint16(c),h.uint32(o),h.uint32(l),h.uint16(p),await Di(s,h.array),p&&await Di(s,t)})(e,r,n,{kt:a,Tt:s})})(this,e,r),vi(this,r,os)||await a.getWriter().close(),s.getData?s.getData():a}}function gi(e){if(!e)return ae;let t=0,r=0;e.forEach(e=>t+=4+_i(e));const n=new f(t),s=fe(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(_i(e)>U)throw new w(ai);Ii(s,r,t),Ii(s,r+2,_i(e)),Ni(n,e,r+4),r+=4+_i(e)}),n}function xi(e,t){const{Ft:r}=e;let{yt:n,extraFieldLength:s}=r,i=64-(t+_i(n))%64;4>i&&(i+=64);const a=new f(i),o=fe(a);Ii(o,0,j),Ii(o,2,i-4);const c=n;r.yt=n=new f(_i(c)+i),Ni(n,c),Ni(n,a,_i(c));const d=fe(n);Ii(d,28,s+i),r.gt=d,e.Dt+=i}function Si(e){if(e===re)return ae;{const t=new f(4);fe(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function bi(e){const t=new f(e),r=fe(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Ii(r,n,e),n+=2},uint32:e=>{Oi(r,n,e),n+=4},ft:e=>{Mi(r,n,i(e)),n+=8},bytes:e=>{Ni(t,e,n),n+=_i(e)},ht:e=>n+=e}}function zi(e){const{diskNumber:t=0}=e;return t}function Fi(e){const{diskOffset:t=0}=e;return t}function Ri(e,t){const{availableSize:r=ne}=e;return t>r}function Ei(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.He:0)}async function Di(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=_i(t),await n.write(t)}finally{n.releaseLock()}}function Ai(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return di>t?di:t>li?li:t}}function ki(e){return a.floor(e.getTime()/1e3)}function Ti(e){return e>=oi&&ci>=e}function Ci(e){return a.min(ci,a.max(oi,e))}function vi(e,t,r,n){const s=t[r]===re?e.options[r]:t[r];return s===re?n:s}function Ui(e){return e+5*(a.floor(e/16383)+1)}function Ii(e,t,r){e.setUint16(t,r,!0)}function Oi(e,t,r){e.setUint32(t,r,!0)}function Mi(e,t,r){e.setBigUint64(t,r,!0)}function Ni(e,t,r){e.set(t,r)}function _i(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Pi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,nt:c,st:d,extraFieldLength:l}){const u=bi(26),w=u.array,f=fe(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===re){const e=new h(1),t=fe(e);Ii(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ii(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ht(4),c||s!==re?u.uint32(c?v:s):u.ht(4),d||n!==re?u.uint32(d?v:n):u.ht(4),u.uint16(_i(o)),u.uint16(l),{$e:w,et:f,rawLastModDate:a}}function Li(e,t,r,n,s){let i=0;return t&&(i|=Y),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Wi="Entry filename already exists",Bi=new d([1,V,10,H,28789,25461,j,q,K,22613,13]);class Zi{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Wi);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.Ct++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Wi);this.name=e}}class Vi extends Zi{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Vi(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=Gi(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([ot(n),ot(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await i.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==Ct)return!1;throw e}}getText(e,t){return this.getData(new Ne(e),t)}getBlob(e,t){return this.getData(new Oe(e),t)}getData64URI(e,t){return this.getData(new Ce(e),t)}getUint8Array(e){return this.getData(new rt,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return we(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:Ie,Writer:Oe,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Me,Writer:Ne,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:Te,Writer:Ce,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:tt,Writer:rt,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:Ki(e),Writer:null,reader:null})}}class Hi extends Zi{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Hi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return ta(this,e,{options:t},!0)}addText(e,t,r={}){return ta(this,e,{data:t,Reader:Me,Writer:Ne,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return ta(this,e,{data:t,Reader:Ie,Writer:Oe,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return ta(this,e,{data:t,Reader:Te,Writer:Ce,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return ta(this,e,{data:t,Reader:tt,Writer:rt,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return ta(this,e,{data:t,Reader:class extends et{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return ta(this,e,{Reader:Ki(t),options:r})}addFileSystemEntry(e,t={}){return Qi(this,e,t)}addFileSystemHandle(e,t={}){return Qi(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),ta(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}vt(e,t){return ta(this,e,t)}importBlob(e,t){return this.importZip(new Ie(e),t)}importData64URI(e,t){return this.importZip(new Te(e),t)}importUint8Array(e,t){return this.importZip(new tt(e),t)}importHttpContent(e,t){return this.importZip(new et(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new Oe(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ce(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new rt,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=qi([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await ot(e);const n=new Cs(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Wi)}else n=new Hi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Wi)}else t=new Hi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(ta(n,a,{data:e,Reader:Yi(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===re&&(n.bufferedWrite=!0);const[i]=await g.all([Xi(s,n.readerOptions),ot(e)]),a=new yi(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof Qn){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{Bi.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===re&&S===re||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,qi([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const ji={FS:class{constructor(){ea(this)}get children(){return this.root.children}remove(e){Ji(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=re}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Wi)}else Ji(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}vt(e,t){return this.root.vt(e,t)}importBlob(e,t){return ea(this),this.root.importBlob(e,t)}importData64URI(e,t){return ea(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return ea(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return ea(this),this.root.importHttpContent(e,t)}importReadable(e,t){return ea(this),this.root.importReadable(e,t)}importZip(e,t){return ea(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Hi,ZipFileEntry:Vi};function qi(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function Ki(e){let t;return()=>{if(t)throw new w("Readable stream already consumed");return t=!0,{readable:e}}}function Yi(e){return class extends Ae{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new Oe,r.assign({},e,t.options));t.data=n,t.Ut=new Ie(n),super.init()}readUint8Array(e,t){return this.Ut.readUint8Array(e,t)}}}function Gi(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function Xi(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=Gi(e.Reader,e.data,t);s.set(e,r);try{await ot(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==re&&(e.uncompressedSize=r.size)})),s}function Ji(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function Qi(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await $i(s)),"file"==s.kind){const e=await s.getFile();i.push(t.vt(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function $i(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await $i(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function ea(e){e.entries=[],e.Ct=0,e.root=new Hi(e)}function ta(e,t,r,n){if(e.directory)return n?new Hi(e.fs,t,r,e):new Vi(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.fs=ji});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:T,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,_=M,N=84233040,L=33639248,P=101010256,W=101075792,B=117853008,Z=22,V=20,H=56,j=39169,q=21589,K=6534,Y=30837,G=30805,X=2048,J=16384,Q=2048,$=1024,ee="/",te=30,re=new o(2107,11,31,23,59,58),ne=new o(1980,0,1),se=void 0,ie=1/0,ae="undefined",oe="function",ce=new f;let de=2;try{typeof T!=ae&&T.hardwareConcurrency&&(de=T.hardwareConcurrency)}catch{}const le={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:de,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=ae&&A,DecompressionStream:typeof k!=ae&&k};function ue(){return le}function we(e){return a.max(e.chunkSize,64)}function fe(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function pe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function he(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function me(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function ye(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const ge="HTTP error ",xe="HTTP Range not supported",Se="HTTP resource changed",be="Content-Range",ze="Range",Fe="GET",Re="bytes",Ee=16777216,De="writable",Ae=Symbol();class ke{constructor(){this.size=0}init(){this.initialized=!0}}class Te extends ke{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(ue())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===se?r:a.min(r,t-s),c=await lt(n,e+s,o);i.enqueue(c),s+r>t||t===se&&!c.length&&o?i.close():s+=r}})}}class Ce extends ke{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(pe(t))}});r.defineProperty(e,De,{get:()=>t})}writeUint8Array(){}}class ve extends Te{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o:r,dataURI:n}=this,s=new f(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ue extends Ce{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let Ie,Oe;class Me extends Te{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Oe||(Oe=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Ie=1==t}catch{Ie=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Ie?me(t.slice(n,n+s).stream()):super.createReadable(e):me(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new f(i)}}class _e extends ke{constructor(e){super();const t=this,n=new R;if(r.defineProperty(t,De,{get:()=>n.writable}),typeof y.prototype.stream!=oe||new y([]).stream()instanceof E){const r=[];e&&r.push(["Content-Type",e]),t.blob=new l(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Ne extends Me{constructor(e){super(new y([e],{type:"text/plain"}))}}class Le extends _e{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class Pe extends Te{constructor(e,t){super(),Be(this,e,t)}async init(){await Ze(this,et,Xe),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==se){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(xe);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=se,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await et(Fe,e,Ye(e,i,t));if(206!=r.status)throw new w(xe);const d=r.headers.get(be);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(xe)}Ke(e,r),qe(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return Ve(this,e,t,et,Xe)}}class We extends Te{constructor(e,t){super(),Be(this,e,t)}async init(){await Ze(this,tt,Je),super.init()}readUint8Array(e,t){return Ve(this,e,t,tt,Je)}}function Be(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=Ee,fetch:l}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:l})}async function Ze(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ue(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(Fe,e,Ye(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Re))throw new w(xe);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==Z&&(e.h=t)}qe(e,n);const s=He(n);s===se?await $e(e,t,r):e.size=s}}else await $e(e,t,r)}async function Ve(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-Z&&r==Z)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(Fe,e,Ye(e,t,r));if(206!=i.status)throw new w(xe);const a=i.headers.get(be);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(xe)}Ke(e,i),qe(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(xe);return o}return ce}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function He(e){const t=e.headers.get(be);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function je({headers:e}){return{m:e.get("Etag")||se,lastModified:e.get("Last-Modified")||se}}function qe(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=je(t))}function Ke(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=He(t);if(e!==se&&i!==se&&e!=i)throw new w(Se);if(s){const e=je(t);if(r.entries(s).some(([t,r])=>r!==se&&e[t]!==se&&r!=e[t]))throw new w(Se)}}}function Ye(e,t=0,n=1){return r.assign({},Ge(e),{[ze]:Re+"="+(0>t?t:t+"-"+(t+n-1))})}function Ge({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Xe(e){await Qe(e,et)}async function Je(e){await Qe(e,tt)}async function Qe(e,t){const r=await t(Fe,e,Ge(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function $e(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Ge(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function et(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new w(xe):new w(ge+(a.statusText||a.status))}function tt(e,{url:t},n){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(xe):new w(ge+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class rt extends Te{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new We(e,t):new Pe(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 nt extends Te{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class st extends Ce{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new f(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class it extends Te{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>dt(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===se?r:n}async readUint8Array(e,t){const r=this,{F:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=fe(await lt(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await lt(c,o,t)}else s=ce;return r.R=a.max(i,r.R),s}}class at extends ke{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Ae)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await dt(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,De,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Ae)}finally{e.releaseLock()}}}class ot{constructor(e){return t.isArray(e)&&(e=new it(e)),(e instanceof E||typeof e.getReader==oe)&&(e={readable:me(e)}),e}}class ct{constructor(e){return e.writable===se&&typeof e.next==oe&&(e=new at(e)),(e instanceof D||typeof e.getWriter==oe)&&(e={writable:ye(e)}),e.size===se&&(e.size=0),e}}async function dt(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function lt(e,t,r){return e.readUint8Array(t,r)}const ut=new c,wt=new c;function ft(e){return ut.get(e)}function pt(e){return wt.get(e)}const ht=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;ht[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=ht[t-1][e];ht[t][e]=r>>>8^ht[0][255&r]}const[mt,yt,gt,xt,St,bt,zt,Ft]=ht;class Rt{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Ft[255&e]^zt[e>>>8&255]^bt[e>>>16&255]^St[e>>>24&255]^xt[255&r]^gt[r>>>8&255]^yt[r>>>16&255]^mt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^mt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Et extends R{constructor(){let e;const t=new Rt;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Dt(e){if(typeof x==ae){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new x).encode(e)}const At={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=At.C(r);return 32===n?e.concat(t):At.v(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+At.C(r)},U(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=At.I(t,e[r-1]&2147483648>>t-1,1)),e},I:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=At.C(s);return n.push(At.I(t+i&31,t+i>32?r:n.pop(),1)),n}},kt={bytes:{O(e){const t=At.bitLength(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},M(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(At.I(8*(3&r),n)),t}}},Tt=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.N=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.P=e.P.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.P=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=kt.B.M(e));const r=t.P=At.concat(t.P,e),n=t.W,s=t.W=n+At.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.Z(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}V(){const e=this;let t=e.P;const r=e.L;t=At.concat(t,[At.I(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.Z(t.splice(0,16));return e.reset(),r}H(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}j(e,t){return t<<e|t>>>32-e}Z(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.j(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.j(5,i)+r.H(e,o,c,d)+l+s[e]+r.N[a.floor(e/20)]|0;l=d,d=c,c=r.j(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+d|0,n[4]=n[4]+l|0}},Ct={importKey:e=>new Ct.K(kt.bytes.M(e)),Y(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new w("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=At;for(t=kt.bytes.M(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>f&&o<i.length;o++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},K:class{constructor(e){const t=this,r=t.G=Tt,n=[[],[]];t.X=[new r,new r];const s=t.X[0].blockSize/32;e.length>s&&(e=(new r).update(e).V());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.X[0].update(n[0]),t.X[1].update(n[1]),t.J=new r(t.X[0])}reset(){const e=this;e.J=new e.G(e.X[0]),e.$=!1}update(e){this.$=!0,this.J.update(e)}digest(){const e=this,t=e.J.V(),r=new e.G(e.X[1]).update(t).V();return e.reset(),r}encrypt(e){if(this.$)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},vt=typeof z!=ae&&typeof z.getRandomValues==oe,Ut="Invalid password",It="Invalid signature",Ot=It,Mt="zipjs-abort-check-password";function _t(e){if(vt)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Nt=16,Lt={name:"PBKDF2"},Pt=r.assign({hash:{name:"HMAC"}},Lt),Wt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Lt),Bt=["deriveBits"],Zt=[8,12,16],Vt=[16,24,32],Ht=10,jt=[0,0,0,0],qt=typeof z!=ae,Kt=qt&&z.subtle,Yt=qt&&typeof Kt!=ae,Gt=kt.bytes,Xt=class{constructor(e){const t=this;t.ee=[[[],[],[],[],[]],[[],[],[],[],[]]],t.ee[0][0][0]||t.te();const r=t.ee[0][4],n=t.ee[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.N=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.re(e,0)}decrypt(e){return this.re(e,1)}te(){const e=this.ee[0],t=this.ee[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}re(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.N[t],n=r.length/4-2,s=[0,0,0,0],i=this.ee[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Jt=class{constructor(e,t){this.ne=e,this.se=t,this.ie=t}reset(){this.ie=this.se}update(e){return this.ae(this.ne,e,this.ie)}oe(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ce(e){0===(e[0]=this.oe(e[0]))&&(e[1]=this.oe(e[1]))}ae(e,t,r){let n;if(!(n=t.length))return[];const s=At.bitLength(t);for(let s=0;n>s;s+=4){this.ce(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return At.U(t,s)}},Qt=Ct.K;let $t=qt&&Yt&&typeof Kt.importKey==oe,er=qt&&Yt&&typeof Kt.deriveBits==oe;class tr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){nr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,de:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await ir(e,t,r,or(n,0,Zt[t])),i=or(n,Zt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(Ut)})(r,i,s,or(e,0,Zt[i]+2)),e=or(e,Zt[i]+2),n?t.error(new w(Mt)):a()):await o;const c=new f(e.length-Ht-(e.length-Ht)%Nt);t.enqueue(sr(r,e,c,0,Ht,!0))},async flush(e){const{le:t,ue:r,pending:n,ready:i}=this;if(r&&t){await i;const a=or(n,0,n.length-Ht),o=or(n,n.length-Ht);let c=ce;if(a.length){const e=dr(Gt,a);r.update(e);const n=t.update(e);c=cr(Gt,n)}const d=or(cr(Gt,r.digest()),0,Ht);let l=n.length<Ht?1:0;for(let e=0;Ht>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Ot);e.enqueue(c)}}})}}class rr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){nr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,de:i,ready:a}=r;let o=ce;n?(o=await(async(e,t,r)=>{const n=_t(new f(Zt[t]));return fe(n,await ir(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Nt);c.set(o,0),t.enqueue(sr(r,e,c,o.length,0))},async flush(e){const{le:t,ue:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ce;if(n.length){const e=t.update(dr(Gt,n));r.update(e),i=cr(Gt,e)}const a=cr(Gt,r.digest()).slice(0,Ht);e.enqueue(fe(i,a))}}})}}function nr(e,t,n,s){r.assign(e,{ready:new g(t=>e.de=t),password:ar(t,n),strength:s-1,pending:ce})}function sr(e,t,r,n,s,i){const{le:a,ue:o,pending:c}=e;c.length&&(t=fe(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Nt)),l=0;d-Nt>=l;l+=Nt){const e=dr(Gt,or(t,l,l+Nt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(cr(Gt,s),l+n)}return e.pending=or(t,l),r}async function ir(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!$t)return Ct.importKey(t);try{return await Kt.importKey("raw",t,r,!1,s)}catch{return $t=!1,Ct.importKey(t)}})(0,s,Pt,0,Bt),o=await(async(e,t,r)=>{if(!er)return Ct.Y(t,e.salt,Wt.iterations,r);try{return await Kt.deriveBits(e,t,r)}catch{return er=!1,Ct.Y(t,e.salt,Wt.iterations,r)}})(r.assign({salt:i},Wt),a,8*(2*Vt[n]+2)),c=new f(o),d=dr(Gt,or(c,0,Vt[n])),l=dr(Gt,or(c,Vt[n],2*Vt[n])),u=or(c,2*Vt[n]);return r.assign(e,{keys:{key:d,we:l,passwordVerification:u},le:new Jt(new Xt(d),t.from(jt)),ue:new Qt(l)}),u}function ar(e,t){return t===se?Dt(e):t}function or(e,t,r){return e.subarray(t,r)}function cr(e,t){return e.O(t)}function dr(e,t){return e.M(t)}class lr extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){wr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=fr(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(Ut);e=e.subarray(12)}n?t.error(new w(Mt)):t.enqueue(fr(r,e))}})}}class ur extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){wr(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=_t(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(pr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(pr(r,e),s),t.enqueue(n)}})}}function wr(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,fe:new Rt(s[0]),pe:new Rt(s[2])}),n)for(let t=0;t<n.length;t++)hr(e,n[t]);else for(let r=0;r<t.length;r++)hr(e,t.charCodeAt(r))})(e,t,n)}function fr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=mr(e)^t[n],hr(e,r[n]);return r}function pr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=mr(e)^t[n],hr(e,t[n]);return r}function hr(e,t){let[,r]=e.keys;e.fe.append([t]);const n=~e.fe.get();r=gr(a.imul(gr(r+yr(n)),134775813)+1),e.pe.append([r>>>24]);const s=~e.pe.get();e.keys=[n,r,s]}function mr(e){const t=2|e.keys[2];return yr(a.imul(t,1^t)>>>8)}function yr(e){return 255&e}function gr(e){return 4294967295&e}const xr="Invalid uncompressed size",Sr="Invalid compressed data",br=It,zr="deflate-raw",Fr="gzip",Rr=[31,139,8];class Er extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&pt(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Et,g=Or(g,p)),s)if(x)g=Mr(g,Ur(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Dr,g=Mr(g,new n(Fr)),g=Or(g,y);else try{g=Ir(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Fr)}catch{throw e}g=Mr(g,t),g=Or(g,new Dr)}i&&(o?g=Or(g,new ur(e)):(h=new rr(e),g=Or(g,h))),vr(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Dr extends R{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=a.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=fe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(fe(r.subarray(0,o),e.subarray(0,i-o))),r=fe(r.subarray(o),e.subarray(i-o))},flush(){const t=he(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Ar extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Or(b,new lr(e)):(S=new tr(e),b=Or(b,S))),c){const e=u&&pt(u);if(e)b=Mr(b,Ur(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=Ir(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===se)throw e;let t;try{t=new n(Fr)}catch{throw e}b=((e,t,r)=>{const n=new Rt;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(Rr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=he(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Or(e,l),Or(e=Mr(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(xr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Sr);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Et,b=Or(b,x)),vr(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(br)}})}}const kr=new c;function Tr(e,t){if(!e)return!1;let r=kr.get(e);r||(r=new c,kr.set(e,r));let n=r.get(t);if(n===se){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function Cr(e){return Tr(e,zr)}function vr(e,t,n){t=Or(t,new R({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Ur(e,t,r){if(!e)throw new w("Compression method not supported");return new e(t,r)}function Ir(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":zr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return Mr(e,o)}function Or(e,t){return me(e).pipeThrough(t)}function Mr(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const _r="data",Nr="deflate",Lr="inflate";class Pr extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Nr)?i=Er:s.startsWith(Lr)&&(i=Ar),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==se&&n.outputSize>e.outputSize))throw new w(xr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Wr extends R{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Br={type:"module"},Zr="error",Vr="Worker startup timeout";let Hr,jr,qr,Kr,Yr,Gr=!0;try{Gr=typeof structuredClone==oe&&structuredClone(new DOMException("","AbortError")).code!==se}catch{}class Xr{constructor(e,{readable:t,writable:n},{options:s,config:i,he:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:l},u){const{signal:w}=a;return Yr&&(l=se),r.assign(e,{me:!0,ye:(e.ye||0)+1,readable:t.pipeThrough(new Wr(we(i))).pipeThrough(new Jr(a),{signal:w}),writable:n,options:r.assign({},s),workerURI:d,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{ge:r,me:n}=e;r?(n?e.xe=t:(r.terminate(),t()),e.Se=null):t()}),be(){if(e.me){const{xe:t}=e;t&&(e.xe=null,e.ze=!0,e.ge.terminate(),t()),e.me=!1,u(e)}}}),Hr===se&&(Hr=typeof C!=ae),(o&&(Hr&&d||l)?en:$r)(e,i)}}class Jr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Qr(e,r)},async transform(e,n){s+=e.length,t&&await Qr(t,s,r),n.enqueue(e)},async flush(){n&&await Qr(n,s)}})}}async function Qr(e,...t){try{await e(...t)}catch{}}function $r(e,t){return{run:()=>tn(e,t)}}function en(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.Se){let c;typeof o==oe&&(o=o());try{c=nn(e.workerURI,n,e)}catch{return e.createWorker?Yr=!0:Hr=!1,$r(e,t)}r.assign(e,{ge:c,Fe:!1,ze:!1,Se:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Re:n,Ee:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,De:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,De:()=>t.abort()}})(e.writable);let f;try{f=on({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.be(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Fe||!s.isFinite(p)||0>p||(e.Ae=setTimeout(()=>(e=>{if(e.Ae=null,e.Fe)return;const{Ee:t,writer:r}=e;if(rn(e),e.ge=null,t){const e=new w(Vr);e.ke=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ke){e.createWorker?Yr=!0:Hr=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,tn(e,t)}throw r}}}})}return e.Se}async function tn({options:e,readable:t,writable:r,be:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Nr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Te&&!Cr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Te||(e.useCompressionStream=!0)}}i=new Pr(e,s),await t.pipeThrough(i).pipeThrough(new Wr(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:a,outputSize:o}=i;return{crc32:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function rn(e){const{ge:t}=e;if(t)try{t.terminate()}catch{}e.Se=null}function nn(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,d;if(a)o=a();else if(qr===se||jr!==e){const r=typeof e==oe;c=r?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){s===se&&(s=!1),s&&(d=Br);try{o=new C(c,d)}catch(i){if(l)try{u.revokeObjectURL(c)}catch{}if(r&&l)return nn(e,t,n,s,!1);if(s)throw i;return nn(e,t,n,!0,!1)}}else{s===se&&(s=!0),s&&(d=Br);try{c=new u(c,t)}catch{}try{o=new C(c,d)}catch(r){if(s)throw r;return nn(e,t,n,!1,i)}}jr=e,qr=c,Kr=d}else o=new C(qr,Kr);return o.addEventListener("message",e=>{n.Fe=!0,sn(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Re:l,Ee:u,be:p,ye:h}=t,m=()=>t.ye!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new w(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new w(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||on({type:_r,value:e,done:r,messageId:i},t)}n==_r&&(await d.ready,await d.write(new f(s)),m()||on({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(rn(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),o.addEventListener(Zr,e=>an(e,n)),o.addEventListener("messageerror",e=>an(e,n)),o}function sn(e){const{Ae:t}=e;t&&(clearTimeout(t),e.Ae=null)}function an(e,t){e.preventDefault&&e.preventDefault(),sn(t);const{Fe:n,Ee:s,writer:i,be:a}=t;if(rn(t),n||(t.ge=null),s){let t=e.error||new w(e.message||Zr);n||(t=r.assign(new w(t.message||Zr),{ke:!0})),s(t),i&&i.releaseLock(),n&&a()}}function on(e,{ge:t,writer:r,transferStreams:n,Fe:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=pe(r),o.push(e.value.buffer)),n&&Gr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Gr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let cn=[];const dn=[];let ln,un,wn=0;async function fn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,createWorker:y,maxWorkers:x}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!wt.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=oe&&typeof n!=oe)throw new w("Invalid codec module");wt.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=i||i===se&&n.transferStreams;const S=!(c||d||l||f),b=p===se||!!r.codecURI;return t.useWebWorkers=!S&&b&&(a||a===se&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:se,t.createWorker=t.useWebWorkers&&y?y:se,r.useCompressionStream=o||o===se&&n.useCompressionStream,(await(async()=>{const r=cn.find(e=>!e.me);if(r)return gn(r),new Xr(r,e,t,z);if(cn.length<x){const r={Ce:wn};return wn++,cn.push(r),new Xr(r,e,t,z)}return new g(r=>{dn.push({resolve:r,stream:e,ve:t}),un=n.workerStarvationTimeout,pn()})})()).run();function z(e){if(hn(),dn.length){const[{resolve:t,stream:r,ve:n}]=dn.splice(0,1);t(new Xr(e,r,n,z)),pn()}else e.ge?(gn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.ze?e.ze=!1:e.Ue=setTimeout(async()=>{cn=cn.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):cn=cn.filter(t=>t!=e)}}function pn(){!ln&&dn.length&&s.isFinite(un)&&un>=0&&(ln=setTimeout(mn,un))}function hn(){ln&&(clearTimeout(ln),ln=null)}function mn(){if(ln=null,dn.length){const[{resolve:e,stream:t,ve:n}]=dn.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:se,createWorker:se});e(new Xr({},t,s,yn)),pn()}}function yn(){hn(),pn()}function gn(e){const{Ue:t}=e;t&&(clearTimeout(t),e.Ue=null)}const xn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Sn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=xn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const bn="filename",zn="rawFilename",Fn="comment",Rn="rawComment",En="uncompressedSize",Dn="compressedSize",An="offset",kn="diskNumberStart",Tn="lastModDate",Cn="rawLastModDate",vn="lastAccessDate",Un="rawLastAccessDate",In="creationDate",On="rawCreationDate",Mn="internalFileAttributes",_n="externalFileAttributes",Nn="msdosAttributesRaw",Ln="msdosAttributes",Pn="msDosCompatible",Wn="zip64",Bn="encrypted",Zn="version",Vn="versionMadeBy",Hn="zipCrypto",jn="directory",qn="executable",Kn="compressionMethod",Yn="signature",Gn="extraField",Xn="unixMode",Jn="setuid",Qn="setgid",$n="sticky",es=[bn,zn,En,Dn,Tn,Cn,Fn,Rn,vn,Un,In,On,An,kn,Mn,_n,Nn,Ln,Pn,Wn,Bn,Zn,Vn,Hn,jn,qn,Kn,Yn,"crc32",Gn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Xn,Jn,Qn,$n,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ts{constructor(e){es.forEach(t=>this[t]=e[t])}}const rs="password",ns="rawPassword",ss="passThrough",is="signal",as="checkAmbiguity",os="useWebWorkers",cs="useCompressionStream",ds="transferStreams",ls="preventClose",us="offset",ws="usdz",fs="strictness",ps="strict",hs="tolerant",ms="File format is not recognized",ys="End of central directory not found",gs="End of Zip64 central directory locator not found",xs="Central directory header not found",Ss="Local file header not found",bs="Zip64 extra field not found",zs="File contains encrypted entry",Fs="Encryption method not supported",Rs="Compression method not supported",Es="Split zip file",Ds="Overlapping entry found",As="Ambiguous archive",ks="Encrypted central directory is not supported",Ts="utf-8",Cs="cp437",vs=[[En,v],[Dn,v],[An,v],[kn,U]],Us={[U]:{Ie:si,bytes:4},[v]:{Ie:ii,bytes:8}};class Is{constructor(e,t={}){r.assign(this,{reader:new ot(e),options:t,config:ue(),Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await dt(n),n.size!==se&&n.readUint8Array||(n=new Me(await new l(n.readable).blob()),await dt(n)),n.size<Z)throw new w(ms);const o=Vs($s(t,e,fs),$s(t,e,as)),c=o==ps,u=o!=hs,f=((e,t)=>e!==se?e:t==ps?0:t==hs?1/0:U)($s(t,e,"maxAppendedDataSize"),o),{Me:p,_e:h}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:Hs};let o,c,d=0;for await(const[r,a,l,u,w]of Ys(e,s)){const s=ni(r,u+20);if(w+Z+s==n){const s=await Xs(e,r,a,u,w,n,i);if(s==Ks){if(o||(o=Gs(l,u,w)),d++,!t||d>1)break}else s!=qs||c||(c=Gs(l,u,w))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,d,l]of Ys(e,s)){const s=Gs(c,d,l);i||(i=s);const u=await Xs(e,t,a,d,l,n,r);if(u==Ks)return s;u!=qs||o||(o=s)}return o||i})(e,r,i)),{Me:o,_e:d}})(n,u,f);if(!p)throw si(he(await lt(n,0,4)))==M?new w(Es):new w(ys);u&&h>1&&Qs("multiple end of central directory records");const m=he(p);let y=si(m,12),x=si(m,16);const S=p.offset,b=ni(m,20),z=S+Z+b;n.size-z>f&&Qs("appended data");let F=ni(m,4);const E=n.R||0;let D,A,k,T,C=ni(m,6),O=ni(m,10),_=0;const P=x==v||y==v||O==U||C==U;if(x!=v&&C!=U&&(x+=Zs(n,C)),P){const e=p.offset<V?ce:await lt(n,p.offset-V,V),t=he(e);if(e.length==V&&si(t,0)==B){x=Zs(n,si(t,4))+ii(t,8);let e=await lt(n,x,H),i=he(e);const o=p.offset-V-H;if((e.length<H||si(i,0)!=W)&&x!=o&&o>=0){const t=x;x=o,x>t&&(_=x-t),e=await lt(n,x,H),i=he(e)}if(e.length<H||si(i,0)!=W)throw new w(gs);if(A=!0,k=ii(i,4)>44,k){const e=a.min(s(ii(i,4))-44,n.size-x-H);e>0&&(T=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=he(e),i=ni(n,26);r.assign(t,{compressionMethod:ni(n,0),compressedSize:s(ii(n,2)),uncompressedSize:s(ii(n,10)),encryptionAlgorithm:ni(n,18),bitLength:ni(n,20),flags:ni(n,22),hashAlgorithm:ni(n,24),hashData:e.subarray(28,28+i)})}return t})(await lt(n,x+H,e)))}F==U?F=si(i,16):c&&F!=si(i,16)&&Qs("mismatched zip64 end of central directory record"),C==U?C=si(i,20):c&&C!=si(i,20)&&Qs("mismatched zip64 end of central directory record"),O==U?O=ii(i,32):c&&O!=ii(i,32)&&Qs("mismatched zip64 end of central directory record"),y==v?y=ii(i,40):c&&y!=ii(i,40)&&Qs("mismatched zip64 end of central directory record"),x=Zs(n,C)+ii(i,48)+_}}let j=y;const q=p.offset-(A?76:0);if(x<n.size||(_=n.size-x-y-Z,x=n.size-y-Z),E!=F)throw new w(Es);if(0>x)throw new w(ms);let K=0,Y=await lt(n,x,y),G=he(Y);if(y){if(4>Y.length)throw new w(ms);const e=q-y;if(x!=e&&C==F){let t=!(si(G,K)==L);if(t||0>e||e+4>n.size||(t=si(he(await lt(n,e,4)),0)==L),t){const t=x;x=e,x>t&&(_+=x-t),Y=await lt(n,x,y),G=he(Y)}}}const X=q-x;if(y==X||0>X||C!=F||(y=X,Y=await lt(n,x,y),G=he(Y)),0>x||x>=n.size)throw new w(ms);t.directoryOffset=x,t.directoryLength=j;const te=$s(t,e,"decryptCentralDirectory");let re;te&&O&&Y.length>=4&&si(G,0)!=L&&(k||Ms(G))&&(Y=await te(Y,T),G=he(Y),j=Y.length,re=!0),D=x;const ne=$s(t,e,"filenameEncoding"),ie=$s(t,e,"commentEncoding"),ae=c?new d:se;let oe;for(let s=0;O>s;s++){const o=new Os(n,i,t.options);if(K+46>Y.length||si(G,K)!=L){if(0==s&&!re&&(k||Ms(G)))throw new w(ks);throw new w(xs)}_s(o,G,K+6);const d=!!o.bitFlag.languageEncodingFlag,u=K+46,f=u+o.filenameLength,p=f+o.extraFieldLength,h=ni(G,K+4),m=!(h>>8),y=h>>8==3,x=Y.subarray(u,f),S=ni(G,K+32),b=p+S,z=Y.subarray(p,b),F=d,E=d,A=si(G,K+38),T=A&I,C={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},v=si(G,K+42),M=$s(t,e,"decodeText")||Sn,N=F?Ts:ne||Cs,P=E?Ts:ie||Cs;let W=M(x,N);W===se&&(W=Sn(x,N));let B=M(z,P);B===se&&(B=Sn(z,P)),r.assign(o,{index:s,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Ne:S,offset:v,diskNumberStart:ni(G,K+34),internalFileAttributes:ni(G,K+36),externalFileAttributes:A,msdosAttributesRaw:T,msdosAttributes:C,rawFilename:x,filenameUTF8:F,commentUTF8:E,rawExtraField:Y.subarray(f,p),rawComment:z,filename:W,comment:B}),Ns(o,o,G,K+6),o.offset+=_,D=a.min(Zs(n,o.diskNumberStart)+o.offset,D),c&&(ae.has(o.filename)&&(oe=!0),ae.add(o.filename));const Z=o.externalFileAttributes>>16&U;o.unixMode===se&&16877&Z&&(o.unixMode=Z);const V=!!(o.unixMode&Q),H=!!(o.unixMode&$),j=!!(512&o.unixMode),q=o.unixMode!==se?!!(73&o.unixMode):y&&!!(73&Z),X=o.unixMode!==se&&(61440&o.unixMode)==J,te=(61440&Z)==J;r.assign(o,{setuid:V,setgid:H,sticky:j,unixExternalUpper:Z,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:q,directory:X||te||m&&C.directory||o.filename.endsWith(ee)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ce=new ts(o);ce.getData=(e,r)=>o.getData(e,ce,t.Oe,r),ce.arrayBuffer=async e=>{const r=new R,[n]=await g.all([new l(r.readable).arrayBuffer(),o.getData(r,ce,t.Oe,e)]);return n},K=b;const{onprogress:de}=e;if(de)try{await de(s+1,O,new ts(o))}catch{}yield ce}let de=K;if(K+6<=Y.length&&si(G,K)==N){const e=ni(G,K+4);K+6+e>Y.length||(t.digitalSignature=Y.subarray(K+6,K+6+e),de=K+6+e)}c&&K!=j&&de!=j&&Qs("trailing central directory data"),oe&&Qs("duplicate filename"),c&&(_||O&&D>0)&&Qs("prepended data");const le=$s(t,e,"extractPrependedData"),ue=$s(t,e,"extractAppendedData");return le&&(t.prependedData=D>0?await lt(n,0,D):ce),t.comment=b?await lt(n,S+Z,b):ce,ue&&(t.appendedData=z<n.size?await lt(n,z,n.size-z):ce),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let Os=class{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Zs(i,c)+o,F=await lt(i,z,te),R=he(F);let E=$s(s,n,rs),A=$s(s,n,ns);const k=$s(s,n,ss);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(Rs);if(F.length<te||si(R,0)!=O)throw new w(Ss);_s(b,R,4);const{extraFieldLength:T,filenameLength:C}=b,v=Vs($s(s,n,fs),$s(s,n,as))==ps;let U=ce;if(v&&(C||T)){const e=await lt(i,z+te,C+T);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=T?await lt(i,z+te+C,T):ce;Ns(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Qs("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Qs("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Qs("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Qs("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:N}=b;M&&(t.lastAccessDate=M),N&&(t.creationDate=N);const L=s.encrypted&&b.encrypted&&!k,P=L&&!d;if(k||(t.zipCrypto=P),L&&!(64&~b.rawBitFlag))throw new w(Fs);const W=k?se:ft(u);if(0!=u&&8!=u&&9!=u&&!W&&!k)throw new w(Rs);if(L){if(!P&&(1>d.strength||d.strength>3))throw new w(Fs);if(!E&&!A)throw new w(zs)}const B=z+te+C+T,Z=x,V=me(i.createReadable({offset:B,size:Z})),H=$s(s,n,is),j=$s(s,n,"checkPasswordOnly");let q=$s(s,n,"checkOverlappingEntry");const K=$s(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=$s(s,n,cs);J&&(Q=!1);const $=$s(s,n,"checkCrc32"),ee=($===se?$s(s,n,"checkSignature"):$)&&!k&&(!L||P||d&&1==d.vendorVersion),re={options:{codecType:Lr,password:E,rawPassword:A,zipCrypto:P,encryptionStrength:d&&d.strength,checkCrc32:ee,checkAuthenticationCode:$s(s,n,"checkAuthenticationCode"),passwordVerification:P&&(S?y>>>8&I:m>>>24&I),outputSize:k?x:g,crc32:m,compressed:0!=u&&!k,encrypted:L,useWebWorkers:$s(s,n,os),useCompressionStream:Q,transferStreams:$s(s,n,ds),deflate64:J,format:W?W.format:se,codecURI:W?W.codecURI:se,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,he:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let ne;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,Pe:o,dataDescriptor:c,extraFieldZip64:d,Oe:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await lt(e,o+i,u+4);if(r.length==u+4&&si(he(r),0)==_){const e=si(he(r),4);let n,o;d?(n=ii(he(r),8),o=ii(he(r),16)):(n=si(he(r),8),o=si(he(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(Ds);throw e.We=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,Pe:B,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Oe:r});try{if(!K){j&&(e=new D),e=new ct(e),await dt(e,k?x:g),({writable:ne}=e);const{outputSize:t}=await fn({readable:V,writable:ne},re);if(e.size+=t,t!=(k?x:g))throw new w(xr)}}catch(t){if(t.outputSize!==se&&(e.size+=t.outputSize),!j||t.message!=Mt)throw t}finally{$s(s,n,ls)||!ne||ne.locked||await ne.getWriter().close()}return j||K?se:e.getData?e.getData():ne}};function Ms(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==si(e,r))return!0;return!1}function _s(e,t,n){const s=e.rawBitFlag=ni(t,n+2),i=!(1&~s),a=si(t,n+6);r.assign(e,{encrypted:i,version:ni(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&X)==X},rawLastModDate:a,lastModDate:ei(a),filenameLength:ni(t,n+22),extraFieldLength:ni(t,n+24)})}function Ns(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=he(a);let u=0;try{for(;u<a.length;){const e=ni(l,u),t=ni(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=ni(n,s+4);r.assign(t,{signature:si(n,s+10),crc32:si(n,s+10),compressedSize:si(n,s+14),uncompressedSize:si(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=he(e.data),n=vs.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Us[t].bytes,0);if(e.data.length<s)throw new w(bs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Us[o];t[a]=e[a]=c.Ie(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Ls(h,bn,zn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Ls(m,Fn,Rn,t,e),t.extraFieldUnicodeComment=m);const y=d.get(j);y&&y.data.length>=7?(((e,t,n)=>{const s=he(e.data),i=ri(s,4);r.assign(e,{vendorVersion:ri(s,0),vendorId:ri(s,2),strength:i,originalCompressionMethod:n,compressionMethod:ni(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=se)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Ps(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Ps(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=he(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=ni(n,i),r=ni(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}if(s&&24==s.length){const n=he(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:ti(i),lastAccessDate:ti(a),creationDate:ti(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(G);if(b)Ws(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(Y);e&&(Ws(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=he(e.data),s=ri(n,0),i=[],a=[];r?(1&~s||(i.push(Tn),a.push(Cn)),2&~s||(i.push(vn),a.push(Un)),4&~s||(i.push(In),a.push(On))):5>e.data.length||(i.push(Tn),a.push(Cn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=si(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(K);F&&(t.extraFieldUSDZ=F)}function Ls(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=he(e.data),o=new Rt;o.append(i[n]);const c=he(new f(4));c.setUint32(0,o.get(),!0);const d=si(a,1);r.assign(e,{version:ri(a,0),[t]:Sn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==si(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ps(e,t){if(8>e.data.length)return;const n=he(e.data),s={lastAccessDate:new o(1e3*si(n,0)),lastModDate:new o(1e3*si(n,4))};12>e.data.length||(s.uid=ni(n,8),s.gid=ni(n,10)),r.assign(e,s),r.assign(t,s)}function Ws(e,t,n){try{const s=he(e.data);let i,a;if(n){let t=0;const n=ri(s,t++),o=ri(s,t++);i=Bs(e.data.subarray(t,t+o)),t+=o;const c=ri(s,t++);a=Bs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=ni(s,0),a=ni(s,2),r.assign(e,{uid:i,gid:a}));i!==se&&(t.uid=i),a!==se&&(t.gid=a)}catch{}}function Bs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Zs(e,t){return e.A?e.A(t):0}function Vs(e,t){return e===se?t?ps:"balanced":e}const Hs=64,js=0,qs=1,Ks=2;async function*Ys(e,t){const r=e.size-t,n=await lt(e,r,t),s=he(n);for(let e=n.length-Z;e>=0;e--)si(s,e)==P&&(yield[s,r,n,e,r+e])}function Gs(e,t,r){return{offset:r,buffer:e.slice(t,t+Z).buffer}}async function Xs(e,t,r,n,s,i,a){const o=ni(t,n+10),c=si(t,n+12),d=si(t,n+16);if(o==U||c==v||d==v)return await Js(e,t,r,s-V,i,a)==B?Ks:js;if(!o&&!c)return qs;const l=ni(t,n+6);for(const n of[s-c,Zs(e,l)+d])if(await Js(e,t,r,n,i,a)==L)return Ks;return js}async function Js(e,t,r,n,s,i){return 0>n||n+4>s?se:r>n?i.count>0?(i.count--,si(he(await lt(e,n,4)),0)):se:si(t,n-r)}function Qs(e){const t=new w(As);throw t.reason=e,t}function $s(e,t,r){return t[r]===se?e.options[r]:t[r]}function ei(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ti(e){return new o(s(e/i(1e4)-i(116444736e5)))}function ri(e,t){return e.getUint8(t)}function ni(e,t){return e.getUint16(t,!0)}function si(e,t){return e.getUint32(t,!0)}function ii(e,t){return s(e.getBigUint64(t,!0))}var ai=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:As,ERR_BAD_FORMAT:ms,ERR_CENTRAL_DIRECTORY_NOT_FOUND:xs,ERR_ENCRYPTED:zs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ks,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:gs,ERR_EOCDR_NOT_FOUND:ys,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:bs,ERR_INVALID_AUTHENTICATION_CODE:Ot,ERR_INVALID_COMPRESSED_DATA:Sr,ERR_INVALID_CRC32:br,ERR_INVALID_PASSWORD:Ut,ERR_INVALID_SIGNATURE:It,ERR_INVALID_UNCOMPRESSED_SIZE:xr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Ss,ERR_OVERLAPPING_ENTRY:Ds,ERR_SPLIT_ZIP_FILE:Es,ERR_UNSUPPORTED_COMPRESSION:Rs,ERR_UNSUPPORTED_ENCRYPTION:Fs,ERR_WORKER_STARTUP_TIMEOUT:Vr,ZipReader:Is});const oi="Zip file comment exceeds 64KB",ci="Version exceeds 65535",di="Extra field data exceeds 64KB",li=-2147483648,ui=2147483647,wi=i(0),fi=i("0x7fffffffffffffff"),pi="Zip64 is not supported (set the 'zip64' option to 'true')",hi=new f([7,0,2,0,65,69,3,0,0]),mi="infozip",yi="unix";let gi=0;const xi=[];class Si{constructor(e,t={}){e=new ct(e);const{availableSize:n=ie,maxSize:s=ie}=e,i=n>0&&n!==ie&&s>0&&s!==ie;r.assign(this,{writer:e,Be:i,options:t,config:ue(),files:new c,Ze:new d,offset:t[us]===se?e.size||e.writable.size||0:t[us],Ve:t[us]===se?0:t[us]-(e.size||e.writable.size||0),He:new d,je:0,qe:se})}async prependZip(e){if(this.Ze.size)throw new w("Zip file not empty");e=new ot(e),await dt(e);const{ZipReader:t}=await g.resolve().then(()=>ai),n=new t(e.readable),s=await n.getEntries();await n.close(),await dt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ze=new d(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ce,p=p||ce,h=h||ce,m=m||ce,y=y||ce,g=g||ce,e.extraFieldAES&&(w=99);const z=Wi(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Zi(x,S,b,c,w)|x<<1,{Qe:D,$e:A}=Bi({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,et:R,nt:F,extraFieldLength:z}),{crc32:k}=e;return k!==se&&Ni(A,10,k),r.assign(e,{nt:F,et:R,st:u&&e.offset>=v,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(i?4:0),Qe:D,$e:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{He:c,config:d}=s;let l,u;gi<d.maxWorkers?gi++:await new g(e=>xi.push(e));try{if(e=e.trim(),Oi(s,n,jn)&&!e.endsWith(ee)&&(e+=ee),s.Ze.has(e))throw new w("File already exists");return s.Ze.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Oi(e,r,Pn),s=Oi(e,r,Vn,n?20:768);const i=Oi(e,r,qn),a=Oi(e,r,"uid"),o=Oi(e,r,"gid");let c=Oi(e,r,Xn),d=Oi(e,r,"unixExtraFieldType"),l=Oi(e,r,Jn),u=Oi(e,r,Qn),f=Oi(e,r,$n);if(a!==se&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==se&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==se&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==se&&d!==mi&&d!==yi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===yi&&(a!==se&&a>U||o!==se&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==se||a===se&&o===se||(d=mi);let p=Oi(e,r,Nn),h=Oi(e,r,Ln);const m=p!==se||h!==se;if(a!==se||o!==se||c!==se||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==se&&(0>p||p>I))throw new w("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(s>U)throw new w(ci);let y=Oi(e,r,_n);const g=y!==se;g||(y=0),!r[jn]&&t.endsWith(ee)&&(r[jn]=!0);const x=Oi(e,r,jn);let S;if(x?(t.endsWith(ee)||(t+=ee),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==se||!!(l||u||f);S=y>>16&U,c=c===se?S:c&U,l?c|=Q:l=!!(c&Q),u?c|=$:u=!!(c&$),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=J),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==se)e&=I;else if(t!==se){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&I}return t===se&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&v|p&I),{name:t,ct:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=Oi(e,r,"encodeText",Dt);let s=n(t);if(s===se&&(s=Dt(t)),Wi(s)>U)throw new w("File entry name exceeds 64KB");const i=r[Fn]||"";let a=n(i);if(a===se&&(a=Dt(i)),Wi(a)>U)throw new w("File entry comment exceeds 64KB");const c=Oi(e,r,Zn,20);if(c>U)throw new w(ci);const d=Oi(e,r,Tn,new o),l=Oi(e,r,vn),u=Oi(e,r,In),f=Oi(e,r,Mn,0),p=Oi(e,r,ss);let h,m;p||(h=Oi(e,r,rs),m=Oi(e,r,ns));const y=Oi(e,r,"encryptionStrength",3),g=Oi(e,r,Hn),x=Oi(e,r,"extendedTimestamp",!0),S=Oi(e,r,"ntfsTimestamp"),b=Oi(e,r,"keepOrder",!0),z=Oi(e,r,os),F=Oi(e,r,ds),R=Oi(e,r,"bufferedWrite"),E=Oi(e,r,"createTempStream"),D=Oi(e,r,"dataDescriptorSignature",!0),A=Oi(e,r,is),k=Oi(e,r,"useUnicodeFileNames",!0),T=Oi(e,r,Kn),C=p||T===se?se:ft(T);if(!p&&T!==se&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let v=Oi(e,r,"level");if(e.options[ws]){if(h!==se||m!==se)throw new w("Encryption is not supported in USDZ files");v===se&&T===se&&(v=0)}let I=Oi(e,r,cs),O=Oi(e,r,"dataDescriptor");R&&O===se&&(O=!1),(O===se||g)&&(O=!0),v!==se&&6!=v&&(I=!1);const M=Oi(e,r,Wn);if(!g&&(h!==se||m!==se)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const _=bi(r[Gn]),N=bi(r.localExtraField);return{comment:i,ct:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:k,compressionMethod:T,format:C?C.format:se,codecURI:C?C.codecURI:se,lt:C?C.versionNeeded:se,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,ut:N}}})(e,t,s),{comment:l}=d,u=s[Gn];let p;e.files.set(t,se);try{const{ct:l}=d;0==l.level||l.compressionMethod!==se||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Te)return!0;if(Cr(t)||Tr(t,Fr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{ct:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[En],h===se)throw new w("Undefined uncompressed size")}const m=!0===l,y=Oi(e,n,Bn),g=!!t&&(!!(a&&Wi(a)||o&&Wi(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new ot(t),await dt(t),s?(n.uncompressedSize=h,p=Mi(h)+x):t.size===se?(d=!0,(l||l===se)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=Mi(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(pi);l=!0}return l=l||!1,{reader:t,ct:{dataDescriptor:d,zip64:l,nt:S,et:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=Di(e.writer),m=Ei(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,ut:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,nt:b,et:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===se?i===se||i>0:0!==D);let k;const T=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||T),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=Ri(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.wt(F),T)){const e=S?d?12:16+4*m:0;t.wt(x?0:F+e)}}else k=ce;let I,M,_,N,L;if(S&&!d){const e=Ri(Wi(hi)+2);e.uint16(j),e.bytes(hi),I=e.array,I[8]=m}else I=ce;if(y){const e=vi(r),t=Ui(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ri(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(Ii(vi(n))),s&&r.uint32(Ii(vi(s))),_=r.array}else _=ce;if(g===se?!t||n||s:g)try{const e=Ci(r),t=Ri(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?Ci(n):e),t.wt(s?Ci(s):e),M=t.array}catch{M=ce}else M=ce}else M=_=ce;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=mi||t===se&&r===se)if(n!=yi||t===se&&r===se)L=ce;else{const e=Ri(8);e.uint16(G),e.uint16(4),e.uint16((t===se?0:t)&U),e.uint16((r===se?0:r)&U),L=e.array}else{const e=Fi(t),n=Fi(r),s=3+e.length+n.length,i=Ri(4+s);i.uint16(Y),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),L=i.array}}catch{L=ce}D===se&&(D=A?8:0);const{lt:P}=e;A&&P!==se&&(E=E>P?E:P),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==se&&(I[4]=1),I[9]=D,D=99);const W=v?Wi(k):0,B=W+Wi(I,_,M,L,p,h);if(B>U)throw new w(di);const Z=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{Qe:V,$e:H,rawLastModDate:K}=Bi({version:E,bitFlag:Zi(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:ne>Z?ne:Z>re?re:Z,rawFilename:t,et:z,nt:b,extraFieldLength:B}),X=Ri(te+Wi(t)+B),J=X.array,Q=he(J);return X.uint32(O),X.bytes(V),X.bytes(t),v&&X.bytes(k),X.bytes(I),X.bytes(_),X.bytes(M),X.bytes(L),X.bytes(p),X.bytes(h),u&&(z||Ni(Q,18,0),b||Ni(Q,22,0)),{ht:J,yt:Q,Qe:V,$e:H,lastModDate:r,rawLastModDate:K,encrypted:S,compressed:A,version:E,compressionMethod:D,ot:N,Ke:ce,gt:W,Ge:_,Xe:M,Je:L,Ye:I,extraFieldLength:B}})(s=r.assign({},s,c.ct,d.ct,u.ct,{internalFileAttribute:d.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Yn],crc32:s.crc32===se?s[Yn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ce,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=he(s),r&&(i=4,Ni(n,0,_))),{xt:s,St:n,bt:i}})(s),S=Wi(y.ht,x.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{zt:p}=s,h=e.options[ws],m=e.qe;let y,x,S,b,z,F,E,A={},k=0;o.set(t,A),e.qe=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Ft||e.je||!l?(y=!0,e.je++,E=a.createTempStream?await a.createTempStream():new R(se,se,{highWaterMark:ie}),E.size=0,await dt(c)):(E=c,await T()),await dt(E);const U=Di(c);if(e.Be){delete e.Be;const t=new f(4);Ni(he(t),0,M),await Ti(c,t),e.offset+=4}h&&!y&&zi(s,e.offset-U);const{ht:O}=p;y||(await x,await C());const _=Ei(c),N=ki(e,c);if(A.diskNumberStart=_,y||(z=!0,F=c.size,await Ti(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{zt:d,Rt:l,Et:u}=a,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ke:b,gt:z,Ge:F,ot:R,Xe:E,Je:D,Ye:A}=d,{xt:k}=l,{rawFilename:T,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:_,zip64:N,nt:L,et:P,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,Ke:b,gt:z,Ge:F,Xe:E,Je:D,Ye:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;he||(be=0);const{writable:Fe}=t;if(e){const r=me(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Nr,level:_,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,he:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await fn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,he||(be=e.inputSize,y&&!W||(Se=e.crc32)),!P&&ze>=v||!L&&be>=v)throw new w(pi)}catch(e){throw e.outputSize!==se&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,zt:n,Rt:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{$e:l,encrypted:u}=n,{St:w,bt:f}=s;u&&!o&&!c||e===se||(Ni(l,10,e),d&&Ni(w,f,e)),a?d&&(Li(w,f+4,i(t)),Li(w,f+12,i(r))):(Ni(l,14,t),Ni(l,18,r),d&&(Ni(w,f+4,t),Ni(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,zt:d,Rt:l},c),B&&await Ti(t,k),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,Qe:f,$e:p,signature:Se,crc32:!y||W||he?Se:se,ot:R,nt:L,et:P}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await T(),b=!0,F=c.size,await C(),A.diskNumberStart=Ei(c),A.offset=ki(e,c),h){const t=s.Et;zi(s,e.offset-Di(c)),A.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,gt:n,crc32:s,compressedSize:a,uncompressedSize:o,nt:c,et:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==se)&&Ni(l,14,s),d||Ni(l,18,a),c||Ni(l,22,o)),r&&n){const t=te+Wi(e)+4;Li(l,t,i(o)),Li(l,t+8,i(a))}})(A,p.yt,a),await Ti(c,p.ht),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Wi(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=_,A.offset=N;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),r}finally{if(y&&e.je--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function T(){e.Ft=!0;const{Dt:t}=e;e.Dt=new g(t=>x=()=>{e.Ft=!1,t()}),await t}async function C(){Ai(c,Wi(p.ht))&&await c.closeDisk()}})(e,t,n,{zt:y,Rt:x,Et:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new ts(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ze.delete(e),t}finally{c.delete(l);const e=xi.shift();e?e():gi--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==se){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ce,r={}){const{He:n,writer:s}=this,{writable:a}=s;if(Wi(e)>U)throw new w(oi);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ye:n,rawComment:s,Xe:i,Je:a,rawExtraField:o,extendedTimestamp:c,ot:d,lastModDate:l,nt:u,et:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ri(e);t.uint16(1),t.uint16(e-4),u&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ce;r.Ke=g,r.st=m,r.it=y;const S=vi(l);if(c&&Ui(S)){const e=Ri(9);e.uint16(q),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ce;r.Ge=x;const b=Wi(g,n,i,a,x,o);if(b>U)throw new w(di);t+=46+Wi(e,s)+b}return t})(e.files),{At:a,kt:o}=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await dt(i);let o=0,c=0,d=Ei(i),l=Di(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ke:w,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:x,Qe:S,$e:b,nt:z,et:F,it:R,st:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:k,uncompressedSize:T,compressedSize:C}=r,I=Wi(w,f,p,h,m,y),O=46+Wi(u,g)+I;Ai(i,o+O-c)&&(await Ti(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=Ei(i),l=Di(i)),z||Ni(b,18,T),F||Ni(b,14,C),(E||R)&&45>r.version&&_i(b,0,45);const M=Ri(O);if(M.uint32(L),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(Wi(g)),M.uint16(R?U:k),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Pi(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new ts(r))}catch{}}return await Ti(i,c?a.slice(c):a),{At:{diskNumber:d,diskOffset:l},kt:a}})(e,s,n),c=await(async(e,t,r)=>{const n=Oi(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Wi(r);if(s>U)throw new w("Signature data exceeds 64KB");const i=Ri(6+s);return i.uint32(N),i.uint16(s),i.bytes(r),await Ti(e.writer,i.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{At:a,Tt:o}=n;let{Ct:c}=n,d=e.files.size,l=a.diskNumber,u=ki(e,a),f=Ei(s);Ai(s,Z)&&f++;let p=Oi(e,r,Wn);if(!(v>u&&v>c&&U>d&&U>f)){if(!1===p)throw new w(pi);p=!0}const h=Wi(t);if(h>U)throw new w(oi);const m=Ri(p?98:Z);Ai(s,Wi(m.array)+h)&&await s.closeDisk(),f=Ei(s),p&&(m.uint32(W),m.wt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(l),m.wt(d),m.wt(d),m.wt(c),m.wt(u),m.uint32(B),m.uint32(f),m.wt(i(ki(e,s))+i(c)+i(o)),m.uint32(f+1),Oi(e,r,"supportZip64SplitFile",!0)&&(f=U,l=U),d=U,u=v,c=v),m.uint32(P),m.uint16(f),m.uint16(l),m.uint16(d),m.uint16(d),m.uint32(c),m.uint32(u),m.uint16(h),await Ti(s,m.array),h&&await Ti(s,t)})(e,r,n,{At:a,Ct:s,Tt:c})})(this,e,r),Oi(this,r,ls)||await a.getWriter().close(),s.getData?s.getData():a}}function bi(e){if(!e)return ce;let t=0,r=0;e.forEach(e=>t+=4+Wi(e));const n=new f(t),s=he(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(Wi(e)>U)throw new w(di);_i(s,r,t),_i(s,r+2,Wi(e)),Pi(n,e,r+4),r+=4+Wi(e)}),n}function zi(e,t){const{zt:r}=e;let{ht:n,extraFieldLength:s}=r,i=64-(t+Wi(n))%64;4>i&&(i+=64);const a=new f(i),o=he(a);_i(o,0,K),_i(o,2,i-4);const c=n;r.ht=n=new f(Wi(c)+i),Pi(n,c),Pi(n,a,Wi(c));const d=he(n);_i(d,28,s+i),r.yt=d,e.Et+=i}function Fi(e){if(e===se)return ce;{const t=new f(4);he(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ri(e){const t=new f(e),r=he(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{_i(r,n,e),n+=2},uint32:e=>{Ni(r,n,e),n+=4},wt:e=>{Li(r,n,i(e)),n+=8},bytes:e=>{Pi(t,e,n),n+=Wi(e)},ft:e=>n+=e}}function Ei(e){const{diskNumber:t=0}=e;return t}function Di(e){const{diskOffset:t=0}=e;return t}function Ai(e,t){const{availableSize:r=ie}=e;return t>r}function ki(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function Ti(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Wi(t),await n.write(t)}finally{n.releaseLock()}}function Ci(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return wi>t?wi:t>fi?fi:t}}function vi(e){return a.floor(e.getTime()/1e3)}function Ui(e){return e>=li&&ui>=e}function Ii(e){return a.min(ui,a.max(li,e))}function Oi(e,t,r,n){const s=t[r]===se?e.options[r]:t[r];return s===se?n:s}function Mi(e){return e+5*(a.floor(e/16383)+1)}function _i(e,t,r){e.setUint16(t,r,!0)}function Ni(e,t,r){e.setUint32(t,r,!0)}function Li(e,t,r){e.setBigUint64(t,r,!0)}function Pi(e,t,r){e.set(t,r)}function Wi(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Bi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,et:c,nt:d,extraFieldLength:l}){const u=Ri(26),w=u.array,f=he(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===se){const e=new h(1),t=he(e);_i(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),_i(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ft(4),c||s!==se?u.uint32(c?v:s):u.ft(4),d||n!==se?u.uint32(d?v:n):u.ft(4),u.uint16(Wi(o)),u.uint16(l),{Qe:w,$e:f,rawLastModDate:a}}function Zi(e,t,r,n,s){let i=0;return t&&(i|=X),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Vi="Entry filename already exists",Hi="Readable stream already consumed",ji=new d([1,j,10,q,28789,25461,K,Y,G,22613,13]);class qi{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Vi);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.vt++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Vi);this.name=e}}class Ki extends qi{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Ki(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=$i(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([dt(n),dt(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await i.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==Ut)return!1;throw e}}getText(e,t){return this.getData(new Le(e),t)}getBlob(e,t){return this.getData(new _e(e),t)}getData64URI(e,t){return this.getData(new Ue(e),t)}getUint8Array(e){return this.getData(new st,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return pe(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:Me,Writer:_e,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Ne,Writer:Le,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:ve,Writer:Ue,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:nt,Writer:st,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:Ji(e),Writer:null,reader:null})}}class Yi extends qi{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Yi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return ia(this,e,{options:t},!0)}addText(e,t,r={}){return ia(this,e,{data:t,Reader:Ne,Writer:Le,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return ia(this,e,{data:t,Reader:Me,Writer:_e,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return ia(this,e,{data:t,Reader:ve,Writer:Ue,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return ia(this,e,{data:t,Reader:nt,Writer:st,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return ia(this,e,{data:t,Reader:class extends rt{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return ia(this,e,{Reader:Ji(t),options:r})}addFileSystemEntry(e,t={}){return ra(this,e,t)}addFileSystemHandle(e,t={}){return ra(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),ia(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Ut(e,t){return ia(this,e,t)}importBlob(e,t){return this.importZip(new Me(e),t)}importData64URI(e,t){return this.importZip(new ve(e),t)}importUint8Array(e,t){return this.importZip(new nt(e),t)}importHttpContent(e,t){return this.importZip(new rt(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new _e(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ue(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new st,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=Xi([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await dt(e);const n=new Is(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Vi)}else n=new Yi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Vi)}else t=new Yi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(ia(n,a,{data:e,Reader:Qi(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===se&&(n.bufferedWrite=!0);const[i]=await g.all([ea(s,n.readerOptions),dt(e)]),a=new Si(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof ts){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{ji.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===se&&S===se||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,Xi([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Gi={FS:class{constructor(){sa(this)}get children(){return this.root.children}remove(e){ta(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=se}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Vi)}else ta(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Ut(e,t){return this.root.Ut(e,t)}importBlob(e,t){return sa(this),this.root.importBlob(e,t)}importData64URI(e,t){return sa(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return sa(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return sa(this),this.root.importHttpContent(e,t)}importReadable(e,t){return sa(this),this.root.importReadable(e,t)}importZip(e,t){return sa(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Yi,ZipFileEntry:Ki};function Xi(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function Ji(e){let t;return()=>{if(t)throw new w(Hi);return t=!0,{readable:e}}}function Qi(e){return class extends Te{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new _e,r.assign({},e,t.options));t.data=n,t.It=new Me(n),super.init()}readUint8Array(e,t){return this.It.readUint8Array(e,t)}}}function $i(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function ea(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=$i(e.Reader,e.data,t);s.set(e,r);try{await dt(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==se&&(e.uncompressedSize=r.size)})),s}function ta(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function ra(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await na(s)),"file"==s.kind){const e=await s.getFile();i.push(t.Ut(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function na(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await na(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function sa(e){e.entries=[],e.vt=0,e.root=new Yi(e)}function ia(e,t,r,n){if(e.directory)return n?new Yi(e.fs,t,r,e):new Ki(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.ERR_ENTRY_EXISTS=Vi,e.ERR_READABLE_CONSUMED=Hi,e.fs=Gi});
|