@arcgis/core 5.2.0-next.109 → 5.2.0-next.110
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/analysis/featureReferenceUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{7eb929beb691694da2db.js → abcda435bc83ef4240f9.js} +1 -1
- package/assets/esri/core/workers/chunks/{62c03ffda779df11892b.js → c2684fcde2923c9830e0.js} +1 -1
- package/assets/esri/core/workers/chunks/fc622f9e33e3b48113c8.js +1 -0
- package/assets/esri/views/3d/environment/resources/milkyway-band.ktx2 +0 -0
- package/chunks/DeepSky.glsl.js +14 -41
- package/package.json +3 -3
- package/support/revision.js +1 -1
- package/symbols/Symbol3DLayer.d.ts +2 -2
- package/views/2d/input/MapViewInputManager.js +1 -1
- package/views/2d/input/handlers/KeyPan.js +1 -1
- package/views/2d/navigation/MapViewNavigation.js +1 -1
- package/views/3d/camera/constraintUtils/altitude.js +1 -1
- package/views/3d/camera/constraintUtils/distance.js +1 -1
- package/views/3d/camera/constraintUtils.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
- package/views/3d/input/handlers/ground/GroundNavigation.js +2 -0
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/state/controllers/FovController.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
- package/views/3d/state/controllers/GroundNavigationController.js +2 -0
- package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
- package/views/3d/state/controllers/momentum/{RopePullMomentumController.js → GroundNavigationMomentumController.js} +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +2 -0
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/popupHitTest.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +2 -20
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +13 -26
- package/views/3d/webgl-engine/effects/stars/DeepSky.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/stars/DeepSkyTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
- package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/affectsGeometry.js +2 -0
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +10 -8
- package/views/MapView.d.ts +1 -0
- package/views/SceneView.d.ts +1 -0
- package/views/SceneView.js +1 -1
- package/views/navigation/{RopePullMomentumEstimator.js → GroundNavigationMomentumEstimator.js} +1 -1
- package/assets/esri/core/workers/chunks/208caecab10a48506723.js +0 -1
- package/views/3d/input/handlers/RopePullNavigation.js +0 -2
- package/views/3d/state/controllers/RopePullController.js +0 -2
- package/views/3d/state/utils/ropePullUtils.js +0 -2
- package/views/3d/webgl-engine/lib/VertexAttribute.js +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9053],{59053(t,e,n){n.d(e,{nZ:()=>U.nZ,D7:()=>U.D7,zg:()=>k.ZipReader});var r=n(59459);const s=new Uint8Array(288);s.fill(8,0,144),s.fill(9,144,256),s.fill(7,256,280),s.fill(8,280,288),new Uint8Array(30).fill(5);const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var a=n(36924),i=n(73523),c=n(46284),u=n(86814),l=n(97294);const f={type:"module"},d="error";let h,w,p,m=!0;try{m=typeof structuredClone==a.On&&void 0!==structuredClone(new DOMException("","AbortError")).code}catch{}function g(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function y(t){const{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function b(t,e,n,r,s=!0){const{createWorker:o}=n;let i,l,m;if(o)i=o();else if(void 0===w||h!==t){const o=typeof t==a.On;l=o?t(s):t;const c=l.startsWith("data:"),u=l.startsWith("blob:");if(c||u){void 0===r&&(r=!1),r&&(m=f);try{i=new Worker(l,m)}catch(s){if(u)try{URL.revokeObjectURL(l)}catch{}if(o&&u)return b(t,e,n,r,!1);if(r)throw s;return b(t,e,n,!0,!1)}}else{void 0===r&&(r=!0),r&&(m=f);try{l=new URL(l,e)}catch{}try{i=new Worker(l,m)}catch(o){if(r)return b(t,e,n,!1,s);throw o}}h=t,w=l,p=m}else i=new Worker(w,p);return i.addEventListener(u.AJ,t=>{n.workerAlive=!0,S(n),async function({data:t},e){const{type:n,value:r,messageId:s,result:o,error:a,errorValue:i}=t,{reader:u,writer:l,resolveResult:f,rejectResult:d,onTaskFinished:h,generation:w}=e,p=()=>e.generation!=w;try{if(a)m(function(t,e){const{message:n,stack:r,code:s,name:o,outputSize:a,cause:i,codecImportFailed:u}=t;let l;if(e?l=e.value:(l=Object.assign(new Error(n),{stack:r,code:s,name:o}),i&&(l.cause=Object.assign(new Error(i.message),{name:i.name}))),(0,c.K)(l))try{void 0!==a&&(l.outputSize=a),u&&(l.codecImportFailed=!0),e&&(l.name!==o&&(l.name=o),l.code!==s&&(l.code=s))}catch{}return l}(a,i));else{if("pull"==n){const{value:t,done:n}=await u.read();p()||z({type:"data",value:t,done:n,messageId:s},e)}if("data"==n){const t=new Uint8Array(r);await l.ready,await l.write(t),p()||z({type:"ack",messageId:s},e)}"close"==n&&function(t){p()||(f(t),g(),h())}(o)}}catch(a){p()||(y(e),m(a))}function m(t){p()||(d(t),g(),(0,c.K)(t)&&t.codecImportFailed||h())}function g(){l&&l.releaseLock()}}(t,n)}),i.addEventListener(d,t=>v(t,n)),i.addEventListener("messageerror",t=>v(t,n)),i}function S(t){const{startupTimeout:e}=t;e&&(clearTimeout(e),t.startupTimeout=null)}function v(t,e){t.preventDefault&&t.preventDefault(),S(e);const{workerAlive:n,rejectResult:r,writer:s,onTaskFinished:o}=e;y(e),n||(e.worker=null);let a=t.error||new Error(t.message||d);n||(a=Object.assign(new Error(a.message||d),{workerStartupFailed:!0}),e.startupError=a),r&&(r(a),s&&s.releaseLock(),n&&o())}function z(t,{worker:e,writer:n,transferStreams:r,workerAlive:s}){try{const{value:n,readable:o,writable:a}=t,c=[];if(n&&(t.value=(0,i.ok)(n),c.push(t.value.buffer)),r&&m&&s?(o&&c.push(o),a&&c.push(a)):t.readable=t.writable=null,c.length)try{return e.postMessage(t,c),!0}catch{m=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw n&&n.releaseLock(),t}}(0,l.pR)(function(t,e){const{baseURI:n,chunkSize:r,workerStartupTimeout:s}=e;let{wasmURI:o}=e;if(!t.interface){let i;typeof o==a.On&&(o=o());try{i=b(t.workerURI,n,t)}catch{return(0,l.BS)(t),(0,l.C9)(t,e)}Object.assign(t,{worker:i,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await async function(t,e){if(!t.worker){const{startupError:e}=t;t.startupError=null;const n=e||new Error(l.hU);throw n.workerStartupFailed=!0,n}let n,r;const s=new Promise((e,s)=>{n=e,r=e=>{const{outputSize:n,workerOptions:r}=t;if(r.outputSize=n,(0,c.K)(e))try{e.outputSize=n}catch{}s(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,destinationFailed:!1,destinationError:null,resolveResult:n,rejectResult:r,result:s});const{readable:o,options:a}=t,{writable:i,closed:u,abortPipe:f}=function(t,e){const n=new AbortController;let r;const{writable:s,readable:o}=new TransformStream({transform(t,n){e.outputSize+=t.length,n.enqueue(t)}}),a=o.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:n.signal});return a.catch(t=>{r||Object.assign(e,{destinationFailed:!0,destinationError:t})}),{writable:s,closed:a,abortPipe:()=>{r=!0,n.abort()}}}(t.writable,t);let d;try{d=z({type:"start",options:a,config:e,readable:o,writable:i},t)}catch(e){f();try{await u}catch{}throw t.onTaskFinished(),e}d||Object.assign(t,{reader:o.getReader(),writer:i.getWriter()});const{workerStartupTimeout:h}=e;!t.workerAlive&&Number.isFinite(h)&&h>=0&&(t.startupTimeout=setTimeout(()=>function(t){if(t.startupTimeout=null,t.workerAlive)return;const{rejectResult:e,writer:n}=t;if(y(t),t.worker=null,e){const t=new Error(l.hU);t.workerStartupFailed=!0,e(t),n&&n.releaseLock()}}(t),h));try{const t=await s;return await w(),await u,t}catch(e){await w(),f();try{await u}catch{}const{outputSize:n,workerOptions:r,destinationFailed:s,destinationError:o}=t;r.outputSize=n;const a=(0,c.K)(e)&&(e.codecImportFailed||e.workerStartupFailed),i=s&&!a?o:e;if((0,c.K)(i))try{i.outputSize=n}catch{}throw i}async function w(){if(!d&&!i.locked)try{await i.getWriter().close()}catch{}}}(t,{chunkSize:r,wasmURI:o,baseURI:n,workerStartupTimeout:s})}catch(n){if(n&&n.workerStartupFailed)return(0,l.BS)(t),g(t),(0,l.WY)(t,e);if(n&&n.codecImportFailed){if(t.reader)return g(t),(0,l.WY)(t,e);t.onTaskFinished()}throw n}}}})}return t.interface});var k=n(13304),U=(n(45143),n(72758),n(31969));n(46644),n(60017),n(68334),n(45027),n(92679),BigInt(0),BigInt("0x7fffffffffffffff"),new Uint8Array([7,0,2,0,65,69,3,0,0]),a.kZ,n(45527);try{(0,r.ap)({baseURI:"file:///data/arcgis-web-compoments/actions-runner-1/_work/webgis-sdk/webgis-sdk/node_modules/.pnpm/@zip.js+zip.js@2.14.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js"})}catch{}const x=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],A=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],C=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],O=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],T=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],F=new Uint8Array(288);F.fill(8,0,144),F.fill(9,144,256),F.fill(7,256,280),F.fill(8,280,288);const R=new Uint8Array(30).fill(5);function M(t){const e=new Uint16Array(16);for(const n of t)e[n]++;e[0]=0;const n=new Uint16Array(17);for(let t=1;t<=15;t++)n[t+1]=n[t]+e[t];const r=new Uint16Array(t.length);for(let e=0;e<t.length;e++)t[e]&&(r[n[t[e]]++]=e);return{l:e,symbols:r}}const E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var D=n(40697);const I="deflate",V="deflate-raw",q="deflate64-raw",B="gzip";let j,P,W,L,Z;function N(t,e,n={}){if(!j){const t=new Error("WASM module not loaded");throw t.cause=Z,t}const r="number"==typeof n.level?n.level:-1,s="number"==typeof n.outBuffer?n.outBuffer:65536,o="number"==typeof n.inBufferSize?n.inBufferSize:65536;return new TransformStream({start(){try{let n;if(this.out=P(s),this.in=P(o),this.inBufferSize=o,!this.out||!this.in)throw new Error("allocation failed");if(this._scratch=new Uint8Array(s),t?(this._process=j.deflate_process,this._last_consumed=j.deflate_last_consumed,this._end=j.deflate_end,this.streamHandle=j.deflate_new(),n=e===B?j.deflate_init_gzip(this.streamHandle,r):e===V?j.deflate_init_raw(this.streamHandle,r):j.deflate_init(this.streamHandle,r)):e===q?(this._process=j.inflate9_process,this._last_consumed=j.inflate9_last_consumed,this._end=j.inflate9_end,this.streamHandle=j.inflate9_new(),n=j.inflate9_init_raw(this.streamHandle)):(this._process=j.inflate_process,this._last_consumed=j.inflate_last_consumed,this._end=j.inflate_end,this.streamHandle=j.inflate_new(),n=e===V?j.inflate_init_raw(this.streamHandle):e===B?j.inflate_init_gzip(this.streamHandle):j.inflate_init(this.streamHandle)),0!==n)throw new Error("init failed:"+n)}catch(t){throw a(this),t}},transform(t,e){try{const n=t,r=new Uint8Array(L.buffer),o=this._process,a=this._last_consumed,i=this.out,c=this._scratch;let u=0;for(;u<n.length;){const t=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&W&&(W(this.in),this.in=0),this.in=P(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");r.set(n.subarray(u,u+t),this.in);const l=o(this.streamHandle,this.in,t,i,s,0),f=l>>24&255,d=128&f?f-256:f;if(d<0)throw new Error("process error:"+d);const h=16777215&l;h&&(c.set(r.subarray(i,i+h),0),e.enqueue(c.slice(0,h)));const w=a(this.streamHandle);if(0===w&&0===h)break;u+=w}}catch(t){a(this),e.error(t)}},flush(t){try{const e=new Uint8Array(L.buffer),n=this._process,r=this.out,o=this._scratch;for(;;){const a=n(this.streamHandle,0,0,r,s,4),i=a>>24&255,c=128&i?i-256:i;if(c<0)throw new Error("process error:"+c);const u=16777215&a;if(u&&(o.set(e.subarray(r,r+u),0),t.enqueue(o.slice(0,u))),1===i||0===u)break}}catch(e){t.error(e)}finally{const e=a(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){a(this)}});function a(t){let e=0;return t.streamHandle&&t._end&&(e=t._end(t.streamHandle)),t.streamHandle=0,t.in&&W&&W(t.in),t.in=0,t.out&&W&&W(t.out),t.out=0,e}}class H{constructor(t=I,e){return N(!0,t,e)}}class K{constructor(t=I,e){return N(!1,t,e)}}H.requiresModule=!0,K.requiresModule=!0,H.supportedFormats=[I,V,B],K.supportedFormats=[I,V,B,q];var X=n(17414);const G=65536;let Y,J;function Q(t){return new Uint8Array(t.memory.buffer)}let _,$=!1;(0,D.w1)(function(t,e){const n=Y;let r=n?function(t,e,n){J||(J=t.malloc(G));const r=J?t.aes_hmac_new():0;if(r){const s=Q(t);if(s.set(e,J),s.set(n,J+e.length),t.aes_hmac_init(r,J,e.length,J+e.length,n.length))return t.aes_hmac_end(r,0),0}return r}(n,t,e):0;if(!r)return(0,X.P)(t,e);const s=J;return{process(t,e){for(let o=0;o<t.length;o+=G){const a=t.subarray(o,o+G),i=Q(n);i.set(a,s),n.aes_hmac_process(r,s,a.length,e?1:0),a.set(i.subarray(s,s+a.length))}},digest:()=>(n.aes_hmac_end(r,s),r=0,Q(n).slice(s,s+20)),dispose(){r&&(n.aes_hmac_end(r,0),r=0)}}}),(0,l.zx)({initModule:t=>{if(!_){let{wasmURI:e}=t;typeof e==a.On&&(e=e()),_=async function(t,{baseURI:e}){if(!$)try{await async function(t,e){let n,r;try{try{r=new URL(t,e)}catch{}const s=await fetch(r);n=await s.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;n=function(t){const e=t.split(",")[1],n=atob(e),r=n.length,s=new Uint8Array(r);for(let t=0;t<r;++t)s[t]=n.charCodeAt(t);return s.buffer}(t)}const s=await WebAssembly.instantiate(n);var o;(function(t){if(j=t,({malloc:P,free:W,memory:L}=j),"function"!=typeof P||"function"!=typeof W||!L)throw j=P=W=L=null,new Error("Invalid WASM module")})(s.instance.exports),typeof(o=s.instance.exports).aes_hmac_new==a.On&&(Y=o,J=0)}(t,e),$=!0}catch(t){throw function(t){Z=t}(t),t}}(e,t).catch(t=>{throw _=null,t})}return _}}),(0,r.ap)({CompressionStreamFallback:H,DecompressionStreamFallback:K}),function(t){let e;t({wasmURI:()=>(e||(e="data:application/wasm;base64,"+function(t){let e="";const n=t.length;let r=0;for(;r+2<n;r+=3){const n=t[r]<<16|t[r+1]<<8|t[r+2];e+=E[n>>18&63]+E[n>>12&63]+E[n>>6&63]+E[63&n]}const s=n-r;if(1===s){const n=t[r]<<16;e+=E[n>>18&63]+E[n>>12&63]+"=="}else if(2===s){const n=t[r]<<16|t[r+1]<<8;e+=E[n>>18&63]+E[n>>12&63]+E[n>>6&63]+"="}return e}(function(t){let e=0,n=0,r=0,s=new Uint8Array(1024),o=0,a=0;for(;!a;){a=c(1);const t=c(2);if(0==t)u();else if(1==t)l(M(F),M(R));else{if(2!=t)throw new Error("invalid deflate block type");l(...f())}}return s.subarray(0,o);function i(){if(e>=t.length)throw new Error("unexpected end of deflate data");return t[e++]}function c(t){for(;r<t;)n|=i()<<r,r+=8;const e=n&(1<<t)-1;return n>>>=t,r-=t,e}function u(){n=0,r=0;const t=i()|i()<<8;e+=2,h(o+t);for(let e=0;e<t;e++)s[o++]=i()}function l(t,e){let n=d(t);for(;256!=n;){if(n<256)h(o+1),s[o++]=n;else{const t=n-257,r=x[t]+c(A[t]),a=d(e),i=C[a]+c(O[a]);h(o+r);const u=o-i;for(let t=0;t<r;t++)s[o++]=s[u+t]}n=d(t)}}function f(){const t=c(5)+257,e=c(5)+1,n=c(4)+4,r=new Uint8Array(19);for(let t=0;t<n;t++)r[T[t]]=c(3);const s=M(r),o=new Uint8Array(t+e);let a=0;for(;a<o.length;){const t=d(s);if(t<16)o[a++]=t;else if(16==t){const t=o[a-1];let e=c(2)+3;for(;e--;)o[a++]=t}else a+=17==t?c(3)+3:c(7)+11}return[M(o.subarray(0,t)),M(o.subarray(t))]}function d(t){const{l:e,symbols:n}=t;let r=0,s=0,o=0;for(let t=1;t<=15;t++){r|=c(1);const a=e[t];if(r-s<a)return n[o+(r-s)];o+=a,s=s+a<<1,r<<=1}throw new Error("invalid huffman code")}function h(t){if(s.length<t){let e=2*s.length;for(;e<t;)e*=2;const n=new Uint8Array(e);n.set(s.subarray(0,o)),s=n}}}(function(t){const e=(t=String(t).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<e;r+=4){const e=E.indexOf(t[r])<<18|E.indexOf(t[r+1])<<12|(63&E.indexOf(t[r+2]))<<6|63&E.indexOf(t[r+3]);n.push(e>>16&255),"="!==t[r+2]&&n.push(e>>8&255),"="!==t[r+3]&&n.push(255&e)}return new Uint8Array(n)}("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")))),e)})}(r.ap);new Set(["throw","keep-first","keep-last"]),(t=>{t({workerURI:t=>{const e="text/javascript";let n='!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:s,Uint8Array:r,Uint16Array:c,Uint32Array:i,Int32Array:a,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:h,postMessage:p,TransformStream:d,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",z="function",k=new r,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,A,x,M,P,D,F,E]=C;class R{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const s=new u(t.buffer,t.byteOffset,e),r=e-8;for(;o<=r;o+=8){const t=n^s.getInt32(o,!0),e=s.getInt32(o+4,!0);n=E[255&t]^F[t>>>8&255]^D[t>>>16&255]^P[t>>>24&255]^M[255&e]^x[e>>>8&255]^A[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends d{constructor(){let t;const n=new R;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new r(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new r(t.length+n.length);return e.set(t),e.set(n,t.length),e}function T(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const V=64,W=20,j=new r([128]),K=new r(1),O=new a([1732584193,4023233417,2562383102,271733878,3285377520]),H=new r(256),L=new a(256),N=new a(256),q=new a(256),G=new a(256);let J=!1;function Q(t,n){!function(){if(!J){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),H[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);H[0]=99;for(let t=0;t<256;t++){const n=H[t],e=Z(n),o=e<<24|n<<16|n<<8|e^n;L[t]=o,N[t]=o>>>8|o<<24,q[t]=o>>>16|o<<16,G[t]=o>>>24|o<<8}J=!0}}();const e=new a(60),o=function(t,n){const e=t.length>>2,o=e+6,s=4*(o+1);let r=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<s;t++){let o=n[t-1];t%e==0?(o=Y(o<<8|o>>>24)^r<<24,r=Z(r)):e>6&&t%e==4&&(o=Y(o)),n[t]=n[t-e]^o}return o}(t,e),s=new r(16),c=new a(4),i=X(n);return{process(t,n){n&&i.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)f(),n.setInt32(o,n.getInt32(o)^c[0]),n.setInt32(o+4,n.getInt32(o+4)^c[1]),n.setInt32(o+8,n.getInt32(o+8)^c[2]),n.setInt32(o+12,n.getInt32(o+12)^c[3]);if(o<e){f();for(let n=0;o<e;o++,n++)t[o]^=c[n>>2]>>>24-8*(3&n)}}(t),n||i.update(t,0,t.length)},digest:()=>i.digest()};function f(){for(let t=0;t<16&&(s[t]++,0===s[t]);t++);let t=(s[0]<<24|s[1]<<16|s[2]<<8|s[3])^e[0],n=(s[4]<<24|s[5]<<16|s[6]<<8|s[7])^e[1],r=(s[8]<<24|s[9]<<16|s[10]<<8|s[11])^e[2],i=(s[12]<<24|s[13]<<16|s[14]<<8|s[15])^e[3],a=4;for(let s=1;s<o;s++,a+=4){const o=L[t>>>24]^N[n>>>16&255]^q[r>>>8&255]^G[255&i]^e[a],s=L[n>>>24]^N[r>>>16&255]^q[i>>>8&255]^G[255&t]^e[a+1],c=L[r>>>24]^N[i>>>16&255]^q[t>>>8&255]^G[255&n]^e[a+2],f=L[i>>>24]^N[t>>>16&255]^q[n>>>8&255]^G[255&r]^e[a+3];t=o,n=s,r=c,i=f}c[0]=(H[t>>>24]<<24|H[n>>>16&255]<<16|H[r>>>8&255]<<8|H[255&i])^e[a],c[1]=(H[n>>>24]<<24|H[r>>>16&255]<<16|H[i>>>8&255]<<8|H[255&t])^e[a+1],c[2]=(H[r>>>24]<<24|H[i>>>16&255]<<16|H[t>>>8&255]<<8|H[255&n])^e[a+2],c[3]=(H[i>>>24]<<24|H[t>>>16&255]<<16|H[n>>>8&255]<<8|H[255&r])^e[a+3]}}function X(t){const n=function(){const t=new a(O),n=new a(80),e=new r(V),s=new u(e.buffer),c=new r(8);let i=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),s=n>>>0;for(w(j,0,1);56!=i;)w(K,0,1);c[0]=e>>>24,c[1]=e>>>16,c[2]=e>>>8,c[3]=e,c[4]=s>>>24,c[5]=s>>>16,c[6]=s>>>8,c[7]=s,w(c,0,8);const a=new r(W),l=new u(a.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(O),i=0,f=0,a}};function w(t,n,o){const r=n+o;if(f+=o,i){for(;n<r&&i<V;)e[i++]=t[n++];i==V&&(l(s,0),i=0)}if(n+V<=r){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+V<=r;n+=V)l(e,n)}for(;n<r;)e[i++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);for(let t=16;t<80;t++){const e=n[t-3]^n[t-8]^n[t-14]^n[t-16];n[t]=e<<1|e>>>31}let s,r=t[0],c=t[1],i=t[2],a=t[3],f=t[4];for(let t=0;t<20;t++)s=(r<<5|r>>>27)+(c&i|~c&a)+f+1518500249+n[t]|0,f=a,a=i,i=c<<30|c>>>2,c=r,r=s;for(let t=20;t<40;t++)s=(r<<5|r>>>27)+(c^i^a)+f+1859775393+n[t]|0,f=a,a=i,i=c<<30|c>>>2,c=r,r=s;for(let t=40;t<60;t++)s=(r<<5|r>>>27)+(c&i|c&a|i&a)+f+2400959708+n[t]|0,f=a,a=i,i=c<<30|c>>>2,c=r,r=s;for(let t=60;t<80;t++)s=(r<<5|r>>>27)+(c^i^a)+f+3395469782+n[t]|0,f=a,a=i,i=c<<30|c>>>2,c=r,r=s;t[0]=t[0]+r|0,t[1]=t[1]+c|0,t[2]=t[2]+i|0,t[3]=t[3]+a|0,t[4]=t[4]+f|0}}(),e=new r(V),s=new r(V);t.length>V&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<V;n++){const o=n<t.length?t[n]:0;e[n]=54^o,s[n]=92^o}return n.update(e,0,V),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(s,0,V),n.update(t,0,W);const o=n.digest();return n.update(e,0,V),o}}}function Y(t){return H[t>>>24]<<24|H[t>>>16&255]<<16|H[t>>>8&255]<<8|H[255&t]}function Z(t){return 255&(t<<1^27*(t>>7))}const $=typeof h!=b&&typeof h.getRandomValues==z,_="Invalid password",tt="zipjs-abort-check-password";function nt(t){if($)return h.getRandomValues(t);throw new s("Crypto API not supported")}const et={name:"PBKDF2"},ot=n.assign({hash:{name:"HMAC"}},et),st=n.assign({iterations:1e3,hash:{name:"SHA-1"}},et),rt=["deriveBits"],ct=[8,12,16],it=[16,24,32],at=10,ft=typeof h!=b,ut=ft&&h.subtle;let wt=ft&&typeof ut!=b&&typeof ut.importKey==z&&typeof ut.deriveBits==z,lt=Q;class ht extends d{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:c=!0}){super({start(){dt(this,t,n,e)},async transform(t,n){const e=this,{password:c,strength:i,l:a,ready:f}=e;c?(await async function(t,n,e,o){const r=await St(t,n,e,vt(o,0,ct[n])),c=vt(o,ct[n]);if(r[0]!=c[0]||r[1]!=c[1])throw mt(t),new s(_)}(e,i,c,vt(t,0,ct[i]+2)),t=vt(t,ct[i]+2),o?(mt(e),n.error(new s(tt))):a()):await f;const u=new r(t.length-at-(t.length-at)%16);n.enqueue(yt(e,t,u,0,at,!0))},async flush(t){const{h:n,m:e,ready:o}=this;if(n){await o;const i=vt(e,e.length-at),a=new r(vt(e,0,e.length-at));n.process(a,!0);const f=n.digest();let u=e.length<at?1:0;for(let t=0;t<at;t++)u|=f[t]^i[t];if(u&&c)throw new s("Invalid authentication code");t.enqueue(a)}},cancel(){mt(this)}})}}class pt extends d{constructor({password:t,rawPassword:n,encryptionStrength:e}){super({start(){dt(this,t,n,e)},async transform(t,n){const e=this,{password:o,strength:s,l:c,ready:i}=e;let a=k;o?(a=await async function(t,n,e){const o=nt(new r(ct[n]));return B(o,await St(t,n,e,o))}(e,s,o),c()):await i;const f=new r(a.length+t.length-t.length%16);f.set(a,0),n.enqueue(yt(e,t,f,a.length,0,!1))},async flush(t){const{h:n,m:e,ready:o}=this;if(n){await o;const s=new r(e);n.process(s,!1);const c=vt(n.digest(),0,at);t.enqueue(B(s,c))}},cancel(){mt(this)}})}}function dt(t,e,o,s){n.assign(t,{ready:new w(n=>t.l=n),password:gt(e,o),strength:s-1,m:k})}function yt(t,n,e,o,s,c){const{h:i,m:a}=t;a.length&&(n=B(a,n));const f=n.length-s,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new r(n)).set(e,0)}return t}(e,o+u),u){const t=vt(e,o,o+u);t.set(vt(n,0,u)),i.process(t,c)}return t.m=vt(n,u),e}function mt({h:t}){t&&t.dispose&&t.dispose()}async function St(t,e,s,c){t.password=null;const i=it[e],a=await async function(t,e,s){if(wt)try{const o=await ut.importKey("raw",t,ot,!1,rt);return new r(await ut.deriveBits(n.assign({salt:e},st),o,8*s))}catch{wt=!1}return function(t,n,e,s){const c=X(t),i=new r(s),a=new r(n.length+4),f=new u(a.buffer);a.set(n);for(let t=1,e=0;e<s;t++,e+=W){f.setUint32(n.length,t),c.update(a,0,a.length);let r=c.digest();const u=r.slice();for(let t=1;t<1e3;t++){c.update(r,0,W),r=c.digest();for(let t=0;t<W;t++)u[t]^=r[t]}i.set(u.subarray(0,o.min(W,s-e)),e)}return i}(t,e,0,s)}(s,c,2*i+2);return t.h=lt(vt(a,0,i),vt(a,i,2*i)),vt(a,2*i)}function gt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new r(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function vt(t,n,e){return t.subarray(n,e)}class bt extends d{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){kt(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Ct(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new s(_);t=t.subarray(12)}o?n.error(new s(tt)):n.enqueue(Ct(e,t))}})}}class zt extends d{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){kt(this,t,n,e)},transform(t,n){const e=this;let o,s;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=nt(new r(12));n[11]=e.passwordVerification,o=new r(t.length+n.length),o.set(It(e,n),0),s=12}else o=new r(t.length),s=0;o.set(It(e,t),s),n.enqueue(o)}})}}function kt(t,e,o,s){n.assign(t,{password:e,rawPassword:o,passwordVerification:s}),function(t,e,o){const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,S:new R(s[0]),v:new R(s[2])}),o)for(let n=0;n<o.length;n++)At(t,o[n]);else for(let n=0;n<e.length;n++)At(t,e.charCodeAt(n))}(t,e,o)}function Ct(t,n){const e=new r(n.length);for(let o=0;o<n.length;o++)e[o]=xt(t)^n[o],At(t,e[o]);return e}function It(t,n){const e=new r(n.length);for(let o=0;o<n.length;o++)e[o]=xt(t)^n[o],At(t,n[o]);return e}function At(t,n){let[,e]=t.keys;t.S.append([n]);const s=~t.S.get();e=Pt(o.imul(Pt(e+Mt(s)),134775813)+1),t.v.append([e>>>24]);const r=~t.v.get();t.keys=[s,e,r]}function xt(t){const n=2|t.keys[2];return Mt(o.imul(n,1^n)>>>8)}function Mt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)},cancel:t=>n.cancel(t)})}const Ft=new f;function Et(t){return Ft.get(t)}const Rt="Invalid uncompressed size",Ut="deflate-raw",Bt="gzip",Tt=[31,139,8];class Vt extends d{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:s,encrypted:r,useCompressionStream:c,zipCrypto:i,computeCrc32:a,level:f,deflate64:w,format:l,compressionMethod:h,inputSize:p}=t,d=this;let y,m,S,g=super.readable;const v=l&&Et(l),b=a&&s&&!w&&!v&&(!r||i)&&Boolean(c&&o);if(r&&!i||!a||b||(y=new U,g=Nt(g,y)),s)if(v)g=qt(g,Ht(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:h,uncompressedSize:p}));else if(b)S=new Wt,g=qt(g,new o(Bt)),g=Nt(g,S);else try{g=Lt(g,c,{level:f,chunkSize:n},o,e)}catch(t){let n;try{n=new o(Bt)}catch{throw t}g=qt(g,n),g=Nt(g,new Wt)}r&&(i?g=Nt(g,new zt(t)):(m=new pt(t),g=Nt(g,m))),Ot(d,g,()=>{r&&!i||!a||(d.crc32=b?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Wt extends d{constructor(){let t,n=10,e=new r(0);super({transform(t,s){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const r=e.length+t.length;if(r<=8)return void(e=B(e,t));const c=r-8,i=o.min(c,e.length);s.enqueue(B(e.subarray(0,i),t.subarray(0,c-i))),e=B(e.subarray(i),t.subarray(c-i))},flush(){const n=T(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class jt extends d{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:c,encrypted:i,checkCrc32:a,crc32:f,compressed:l,useCompressionStream:h,deflate64:p,format:m,compressionMethod:S,rawBitFlag:g,outputSize:b}=t;let z,k,C=super.readable;if(i&&(c?C=Nt(C,new bt(t)):(k=new ht(t),C=Nt(C,k))),l){const t=m&&Et(m);if(t)C=qt(C,Ht(t.DecompressionStream,m,{chunkSize:n,compressionMethod:S,rawBitFlag:g,uncompressedSize:b}));else try{C=Lt(C,h,{chunkSize:n,deflate64:p},o,e)}catch(t){if(p||b===v)throw t;let n;try{n=new o(Bt)}catch{throw t}C=function(t,n,e){const o=new R;let c,i,a,f=0,u=!1;const l=new w((t,n)=>{i=t,a=n});l.catch(()=>{}),e||i();const h=new d({start(t){const n=new r(10);n.set(Tt),t.enqueue(n)},transform(t,n){n.enqueue(t)},async flush(t){u=!0,y();try{await l}finally{m()}const n=new r(8),s=T(n);s.setUint32(0,o.get(),!0),s.setUint32(4,e,!0),t.enqueue(n)},cancel(t){a(t)}}),p=new d({transform(t,n){o.append(t),f+=t.length,f>=e?i():u&&y(),n.enqueue(t)},cancel(t){a(t)}});return t=Nt(t,h),Nt(t=qt(t,n),p);function y(){m(),c=setTimeout(()=>a(new s(Rt)),5e3)}function m(){clearTimeout(c)}}(C,n,b)}C=function(t){const n=t.getReader();return new y({async pull(t){let e;try{e=await n.read()}catch(t){if(t&&t.message)throw t;const n=new s("Invalid compressed data");throw n.cause=t,n}const{value:o,done:r}=e;r?t.close():t.enqueue(o)},cancel:t=>n.cancel(t)})}(C)}a&&(z=new U,C=Nt(C,z)),Ot(this,C,()=>{if(a){const t=new u(z.value.buffer);if(f!=t.getUint32(0,!1))throw new s("Invalid CRC32")}})}}const Kt=new f;function Ot(t,e,o){e=Nt(e,new d({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function Ht(t,n,e){if(!t)throw new s("Compression method not supported");return new t(n,e)}function Lt(t,n,e,o,s){const r=n&&o?o:s||o,c=e.deflate64?"deflate64-raw":Ut;let i;try{i=new r(c,e)}catch(t){if(!n||!s||r==s)throw t;i=new s(c,e)}return qt(t,i)}function Nt(t,n){return Dt(t).pipeThrough(n)}function qt(t,n){const e=n.writable.getWriter(),o=t.getReader();return async function(){try{for(;;){await e.ready;const t=await o.read();if(t.done){await e.close();break}await e.write(t.value)}}catch(t){await async function(t,n){try{await t.abort(n)}catch{}}(e,t),await async function(t,n){try{await t.cancel(n)}catch{}}(o,t)}}(),n.readable}const Gt="data",Jt="deflate";class Qt extends d{constructor(t,e){super({});const o=this,{codecType:r}=t;let c;r.startsWith(Jt)?c=Vt:r.startsWith("inflate")&&(c=jt),o.outputSize=0;let i=0;const a=new c(t,e),f=super.readable,u=new d({transform(t,n){t&&t.length&&(i+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:i})}}),w=new d({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new s(Rt)},flush(){const{crc32:t}=a;n.assign(o,{crc32:t,inputSize:i})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(a).pipeThrough(w)})}}class Xt extends d{constructor(t){const o=[];let s=0,c=0;function i(){const n=new r(t);let e=0;for(;e<t;){const s=o[0],r=t-e;s.length<=r?(n.set(s,e),e+=s.length,o.shift()):(n.set(s.subarray(0,r),e),o[0]=s.subarray(r),e+=r)}return s-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),s+=n.length;s>t;)c+=t,e.enqueue(i())},flush(t){s&&(c+=s,t.enqueue(function(t,n){const e=new r(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,s)))}}),n.defineProperty(this,"outputSize",{get:()=>c})}}let Yt=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(Yt=navigator.hardwareConcurrency)}catch{}function Zt(t){return Boolean(t)&&"object"==typeof t}const $t=new f,_t=new f,tn=function(){try{return structuredClone(new s)instanceof s}catch{return!1}}();let nn=0;async function en(t){let n,r,c;try{const{options:i,config:a}=t;if(i.format)try{await async function(t,n){!Ft.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=z&&typeof o!=z)throw new s("Invalid codec module");Ft.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(i.format,i.codecURI)}catch(t){if(Zt(t))try{t.codecImportFailed=!0}catch{}throw t}if(a.CompressionStream=self.CompressionStream,a.DecompressionStream=self.DecompressionStream,i.compressed&&!i.format)if(i.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Kt.get(t);e||(e=new f,Kt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(i.codecType.startsWith(Jt)?a.CompressionStream:a.DecompressionStream,Ut))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{i.useCompressionStream=!0}if(i.encrypted&&!i.zipCrypto)try{await self.initModule(t.config)}catch{}!a.CompressionStreamFallback&&a.CompressionStreamZlib&&(a.CompressionStreamFallback=a.CompressionStreamZlib),!a.DecompressionStreamFallback&&a.DecompressionStreamZlib&&(a.DecompressionStreamFallback=a.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>$t.set(nn,t));on({type:"pull",messageId:nn}),nn=(nn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:s}=await n;t.enqueue(o),s&&t.close()}},u);c=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);_t.set(nn,n),on({type:Gt,value:t,messageId:nn}),nn=(nn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new Qt(i,a),r=new Xt(function(t){return s="string"==typeof(n=s=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(s)&&s>=1?o.max(s,64):65536;var n,s}(a)),await l.pipeThrough(n).pipeThrough(r).pipeTo(c,{preventClose:!0,preventAbort:!0}),await c.getWriter().close();const{crc32:h,inputSize:p,outputSize:d}=n;on({type:"close",result:{crc32:h,inputSize:p,outputSize:d}})}catch(t){const n=r?r.outputSize:0;if(Zt(t))try{t.outputSize=n}catch{}if(c&&!c.locked)try{await c.getWriter().close()}catch{}sn(t,n)}}function on(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new r(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function sn(t,n){const{message:e,stack:o,code:r,name:c,outputSize:i,cause:a,codecImportFailed:f}=function(t=new s("Unknown error")){return Zt(t)?t:new s(String(t))}(t),u={message:e,stack:o,code:r,name:c,outputSize:i===v?n:i};if(a&&(u.cause={name:a.name,message:a.message}),f&&(u.codecImportFailed=!0),tn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:s}=t;try{if("start"==n&&en(t),n==Gt){const t=$t.get(e);$t.delete(e),t({value:o||new r,done:s})}if("ack"==n){const t=_t.get(e);_t.delete(e),t()}}catch(t){sn(t)}}),p({type:"ready"});const rn="deflate",cn="deflate-raw",an="deflate64-raw",fn="gzip";let un,wn,ln,hn,pn;function dn(t,n,e={}){if(!un){const t=new s("WASM module not loaded");throw t.cause=pn,t}const c="number"==typeof e.level?e.level:-1,i="number"==typeof e.outBuffer?e.outBuffer:65536,a="number"==typeof e.inBufferSize?e.inBufferSize:65536;return new d({start(){try{let e;if(this.C=wn(i),this.in=wn(a),this.inBufferSize=a,!this.C||!this.in)throw new s("allocation failed");if(this.I=new r(i),t?(this.A=un.deflate_process,this.M=un.deflate_last_consumed,this.P=un.deflate_end,this.D=un.deflate_new(),e=n===fn?un.deflate_init_gzip(this.D,c):n===cn?un.deflate_init_raw(this.D,c):un.deflate_init(this.D,c)):n===an?(this.A=un.inflate9_process,this.M=un.inflate9_last_consumed,this.P=un.inflate9_end,this.D=un.inflate9_new(),e=un.inflate9_init_raw(this.D)):(this.A=un.inflate_process,this.M=un.inflate_last_consumed,this.P=un.inflate_end,this.D=un.inflate_new(),e=n===cn?un.inflate_init_raw(this.D):n===fn?un.inflate_init_gzip(this.D):un.inflate_init(this.D)),0!==e)throw new s("init failed:"+e)}catch(t){throw f(this),t}},transform(t,n){try{const e=t,c=new r(hn.buffer),a=this.A,f=this.M,u=this.C,w=this.I;let l=0;for(;l<e.length;){const t=o.min(e.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&ln&&(ln(this.in),this.in=0),this.in=wn(t),this.inBufferSize=t,!this.in))throw new s("allocation failed");c.set(e.subarray(l,l+t),this.in);const r=a(this.D,this.in,t,u,i,0),h=r>>24&255,p=128&h?h-256:h;if(p<0)throw new s("process error:"+p);const d=16777215&r;d&&(w.set(c.subarray(u,u+d),0),n.enqueue(w.slice(0,d)));const y=f(this.D);if(0===y&&0===d)break;l+=y}}catch(t){f(this),n.error(t)}},flush(t){try{const n=new r(hn.buffer),e=this.A,o=this.C,c=this.I;for(;;){const r=e(this.D,0,0,o,i,4),a=r>>24&255,f=128&a?a-256:a;if(f<0)throw new s("process error:"+f);const u=16777215&r;if(u&&(c.set(n.subarray(o,o+u),0),t.enqueue(c.slice(0,u))),1===a||0===u)break}}catch(n){t.error(n)}finally{const n=f(this);0!==n&&t.error(new s("end error:"+n))}},cancel(){f(this)}});function f(t){let n=0;return t.D&&t.P&&(n=t.P(t.D)),t.D=0,t.in&&ln&&ln(t.in),t.in=0,t.C&&ln&&ln(t.C),t.C=0,n}}class yn{constructor(t=rn,n){return dn(!0,t,n)}}class mn{constructor(t=rn,n){return dn(!1,t,n)}}yn.F=!0,mn.F=!0,yn.R=[rn,cn,fn],mn.R=[rn,cn,fn,an];const Sn=65536;let gn,vn;function bn(t){return new r(t.memory.buffer)}let zn=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,s=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(lt=e||Q),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),s&&(t.DecompressionStreamFallback=s)}}({CompressionStreamFallback:yn,DecompressionStreamFallback:mn,U:function(t,n){const e=gn;let o=e?function(t,n,e){vn||(vn=t.malloc(Sn));const o=vn?t.aes_hmac_new():0;if(o){const s=bn(t);if(s.set(n,vn),s.set(e,vn+n.length),t.aes_hmac_init(o,vn,n.length,vn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return Q(t,n);const s=vn;return{process(t,n){for(let r=0;r<t.length;r+=Sn){const c=t.subarray(r,r+Sn),i=bn(e);i.set(c,s),e.aes_hmac_process(o,s,c.length,n?1:0),c.set(i.subarray(s,s+c.length))}},digest:()=>(e.aes_hmac_end(o,s),o=0,bn(e).slice(s,s+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!zn)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const s=await fetch(o);e=await s.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,s=new r(o);for(let t=0;t<o;++t)s[t]=e.charCodeAt(t);return s.buffer}(t)}const c=await WebAssembly.instantiate(e);var i;(function(t){if(un=t,({malloc:wn,free:ln,memory:hn}=un),"function"!=typeof wn||"function"!=typeof ln||!hn)throw un=wn=ln=hn=null,new s("Invalid WASM module")})(c.instance.exports),typeof(i=c.instance.exports).aes_hmac_new==z&&(gn=i,vn=0)}(t,n),zn=!0}catch(t){throw function(t){pn=t}(t),t}}(t.wasmURI,t)})});\n';if("string"==typeof n&&(n=(new TextEncoder).encode(n)),t){const t=new Blob([n],{type:e});return URL.createObjectURL(t)}return"data:"+e+";base64,"+function(t){let e="";const n=t.length;let r=0;for(;r+2<n;r+=3){const n=t[r]<<16|t[r+1]<<8|t[r+2];e+=o[n>>18&63]+o[n>>12&63]+o[n>>6&63]+o[63&n]}const s=n-r;if(1===s){const n=t[r]<<16;e+=o[n>>18&63]+o[n>>12&63]+"=="}else if(2===s){const n=t[r]<<16|t[r+1]<<8;e+=o[n>>18&63]+o[n>>12&63]+o[n>>6&63]+"="}return e}(n)}})})(r.ap)},72758(t,e,n){n.d(e,{Re:()=>r.Re,WY:()=>f,XJ:()=>r.XJ,mV:()=>r.mV,nD:()=>r.nD,wP:()=>r.wP}),n(36924);var r=n(86814),s=n(45143),o=n(97294);let a=[];const i=[];let c,u,l=0;async function f(t,e){const{options:n,config:r}=e,{transferStreams:c,useWebWorkers:f,useCompressionStream:w,compressed:p,checkCrc32:g,computeCrc32:y,encrypted:b,format:S,codecURI:v}=n,{workerURI:z,createWorker:k,maxWorkers:U}=r;S&&(v&&(n.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(v,r.baseURI)),await(0,s.wH)(S,n.codecURI)),e.transferStreams=!S&&(c||void 0===c&&r.transferStreams);const x=!(p||g||y||b),A=void 0===S||Boolean(n.codecURI);return e.useWebWorkers=!x&&A&&(f||void 0===f&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&z?z:void 0,e.createWorker=e.useWebWorkers&&k?k:void 0,n.useCompressionStream=w||void 0===w&&r.useCompressionStream,(await async function(){const n=a.find(t=>!t.busy);if(n)return m(n),new o.r2(n,t,e,C);if(a.length<U){const n={indexWorker:l};return l++,a.push(n),new o.r2(n,t,e,C)}return new Promise(n=>{i.push({resolve:n,stream:t,workerOptions:e}),u=r.workerStarvationTimeout,d()})}()).run();function C(t){if(h(),i.length){const[{resolve:e,stream:n,workerOptions:r}]=i.splice(0,1);e(new o.r2(t,n,r,C)),d()}else t.worker?(m(t),function(t,e){const{config:n}=e,{terminateWorkerTimeout:r}=n;Number.isFinite(r)&&r>=0&&(t.terminated?t.terminated=!1:t.terminateTimeout=setTimeout(async()=>{a=a.filter(e=>e!=t);try{await t.terminate()}catch{}},r))}(t,e)):a=a.filter(e=>e!=t)}}function d(){!c&&i.length&&Number.isFinite(u)&&u>=0&&(c=setTimeout(w,u))}function h(){c&&(clearTimeout(c),c=null)}function w(){if(c=null,i.length){const[{resolve:t,stream:e,workerOptions:n}]=i.splice(0,1),r=Object.assign({},n,{useWebWorkers:!1,workerURI:void 0,createWorker:void 0});t(new o.r2({},e,r,p)),d()}}function p(){h(),d()}function m(t){const{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}},45143(t,e,n){n.d(e,{$_:()=>a,wH:()=>c,yE:()=>i});var r=n(36924);const s=new Map,o=new Map;function a(t){return s.get(t)}function i(t){return o.get(t)}async function c(t,e){!o.has(t)&&e&&function(t,e){const{CompressionStream:n,DecompressionStream:s}=e;if(typeof n!=r.On&&typeof s!=r.On)throw new Error("Invalid codec module");o.set(t,{CompressionStream:n,DecompressionStream:s})}(t,await(import(e)))}n.d(e,["Ns",0,"Compression method not supported"])},97294(t,e,n){n.d(e,{BS:()=>p,C9:()=>b,O_:()=>h,WY:()=>S,_v:()=>g,pR:()=>d,r2:()=>m,th:()=>y,zx:()=>f});var r=n(36924),s=n(59459),o=n(46284),a=n(86814);let i,c,u,l=()=>{};function f({initModule:t}){l=t}function d(t){u=t}async function h(t){const{CompressionStream:e,CompressionStreamFallback:n}=t;return!(!n||n.requiresModule)||!(!(0,a.St)(e)&&!(0,a.Ri)(e))||!!n&&await w(t)}async function w(t){if(l)try{return await l(t),!0}catch{}return!1}function p(t){t.createWorker?c=!0:i=!1}class m{constructor(t,{readable:e,writable:n},o,l){const{options:f,config:d,streamOptions:h,useWebWorkers:w,transferStreams:p,workerURI:m}=o;let{createWorker:y}=o;const{signal:S}=h;return c&&(y=void 0),Object.assign(t,{busy:!0,generation:(t.generation||0)+1,readable:e.pipeThrough(new a.Qo((0,s.L3)(d))).pipeThrough(new g(h),{signal:S}),writable:n,options:Object.assign({},f),workerOptions:o,workerURI:m,createWorker:y,transferStreams:p,terminate:()=>new Promise(e=>{const{worker:n,busy:r}=t;r?t.resolveTerminated=e:(n&&(n.terminate(),t.worker=null),e()),t.interface=null}),onTaskFinished(){if(t.busy){const{resolveTerminated:e,worker:n}=t;e&&(t.resolveTerminated=null,n&&(t.terminated=!0,n.terminate()),e()),t.busy=!1,l(t)}}}),void 0===i&&(i=typeof Worker!=r.AV),(w&&u&&(i&&m||y)?u:b)(t,d)}}class g extends TransformStream{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await y(t,n)},async transform(t,r){s+=t.length,e&&await y(e,s,n),r.enqueue(t)},async flush(){r&&await y(r,s)}})}}async function y(t,...e){try{await t(...e)}catch{}}function b(t,e){return{run:()=>S(t,e)}}async function S({options:t,readable:e,writable:n,onTaskFinished:r,workerOptions:i},c){let u,l,f;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(a.XJ),n=e?c.CompressionStreamFallback:c.DecompressionStreamFallback,r=e?c.CompressionStream:c.DecompressionStream;t.useCompressionStream?n&&n.requiresModule&&!(0,a.St)(r)&&await d():await d()||n&&!n.requiresModule||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await d(),u=new a.z5(t,c),l=new a.Qo((0,s.L3)(c)),await e.pipeThrough(u).pipeThrough(l).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:i}=u;return{crc32:r,inputSize:o,outputSize:i}}catch(t){if(u){const e=l?l.outputSize:0;if(i.outputSize=e,(0,o.K)(t))try{t.outputSize=e}catch{}}throw t}finally{r()}function d(){return f||(f=w(c)),f}}n.d(e,["hU",0,"Worker startup timeout"])},59459(t,e,n){n.d(e,{D0:()=>w,I1:()=>m,L3:()=>p,ap:()=>y});var r=n(36924),s=n(92679);let o=2;try{typeof navigator!=r.AV&&navigator.hardwareConcurrency&&(o=navigator.hardwareConcurrency)}catch{}const a={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:o,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=r.AV&&CompressionStream,DecompressionStream:typeof DecompressionStream!=r.AV&&DecompressionStream},i="maxWorkers",c="baseURI",u=["wasmURI","workerURI"],l=["chunkSize",i,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],f=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],d=[c,...u,"useCompressionStream","useWebWorkers","transferStreams",...l,...f],h={...a};function w(){return h}function p(t){return m(t.chunkSize)}function m(t){return t=(0,s.Ro)(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function g(t,e){if(l.includes(t)){if(e=(0,s.Ro)(e),t==i&&(!Number.isInteger(e)||e<1))throw new Error("Invalid maxWorkers (must be an integer greater than 0)")}else if(f.includes(t))(0,s.oe)(e);else if(t==c){if(e&&"string"!=typeof e)throw new Error("Invalid baseURI (must be a string)")}else if(u.includes(t)&&e&&"string"!=typeof e&&typeof e!=r.On)throw new Error("Invalid URI (must be a string or a function returning a string)");return e}function y(t){const e=function(t){const e={};for(const n of d){const r=t[n];void 0!==r&&(e[n]=g(n,r))}return e}(function(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:n}=t;if(void 0===e&&void 0===n)return t;const r=Object.assign({},t);return void 0===r.CompressionStreamFallback&&(r.CompressionStreamFallback=e),void 0===r.DecompressionStreamFallback&&(r.DecompressionStreamFallback=n),r}(t));Object.assign(a,e),Object.assign(h,e)}},36924(t,e,n){const r=134695760,s=r,o=new Date(2107,11,31,23,59,58),a=new Date(1980,0,1),i=new Uint8Array,c=Symbol.asyncDispose||Symbol();n.d(e,["AN",0,a,"AV",0,"undefined","Ae",0,o,"D6",0,i,"G4",0,134630224,"GC",0,"boolean","Gi",0,s,"Gq",0,67324752,"OL",0,117853008,"On",0,"function","Tm",0,101075792,"X",0,1/0,"ZP",0,r,"ac",0,4294967295,"cC",0,33639248,"dh",0,808471376,"fB",0,101010256,"kZ",0,c,"nc",0,84233040])},31969(t,e,n){n.d(e,{$i:()=>J,D3:()=>ot,D7:()=>A,M3:()=>z,TX:()=>C,Ul:()=>st,ZD:()=>nt,b9:()=>$,kh:()=>et,mP:()=>b,nZ:()=>x,pp:()=>Y,qG:()=>v,rd:()=>T,sW:()=>G,xY:()=>O,xm:()=>tt});var r=n(36924),s=n(59459),o=n(73523),a=n(68334),i=n(34904);const c="HTTP error ",u="HTTP Range not supported",l="HTTP resource changed",f="Content-Range",d="Range",h="GET",w="bytes",p=16777216,m="writable",g=Symbol();class y{constructor(){this.size=0}init(){this.initialized=!0}}class b extends y{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=(0,s.L3)((0,s.D0)())}={}){const r=this;let o=0;return n=(0,s.I1)(n),new ReadableStream({async pull(s){const a=void 0===e?n:Math.min(n,e-o),i=await st(r,t+o,a);i.length&&(s.enqueue(i),o+=i.length),(void 0!==e&&o>=e||!i.length&&a)&&s.close()}})}}class S extends y{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error("Writer not initialized");return t.writeUint8Array((0,o.ok)(e))}});Object.defineProperty(t,m,{get:()=>e})}writeUint8Array(){}}class v extends b{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const n=t.indexOf(",")+1;Object.assign(this,{dataURI:t,dataStart:n,size:Math.floor(.75*(e-n))})}readUint8Array(t,e){const{dataStart:n,dataURI:r}=this,s=new Uint8Array(e),o=4*Math.floor(t/3),a=atob(r.substring(o+n,4*Math.ceil((t+e)/3)+n)),i=t-3*Math.floor(o/4);let c=0;for(let t=i;t<i+e&&t<a.length;t++)s[t-i]=a.charCodeAt(t),c++;return c<s.length?s.subarray(0,c):s}}class z extends S{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",pendingCharacters:""})}writeUint8Array(t){const e=this;let n,r=e.pendingCharacters;const s=e.pendingCharacters.length;for(e.pendingCharacters="",n=0;n<3*Math.floor((s+t.length)/3)-s;n++)r+=String.fromCharCode(t[n]);for(;n<t.length;n++)e.pendingCharacters+=String.fromCharCode(t[n]);r.length>2?e.data+=btoa(r):e.pendingCharacters=r+e.pendingCharacters}getData(){return this.data+btoa(this.pendingCharacters)}}let k,U;class x extends b{constructor(t){super(),Object.assign(this,{sourceBlob:t,size:t.size}),U||(U=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();k=1==e}catch{k=!1}})())}createReadable(t){const{sourceBlob:e,size:n}=this,{offset:s=0,size:o=n-s}=t||{};if(typeof e.stream==r.On){if(!s&&o>=n)return(0,a.QK)(e.stream());if(k)return(0,a.QK)(e.slice(s,s+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,s=!t&&r>=n.size?n.sourceBlob:n.sourceBlob.slice(t,r);let o=await s.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,r)),new Uint8Array(o)}}class A extends y{constructor(t){super();const e=this,n=new TransformStream;Object.defineProperty(e,m,{get:()=>n.writable}),e.contentType=t,e.blobPromise=(0,a.x1)(n.readable,t),e.blobPromise.catch(()=>{})}getData(){return this.blobPromise}}class C extends x{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function O(t){let e=0;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);r<128?e+=1:r<2048?e+=2:r<55296||r>=57344?e+=3:r<56320&&56320==(64512&t.charCodeAt(n+1))?(e+=4,n++):e+=3}return e}class T extends A{constructor(t){super(),Object.assign(this,{encoding:t,utf8:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,utf8:e}=this,n=await super.getData();return n.text&&e?n.text():(0,i.h)(new Uint8Array(await n.arrayBuffer()),t)}}class F extends b{constructor(t,e){super(),M(this,t,e)}async init(){await E(this,K,L),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:s}=e;if((n||r)&&void 0!==s){const{offset:n=0,size:r=s-n}=t||{};if(r>0&&n<s)return function(t,e,n){let r,s=e,o=0,a=n;return new ReadableStream({start:()=>i(),async pull(t){r||await i();const{value:e,done:n}=await r.read();if(n)throw new Error(u);const s=e.length>o?e.subarray(0,o):e;o-=s.length,a-=s.length,s.length&&t.enqueue(s),o||(await async function(){const t=r;r=void 0,await t.cancel()}(),a||t.close())},cancel:t=>r&&r.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,a),n=await K(h,t,P(t,s,e));if(206!=n.status)throw new Error(u);const i=I(n);if(void 0!==i&&i!=s)throw new Error(u);j(t,n),B(t,n),s+=e,o=e,r=n.body.getReader()}}(e,n,Math.min(r,s-n))}return super.createReadable(t)}readUint8Array(t,e){return D(this,t,e,K,L)}}class R extends b{constructor(t,e){super(),M(this,t,e)}async init(){await E(this,X,Z),super.init()}readUint8Array(t,e){return D(this,t,e,X,Z)}}function M(t,e,n){const{preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:a,checkResourceChanges:i=!0,maximumRangeSize:c=p,fetch:u}=n;delete(n=Object.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,Object.assign(t,{url:e,options:n,preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:a,checkResourceChanges:i,maximumRangeSize:c,fetch:u})}async function E(t,e,n){const{url:o,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:c,combineSizeEocd:l}=t;if(function(t){const{baseURI:e}=(0,s.D0)(),{protocol:n}=new URL(t,e);return"http:"==n||"https:"==n}(o)&&(i||c)&&(typeof a==r.AV||a)){const r=await e(h,t,P(t,l?-65557:void 0)),s=r.headers.get("Accept-Ranges");if(!(c||s&&s.toLowerCase()==w))throw new Error(u);{let s;l&&206==r.status&&(s=new Uint8Array(await r.arrayBuffer())),B(t,r);const o=V(r);void 0===o?await H(t,e,n):t.size=o,s&&s.length&&I(r)===t.size-s.length&&(t.eocdCache=s)}}else await H(t,e,n)}async function D(t,e,n,s,o){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:c,size:l,options:f}=t;if(a||i){if(e>=l||0===n)return r.D6;{if(e+n>l&&(n=l-e),c&&e>=l-c.length){const t=e-(l-c.length);return c.slice(t,t+n)}const r=await s(h,t,P(t,e,n));if(206!=r.status)throw new Error(u);const o=I(r);if(void 0!==o&&o!=e)throw new Error(u);j(t,r),B(t,r);const a=new Uint8Array(await r.arrayBuffer());if(a.length!=n)throw new Error(u);return a}}{const{data:r}=t;return r||await o(t,f),t.data.subarray(e,e+n)}}function I(t){const e=t.headers.get(f);if(e){const t=Number(e.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t))return t}}function V(t){const e=t.headers.get(f);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function q({headers:t}){return{etag:t.get("Etag")||void 0,lastModified:t.get("Last-Modified")||void 0}}function B(t,e){const{checkResourceChanges:n,resourceValidators:r}=t;n&&!r&&206==e.status&&(t.resourceValidators=q(e))}function j(t,e){const{checkResourceChanges:n,resourceValidators:r,size:s}=t;if(n){const t=V(e);if(void 0!==t&&void 0!==s&&t!=s)throw new Error(l);if(r){const t=q(e);if(Object.entries(r).some(([e,n])=>void 0!==n&&void 0!==t[e]&&n!=t[e]))throw new Error(l)}}}function P(t,e=0,n=1){return Object.assign({},W(t),{[d]:w+"="+(e<0?e:e+"-"+(e+n-1))})}function W({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function L(t){await N(t,K)}async function Z(t){await N(t,X)}async function N(t,e){const n=await e(h,t,W(t));t.data=new Uint8Array(await n.arrayBuffer()),t.size=t.data.length}async function H(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,W(t)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?t.size=Number(s):await n(t,t.options)}}async function K(t,{fetch:e=fetch,options:n,url:r},s){const o=await e(r,Object.assign({},n,{method:t,headers:s}));if(o.status>=200&&o.status<=299)return o;throw 416==o.status?new Error(u):new Error(c+(o.statusText||o.status))}function X(t,{url:e},n){return new Promise((r,s)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(o.status>=200&&o.status<=299){const t=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),r({status:o.status,arrayBuffer:()=>o.response,headers:new Map(t)})}else s(416==o.status?new Error(u):new Error(c+(o.statusText||o.status)))},!1),o.addEventListener("error",t=>s(t.detail?t.detail.error:new Error("Network error")),!1),o.open(t,e),n)for(const t of Object.entries(n))o.setRequestHeader(t[0],t[1]);o.responseType="arraybuffer",o.send()})}class G extends b{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new R(t,e):new F(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Y extends b{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class J extends S{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,n=e.offset+t.length;if(n>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;t<n;)t*=2;const r=e.array;e.array=new Uint8Array(t),e.array.set(r)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Q extends b{constructor(t){super(),this.readers=t}async init(){const t=this;t.lastDiskNumber=0;const e=t.readers=await Promise.all(t.readers.map(rt));t.diskOffsets=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}getDiskOffset(t){const{diskOffsets:e,size:n}=this,r=e[t];return void 0===r?n:r}async readUint8Array(t,e){const n=this,{readers:s}=this;let a,i=0,c=t;for(;s[i]&&c>=s[i].size;)c-=s[i].size,i++;const u=s[i];if(u){const r=u.size;if(c+e<=r)a=await st(u,c,e);else{const s=r-c,i=await st(u,c,s),l=await n.readUint8Array(t+s,e-s);a=(0,o.xW)(i,l)}}else a=r.D6;return n.lastDiskNumber=Math.max(i,n.lastDiskNumber),a}}class _ extends y{constructor(t,e=4294967295){super();const n=this;let r,s,o;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const a=new WritableStream({async write(e){if(e===g)return void(o&&await c());const{availableSize:a}=n;if(o)e.length>=a?(await i(e.subarray(0,a)),await c(),e.length>a&&await this.write(e.subarray(a))):await i(e);else{const{value:a,done:i}=await t.next();if(i&&!a)throw new Error("Writer iterator completed too soon");r=a,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await nt(r),s=a.writable,o=s.getWriter(),await this.write(e)}},async close(){o&&(await o.ready,await u())},async abort(t){o&&await o.abort(t)}});async function i(t){const e=t.length;e&&(await o.ready,await o.write(t),r.size+=e,n.availableSize-=e)}async function c(){await u(),n.diskOffset+=r.size,n.diskNumber++,o=null,n.availableSize=n.maxSize}async function u(){await o.close()}Object.defineProperty(n,m,{get:()=>a})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(g)}finally{t.releaseLock()}}}class ${constructor(t){return Array.isArray(t)&&(t=new Q(t)),(t instanceof ReadableStream||typeof t.getReader==r.On)&&(t={readable:(0,a.QK)(t)}),t}}class tt{constructor(t){void 0===t.writable&&typeof t.next==r.On&&(t=new _(t)),(t instanceof WritableStream||typeof t.getWriter==r.On)&&(t={writable:(0,a.Ox)(t)});try{t.size=void 0===t.size?0:t.size}catch{throw new Error("Invalid writer (size must be writable)")}return t}}function et(t){return Boolean(t&&t.getData)}async function nt(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function rt(t){return t=new $(t),await nt(t),void 0!==t.size&&t.readUint8Array||(t=new x(await(0,a.x1)(t.readable)),await nt(t)),t}function st(t,e,n){return t.readUint8Array(e,n)}function ot(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?b.prototype.createReadable.call(t,e):t.readable}},92679(t,e,n){n.d(e,{Ot:()=>u,Ro:()=>d,Tc:()=>c,Te:()=>i,kQ:()=>f,mR:()=>a,oe:()=>o,zQ:()=>l});var r=n(36924);const s="compressed";function o(t){if(t&&typeof t!=r.On)throw new Error("Invalid option (must be a function)");return t}function a(t){if(t&&(typeof t.addEventListener!=r.On||typeof t.aborted!=r.GC))throw new Error("Invalid signal (must be an AbortSignal instance)");return t||void 0}function i(t){if(t&&t.aborted)throw void 0===t.reason?new DOMException("The operation was aborted","AbortError"):t.reason}function c(t,e){if(t&&"string"!=typeof t||e&&!(e instanceof Uint8Array))throw new Error("Invalid password (password must be a string, rawPassword must be a Uint8Array)")}function u(t){if(void 0!==t&&typeof t!=r.GC&&t!==s)throw new Error("Invalid passThrough option (must be a boolean or 'compressed')");return t}function l(t,e,n){if(!Number.isInteger(t)||t<0||t>e)throw new Error(n)}function f(t,e,n){void 0!==t&&l(t,e,n)}function d(t){return"string"==typeof t&&t.trim()?Number(t):t}n.d(e,["A4",0,"checkSignature","BH",0,"strictness","Bt",0,"dataDescriptor","C5",0,"preventClose","D9",0,"checkAmbiguity","DC",0,"ntfsTimestamp","Fp",0,"checkCrc32","GP",0,"localExtraField","HL",0,"checkLocalFilename","IB",0,"filenameEncoding","JD",0,"rawPassword","JO",0,"extractPrependedData","LP",0,"comment","MC",0,"dataDescriptorSignature","PG",0,"extractAppendedData","Q$",0,"useUnicodeFileNames","SB",0,s,"SC",0,"transferStreams","Si",0,"checkAuthenticationCode","So",0,"balanced","VL",0,"checkOverlappingEntryOnly","VV",0,"keepOrder","Wm",0,"checkPasswordOnly","Ym",0,"signCentralDirectory","aK",0,"encryptionStrength","bn",0,"useWebWorkers","cq",0,"filenameValidation","eU",0,"normalizeFilename","hp",0,"encodeText","im",0,"supportZip64SplitFile","j$",0,"filename","jg",0,"extendedTimestamp","kF",0,"password","ki",0,"passThrough","kq",0,"useCompressionStream","ku",0,"commentEncoding","kv",0,"decryptCentralDirectory","ln",0,"decodeText","mU",0,"maxAppendedDataSize","me",0,"centralExtraField","rm",0,"checkLocalDirectory","sC",0,"unixExtraFieldType","sn",0,"checkOverlappingEntry","tg",0,"createTempStream","wM",0,"bufferedWrite","xC",0,"tolerant"])},40697(t,e,n){n.d(e,{LL:()=>b,ho:()=>S,w1:()=>v});var r=n(36924),s=n(46644),o=n(73523),a=n(17414),i=n(27806);const c={name:"PBKDF2"},u=Object.assign({hash:{name:"HMAC"}},c),l=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},c),f=["deriveBits"],d=[8,12,16],h=[16,24,32],w=10,p=typeof crypto!=r.AV,m=p&&crypto.subtle;let g=p&&typeof m!=r.AV&&typeof m.importKey==r.On&&typeof m.deriveBits==r.On,y=a.P;class b extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){z(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:o,resolveReady:a,ready:c}=n;s?(await async function(t,e,n,r){const s=await x(t,e,n,C(r,0,d[e])),o=C(r,d[e]);if(s[0]!=o[0]||s[1]!=o[1])throw U(t),new Error(i.wP)}(n,o,s,C(t,0,d[o]+2)),t=C(t,d[o]+2),r?(U(n),e.error(new Error(i.mV))):a()):await c;const u=new Uint8Array(t.length-w-(t.length-w)%16);e.enqueue(k(n,t,u,0,w,!0))},async flush(t){const{engine:e,pendingInput:n,ready:r}=this;if(e){await r;const o=C(n,n.length-w),a=new Uint8Array(C(n,0,n.length-w));e.process(a,!0);const c=e.digest();let u=n.length<w?1:0;for(let t=0;t<w;t++)u|=c[t]^o[t];if(u&&s)throw new Error(i.RT);t.enqueue(a)}},cancel(){U(this)}})}}class S extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){z(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:a,resolveReady:c,ready:u}=n;let l=r.D6;s?(l=await async function(t,e,n){const r=(0,i.UY)(new Uint8Array(d[e])),s=await x(t,e,n,r);return(0,o.xW)(r,s)}(n,a,s),c()):await u;const f=new Uint8Array(l.length+t.length-t.length%16);f.set(l,0),e.enqueue(k(n,t,f,l.length,0,!1))},async flush(t){const{engine:e,pendingInput:n,ready:r}=this;if(e){await r;const s=new Uint8Array(n);e.process(s,!1);const a=C(e.digest(),0,w);t.enqueue((0,o.xW)(s,a))}},cancel(){U(this)}})}}function v(t){y=t||a.P}function z(t,e,n,s){Object.assign(t,{ready:new Promise(e=>t.resolveReady=e),password:A(e,n),strength:s-1,pendingInput:r.D6})}function k(t,e,n,r,s,a){const{engine:i,pendingInput:c}=t;c.length&&(e=(0,o.xW)(c,e));const u=e.length-s,l=u-u%16;if(n=function(t,e){if(e&&e>t.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,r+l),l){const t=C(n,r,r+l);t.set(C(e,0,l)),i.process(t,a)}return t.pendingInput=C(e,l),n}function U({engine:t}){t&&t.dispose&&t.dispose()}async function x(t,e,n,r){t.password=null;const s=h[e],o=await async function(t,e,n){if(g)try{const r=await m.importKey("raw",t,u,!1,f);return new Uint8Array(await m.deriveBits(Object.assign({salt:e},l),r,8*n))}catch{g=!1}return(0,a.A)(t,e,1e3,n)}(n,r,2*s+2);return t.engine=y(C(o,0,s),C(o,s,2*s)),C(o,2*s)}function A(t,e){return void 0===e?(0,s.w)(t):e}function C(t,e,n){return t.subarray(e,n)}},86814(t,e,n){n.d(e,{Qo:()=>i,Ri:()=>r.Ri,St:()=>r.St,mV:()=>r.mV,nD:()=>r.nD,wP:()=>r.wP,z5:()=>a}),n(36924);var r=n(45527);const s="deflate",o="inflate";class a extends TransformStream{constructor(t,e){super({});const n=this,{codecType:a}=t;let i;a.startsWith(s)?i=r.C_:a.startsWith(o)&&(i=r.Oc),n.outputSize=0;let c=0;const u=new i(t,e),l=super.readable,f=new TransformStream({transform(t,e){t&&t.length&&(c+=t.length,e.enqueue(t))},flush(){Object.assign(n,{inputSize:c})}}),d=new TransformStream({transform(e,s){if(e&&e.length&&(s.enqueue(e),n.outputSize+=e.length,void 0!==t.outputSize&&n.outputSize>t.outputSize))throw new Error(r.nD)},flush(){const{crc32:t}=u;Object.assign(n,{crc32:t,inputSize:c})}});Object.defineProperty(n,"readable",{get:()=>l.pipeThrough(f).pipeThrough(u).pipeThrough(d)})}}class i extends TransformStream{constructor(t){const e=[];let n=0,r=0;function s(){const r=new Uint8Array(t);let s=0;for(;s<t;){const n=e[0],o=t-s;n.length<=o?(r.set(n,s),s+=n.length,e.shift()):(r.set(n.subarray(0,o),s),e[0]=n.subarray(o),s+=o)}return n-=t,r}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(o,a){for(e.push(o),n+=o.length;n>t;)r+=t,a.enqueue(s())},flush(t){n&&(r+=n,t.enqueue(function(t,e){const n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}(e,n)))}}),Object.defineProperty(this,"outputSize",{get:()=>r})}}n.d(e,["AJ",0,"message","Re",0,o,"XJ",0,s])},17414(t,e,n){n.d(e,{A:()=>p,P:()=>w});const r=64,s=20,o=new Uint8Array([128]),a=new Uint8Array(1),i=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),c=new Uint8Array(256),u=new Int32Array(256),l=new Int32Array(256),f=new Int32Array(256),d=new Int32Array(256);let h=!1;function w(t,e){!function(){if(!h){let t=1,e=1;do{t=255&(t^t<<1^(128&t?27:0)),e=255&(e^e<<1),e=255&(e^e<<2),e=255&(e^e<<4),128&e&&(e^=9),c[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);c[0]=99;for(let t=0;t<256;t++){const e=c[t],n=y(e),r=n<<24|e<<16|e<<8|n^e;u[t]=r,l[t]=r>>>8|r<<24,f[t]=r>>>16|r<<16,d[t]=r>>>24|r<<8}h=!0}}();const n=new Int32Array(60),r=function(t,e){const n=t.length>>2,r=n+6,s=4*(r+1);let o=1;for(let r=0;r<n;r++)e[r]=t[4*r]<<24|t[4*r+1]<<16|t[4*r+2]<<8|t[4*r+3];for(let t=n;t<s;t++){let r=e[t-1];t%n==0?(r=g(r<<8|r>>>24)^o<<24,o=y(o)):n>6&&t%n==4&&(r=g(r)),e[t]=e[t-n]^r}return r}(t,n),s=new Uint8Array(16),o=new Int32Array(4),a=m(e);return{process(t,e){e&&a.update(t,0,t.length),function(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=t.length;let r=0;for(;r+16<=n;r+=16)i(),e.setInt32(r,e.getInt32(r)^o[0]),e.setInt32(r+4,e.getInt32(r+4)^o[1]),e.setInt32(r+8,e.getInt32(r+8)^o[2]),e.setInt32(r+12,e.getInt32(r+12)^o[3]);if(r<n){i();for(let e=0;r<n;r++,e++)t[r]^=o[e>>2]>>>24-8*(3&e)}}(t),e||a.update(t,0,t.length)},digest:()=>a.digest()};function i(){for(let t=0;t<16&&(s[t]++,0===s[t]);t++);let t=(s[0]<<24|s[1]<<16|s[2]<<8|s[3])^n[0],e=(s[4]<<24|s[5]<<16|s[6]<<8|s[7])^n[1],a=(s[8]<<24|s[9]<<16|s[10]<<8|s[11])^n[2],i=(s[12]<<24|s[13]<<16|s[14]<<8|s[15])^n[3],h=4;for(let s=1;s<r;s++,h+=4){const r=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&i]^n[h],s=u[e>>>24]^l[a>>>16&255]^f[i>>>8&255]^d[255&t]^n[h+1],o=u[a>>>24]^l[i>>>16&255]^f[t>>>8&255]^d[255&e]^n[h+2],c=u[i>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[h+3];t=r,e=s,a=o,i=c}o[0]=(c[t>>>24]<<24|c[e>>>16&255]<<16|c[a>>>8&255]<<8|c[255&i])^n[h],o[1]=(c[e>>>24]<<24|c[a>>>16&255]<<16|c[i>>>8&255]<<8|c[255&t])^n[h+1],o[2]=(c[a>>>24]<<24|c[i>>>16&255]<<16|c[t>>>8&255]<<8|c[255&e])^n[h+2],o[3]=(c[i>>>24]<<24|c[t>>>16&255]<<16|c[e>>>8&255]<<8|c[255&a])^n[h+3]}}function p(t,e,n,r){const o=m(t),a=new Uint8Array(r),i=new Uint8Array(e.length+4),c=new DataView(i.buffer);i.set(e);for(let t=1,u=0;u<r;t++,u+=s){c.setUint32(e.length,t),o.update(i,0,i.length);let l=o.digest();const f=l.slice();for(let t=1;t<n;t++){o.update(l,0,s),l=o.digest();for(let t=0;t<s;t++)f[t]^=l[t]}a.set(f.subarray(0,Math.min(s,r-u)),u)}return a}function m(t){const e=function(){const t=new Int32Array(i),e=new Int32Array(80),n=new Uint8Array(r),c=new DataView(n.buffer),u=new Uint8Array(8);let l=0,f=0;return{update:d,digest:function(){const e=8*f,n=Math.floor(e/4294967296),r=e>>>0;for(d(o,0,1);56!=l;)d(a,0,1);u[0]=n>>>24,u[1]=n>>>16,u[2]=n>>>8,u[3]=n,u[4]=r>>>24,u[5]=r>>>16,u[6]=r>>>8,u[7]=r,d(u,0,8);const c=new Uint8Array(s),h=new DataView(c.buffer);for(let e=0;e<t.length;e++)h.setInt32(4*e,t[e]);return t.set(i),l=0,f=0,c}};function d(t,e,s){const o=e+s;if(f+=s,l){for(;e<o&&l<r;)n[l++]=t[e++];l==r&&(h(c,0),l=0)}if(e+r<=o){const n=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;e+r<=o;e+=r)h(n,e)}for(;e<o;)n[l++]=t[e++]}function h(n,r){for(let t=0;t<16;t++)e[t]=n.getInt32(r+4*t);for(let t=16;t<80;t++){const n=e[t-3]^e[t-8]^e[t-14]^e[t-16];e[t]=n<<1|n>>>31}let s,o=t[0],a=t[1],i=t[2],c=t[3],u=t[4];for(let t=0;t<20;t++)s=(o<<5|o>>>27)+(a&i|~a&c)+u+1518500249+e[t]|0,u=c,c=i,i=a<<30|a>>>2,a=o,o=s;for(let t=20;t<40;t++)s=(o<<5|o>>>27)+(a^i^c)+u+1859775393+e[t]|0,u=c,c=i,i=a<<30|a>>>2,a=o,o=s;for(let t=40;t<60;t++)s=(o<<5|o>>>27)+(a&i|a&c|i&c)+u+2400959708+e[t]|0,u=c,c=i,i=a<<30|a>>>2,a=o,o=s;for(let t=60;t<80;t++)s=(o<<5|o>>>27)+(a^i^c)+u+3395469782+e[t]|0,u=c,c=i,i=a<<30|a>>>2,a=o,o=s;t[0]=t[0]+o|0,t[1]=t[1]+a|0,t[2]=t[2]+i|0,t[3]=t[3]+c|0,t[4]=t[4]+u|0}}(),n=new Uint8Array(r),c=new Uint8Array(r);t.length>r&&(e.update(t,0,t.length),t=e.digest());for(let e=0;e<r;e++){const r=e<t.length?t[e]:0;n[e]=54^r,c[e]=92^r}return e.update(n,0,r),{update(t,n,r){e.update(t,n,r)},digest(){const t=e.digest();e.update(c,0,r),e.update(t,0,s);const o=e.digest();return e.update(n,0,r),o}}}function g(t){return c[t>>>24]<<24|c[t>>>16&255]<<16|c[t>>>8&255]<<8|c[255&t]}function y(t){return 255&(t<<1^27*(t>>7))}},93936(t,e,n){n.d(e,{s:()=>d});const r=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;r[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const n=r[e-1][t];r[e][t]=n>>>8^r[0][255&n]}const[s,o,a,i,c,u,l,f]=r;class d{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const d=new DataView(t.buffer,t.byteOffset,n),h=n-8;for(;r<=h;r+=8){const t=e^d.getInt32(r,!0),n=d.getInt32(r+4,!0);e=f[255&t]^l[t>>>8&255]^u[t>>>16&255]^c[t>>>24&255]^i[255&n]^a[n>>>8&255]^o[n>>>16&255]^s[n>>>24&255]}}for(;r<n;r++)e=e>>>8^s[255&(e^t[r])];this.crc=e}get(){return~this.crc}}},27806(t,e,n){n.d(e,{UY:()=>o});var r=n(36924);const s=typeof crypto!=r.AV&&typeof crypto.getRandomValues==r.On;function o(t){if(s)return crypto.getRandomValues(t);throw new Error("Crypto API not supported")}n.d(e,["RT",0,"Invalid authentication code","mV",0,"zipjs-abort-check-password","wP",0,"Invalid password"])},45527(t,e,n){n.d(e,{C_:()=>k,mV:()=>a.mV,wP:()=>a.wP,nD:()=>b,Oc:()=>x,St:()=>O,Ri:()=>T});var r=n(93936);class s extends TransformStream{constructor(){let t;const e=new r.s;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}var o=n(40697),a=n(27806);class i extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){u(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=l(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new Error(a.wP);t=t.subarray(12)}r?e.error(new Error(a.mV)):e.enqueue(l(n,t))}})}}class c extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){u(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=(0,a.UY)(new Uint8Array(12));e[11]=n.passwordVerification,r=new Uint8Array(t.length+e.length),r.set(f(n,e),0),s=12}else r=new Uint8Array(t.length),s=0;r.set(f(n,t),s),e.enqueue(r)}})}}function u(t,e,n,s){Object.assign(t,{password:e,rawPassword:n,passwordVerification:s}),function(t,e,n){const s=[305419896,591751049,878082192];if(Object.assign(t,{keys:s,crcKey0:new r.s(s[0]),crcKey2:new r.s(s[2])}),n)for(let e=0;e<n.length;e++)d(t,n[e]);else for(let n=0;n<e.length;n++)d(t,e.charCodeAt(n))}(t,e,n)}function l(t,e){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=h(t)^e[r],d(t,n[r]);return n}function f(t,e){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=h(t)^e[r],d(t,e[r]);return n}function d(t,e){let[,n]=t.keys;t.crcKey0.append([e]);const r=~t.crcKey0.get();n=p(Math.imul(p(n+w(r)),134775813)+1),t.crcKey2.append([n>>>24]);const s=~t.crcKey2.get();t.keys=[r,n,s]}function h(t){const e=2|t.keys[2];return w(Math.imul(e,1^e)>>>8)}function w(t){return 255&t}function p(t){return 4294967295&t}n(36924);var m=n(73523),g=n(68334),y=n(45143);const b="Invalid uncompressed size",S="deflate-raw",v="gzip",z=[31,139,8];class k extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:a,encrypted:i,useCompressionStream:u,zipCrypto:l,computeCrc32:f,level:d,deflate64:h,format:w,compressionMethod:p,inputSize:m}=t,g=this;let b,S,z,k=super.readable;const x=w&&(0,y.yE)(w),A=f&&a&&!h&&!x&&(!i||l)&&Boolean(u&&r);if(i&&!l||!f||A||(b=new s,k=E(k,b)),a)if(x)k=D(k,R(x.CompressionStream,w,{level:d,chunkSize:e,compressionMethod:p,uncompressedSize:m}));else if(A)z=new U,k=D(k,new r(v)),k=E(k,z);else try{k=M(k,u,{level:d,chunkSize:e},r,n)}catch(t){let e;try{e=new r(v)}catch{throw t}k=D(k,e),k=E(k,new U)}i&&(l?k=E(k,new c(t)):(S=new o.ho(t),k=E(k,S))),F(g,k,()=>{i&&!l||!f||(g.crc32=A?z.crc32:new DataView(b.value.buffer).getUint32(0))})}}class U extends TransformStream{constructor(){let t,e=10,n=new Uint8Array(0);super({transform(t,r){if(e){const n=Math.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(s<=8)return void(n=(0,m.xW)(n,t));const o=s-8,a=Math.min(o,n.length);r.enqueue((0,m.xW)(n.subarray(0,a),t.subarray(0,o-a))),n=(0,m.xW)(n.subarray(a),t.subarray(o-a))},flush(){const e=(0,m.MS)(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class x extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:a}){super({});const{zipCrypto:c,encrypted:u,checkCrc32:l,crc32:f,compressed:d,useCompressionStream:h,deflate64:w,format:p,compressionMethod:g,rawBitFlag:S,outputSize:k}=t;let U,x,A=super.readable;if(u&&(c?A=E(A,new i(t)):(x=new o.LL(t),A=E(A,x))),d){const t=p&&(0,y.yE)(p);if(t)A=D(A,R(t.DecompressionStream,p,{chunkSize:e,compressionMethod:g,rawBitFlag:S,uncompressedSize:k}));else try{A=M(A,h,{chunkSize:e,deflate64:w},a,n)}catch(t){if(w||void 0===k)throw t;let e;try{e=new a(v)}catch{throw t}A=function(t,e,n){const s=new r.s;let o,a,i,c=0,u=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),n||a();const f=new TransformStream({start(t){const e=new Uint8Array(10);e.set(z),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){u=!0,h();try{await l}finally{w()}const e=new Uint8Array(8),r=(0,m.MS)(e);r.setUint32(0,s.get(),!0),r.setUint32(4,n,!0),t.enqueue(e)},cancel(t){i(t)}}),d=new TransformStream({transform(t,e){s.append(t),c+=t.length,c>=n?a():u&&h(),e.enqueue(t)},cancel(t){i(t)}});return t=E(t,f),E(t=D(t,e),d);function h(){w(),o=setTimeout(()=>i(new Error(b)),5e3)}function w(){clearTimeout(o)}}(A,e,k)}A=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error("Invalid compressed data");throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}(A)}l&&(U=new s,A=E(A,U)),F(this,A,()=>{if(l){const t=new DataView(U.value.buffer);if(f!=t.getUint32(0,!1))throw new Error("Invalid CRC32")}})}}const A=new Map;function C(t,e){if(!t)return!1;let n=A.get(t);n||(n=new Map,A.set(t,n));let r=n.get(e);if(void 0===r){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function O(t){return C(t,S)}function T(t){return C(t,v)}function F(t,e,n){e=E(e,new TransformStream({flush:n})),Object.defineProperty(t,"readable",{get:()=>e})}function R(t,e,n){if(!t)throw new Error(y.Ns);return new t(e,n)}function M(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":S;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return D(t,i)}function E(t,e){return(0,g.QK)(t).pipeThrough(e)}function D(t,e){const n=e.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(n,t),await async function(t,e){try{await t.cancel(e)}catch{}}(r,t)}}(),e.readable}},73523(t,e,n){function r(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function s(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function o(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}n.d(e,{MS:()=>o,ok:()=>s,xW:()=>r})},68334(t,e,n){n.d(e,{Ox:()=>a,QK:()=>s,x1:()=>o});var r=n(36924);function s(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function o(t,e){t=s(t);const n=e?{type:e}:{};if(typeof Blob.prototype.stream!=r.On||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],n):t);const o=[];return t.pipeTo(new WritableStream({write(t){o.push(t)}})).then(()=>new Blob(o,n))}function a(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}},34904(t,e,n){n.d(e,{g:()=>s,h:()=>o});const r="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function s(t,e){return a(t,e,!0)}function o(t,e){return a(t,e,!1)}function a(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let n=0;n<t.length;n++)e+=r[t[n]];return e}(t):new TextDecoder(e,{ignoreBOM:n}).decode(t)}},46644(t,e,n){n.d(e,{w:()=>s});var r=n(36924);function s(t){if(typeof TextEncoder==r.AV){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new TextEncoder).encode(t)}},46284(t,e,n){function r(t){return Boolean(t)&&"object"==typeof t}n.d(e,{K:()=>r})},60017(t,e,n){function r(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};void 0!==n&&(r.filename=n),t.push(r)}}n.d(e,{A:()=>r}),n(36924)},45027(t,e,n){n.d(e,{C7:()=>I,HK:()=>M,Oh:()=>D}),n(36924);const r="filename",s="rawFilename",o="comment",a="rawComment",i="uncompressedSize",c="compressedSize",u="diskNumberStart",l="lastModDate",f="rawLastModDate",d="lastAccessDate",h="rawLastAccessDate",w="creationDate",p="rawCreationDate",m="internalFileAttributes",g="externalFileAttributes",y="msdosAttributesRaw",b="msdosAttributes",S="msDosCompatible",v="encrypted",z="version",k="versionMadeBy",U="zipCrypto",x="directory",A="executable",C="compressionMethod",O="signature",T="extraField",F="unixMode",R=[r,s,i,c,l,f,o,a,d,h,w,p,"offset",u,m,g,y,b,S,"zip64",v,z,k,U,x,A,"symlink",C,O,"crc32",T,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",F,"unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class M{constructor(t){R.forEach(e=>this[e]=t[e])}}const E=new Set([1,39169,10,21589,28789,25461,6534,30837,30805,22613,13]);function D(t){if(t){const e=new Map;if(t.forEach((t,n)=>{E.has(n)||e.set(n,t.data)}),e.size)return e}}function I(t,e,n){return t?e?12:16+4*n:0}n.d(e,["$T",0,S,"ET",0,y,"FJ",0,A,"Hq",0,w,"JJ",0,U,"Kq",0,o,"Nr",0,O,"Nz",0,d,"Pt",0,u,"Ri",0,a,"VF",0,i,"YQ",0,p,"ZQ",0,g,"Zs",0,C,"_x",0,x,"f9",0,b,"gk",0,r,"jF",0,k,"l0",0,v,"nX",0,s,"nd",0,F,"pf",0,m,"q_",0,h,"r9",0,z,"sw",0,c,"uD",0,f,"xI",0,l,"yg",0,T])},13304(t,e,n){n.d(e,{ZipReader:()=>F,wP:()=>a.wP});var r=n(36924),s=n(59459),o=n(45143),a=n(72758),i=n(31969),c=n(34904),u=n(73523),l=n(60017),f=n(68334),d=n(46284),h=n(93936),w=n(45027),p=n(92679);const m="File format is not recognized",g="Encryption method not supported",y="Split zip file",b="malformed extra field",S="wrapped entries count",v="appended data",z="prepended data",k="mismatched zip64 end of central directory record",U=/^[a-zA-Z]:/,x="utf-8",A="cp437",C=[[w.VF,r.ac],[w.sw,r.ac],["offset",r.ac],[w.Pt,65535]],O={65535:{getValue:at,bytes:4},[r.ac]:{getValue:it,bytes:8}},T=BigInt(Number.MAX_SAFE_INTEGER);class F{constructor(t,e={}){Object.assign(this,{reader:new i.b9(t),options:e,readRanges:new Map})}async*getEntriesGenerator(t={}){const e=this;let{reader:n}=e;if(await(0,i.ZD)(n),void 0!==n.size&&n.readUint8Array||(n=new i.nZ(await(0,f.x1)(n.readable)),await(0,i.ZD)(n)),n.size<22)throw new Error(m);const s=e.warnings=[],o=H(t,e.options),a="strict"==o,d=o!=p.xC,h=function(t,e){if(void 0!==t){const e=(0,p.Ro)(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return"strict"==e?0:e==p.xC?1/0:65535}(tt(e,t,p.mU),o),g=function(t,e){if(void 0===t)return e;if(!N(t))throw new Error("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t}(tt(e,t,p.cq),o),U=tt(e,t,p.eU),{endOfDirectoryInfo:C,endOfDirectoryReachingEndCount:O}=await async function(t,e,n){const{size:r}=t,s=Math.min(r,65557),o={count:64};let a,i,c=0;for await(const[n,u,l,f,d]of G(t,s))if(d+22+ot(n,f+20)==r){const s=await J(t,n,u,f,d,r,o);if(2==s){if(a||(a=Y(l,f,d)),c++,!e||c>1)break}else 1!=s||i||(i=Y(l,f,d))}return a||(a=i),a||(a=await async function(t,e,n){const{size:r}=t,s=Math.min(r,e==1/0?r:65557+e);let o,a;for await(const[e,i,c,u,l]of G(t,s)){const s=Y(c,u,l);o||(o=s);const f=await J(t,e,i,u,l,r,n);if(2==f)return s;1!=f||a||(a=s)}return a||o}(t,n,o)),{endOfDirectoryInfo:a,endOfDirectoryReachingEndCount:c}}(n,d,h);if(!C)throw await async function(t){return await Z(t)==r.ZP}(n)?new Error(y):new Error("End of central directory not found");d&&O>1&&$("multiple end of central directory records");const T=(0,u.MS)(C);let F=at(T,12),q=at(T,16);const B=C.offset,j=ot(T,20),P=B+22+j,W=n.size-P;W>h&&$(v),W>0&&(0,l.A)(s,v);let K=ot(T,4);const Q=n.lastDiskNumber||0;let nt,rt,st,ct,ut,lt=ot(T,6),ft=ot(T,10),dt=0,ht=56;const wt=q==r.ac||F==r.ac||65535==ft||65535==lt;if(q!=r.ac&&65535!=lt&&(q+=L(n,lt)),wt){const t=C.offset>=20?await(0,i.Ul)(n,C.offset-20,20):r.D6,e=(0,u.MS)(t);if(20==t.length&&at(e,0)==r.OL){q=L(n,at(e,4))+it(e,8);let t=await(0,i.Ul)(n,q,56),o=(0,u.MS)(t);const c=C.offset-20-56;if((t.length<56||at(o,0)!=r.Tm)&&q!=c&&c>=0){const e=q;q=c,q>e&&(dt=q-e),t=await(0,i.Ul)(n,q,56),o=(0,u.MS)(t)}if(t.length<56||at(o,0)!=r.Tm)throw new Error("End of Zip64 central directory locator not found");if(st=!0,ct=it(o,4)>44,ct){const t=Math.min(it(o,4)-44,n.size-q-56);t>0&&(ht+=t,ut=function(t){const e={rawExtensibleData:t};if(t.length>=28){const n=(0,u.MS)(t),r=ot(n,26);Object.assign(e,{compressionMethod:ot(n,0),compressedSize:it(n,2),uncompressedSize:it(n,10),encryptionAlgorithm:ot(n,18),bitLength:ot(n,20),flags:ot(n,22),hashAlgorithm:ot(n,24),hashData:t.subarray(28,28+r)})}return e}(await(0,i.Ul)(n,q+56,t)))}65535==K?K=at(o,16):K!=at(o,16)&&_(a,s,k),65535==lt?lt=at(o,20):lt!=at(o,20)&&_(a,s,k),65535==ft?ft=it(o,32):ft!=it(o,32)&&_(a,s,k),F==r.ac?F=it(o,40):F!=it(o,40)&&_(a,s,k),q=L(n,lt)+it(o,48)+dt}}let pt=F;const mt=C.offset-(st?ht+20:0);if(q>=n.size&&(dt=n.size-q-F-22,q=n.size-F-22),Q!=K)throw new Error(y);if(q<0)throw new Error(m);let gt=0,yt=await(0,i.Ul)(n,q,F),bt=(0,u.MS)(yt);if(F){if(yt.length<4)throw new Error(m);const t=mt-F;if(q!=t&<==K){const e=at(bt,gt)==r.cC||Boolean(ut&&ut.compressedSize)||M(bt);let s=!e;if(!s&&t>=0&&t+4<=n.size){const e=await(0,i.Ul)(n,t,4);s=at((0,u.MS)(e),0)==r.cC}if(s){const r=q;q=t,q>r&&(dt+=q-r,nt=e),yt=await(0,i.Ul)(n,q,F),bt=(0,u.MS)(yt)}}}const St=mt-q;if(F!=St&&St>=0&<==K&&(F=St,yt=await(0,i.Ul)(n,q,F),bt=(0,u.MS)(yt)),q<0||q>=n.size)throw new Error(m);e.directoryOffset=q,e.directoryLength=pt;const vt=et(e,t,p.kv);let zt,kt;if(vt&&ft&&yt.length>=4&&at(bt,0)!=r.cC&&(ct||M(bt))){const t=function(t,e,n){const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n}(ut,pt,yt.length);kt=yt.subarray(t),yt=await vt(yt.subarray(0,t),ut),bt=(0,u.MS)(yt),pt=yt.length,zt=!0}ut&&!zt&&(yt.length<4||at(bt,0)==r.cC)&&(0,l.A)(s,"unknown zip64 extensible data"),rt=q;const Ut=tt(e,t,p.IB),xt=tt(e,t,p.ku),At=new Set;let Ct,Ot=-1;const Tt=!a&&!st;!ft&&Tt&&(ft=E(bt,yt,gt),ft&&(0,l.A)(s,S));for(let o=0;o<ft;o++){const a=new R(n,e.options);if(gt+46>yt.length||at(bt,gt)!=r.cC){if(0==o&&!zt&&(ct||M(bt)))throw new Error("Encrypted central directory is not supported");throw new Error("Central directory header not found")}I(a,bt,gt+6);const i=Boolean(a.bitFlag.languageEncodingFlag),u=gt+46,d=u+a.filenameLength,h=d+a.extraFieldLength,m=ot(bt,gt+4),y=!(m>>8),v=m>>8==3,z=yt.subarray(u,d),k=ot(bt,gt+32),C=h+k,O=yt.subarray(h,C),T=i,F=i,D=at(bt,gt+38),q=255&D,B={readOnly:Boolean(1&q),hidden:Boolean(2&q),system:Boolean(4&q),directory:Boolean(16&q),archive:Boolean(32&q)},j=at(bt,gt+42),P=et(e,t,p.ln)||c.g,W=T?x:Ut||A,Z=F?x:xt||A;let N=P(z,W,p.j$);if(void 0===N&&(N=(0,c.g)(z,W)),U){const t=U(N);void 0!==t&&(N=t)}if(X(N,g)){const t=new Error("Unsafe filename");throw t.filename=N,t}let H=P(O,Z,p.LP);void 0===H&&(H=(0,c.g)(O,Z)),Object.assign(a,{index:o,decryptedDirectory:zt,versionMadeBy:m,msDosCompatible:y,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:k,offset:j,diskNumberStart:ot(bt,gt+34),internalFileAttributes:ot(bt,gt+36),externalFileAttributes:D,msdosAttributesRaw:q,msdosAttributes:B,rawFilename:z,filenameUTF8:T,commentUTF8:F,rawExtraField:yt.subarray(d,h),rawComment:O,filename:N,comment:H}),V(a,a,bt,gt+6)&&(0,l.A)(s,b,N),a.offset+=dt;const K=L(n,a.diskNumberStart)+a.offset;rt=Math.min(K,rt),K<Ot&&(0,l.A)(s,"unsorted central directory",N),Ot=K,(255&a.version)>63&&(0,l.A)(s,"unknown version needed to extract",N),32&~a.rawBitFlag||(0,l.A)(s,"compressed patched data",N),At.has(a.filename)&&(Ct=!0),At.add(a.filename);const G=a.externalFileAttributes>>16&65535;void 0===a.unixMode&&16877&G&&(a.unixMode=G);const Y=Boolean(2048&a.unixMode),J=Boolean(1024&a.unixMode),Q=Boolean(512&a.unixMode),_=40960==(61440&(void 0===a.unixMode?G:a.unixMode)),$=!_&&(void 0!==a.unixMode?!!(73&a.unixMode):v&&!!(73&G)),tt=void 0!==a.unixMode&&16384==(61440&a.unixMode),nt=16384==(61440&G);Object.assign(a,{setuid:Y,setgid:J,sticky:Q,symlink:_,unixExternalUpper:G,executable:$,directory:tt||nt||y&&B.directory||a.filename.endsWith("/"),zipCrypto:a.encrypted&&!a.extraFieldAES});const st=new w.HK(a);if(st.getData=(t,n)=>a.getData(t,st,e.readRanges,n),st.arrayBuffer=async t=>{const n=new TransformStream,r=(0,f.x1)(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(n,st,e.readRanges,Object.assign({},t,{preventClose:!1})),r},gt=C,o==ft-1&&Tt){const t=E(bt,yt,gt);t&&(ft+=t,(0,l.A)(s,S))}const{onprogress:it}=t;if(it)try{await it(o+1,ft,new w.HK(a))}catch{}yield st}let Ft=gt,Rt=D(yt.subarray(gt))||(zt?D(kt):void 0);if(!Rt&&!zt){const t=q+gt,e=Math.min(mt-t,65541);e>=6&&(Rt=D(await(0,i.Ul)(n,t,e)))}Rt&&(e.digitalSignature=Rt,Ft=gt+6+Rt.length),(gt!=pt&&Ft!=pt||!zt&>!=F&&Ft!=F)&&_(a,s,"trailing central directory data"),Ct&&_(a,s,"duplicate filename");const Mt=tt(e,t,p.JO),Et=tt(e,t,p.PG),Dt=(a||Mt)&&ft&&4==rt&&await async function(t){const e=await Z(t);return e==r.ZP||e==r.dh}(n)?4:0;return a&&(dt||ft&&rt>Dt)&&$(z),(dt||ft&&rt>4)&&(0,l.A)(s,z),nt&&(0,l.A)(s,"prepended central directory"),Mt&&(e.prependedData=rt>Dt?await(0,i.Ul)(n,Dt,rt-Dt):r.D6),e.comment=j?await(0,i.Ul)(n,B+22,j):r.D6,Et&&(e.appendedData=P<n.size?await(0,i.Ul)(n,P,n.size-P):r.D6),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[r.kZ](){return this.close()}}class R{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,n,c={}){const h=this,m=(0,s.D0)(),{reader:y,index:S,offset:v,diskNumberStart:z,extraFieldAES:k,extraFieldZip64:U,compressionMethod:x,bitFlag:A,rawBitFlag:C,crc32:O,rawLastModDate:T,uncompressedSize:F,compressedSize:R}=h,{dataDescriptor:M}=A,E=e.localDirectory={},D=e.warnings=[],q=L(y,z)+v,B=await(0,i.Ul)(y,q,30),j=(0,u.MS)(B);let P=tt(h,c,p.kF),Z=tt(h,c,p.JD);const N=(0,p.Ot)(tt(h,c,p.ki)),K=Boolean(N),X=!0===N;if((0,p.Tc)(P,Z),P=P&&P.length&&P,Z=Z&&Z.length&&Z,k&&99!=k.originalCompressionMethod)throw new Error(o.Ns);if(B.length<30||at(j,0)!=r.Gq)throw new Error("Local file header not found");I(E,j,4);const{extraFieldLength:G,filenameLength:Y}=E,J=E.dataOffset=q+30+Y+G,Q=tt(h,c,p.rm),$=H(c,h.options),et=function(t,e){return void 0===t?e!=p.xC:Boolean(t)}(Q,$),nt=tt(h,c,p.HL),rt=function(t,e){return void 0===t?"strict"==e:Boolean(t)}(void 0===nt?Q:nt,$);let st=r.D6;if(rt&&(Y||G)){const t=await(0,i.Ul)(y,q+30,Y+G);st=t.subarray(0,Y),E.rawExtraField=t.subarray(Y)}else E.rawExtraField=G?await(0,i.Ul)(y,q+30+Y,G):r.D6;rt&&(E.rawFilename=st),V(h,E,j,4,!0)&&(0,l.A)(D,b),function(t,e,n,r,s){const{rawFilename:o}=t,a=!s,i=t.decryptedDirectory&&!(8192&~e.rawBitFlag);!r||i||n.length==o.length&&!n.some((t,e)=>t!=o[e])||_(a,s,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&_(a,s,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&_(a,s,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||_(a,s,"mismatched local file header (crc32 or sizes)")}(h,E,st,rt,et?void 0:D);const{lastAccessDate:ot,creationDate:it,uid:ct,gid:ut}=E;ot&&(e.lastAccessDate=ot),it&&(e.creationDate=it),void 0!==ct&&void 0===e.uid&&(e.uid=ct),void 0!==ut&&void 0===e.gid&&(e.gid=ut);const lt=tt(h,c,p.Wm),ft=h.encrypted&&E.encrypted&&(!X||lt),dt=ft&&!k;if(X||(e.zipCrypto=dt),ft&&!(64&~E.rawBitFlag))throw new Error(g);const ht=K?void 0:(0,o.$_)(x);if(0!=x&&8!=x&&9!=x&&!ht&&!K)throw new Error(o.Ns);if(ft){if(!dt&&(k.strength<1||k.strength>3))throw new Error(g);if(!P&&!Z)throw new Error("File contains encrypted entry")}if(J+R>y.size)throw new Error("Entry data out of bounds");const wt=R,pt=(0,f.QK)(y.createReadable({offset:J,size:wt})),mt=(0,p.mR)(tt(h,c,"signal"));(0,p.Te)(mt);let gt=tt(h,c,p.sn);const yt=tt(h,c,p.VL);yt&&(gt=!0);const{onstart:bt,onprogress:St,onend:vt}=c,zt=0!=x&&!K,kt=K?R-(0,w.C7)(ft,dt,k&&k.strength):F,Ut=9==x;let xt=tt(h,c,p.kq);Ut&&(xt=!1);const At=tt(h,c,p.Fp),Ct=(void 0===At?tt(h,c,p.A4):At)&&!K&&(!ft||dt||k&&1==k.vendorVersion),Ot={options:{codecType:a.Re,password:P,rawPassword:Z,zipCrypto:dt,encryptionStrength:k&&k.strength,checkCrc32:Ct,checkAuthenticationCode:tt(h,c,p.Si),passwordVerification:dt&&(M?T>>>8&255:O>>>24&255),outputSize:kt,crc32:O,compressed:zt,encrypted:ft,useWebWorkers:tt(h,c,p.bn),useCompressionStream:xt,transferStreams:tt(h,c,p.SC),deflate64:Ut,format:ht?ht.format:void 0,codecURI:ht?ht.codecURI:void 0,compressionMethod:x,rawBitFlag:C,checkPasswordOnly:lt},config:m,streamOptions:{signal:mt,size:wt,onstart:bt,onprogress:St,onend:vt}};let Tt,Ft,Rt;gt&&await async function({reader:t,fileEntry:e,index:n,offset:s,crc32:o,compressedSize:a,uncompressedSize:c,dataOffset:l,dataDescriptor:f,extraFieldZip64:d,readRanges:h}){let w=0;if(f&&(w=d?20:12),w){const n=await(0,i.Ul)(t,l+a,w+4),s=(0,u.MS)(n);let f=n.length==w+4&&at(s,0)==r.Gi;if(f){const t=W(s,4,d);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==a&&t.uncompressedSize==c?w+=4:f=!1}if(n.length>=w){const t=W(s,f?4:0,d);t.signature=f,e.localDirectory.dataDescriptor=t}}const p={start:s,end:l+a+w,fileEntry:e};for(const[t,e]of h)if(t!=n&&p.start<e.end&&e.start<p.end){const t=new Error("Overlapping entry found");throw t.overlappingEntry=e.fileEntry,t}h.set(n,p)}({reader:y,fileEntry:e,index:S,offset:q,crc32:O,compressedSize:R,uncompressedSize:F,dataOffset:J,dataDescriptor:M||E.bitFlag.dataDescriptor,extraFieldZip64:U||E.extraFieldZip64,readRanges:n});try{if(!yt){lt&&(t=new WritableStream),t=new i.xm(t),await(0,i.ZD)(t,function(t,e,n){return Math.min(t,n?1032*e:e)}(kt,R,zt)),({writable:Tt}=t);const{outputSize:e}=await(0,a.WY)({readable:pt,writable:Tt},Ot);if(e!=kt)throw Object.assign(new Error(a.nD),{outputSize:e});t.size+=e}}catch(e){const{outputSize:n}=Ot;if(void 0!==n?t.size+=n:(0,d.K)(e)&&void 0!==e.outputSize&&(t.size+=e.outputSize),!lt||!(0,d.K)(e)||e.message!=a.mV)throw Ft=e,Rt=!0,e}finally{if(((0,i.kh)(t)||!tt(h,c,p.C5))&&Tt&&!Tt.locked){const t=Tt.getWriter();if(Rt)try{await t.abort(Ft)}catch{}else await t.close()}}return lt||yt?void 0:t.getData?t.getData():Tt}}function M(t){const e=Math.min(t.byteLength,1024)-3;for(let n=0;n<e;n++)if(at(t,n)==r.G4)return!0;return!1}function E(t,e,n){let s=0;for(;n+46<=e.length&&at(t,n)==r.cC;)n+=46+ot(t,n+28)+ot(t,n+30)+ot(t,n+32),s++;return s%65536?0:s}function D(t){if(t.length>=6){const e=(0,u.MS)(t);if(at(e,0)==r.nc){const n=ot(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function I(t,e,n){const r=t.rawBitFlag=ot(e,n+2),s=!(1&~r),o=at(e,n+6);Object.assign(t,{encrypted:s,version:ot(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:o,lastModDate:nt(o),filenameLength:ot(e,n+22),extraFieldLength:ot(e,n+24)})}function V(t,e,n,r,s){const{rawExtraField:o}=e,a=e.extraField=new Map,i=(0,u.MS)(o);let c=0,l=!1;try{for(;c<o.length;){const t=ot(i,c),e=ot(i,c+2);a.set(t,{type:t,data:o.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>o.length&&(l=!0);const f=ot(n,r+4);Object.assign(e,{signature:at(n,r+10),crc32:at(n,r+10),compressedSize:at(n,r+14),uncompressedSize:at(n,r+18)});const d=a.get(1);d&&(function(t,e){e.zip64=!0;const n=(0,u.MS)(t.data),r=C.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+O[e].bytes,0);if(t.data.length<s)throw new Error("Zip64 extra field not found");for(let s=0,o=0;s<r.length;s++){const[a,i]=r[s],c=O[i];e[a]=t[a]=c.getValue(n,o),o+=c.bytes}}(d,e),e.extraFieldZip64=d);const h=a.get(28789);h&&(q(h,w.gk,w.nX,e,t),e.extraFieldUnicodePath=h);const p=a.get(25461);p&&(q(p,w.Kq,w.Ri,e,t),e.extraFieldUnicodeComment=p);const m=a.get(39169);m&&m.data.length>=7?(function(t,e,n){const r=(0,u.MS)(t.data),s=st(r,4);Object.assign(t,{vendorVersion:st(r,0),vendorId:st(r,2),strength:s,originalCompressionMethod:n,compressionMethod:ot(r,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=void 0)}(m,e,f),e.extraFieldAES=m):e.compressionMethod=f;const g=a.get(13);g&&(B(g,e),e.extraFieldPkwareUnix=g);const y=a.get(22613);y&&(B(y,e),e.extraFieldUnixType1=y);const b=a.get(10);b&&(function(t,e){const n=(0,u.MS)(t.data);let r,s=4;try{for(;s<t.data.length&&!r;){const e=ot(n,s),o=ot(n,s+2);1==e&&(r=t.data.slice(s+4,s+4+o)),s+=4+o}}catch{}if(r&&24==r.length){const n=(0,u.MS)(r),s=n.getBigUint64(0,!0),o=n.getBigUint64(8,!0),a=n.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:s,rawLastAccessDate:o,rawCreationDate:a});const i={lastModDate:rt(s),lastAccessDate:rt(o),creationDate:rt(a)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:o,rawCreationDate:a})}}(b,e),e.extraFieldNTFS=b);const S=a.get(30805);let v;if(S&&(v=j(S,e,!1),e.extraFieldUnix=S),!v){const t=a.get(30837);t&&(j(t,e,!0),e.extraFieldInfoZip=t)}const z=a.get(21589);z&&(function(t,e,n){if(!t.data.length)return;const r=(0,u.MS)(t.data),s=st(r,0),o=[],a=[];n?(1&~s||(o.push(w.xI),a.push(w.uD)),2&~s||(o.push(w.Nz),a.push(w.q_)),4&~s||(o.push(w.Hq),a.push(w.YQ))):t.data.length>=5&&(o.push(w.xI),a.push(w.uD));let i=1;o.forEach((n,s)=>{if(t.data.length>=i+4){const o=at(r,i);e[n]=t[n]=new Date(1e3*(0|o));const c=a[s];t[c]=o}i+=4})}(z,e,s),e.extraFieldExtendedTimestamp=z);const k=a.get(6534);return k&&(e.extraFieldUSDZ=k),l}function q(t,e,n,r,s){if(t.data.length<5)return void(t.valid=!1);const o=(0,u.MS)(t.data),a=new h.s;a.append(s[n]);const i=(0,u.MS)(new Uint8Array(4));i.setUint32(0,a.get(),!0);const l=at(o,1),f=st(o,0);Object.assign(t,{version:f,[e]:(0,c.g)(t.data.subarray(5)),valid:1==f&&!s.bitFlag.languageEncodingFlag&&l==at(i,0)}),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function B(t,e){if(t.data.length<8)return;const n=(0,u.MS)(t.data),r={lastAccessDate:new Date(1e3*(0|at(n,0))),lastModDate:new Date(1e3*(0|at(n,4)))};t.data.length>=12&&(r.uid=ot(n,8),r.gid=ot(n,10)),Object.assign(t,r),Object.assign(e,r)}function j(t,e,n){try{const r=(0,u.MS)(t.data);let s,o;if(n){let e=0;const n=st(r,e++),a=st(r,e++);s=P(t.data.subarray(e,e+a)),e+=a;const i=st(r,e++);o=P(t.data.subarray(e,e+i)),Object.assign(t,{version:n,uid:s,gid:o})}else t.data.length>=4&&(s=ot(r,0),o=ot(r,2),Object.assign(t,{uid:s,gid:o}));return void 0!==s&&(e.uid=s),void 0!==o&&(e.gid=o),void 0!==s||void 0!==o}catch{}}function P(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function W(t,e,n){const r=at(t,e);let s,o;return n?(s=it(t,e+4),o=it(t,e+12)):(s=at(t,e+4),o=at(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:o}}function L(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function Z(t){const e=await(0,i.Ul)(t,0,4);return at((0,u.MS)(e))}function N(t){return"strict"===t||t===p.So||t===p.xC}function H(t,e){return K(t,K(e,p.So))}function K(t,e){const n=t[p.BH];if(void 0!==n){if(!N(n))throw new Error("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t[p.D9];return void 0===r?e:r?"strict":e==p.xC?p.xC:p.So}function X(t,e){if(e==p.xC)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||U.test(t))||"strict"==e&&(n.includes(".")||n.includes(""))}async function*G(t,e){const n=t.size-e,s=await(0,i.Ul)(t,n,e),o=(0,u.MS)(s);for(let t=s.length-22;t>=0;t--)at(o,t)==r.fB&&(yield[o,n,s,t,n+t])}function Y(t,e,n){return{offset:n,buffer:t.slice(e,e+22).buffer}}async function J(t,e,n,s,o,a,i){const c=ot(e,s+10),u=at(e,s+12),l=at(e,s+16);if(65535==c||u==r.ac||l==r.ac)return await Q(t,e,n,o-20,a,i)==r.OL?2:0;if(!c&&!u)return 1;const f=ot(e,s+6);for(const s of[o-u,L(t,f)+l])if(await Q(t,e,n,s,a,i)==r.cC)return 2;return 0}async function Q(t,e,n,r,s,o){if(!(r<0||r+4>s)){if(r>=n)return at(e,r-n);if(o.count>0){o.count--;const e=await(0,i.Ul)(t,r,4);return at((0,u.MS)(e),0)}}}function _(t,e,n){t?$(n):(0,l.A)(e,n)}function $(t){const e=new Error("Ambiguous archive");throw e.reason=t,e}function tt(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function et(t,e,n){return(0,p.oe)(tt(t,e,n))}function nt(t){const e=(4294901760&t)>>16,n=65535&t,s=new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return s<r.AN?r.AN:s}function rt(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function st(t,e){return t.getUint8(e)}function ot(t,e){return t.getUint16(e,!0)}function at(t,e){return t.getUint32(e,!0)}function it(t,e){const n=t.getBigUint64(e,!0);if(n>T)throw new Error("64-bit value exceeds Number.MAX_SAFE_INTEGER");return Number(n)}}}]);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/1.0/LICENSE.txt */
|
|
2
|
-
import{RopePullController as t}from"../../state/controllers/RopePullController.js";import{InputHandler as e}from"../../../input/InputHandler.js";import{eventMatchesMousePointerActions as s}from"../../../input/handlers/support.js";class r extends e{constructor(t,e,s){super(!0),this._view=t,this.pointerActions=e,this._lastEndTimestamp=0,this._lastTimestamp=0,this.registerIncoming("drag",s,t=>this._handleDrag(t))}_handleDrag(t){if("mouse"===t.data.pointerType&&!s(t.data,this.pointerActions))return;const e=t.timestamp-this._lastEndTimestamp,r=40,i=this._momentum&&this._momentum.running&&e<r;switch(t.data.action){case"start":case"update":if(i)break;this._controller&&this._controller.running?t.data.timestamp-this._lastTimestamp>2&&(this._controller.update(t.data),this._lastTimestamp=t.timestamp):this._startController(t);break;case"end":case"removed":this._endController(t,!0);break;case"added":this._endController(t,!1),this._startController(t)}t.stopPropagation()}_endController(t,e){if(this._controller?.running){this._lastEndTimestamp=t.timestamp;const s=this._controller.end(t.data);e&&s&&(this._momentum=s,this._view.state.switchCameraController(this._momentum))}this._controller=null}_startController(t){this._controller=this._createController(),this._view.state.switchCameraController(this._controller),this._controller.begin(t.data),this._lastTimestamp=t.timestamp}_createController(){return new t({view:this._view})}}export{r as RopePullNavigation};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/1.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import{prefersReducedMotion as i}from"../../../../core/a11yUtils.js";import{createScreenPointArray as e,screenPointObjectToArray as r}from"../../../../core/screenUtils.js";import{subclass as o}from"../../../../core/accessorSupport/decorators.js";import{copy as n,distance as s}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{scaleAndAdd as a,dot as h,crossAndNormalize as l,scale as m,add as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as _}from"../../../../geometry/ellipsoidUtils.js";import{create as u,fromPositionAndNormal as d}from"../../../../geometry/support/plane.js";import{Sphere as P}from"../../../../geometry/support/sphere.js";import{pixelDistanceToInteractionFactor as g,applyAll as C}from"../../camera/constraintUtils.js";import{ConstraintOptions as v}from"../../camera/constraintUtils/ConstraintOptions.js";import{InteractiveController as f}from"./InteractiveController.js";import{RopePullMomentumController as w}from"./momentum/RopePullMomentumController.js";import{ropePullMaxElevation as S,findSphereHorizonY as b,computeHorizonPaddingLimits as z,findPlaneHorizonY as j,findGlobalModeRopePullGrabLocation as y,findLocalModeRopePullGrabLocation as R,ropePullYSpeedMultiplier as M,ropePullXSpeedMultiplier as T}from"../utils/ropePullUtils.js";import H from"../../webgl/RenderCamera.js";import{RopePullMomentumEstimator as E}from"../../../navigation/RopePullMomentumEstimator.js";let Y=class extends f{constructor(t){super(t),this._validState=!0,this._adjustedScenePoint=c(),this._ropePullMomentumEstimator=new E,this._referenceSphere=new P,this._referencePlane=u(),this._tmp3d=c(),this._screenPointArray=e(),this._forwardRopeComponent=c(),this._sidewaysRopeComponent=c(),this._ropeTranslation=c(),this._beginScreenPoint=e(),this._screenPickPoint=e(),this._horizonY=null,this._horizonPadding=null,this._ropeBeginScreenPoint=e(),this._ropeScreenHeight=1,this._ropePlane=u(),this._ropePullOverHorizonVelocityAdjustment=1,this._pointerCount=0,this._beginCamera=new H,this._constraintOptions=new v(15,0,0,this._beginCamera)}get isGlobalMode(){return 1===this.view.state.viewingMode}get momentumEnabled(){return this.view.navigation.momentumEnabled&&this.view.animationsEnabled&&!i()}begin(t){this.running&&(this._pointerCount=t.pointers.size,r(t.center,this._screenPickPoint),Math.abs(this._screenPickPoint[0]-this.view.width/2)<.1&&(this._screenPickPoint[0]+=1),n(this._beginScreenPoint,this._screenPickPoint),this.startCamera.relativeElevation>S?this._validState=!1:(this._initClampValues(),this._prepareRopePullMode(),this._beginCamera.copyFrom(this.startCamera)))}update(t){this.running&&this._validState&&(this.currentCamera.copyFrom(this.startCamera),this._panningRopePull(t),this.commitCamera())}end(t){return t.pointers.size===this._pointerCount&&this.update(t),this.finishController(),this.createMomentum()}_initClampValues(){this.isGlobalMode?this._globalInitClampValues():this._localInitClampValues()}_globalInitClampValues(){this._referenceSphere.radius=_(this.view.spatialReference).radius,this._horizonY=b(this.startCamera,this._referenceSphere,this._screenPickPoint),this._horizonPadding=null!=this._horizonY?z(this.startCamera,this._horizonY):null}_localInitClampValues(){const t=c();this.view.renderCoordsHelper.worldUpAtPosition(this.startCamera.eye,t);const i=c();a(i,this.startCamera.eye,t,-this.startCamera.relativeElevation),d(i,t,this._referencePlane),this._horizonY=j(this.startCamera,this._referencePlane),this._horizonPadding=z(this.startCamera,this._horizonY)}_prepareRopePullMode(){if(!this._horizonY||!this._horizonPadding)return;this._ropePullMomentumEstimator.reset(),this._ropeBeginScreenPoint=this._screenPickPoint,this._ropeScreenHeight=this.startCamera.fullHeight/this.startCamera.pixelRatio;if(!(this.isGlobalMode?y({view:this.view,originalScreenPoint:this._ropeBeginScreenPoint,horizonY:this._horizonY,horizonPadding:this._horizonPadding,outRopeTranslation:this._ropeTranslation,outGrabLocation:this._adjustedScenePoint}):R({view:this.view,originalScreenPoint:this._ropeBeginScreenPoint,horizonY:this._horizonY,horizonPadding:this._horizonPadding,outRopeTranslation:this._ropeTranslation,outGrabLocation:this._adjustedScenePoint})))return void(this._validState=!1);const t=c();this.view.renderCoordsHelper.worldUpAtPosition(this.startCamera.eye,t);const i=this.startCamera.viewRight,e=h(this._ropeTranslation,i),r=l(c(),t,i),o=h(this._ropeTranslation,r);m(this._forwardRopeComponent,r,o),m(this._sidewaysRopeComponent,i,e),d(this._adjustedScenePoint,t,this._ropePlane);const n=this._ropeScreenHeight-this._beginScreenPoint[1],s=this._ropeScreenHeight-this._horizonPadding[0];this._ropePullOverHorizonVelocityAdjustment=Math.max(n/s,1)}_panningRopePull(t){if(!this._horizonY||!this._horizonPadding)return;const i=r(t.center,this._screenPointArray),e=this.startCamera.fullWidth/this.startCamera.pixelRatio*.5,o=(this._ropeScreenHeight-i[1])/(this._ropeScreenHeight-this._beginScreenPoint[1]),n=1-o,h=(i[0]-e)/(this._beginScreenPoint[0]-e),l=n*M*this._ropePullOverHorizonVelocityAdjustment,c=(n*T+o*((1-h)*T))*this._ropePullOverHorizonVelocityAdjustment;m(this._ropeTranslation,this._forwardRopeComponent,l),a(this._ropeTranslation,this._ropeTranslation,this._sidewaysRopeComponent,c),this.currentCamera.eye=p(this._tmp3d,this.startCamera.eye,this._ropeTranslation),this.currentCamera.center=p(this._tmp3d,this.startCamera.center,this._ropeTranslation),this.momentumEnabled&&this._ropePullMomentumEstimator.update(i,this._ropeTranslation,.001*t.timestamp),this._constraintOptions.interactionType=6,this._constraintOptions.interactionFactor=g(s(this._beginScreenPoint,i)),this._constraintOptions.interactionDirection=this._ropeTranslation,C(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}createMomentum(){const t=this.momentumEnabled&&this._ropePullMomentumEstimator.createMomentum();return t?new w({view:this.view,momentum:t}):null}};Y=t([o("esri.views.3d.state.controllers.RopePullController")],Y);export{Y as RopePullController};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/1.0/LICENSE.txt */
|
|
2
|
-
import{createScreenPointArray as e}from"../../../../core/screenUtils.js";import{distance as t,normalize as n,cross as o,add as r,crossAndNormalize as i,subtract as s,dot as a,scaleAndAdd as c,scale as u,copy as l,length as m}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as d}from"../../../../geometry/ellipsoidUtils.js";import{create as f,fromPositionAndNormal as h,distance as S,projectPoint as g,projectVector as j}from"../../../../geometry/support/plane.js";import{create as P}from"../../../../geometry/support/ray.js";import{Sphere as w}from"../../../../geometry/support/sphere.js";import{getVoxelWasm as v}from"../../layers/VoxelWasm.js";import{pickPointAndInitSphere as y,sphereOrPlanePointFromScreenPoint as I,intersectPlaneFromScreenPoint as b}from"./navigationUtils.js";import{fromScreenAtEye as z}from"../../support/geometryUtils/ray.js";import{Intersector as M}from"../../webgl-engine/lib/Intersector.js";const k=90,x=1.5,R=x,A=x,T=1e4,F=.1,G=12,q=p(),O=p(),H=e(),N=p(),U=f(),Y=p(),C=p(),D=p(),V=p(),E=p(),L=p(),W=p(),_=p(),B=p(),J=p(),K=e(),Q=P(),X=new w,Z=p(),$=f(),ee=p();function te(e,t){return j(t,e.viewForward,q),r(O,e.eye,q),e.projectToScreen(O,H),H[1]}function ne(e,l,m){const p=e.eye;if(t(l.center,p)<l.radius)return n(E,p),o(L,E,e.viewRight),r(O,p,L),e.projectToScreen(O,K),K[1];const d=e.up;z(e,m,Q);const f=l.radius;if(i(N,d,Q.direction),h(p,N,U),S(U,l.center)>f)return null;g(U,l.center,Y);const j=t(l.center,Y),P=Math.sqrt(f**2-j**2);s(C,p,Y),n(D,C),i(V,N,D);const w=a(C,D),v=a(C,V),y=Math.sqrt(w**2+v**2),I=P**2/y**2,b=P/y**2*Math.sqrt(y**2-P**2),M=I*w,k=b*-v,x=I*v,R=b*w,A=M-k,T=x+R,F=x-R;r(W,Y,c(W,u(W,D,M+k),V,T)),r(_,Y,c(_,u(_,D,A),V,F)),s(B,W,p),n(B,B),s(J,_,p),n(J,J);return a(e.viewForward,B)>=a(e.viewForward,J)?e.projectToScreen(W,K):e.projectToScreen(_,K),K[1]}function oe(e,t,n=!0){return n?e<t:e<=t}function re(e,t,n=!0){return n?e>t:e>=t}function ie(e,t,n){return t?e>n:e<n}function se(e,t){const n=e.fullHeight/e.pixelRatio,o=Math.max(t,n-t);return Math.max(G,F*o)}function ae(e,t){return[ce(e,t),ue(e,t)]}function ce(e,t){const n=e.fullHeight/e.pixelRatio;return Math.min(n,t+se(e,t))}function ue(e,t){return Math.max(0,t-se(e,t))}function le(e,t,n){const o={translation:e,location:t};return n&&(o.normal=n),o}function me(e){const{view:o,originalScreenPoint:r,horizonY:i,horizonPadding:s,outRopeTranslation:a,outGrabLocation:c,outGrabNormal:u,intersectionOptions:m,depthSearchSize:p}=e,f=o.state.camera,h=le(a,c,u);X.radius=d(o.spatialReference).radius;const S=y(o,f,r,X.radius,1,m);if(null==S.scenePickPoint)return!1;const g=S.hasGeometryIntersection;l(Z,S.scenePickPoint),l(h.location,Z);const j=S.sphere;h.normal&&S.normal&&l(h.normal,S.normal);const P=fe(r,i,s,g),w=t(Z,f.eye);if(P.wasAdjusted){Se({view:o,screenAdjustment:P,intersector:he(o),fallbackCheck:(e,t,o)=>{const r=I(j,f,e,t);return r&&o&&n(o,t),r},output:h,intersectionOptions:m})}return je({view:o,screenPoint:P.adjustedScreenPoint,camera:f,initialRopeDistance:w,depthSearchSize:p??k,output:h}),!0}function pe(e){const{view:o,originalScreenPoint:r,horizonY:i,horizonPadding:s,outRopeTranslation:a,outGrabLocation:u,outGrabNormal:m,intersectionOptions:p,depthSearchSize:d}=e,f=o.sceneIntersectionHelper,S=o.state.camera,g=he(o),j=le(a,u,m);f.intersectIntersectorScreen(r,g,p);const P=g.results.min.getIntersectionPoint(Z),w=P?t(Z,S.eye):Number.POSITIVE_INFINITY;P&&(l(j.location,Z),j.normal&&l(j.normal,g.results.min.normal)),o.renderCoordsHelper.worldUpAtPosition(S.eye,E),c(ee,S.eye,E,-S.relativeElevation),h(ee,E,$);const v=fe(r,i,s,P);if(v.wasAdjusted){Se({view:o,screenAdjustment:v,intersector:g,fallbackCheck:(e,t,o)=>{const r=b($,S,e,t);return r&&o&&n(o,E),r},output:j,intersectionOptions:p})}return je({view:o,screenPoint:v.adjustedScreenPoint,camera:S,initialRopeDistance:w,depthSearchSize:d??k,output:j}),!0}function de(e,t,n,o){return!o&&oe(e,t)||o&&ie(e,!1,n[0])?n[0]:!o&&re(e,t,!1)?n[1]:null}function fe(t,n,o,r){const i=de(t[1],n,o,r);return{originalScreenPoint:t,adjustedScreenPoint:e(t[0],i??t[1]),horizonY:n,horizonPadding:o,wasAdjusted:null!==i}}function he(e){const t=new M(e.state.viewingMode);return t.options.selectionMode=!0,t.options.store=0,t.options.hud=!1,t.options.normalRequired=!0,t}function Se(e){const{view:t,screenAdjustment:n,fallbackCheck:o,intersector:r,output:i,intersectionOptions:s}=e,a=t.sceneIntersectionHelper;a.intersectIntersectorScreen(n.adjustedScreenPoint,r,{...s,requiresGroundFeedback:!0});let c=r.results.min.getIntersectionPoint(i.location);if(c)return void(i.normal&&l(i.normal,r.results.min.normal));const u=ge(n);a.intersectIntersectorScreen(u,r,{...s,requiresGroundFeedback:!0}),c=r.results.min.getIntersectionPoint(i.location),c?i.normal&&l(i.normal,r.results.min.normal):(c=o(n.adjustedScreenPoint,i.location,i.normal),c||o(u,i.location,i.normal))}function ge(t){const{originalScreenPoint:n,adjustedScreenPoint:o,horizonY:r,horizonPadding:i}=t,s=re(o[1],r)?Math.min(i[1],n[1]):Math.max(i[0],n[1]);return e(o[0],s)}function je(e){const{view:t,screenPoint:o,camera:i,initialRopeDistance:a,depthSearchSize:c,output:l}=e,p=c>0?t.stage.renderView.getMinimalDepthForArea(v(t),o[0],o[1],i,c):null;s(l.translation,l.location,i.eye);let d=Math.min(m(l.translation),a);p&&p<=d&&(d=p),n(l.translation,l.translation),u(l.translation,l.translation,d),r(l.location,l.translation,i.eye)}export{se as computeHorizonPadding,ae as computeHorizonPaddingLimits,me as findGlobalModeRopePullGrabLocation,pe as findLocalModeRopePullGrabLocation,te as findPlaneHorizonY,ne as findSphereHorizonY,oe as isAboveHorizon,re as isBelowHorizon,T as ropePullMaxElevation,A as ropePullXSpeedMultiplier,R as ropePullYSpeedMultiplier,ie as shouldClampScreenY};
|