@loaders.gl/3d-tiles 4.4.0-alpha.13 → 4.4.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -1
- package/dist/3d-tiles-archive-loader.js +1 -1
- package/dist/dist.dev.js +610 -427
- package/dist/dist.min.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts +1 -1
- package/dist/lib/utils/version.js +1 -1
- package/package.json +12 -12
package/dist/dist.min.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
6
|
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
-
"use strict";var __exports__=(()=>{var d0=Object.create;var xo=Object.defineProperty;var A0=Object.getOwnPropertyDescriptor;var m0=Object.getOwnPropertyNames;var p0=Object.getPrototypeOf,g0=Object.prototype.hasOwnProperty;var ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),de=(e,t)=>{for(var r in t)xo(e,r,{get:t[r],enumerable:!0})},Bo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m0(t))!g0.call(e,o)&&o!==r&&xo(e,o,{get:()=>t[o],enumerable:!(n=A0(t,o))||n.enumerable});return e},Eo=(e,t,r)=>(Bo(e,t,"default"),r&&Bo(r,t,"default")),xr=(e,t,r)=>(r=e!=null?d0(p0(e)):{},Bo(t||!e||!e.__esModule?xo(r,"default",{value:e,enumerable:!0}):r,e)),B0=e=>Bo(xo({},"__esModule",{value:!0}),e);var un=ce((l2,Pc)=>{Pc.exports=globalThis.loaders});var At=ce(pe=>{"use strict";var lE=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function hE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}pe.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)hE(r,n)&&(e[n]=r[n])}}return e};pe.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var uE={arraySet:function(e,t,r,n,o){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),o);return}for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){var t,r,n,o,s,i;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(i=new Uint8Array(n),o=0,t=0,r=e.length;t<r;t++)s=e[t],i.set(s,o),o+=s.length;return i}},dE={arraySet:function(e,t,r,n,o){for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};pe.setTyped=function(e){e?(pe.Buf8=Uint8Array,pe.Buf16=Uint16Array,pe.Buf32=Int32Array,pe.assign(pe,uE)):(pe.Buf8=Array,pe.Buf16=Array,pe.Buf32=Array,pe.assign(pe,dE))};pe.setTyped(lE)});var Uu=ce(en=>{"use strict";var AE=At(),mE=4,pu=0,gu=1,pE=2;function $r(e){for(var t=e.length;--t>=0;)e[t]=0}var gE=0,Cu=1,BE=2,xE=3,EE=258,nc=29,no=256,$n=no+1+nc,qr=30,oc=19,Tu=2*$n+1,ar=15,Wa=16,_E=7,sc=256,bu=16,wu=17,Mu=18,tc=[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],Cs=[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],yE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Iu=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],CE=512,mt=new Array(($n+2)*2);$r(mt);var qn=new Array(qr*2);$r(qn);var eo=new Array(CE);$r(eo);var to=new Array(EE-xE+1);$r(to);var ic=new Array(nc);$r(ic);var Ts=new Array(qr);$r(Ts);function qa(e,t,r,n,o){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=o,this.has_stree=e&&e.length}var Su,Fu,Ru;function $a(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Du(e){return e<256?eo[e]:eo[256+(e>>>7)]}function ro(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Te(e,t,r){e.bi_valid>Wa-r?(e.bi_buf|=t<<e.bi_valid&65535,ro(e,e.bi_buf),e.bi_buf=t>>Wa-e.bi_valid,e.bi_valid+=r-Wa):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function et(e,t,r){Te(e,r[t*2],r[t*2+1])}function Ou(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function TE(e){e.bi_valid===16?(ro(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function bE(e,t){var r=t.dyn_tree,n=t.max_code,o=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,f=t.stat_desc.max_length,c,l,h,u,d,A,m=0;for(u=0;u<=ar;u++)e.bl_count[u]=0;for(r[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<Tu;c++)l=e.heap[c],u=r[r[l*2+1]*2+1]+1,u>f&&(u=f,m++),r[l*2+1]=u,!(l>n)&&(e.bl_count[u]++,d=0,l>=a&&(d=i[l-a]),A=r[l*2],e.opt_len+=A*(u+d),s&&(e.static_len+=A*(o[l*2+1]+d)));if(m!==0){do{for(u=f-1;e.bl_count[u]===0;)u--;e.bl_count[u]--,e.bl_count[u+1]+=2,e.bl_count[f]--,m-=2}while(m>0);for(u=f;u!==0;u--)for(l=e.bl_count[u];l!==0;)h=e.heap[--c],!(h>n)&&(r[h*2+1]!==u&&(e.opt_len+=(u-r[h*2+1])*r[h*2],r[h*2+1]=u),l--)}}function Lu(e,t,r){var n=new Array(ar+1),o=0,s,i;for(s=1;s<=ar;s++)n[s]=o=o+r[s-1]<<1;for(i=0;i<=t;i++){var a=e[i*2+1];a!==0&&(e[i*2]=Ou(n[a]++,a))}}function wE(){var e,t,r,n,o,s=new Array(ar+1);for(r=0,n=0;n<nc-1;n++)for(ic[n]=r,e=0;e<1<<tc[n];e++)to[r++]=n;for(to[r-1]=n,o=0,n=0;n<16;n++)for(Ts[n]=o,e=0;e<1<<Cs[n];e++)eo[o++]=n;for(o>>=7;n<qr;n++)for(Ts[n]=o<<7,e=0;e<1<<Cs[n]-7;e++)eo[256+o++]=n;for(t=0;t<=ar;t++)s[t]=0;for(e=0;e<=143;)mt[e*2+1]=8,e++,s[8]++;for(;e<=255;)mt[e*2+1]=9,e++,s[9]++;for(;e<=279;)mt[e*2+1]=7,e++,s[7]++;for(;e<=287;)mt[e*2+1]=8,e++,s[8]++;for(Lu(mt,$n+1,s),e=0;e<qr;e++)qn[e*2+1]=5,qn[e*2]=Ou(e,5);Su=new qa(mt,tc,no+1,$n,ar),Fu=new qa(qn,Cs,0,qr,ar),Ru=new qa(new Array(0),yE,0,oc,_E)}function Gu(e){var t;for(t=0;t<$n;t++)e.dyn_ltree[t*2]=0;for(t=0;t<qr;t++)e.dyn_dtree[t*2]=0;for(t=0;t<oc;t++)e.bl_tree[t*2]=0;e.dyn_ltree[sc*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Nu(e){e.bi_valid>8?ro(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function ME(e,t,r,n){Nu(e),n&&(ro(e,r),ro(e,~r)),AE.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Bu(e,t,r,n){var o=t*2,s=r*2;return e[o]<e[s]||e[o]===e[s]&&n[t]<=n[r]}function ec(e,t,r){for(var n=e.heap[r],o=r<<1;o<=e.heap_len&&(o<e.heap_len&&Bu(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!Bu(t,n,e.heap[o],e.depth));)e.heap[r]=e.heap[o],r=o,o<<=1;e.heap[r]=n}function xu(e,t,r){var n,o,s=0,i,a;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+s*2]<<8|e.pending_buf[e.d_buf+s*2+1],o=e.pending_buf[e.l_buf+s],s++,n===0?et(e,o,t):(i=to[o],et(e,i+no+1,t),a=tc[i],a!==0&&(o-=ic[i],Te(e,o,a)),n--,i=Du(n),et(e,i,r),a=Cs[i],a!==0&&(n-=Ts[i],Te(e,n,a)));while(s<e.last_lit);et(e,sc,t)}function rc(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.elems,i,a,f=-1,c;for(e.heap_len=0,e.heap_max=Tu,i=0;i<s;i++)r[i*2]!==0?(e.heap[++e.heap_len]=f=i,e.depth[i]=0):r[i*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=f<2?++f:0,r[c*2]=1,e.depth[c]=0,e.opt_len--,o&&(e.static_len-=n[c*2+1]);for(t.max_code=f,i=e.heap_len>>1;i>=1;i--)ec(e,r,i);c=s;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ec(e,r,1),a=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=a,r[c*2]=r[i*2]+r[a*2],e.depth[c]=(e.depth[i]>=e.depth[a]?e.depth[i]:e.depth[a])+1,r[i*2+1]=r[a*2+1]=c,e.heap[1]=c++,ec(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],bE(e,t),Lu(r,f,e.bl_count)}function Eu(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)&&(a<c?e.bl_tree[s*2]+=a:s!==0?(s!==o&&e.bl_tree[s*2]++,e.bl_tree[bu*2]++):a<=10?e.bl_tree[wu*2]++:e.bl_tree[Mu*2]++,a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4))}function _u(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),n=0;n<=r;n++)if(s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)){if(a<c)do et(e,s,e.bl_tree);while(--a!==0);else s!==0?(s!==o&&(et(e,s,e.bl_tree),a--),et(e,bu,e.bl_tree),Te(e,a-3,2)):a<=10?(et(e,wu,e.bl_tree),Te(e,a-3,3)):(et(e,Mu,e.bl_tree),Te(e,a-11,7));a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4)}}function IE(e){var t;for(Eu(e,e.dyn_ltree,e.l_desc.max_code),Eu(e,e.dyn_dtree,e.d_desc.max_code),rc(e,e.bl_desc),t=oc-1;t>=3&&e.bl_tree[Iu[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function SE(e,t,r,n){var o;for(Te(e,t-257,5),Te(e,r-1,5),Te(e,n-4,4),o=0;o<n;o++)Te(e,e.bl_tree[Iu[o]*2+1],3);_u(e,e.dyn_ltree,t-1),_u(e,e.dyn_dtree,r-1)}function FE(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return pu;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return gu;for(r=32;r<no;r++)if(e.dyn_ltree[r*2]!==0)return gu;return pu}var yu=!1;function RE(e){yu||(wE(),yu=!0),e.l_desc=new $a(e.dyn_ltree,Su),e.d_desc=new $a(e.dyn_dtree,Fu),e.bl_desc=new $a(e.bl_tree,Ru),e.bi_buf=0,e.bi_valid=0,Gu(e)}function vu(e,t,r,n){Te(e,(gE<<1)+(n?1:0),3),ME(e,t,r,!0)}function DE(e){Te(e,Cu<<1,3),et(e,sc,mt),TE(e)}function OE(e,t,r,n){var o,s,i=0;e.level>0?(e.strm.data_type===pE&&(e.strm.data_type=FE(e)),rc(e,e.l_desc),rc(e,e.d_desc),i=IE(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?vu(e,t,r,n):e.strategy===mE||s===o?(Te(e,(Cu<<1)+(n?1:0),3),xu(e,mt,qn)):(Te(e,(BE<<1)+(n?1:0),3),SE(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),xu(e,e.dyn_ltree,e.dyn_dtree)),Gu(e),n&&Nu(e)}function LE(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(to[r]+no+1)*2]++,e.dyn_dtree[Du(t)*2]++),e.last_lit===e.lit_bufsize-1}en._tr_init=RE;en._tr_stored_block=vu;en._tr_flush_block=OE;en._tr_tally=LE;en._tr_align=DE});var ac=ce((OR,Pu)=>{"use strict";function GE(e,t,r,n){for(var o=e&65535|0,s=e>>>16&65535|0,i=0;r!==0;){i=r>2e3?2e3:r,r-=i;do o=o+t[n++]|0,s=s+o|0;while(--i);o%=65521,s%=65521}return o|s<<16|0}Pu.exports=GE});var cc=ce((LR,Hu)=>{"use strict";function NE(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var vE=NE();function UE(e,t,r,n){var o=vE,s=n+r;e^=-1;for(var i=n;i<s;i++)e=e>>>8^o[(e^t[i])&255];return e^-1}Hu.exports=UE});var bs=ce((GR,ku)=>{"use strict";ku.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var Yu=ce(nt=>{"use strict";var ge=At(),ve=Uu(),Vu=ac(),Lt=cc(),PE=bs(),hr=0,HE=1,kE=3,Pt=4,Ju=5,rt=0,zu=1,Ue=-2,JE=-3,fc=-5,zE=-1,QE=1,ws=2,VE=3,jE=4,KE=0,XE=2,Fs=8,ZE=9,YE=15,WE=8,qE=29,$E=256,hc=$E+1+qE,e_=30,t_=19,r_=2*hc+1,n_=15,J=3,vt=258,Ve=vt+J+1,o_=32,Rs=42,uc=69,Ms=73,Is=91,Ss=103,cr=113,so=666,ae=1,io=2,fr=3,nn=4,s_=3;function Ut(e,t){return e.msg=PE[t],t}function Qu(e){return(e<<1)-(e>4?9:0)}function Nt(e){for(var t=e.length;--t>=0;)e[t]=0}function Gt(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(ge.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function ue(e,t){ve._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Gt(e.strm)}function j(e,t){e.pending_buf[e.pending++]=t}function oo(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function i_(e,t,r,n){var o=e.avail_in;return o>n&&(o=n),o===0?0:(e.avail_in-=o,ge.arraySet(t,e.input,e.next_in,o,r),e.state.wrap===1?e.adler=Vu(e.adler,t,o,r):e.state.wrap===2&&(e.adler=Lt(e.adler,t,o,r)),e.next_in+=o,e.total_in+=o,o)}function ju(e,t){var r=e.max_chain_length,n=e.strstart,o,s,i=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-Ve?e.strstart-(e.w_size-Ve):0,c=e.window,l=e.w_mask,h=e.prev,u=e.strstart+vt,d=c[n+i-1],A=c[n+i];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(o=t,!(c[o+i]!==A||c[o+i-1]!==d||c[o]!==c[n]||c[++o]!==c[n+1])){n+=2,o++;do;while(c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&n<u);if(s=vt-(u-n),n=u-vt,s>i){if(e.match_start=t,i=s,s>=a)break;d=c[n+i-1],A=c[n+i]}}while((t=h[t&l])>f&&--r!==0);return i<=e.lookahead?i:e.lookahead}function lr(e){var t=e.w_size,r,n,o,s,i;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ve)){ge.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do o=e.head[--r],e.head[r]=o>=t?o-t:0;while(--n);n=t,r=n;do o=e.prev[--r],e.prev[r]=o>=t?o-t:0;while(--n);s+=t}if(e.strm.avail_in===0)break;if(n=i_(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=n,e.lookahead+e.insert>=J)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+J-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<J)););}while(e.lookahead<Ve&&e.strm.avail_in!==0)}function a_(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(lr(e),e.lookahead===0&&t===hr)return ae;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,ue(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Ve&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:nn):(e.strstart>e.block_start&&(ue(e,!1),e.strm.avail_out===0),ae)}function lc(e,t){for(var r,n;;){if(e.lookahead<Ve){if(lr(e),e.lookahead<Ve&&t===hr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Ve&&(e.match_length=ju(e,r)),e.match_length>=J)if(n=ve._tr_tally(e,e.strstart-e.match_start,e.match_length-J),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=J){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:nn):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function tn(e,t){for(var r,n,o;;){if(e.lookahead<Ve){if(lr(e),e.lookahead<Ve&&t===hr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=J-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Ve&&(e.match_length=ju(e,r),e.match_length<=5&&(e.strategy===QE||e.match_length===J&&e.strstart-e.match_start>4096)&&(e.match_length=J-1)),e.prev_length>=J&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-J,n=ve._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-J),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=J-1,e.strstart++,n&&(ue(e,!1),e.strm.avail_out===0))return ae}else if(e.match_available){if(n=ve._tr_tally(e,0,e.window[e.strstart-1]),n&&ue(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ae}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=ve._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:nn):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function c_(e,t){for(var r,n,o,s,i=e.window;;){if(e.lookahead<=vt){if(lr(e),e.lookahead<=vt&&t===hr)return ae;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=J&&e.strstart>0&&(o=e.strstart-1,n=i[o],n===i[++o]&&n===i[++o]&&n===i[++o])){s=e.strstart+vt;do;while(n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&o<s);e.match_length=vt-(s-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=J?(r=ve._tr_tally(e,1,e.match_length-J),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:nn):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function f_(e,t){for(var r;;){if(e.lookahead===0&&(lr(e),e.lookahead===0)){if(t===hr)return ae;break}if(e.match_length=0,r=ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:nn):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function tt(e,t,r,n,o){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=o}var rn;rn=[new tt(0,0,0,0,a_),new tt(4,4,8,4,lc),new tt(4,5,16,8,lc),new tt(4,6,32,32,lc),new tt(4,4,16,16,tn),new tt(8,16,32,32,tn),new tt(8,16,128,128,tn),new tt(8,32,128,256,tn),new tt(32,128,258,1024,tn),new tt(32,258,258,4096,tn)];function l_(e){e.window_size=2*e.w_size,Nt(e.head),e.max_lazy_match=rn[e.level].max_lazy,e.good_match=rn[e.level].good_length,e.nice_match=rn[e.level].nice_length,e.max_chain_length=rn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=J-1,e.match_available=0,e.ins_h=0}function h_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Fs,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ge.Buf16(r_*2),this.dyn_dtree=new ge.Buf16((2*e_+1)*2),this.bl_tree=new ge.Buf16((2*t_+1)*2),Nt(this.dyn_ltree),Nt(this.dyn_dtree),Nt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ge.Buf16(n_+1),this.heap=new ge.Buf16(2*hc+1),Nt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ge.Buf16(2*hc+1),Nt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ku(e){var t;return!e||!e.state?Ut(e,Ue):(e.total_in=e.total_out=0,e.data_type=XE,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Rs:cr,e.adler=t.wrap===2?0:1,t.last_flush=hr,ve._tr_init(t),rt)}function Xu(e){var t=Ku(e);return t===rt&&l_(e.state),t}function u_(e,t){return!e||!e.state||e.state.wrap!==2?Ue:(e.state.gzhead=t,rt)}function Zu(e,t,r,n,o,s){if(!e)return Ue;var i=1;if(t===zE&&(t=6),n<0?(i=0,n=-n):n>15&&(i=2,n-=16),o<1||o>ZE||r!==Fs||n<8||n>15||t<0||t>9||s<0||s>jE)return Ut(e,Ue);n===8&&(n=9);var a=new h_;return e.state=a,a.strm=e,a.wrap=i,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=o+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+J-1)/J),a.window=new ge.Buf8(a.w_size*2),a.head=new ge.Buf16(a.hash_size),a.prev=new ge.Buf16(a.w_size),a.lit_bufsize=1<<o+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new ge.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=(1+2)*a.lit_bufsize,a.level=t,a.strategy=s,a.method=r,Xu(e)}function d_(e,t){return Zu(e,t,Fs,YE,WE,KE)}function A_(e,t){var r,n,o,s;if(!e||!e.state||t>Ju||t<0)return e?Ut(e,Ue):Ue;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===so&&t!==Pt)return Ut(e,e.avail_out===0?fc:Ue);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Rs)if(n.wrap===2)e.adler=0,j(n,31),j(n,139),j(n,8),n.gzhead?(j(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),j(n,n.gzhead.time&255),j(n,n.gzhead.time>>8&255),j(n,n.gzhead.time>>16&255),j(n,n.gzhead.time>>24&255),j(n,n.level===9?2:n.strategy>=ws||n.level<2?4:0),j(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(j(n,n.gzhead.extra.length&255),j(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Lt(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=uc):(j(n,0),j(n,0),j(n,0),j(n,0),j(n,0),j(n,n.level===9?2:n.strategy>=ws||n.level<2?4:0),j(n,s_),n.status=cr);else{var i=Fs+(n.w_bits-8<<4)<<8,a=-1;n.strategy>=ws||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,i|=a<<6,n.strstart!==0&&(i|=o_),i+=31-i%31,n.status=cr,oo(n,i),n.strstart!==0&&(oo(n,e.adler>>>16),oo(n,e.adler&65535)),e.adler=1}if(n.status===uc)if(n.gzhead.extra){for(o=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),Gt(e),o=n.pending,n.pending===n.pending_buf_size));)j(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Ms)}else n.status=Ms;if(n.status===Ms)if(n.gzhead.name){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),Gt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.name.length?s=n.gzhead.name.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.gzindex=0,n.status=Is)}else n.status=Is;if(n.status===Is)if(n.gzhead.comment){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),Gt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.comment.length?s=n.gzhead.comment.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.status=Ss)}else n.status=Ss;if(n.status===Ss&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Gt(e),n.pending+2<=n.pending_buf_size&&(j(n,e.adler&255),j(n,e.adler>>8&255),e.adler=0,n.status=cr)):n.status=cr),n.pending!==0){if(Gt(e),e.avail_out===0)return n.last_flush=-1,rt}else if(e.avail_in===0&&Qu(t)<=Qu(r)&&t!==Pt)return Ut(e,fc);if(n.status===so&&e.avail_in!==0)return Ut(e,fc);if(e.avail_in!==0||n.lookahead!==0||t!==hr&&n.status!==so){var f=n.strategy===ws?f_(n,t):n.strategy===VE?c_(n,t):rn[n.level].func(n,t);if((f===fr||f===nn)&&(n.status=so),f===ae||f===fr)return e.avail_out===0&&(n.last_flush=-1),rt;if(f===io&&(t===HE?ve._tr_align(n):t!==Ju&&(ve._tr_stored_block(n,0,0,!1),t===kE&&(Nt(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Gt(e),e.avail_out===0))return n.last_flush=-1,rt}return t!==Pt?rt:n.wrap<=0?zu:(n.wrap===2?(j(n,e.adler&255),j(n,e.adler>>8&255),j(n,e.adler>>16&255),j(n,e.adler>>24&255),j(n,e.total_in&255),j(n,e.total_in>>8&255),j(n,e.total_in>>16&255),j(n,e.total_in>>24&255)):(oo(n,e.adler>>>16),oo(n,e.adler&65535)),Gt(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?rt:zu)}function m_(e){var t;return!e||!e.state?Ue:(t=e.state.status,t!==Rs&&t!==uc&&t!==Ms&&t!==Is&&t!==Ss&&t!==cr&&t!==so?Ut(e,Ue):(e.state=null,t===cr?Ut(e,JE):rt))}function p_(e,t){var r=t.length,n,o,s,i,a,f,c,l;if(!e||!e.state||(n=e.state,i=n.wrap,i===2||i===1&&n.status!==Rs||n.lookahead))return Ue;for(i===1&&(e.adler=Vu(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(i===0&&(Nt(n.head),n.strstart=0,n.block_start=0,n.insert=0),l=new ge.Buf8(n.w_size),ge.arraySet(l,t,r-n.w_size,n.w_size,0),t=l,r=n.w_size),a=e.avail_in,f=e.next_in,c=e.input,e.avail_in=r,e.next_in=0,e.input=t,lr(n);n.lookahead>=J;){o=n.strstart,s=n.lookahead-(J-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[o+J-1])&n.hash_mask,n.prev[o&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=o,o++;while(--s);n.strstart=o,n.lookahead=J-1,lr(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=J-1,n.match_available=0,e.next_in=f,e.input=c,e.avail_in=a,n.wrap=i,rt}nt.deflateInit=d_;nt.deflateInit2=Zu;nt.deflateReset=Xu;nt.deflateResetKeep=Ku;nt.deflateSetHeader=u_;nt.deflate=A_;nt.deflateEnd=m_;nt.deflateSetDictionary=p_;nt.deflateInfo="pako deflate (from Nodeca project)"});var dc=ce(on=>{"use strict";var Ds=At(),Wu=!0,qu=!0;try{String.fromCharCode.apply(null,[0])}catch{Wu=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{qu=!1}var ao=new Ds.Buf8(256);for(pt=0;pt<256;pt++)ao[pt]=pt>=252?6:pt>=248?5:pt>=240?4:pt>=224?3:pt>=192?2:1;var pt;ao[254]=ao[254]=1;on.string2buf=function(e){var t,r,n,o,s,i=e.length,a=0;for(o=0;o<i;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Ds.Buf8(a),s=0,o=0;s<a;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|r&63):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|r&63):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|r&63);return t};function $u(e,t){if(t<65534&&(e.subarray&&qu||!e.subarray&&Wu))return String.fromCharCode.apply(null,Ds.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}on.buf2binstring=function(e){return $u(e,e.length)};on.binstring2buf=function(e){for(var t=new Ds.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t};on.buf2string=function(e,t){var r,n,o,s,i=t||e.length,a=new Array(i*2);for(n=0,r=0;r<i;){if(o=e[r++],o<128){a[n++]=o;continue}if(s=ao[o],s>4){a[n++]=65533,r+=s-1;continue}for(o&=s===2?31:s===3?15:7;s>1&&r<i;)o=o<<6|e[r++]&63,s--;if(s>1){a[n++]=65533;continue}o<65536?a[n++]=o:(o-=65536,a[n++]=55296|o>>10&1023,a[n++]=56320|o&1023)}return $u(a,n)};on.utf8border=function(e,t){var r;for(t=t||e.length,t>e.length&&(t=e.length),r=t-1;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+ao[e[r]]>t?r:t}});var Ac=ce((UR,ed)=>{"use strict";function g_(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}ed.exports=g_});var od=ce(lo=>{"use strict";var co=Yu(),fo=At(),pc=dc(),gc=bs(),B_=Ac(),nd=Object.prototype.toString,x_=0,mc=4,sn=0,td=1,rd=2,E_=-1,__=0,y_=8;function ur(e){if(!(this instanceof ur))return new ur(e);this.options=fo.assign({level:E_,method:y_,chunkSize:16384,windowBits:15,memLevel:8,strategy:__,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new B_,this.strm.avail_out=0;var r=co.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==sn)throw new Error(gc[r]);if(t.header&&co.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(typeof t.dictionary=="string"?n=pc.string2buf(t.dictionary):nd.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=co.deflateSetDictionary(this.strm,n),r!==sn)throw new Error(gc[r]);this._dict_set=!0}}ur.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o,s;if(this.ended)return!1;s=t===~~t?t:t===!0?mc:x_,typeof e=="string"?r.input=pc.string2buf(e):nd.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new fo.Buf8(n),r.next_out=0,r.avail_out=n),o=co.deflate(r,s),o!==td&&o!==sn)return this.onEnd(o),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===mc||s===rd))&&(this.options.to==="string"?this.onData(pc.buf2binstring(fo.shrinkBuf(r.output,r.next_out))):this.onData(fo.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&o!==td);return s===mc?(o=co.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===sn):(s===rd&&(this.onEnd(sn),r.avail_out=0),!0)};ur.prototype.onData=function(e){this.chunks.push(e)};ur.prototype.onEnd=function(e){e===sn&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=fo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Bc(e,t){var r=new ur(t);if(r.push(e,!0),r.err)throw r.msg||gc[r.err];return r.result}function C_(e,t){return t=t||{},t.raw=!0,Bc(e,t)}function T_(e,t){return t=t||{},t.gzip=!0,Bc(e,t)}lo.Deflate=ur;lo.deflate=Bc;lo.deflateRaw=C_;lo.gzip=T_});var id=ce((HR,sd)=>{"use strict";var Os=30,b_=12;sd.exports=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,A,m,p,E,y,T,b,C,M,I,O,B,g,x;n=t.state,o=t.next_in,g=t.input,s=o+(t.avail_in-5),i=t.next_out,x=t.output,a=i-(r-t.avail_out),f=i+(t.avail_out-257),c=n.dmax,l=n.wsize,h=n.whave,u=n.wnext,d=n.window,A=n.hold,m=n.bits,p=n.lencode,E=n.distcode,y=(1<<n.lenbits)-1,T=(1<<n.distbits)-1;e:do{m<15&&(A+=g[o++]<<m,m+=8,A+=g[o++]<<m,m+=8),b=p[A&y];t:for(;;){if(C=b>>>24,A>>>=C,m-=C,C=b>>>16&255,C===0)x[i++]=b&65535;else if(C&16){M=b&65535,C&=15,C&&(m<C&&(A+=g[o++]<<m,m+=8),M+=A&(1<<C)-1,A>>>=C,m-=C),m<15&&(A+=g[o++]<<m,m+=8,A+=g[o++]<<m,m+=8),b=E[A&T];r:for(;;){if(C=b>>>24,A>>>=C,m-=C,C=b>>>16&255,C&16){if(I=b&65535,C&=15,m<C&&(A+=g[o++]<<m,m+=8,m<C&&(A+=g[o++]<<m,m+=8)),I+=A&(1<<C)-1,I>c){t.msg="invalid distance too far back",n.mode=Os;break e}if(A>>>=C,m-=C,C=i-a,I>C){if(C=I-C,C>h&&n.sane){t.msg="invalid distance too far back",n.mode=Os;break e}if(O=0,B=d,u===0){if(O+=l-C,C<M){M-=C;do x[i++]=d[O++];while(--C);O=i-I,B=x}}else if(u<C){if(O+=l+u-C,C-=u,C<M){M-=C;do x[i++]=d[O++];while(--C);if(O=0,u<M){C=u,M-=C;do x[i++]=d[O++];while(--C);O=i-I,B=x}}}else if(O+=u-C,C<M){M-=C;do x[i++]=d[O++];while(--C);O=i-I,B=x}for(;M>2;)x[i++]=B[O++],x[i++]=B[O++],x[i++]=B[O++],M-=3;M&&(x[i++]=B[O++],M>1&&(x[i++]=B[O++]))}else{O=i-I;do x[i++]=x[O++],x[i++]=x[O++],x[i++]=x[O++],M-=3;while(M>2);M&&(x[i++]=x[O++],M>1&&(x[i++]=x[O++]))}}else if(C&64){t.msg="invalid distance code",n.mode=Os;break e}else{b=E[(b&65535)+(A&(1<<C)-1)];continue r}break}}else if(C&64)if(C&32){n.mode=b_;break e}else{t.msg="invalid literal/length code",n.mode=Os;break e}else{b=p[(b&65535)+(A&(1<<C)-1)];continue t}break}}while(o<s&&i<f);M=m>>3,o-=M,m-=M<<3,A&=(1<<m)-1,t.next_in=o,t.next_out=i,t.avail_in=o<s?5+(s-o):5-(o-s),t.avail_out=i<f?257+(f-i):257-(i-f),n.hold=A,n.bits=m}});var dd=ce((kR,ud)=>{"use strict";var ad=At(),an=15,cd=852,fd=592,ld=0,xc=1,hd=2,w_=[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,0,0],M_=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],I_=[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,0,0],S_=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];ud.exports=function(t,r,n,o,s,i,a,f){var c=f.bits,l=0,h=0,u=0,d=0,A=0,m=0,p=0,E=0,y=0,T=0,b,C,M,I,O,B=null,g=0,x,_=new ad.Buf16(an+1),U=new ad.Buf16(an+1),v=null,P=0,G,ee,Be;for(l=0;l<=an;l++)_[l]=0;for(h=0;h<o;h++)_[r[n+h]]++;for(A=c,d=an;d>=1&&_[d]===0;d--);if(A>d&&(A=d),d===0)return s[i++]=1<<24|64<<16|0,s[i++]=1<<24|64<<16|0,f.bits=1,0;for(u=1;u<d&&_[u]===0;u++);for(A<u&&(A=u),E=1,l=1;l<=an;l++)if(E<<=1,E-=_[l],E<0)return-1;if(E>0&&(t===ld||d!==1))return-1;for(U[1]=0,l=1;l<an;l++)U[l+1]=U[l]+_[l];for(h=0;h<o;h++)r[n+h]!==0&&(a[U[r[n+h]]++]=h);if(t===ld?(B=v=a,x=19):t===xc?(B=w_,g-=257,v=M_,P-=257,x=256):(B=I_,v=S_,x=-1),T=0,h=0,l=u,O=i,m=A,p=0,M=-1,y=1<<A,I=y-1,t===xc&&y>cd||t===hd&&y>fd)return 1;for(;;){G=l-p,a[h]<x?(ee=0,Be=a[h]):a[h]>x?(ee=v[P+a[h]],Be=B[g+a[h]]):(ee=32+64,Be=0),b=1<<l-p,C=1<<m,u=C;do C-=b,s[O+(T>>p)+C]=G<<24|ee<<16|Be|0;while(C!==0);for(b=1<<l-1;T&b;)b>>=1;if(b!==0?(T&=b-1,T+=b):T=0,h++,--_[l]===0){if(l===d)break;l=r[n+a[h]]}if(l>A&&(T&I)!==M){for(p===0&&(p=A),O+=u,m=l-p,E=1<<m;m+p<d&&(E-=_[m+p],!(E<=0));)m++,E<<=1;if(y+=1<<m,t===xc&&y>cd||t===hd&&y>fd)return 1;M=T&I,s[M]=A<<24|m<<16|O-i|0}}return T!==0&&(s[O+T]=l-p<<24|64<<16|0),f.bits=A,0}});var Xd=ce(je=>{"use strict";var Ie=At(),bc=ac(),ot=cc(),F_=id(),ho=dd(),R_=0,Pd=1,Hd=2,Ad=4,D_=5,Ls=6,dr=0,O_=1,L_=2,Pe=-2,kd=-3,wc=-4,G_=-5,md=8,Jd=1,pd=2,gd=3,Bd=4,xd=5,Ed=6,_d=7,yd=8,Cd=9,Td=10,vs=11,gt=12,Ec=13,bd=14,_c=15,wd=16,Md=17,Id=18,Sd=19,Gs=20,Ns=21,Fd=22,Rd=23,Dd=24,Od=25,Ld=26,yc=27,Gd=28,Nd=29,$=30,Mc=31,N_=32,v_=852,U_=592,P_=15,H_=P_;function vd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function k_(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Ie.Buf16(320),this.work=new Ie.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function zd(e){var t;return!e||!e.state?Pe:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Jd,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ie.Buf32(v_),t.distcode=t.distdyn=new Ie.Buf32(U_),t.sane=1,t.back=-1,dr)}function Qd(e){var t;return!e||!e.state?Pe:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,zd(e))}function Vd(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Pe:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Qd(e))}function jd(e,t){var r,n;return e?(n=new k_,e.state=n,n.window=null,r=Vd(e,t),r!==dr&&(e.state=null),r):Pe}function J_(e){return jd(e,H_)}var Ud=!0,Cc,Tc;function z_(e){if(Ud){var t;for(Cc=new Ie.Buf32(512),Tc=new Ie.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ho(Pd,e.lens,0,288,Cc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ho(Hd,e.lens,0,32,Tc,0,e.work,{bits:5}),Ud=!1}e.lencode=Cc,e.lenbits=9,e.distcode=Tc,e.distbits=5}function Kd(e,t,r,n){var o,s=e.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Ie.Buf8(s.wsize)),n>=s.wsize?(Ie.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(o=s.wsize-s.wnext,o>n&&(o=n),Ie.arraySet(s.window,t,r-n,o,s.wnext),n-=o,n?(Ie.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}function Q_(e,t){var r,n,o,s,i,a,f,c,l,h,u,d,A,m,p=0,E,y,T,b,C,M,I,O,B=new Ie.Buf8(4),g,x,_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Pe;r=e.state,r.mode===gt&&(r.mode=Ec),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,h=a,u=f,O=dr;e:for(;;)switch(r.mode){case Jd:if(r.wrap===0){r.mode=Ec;break}for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.wrap&2&&c===35615){r.check=0,B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0),c=0,l=0,r.mode=pd;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=$;break}if((c&15)!==md){e.msg="unknown compression method",r.mode=$;break}if(c>>>=4,l-=4,I=(c&15)+8,r.wbits===0)r.wbits=I;else if(I>r.wbits){e.msg="invalid window size",r.mode=$;break}r.dmax=1<<I,e.adler=r.check=1,r.mode=c&512?Td:gt,c=0,l=0;break;case pd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.flags=c,(r.flags&255)!==md){e.msg="unknown compression method",r.mode=$;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=$;break}r.head&&(r.head.text=c>>8&1),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=gd;case gd:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.time=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,B[2]=c>>>16&255,B[3]=c>>>24&255,r.check=ot(r.check,B,4,0)),c=0,l=0,r.mode=Bd;case Bd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=c&255,r.head.os=c>>8),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=xd;case xd:if(r.flags&1024){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length=c,r.head&&(r.head.extra_len=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0}else r.head&&(r.head.extra=null);r.mode=Ed;case Ed:if(r.flags&1024&&(d=r.length,d>a&&(d=a),d&&(r.head&&(I=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Ie.arraySet(r.head.extra,n,s,d,I)),r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=_d;case _d:if(r.flags&2048){if(a===0)break e;d=0;do I=n[s+d++],r.head&&I&&r.length<65536&&(r.head.name+=String.fromCharCode(I));while(I&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,I)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=yd;case yd:if(r.flags&4096){if(a===0)break e;d=0;do I=n[s+d++],r.head&&I&&r.length<65536&&(r.head.comment+=String.fromCharCode(I));while(I&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,I)break e}else r.head&&(r.head.comment=null);r.mode=Cd;case Cd:if(r.flags&512){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.check&65535)){e.msg="header crc mismatch",r.mode=$;break}c=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=gt;break;case Td:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}e.adler=r.check=vd(c),c=0,l=0,r.mode=vs;case vs:if(r.havedict===0)return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,L_;e.adler=r.check=1,r.mode=gt;case gt:if(t===D_||t===Ls)break e;case Ec:if(r.last){c>>>=l&7,l-=l&7,r.mode=yc;break}for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}switch(r.last=c&1,c>>>=1,l-=1,c&3){case 0:r.mode=bd;break;case 1:if(z_(r),r.mode=Gs,t===Ls){c>>>=2,l-=2;break e}break;case 2:r.mode=Md;break;case 3:e.msg="invalid block type",r.mode=$}c>>>=2,l-=2;break;case bd:for(c>>>=l&7,l-=l&7;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",r.mode=$;break}if(r.length=c&65535,c=0,l=0,r.mode=_c,t===Ls)break e;case _c:r.mode=wd;case wd:if(d=r.length,d){if(d>a&&(d=a),d>f&&(d=f),d===0)break e;Ie.arraySet(o,n,s,d,i),a-=d,s+=d,f-=d,i+=d,r.length-=d;break}r.mode=gt;break;case Md:for(;l<14;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.nlen=(c&31)+257,c>>>=5,l-=5,r.ndist=(c&31)+1,c>>>=5,l-=5,r.ncode=(c&15)+4,c>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=$;break}r.have=0,r.mode=Id;case Id:for(;r.have<r.ncode;){for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.lens[_[r.have++]]=c&7,c>>>=3,l-=3}for(;r.have<19;)r.lens[_[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,g={bits:r.lenbits},O=ho(R_,r.lens,0,19,r.lencode,0,r.work,g),r.lenbits=g.bits,O){e.msg="invalid code lengths set",r.mode=$;break}r.have=0,r.mode=Sd;case Sd:for(;r.have<r.nlen+r.ndist;){for(;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(T<16)c>>>=E,l-=E,r.lens[r.have++]=T;else{if(T===16){for(x=E+2;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c>>>=E,l-=E,r.have===0){e.msg="invalid bit length repeat",r.mode=$;break}I=r.lens[r.have-1],d=3+(c&3),c>>>=2,l-=2}else if(T===17){for(x=E+3;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,I=0,d=3+(c&7),c>>>=3,l-=3}else{for(x=E+7;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,I=0,d=11+(c&127),c>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=$;break}for(;d--;)r.lens[r.have++]=I}}if(r.mode===$)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=$;break}if(r.lenbits=9,g={bits:r.lenbits},O=ho(Pd,r.lens,0,r.nlen,r.lencode,0,r.work,g),r.lenbits=g.bits,O){e.msg="invalid literal/lengths set",r.mode=$;break}if(r.distbits=6,r.distcode=r.distdyn,g={bits:r.distbits},O=ho(Hd,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,g),r.distbits=g.bits,O){e.msg="invalid distances set",r.mode=$;break}if(r.mode=Gs,t===Ls)break e;case Gs:r.mode=Ns;case Ns:if(a>=6&&f>=258){e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,F_(e,u),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,r.mode===gt&&(r.back=-1);break}for(r.back=0;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(y&&!(y&240)){for(b=E,C=y,M=T;p=r.lencode[M+((c&(1<<b+C)-1)>>b)],E=p>>>24,y=p>>>16&255,T=p&65535,!(b+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=b,l-=b,r.back+=b}if(c>>>=E,l-=E,r.back+=E,r.length=T,y===0){r.mode=Ld;break}if(y&32){r.back=-1,r.mode=gt;break}if(y&64){e.msg="invalid literal/length code",r.mode=$;break}r.extra=y&15,r.mode=Fd;case Fd:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Rd;case Rd:for(;p=r.distcode[c&(1<<r.distbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(!(y&240)){for(b=E,C=y,M=T;p=r.distcode[M+((c&(1<<b+C)-1)>>b)],E=p>>>24,y=p>>>16&255,T=p&65535,!(b+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=b,l-=b,r.back+=b}if(c>>>=E,l-=E,r.back+=E,y&64){e.msg="invalid distance code",r.mode=$;break}r.offset=T,r.extra=y&15,r.mode=Dd;case Dd:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.offset+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=$;break}r.mode=Od;case Od:if(f===0)break e;if(d=u-f,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=$;break}d>r.wnext?(d-=r.wnext,A=r.wsize-d):A=r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=o,A=i-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do o[i++]=m[A++];while(--d);r.length===0&&(r.mode=Ns);break;case Ld:if(f===0)break e;o[i++]=r.length,f--,r.mode=Ns;break;case yc:if(r.wrap){for(;l<32;){if(a===0)break e;a--,c|=n[s++]<<l,l+=8}if(u-=f,e.total_out+=u,r.total+=u,u&&(e.adler=r.check=r.flags?ot(r.check,o,u,i-u):bc(r.check,o,u,i-u)),u=f,(r.flags?c:vd(c))!==r.check){e.msg="incorrect data check",r.mode=$;break}c=0,l=0}r.mode=Gd;case Gd:if(r.wrap&&r.flags){for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=$;break}c=0,l=0}r.mode=Nd;case Nd:O=O_;break e;case $:O=kd;break e;case Mc:return wc;case N_:default:return Pe}return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,(r.wsize||u!==e.avail_out&&r.mode<$&&(r.mode<yc||t!==Ad))&&Kd(e,e.output,e.next_out,u-e.avail_out)?(r.mode=Mc,wc):(h-=e.avail_in,u-=e.avail_out,e.total_in+=h,e.total_out+=u,r.total+=u,r.wrap&&u&&(e.adler=r.check=r.flags?ot(r.check,o,u,e.next_out-u):bc(r.check,o,u,e.next_out-u)),e.data_type=r.bits+(r.last?64:0)+(r.mode===gt?128:0)+(r.mode===Gs||r.mode===_c?256:0),(h===0&&u===0||t===Ad)&&O===dr&&(O=G_),O)}function V_(e){if(!e||!e.state)return Pe;var t=e.state;return t.window&&(t.window=null),e.state=null,dr}function j_(e,t){var r;return!e||!e.state||(r=e.state,!(r.wrap&2))?Pe:(r.head=t,t.done=!1,dr)}function K_(e,t){var r=t.length,n,o,s;return!e||!e.state||(n=e.state,n.wrap!==0&&n.mode!==vs)?Pe:n.mode===vs&&(o=1,o=bc(o,t,r,0),o!==n.check)?kd:(s=Kd(e,t,r,r),s?(n.mode=Mc,wc):(n.havedict=1,dr))}je.inflateReset=Qd;je.inflateReset2=Vd;je.inflateResetKeep=zd;je.inflateInit=J_;je.inflateInit2=jd;je.inflate=Q_;je.inflateEnd=V_;je.inflateGetHeader=j_;je.inflateSetDictionary=K_;je.inflateInfo="pako inflate (from Nodeca project)"});var Ic=ce((zR,Zd)=>{"use strict";Zd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var Wd=ce((QR,Yd)=>{"use strict";function X_(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Yd.exports=X_});var $d=ce(Ao=>{"use strict";var cn=Xd(),uo=At(),Us=dc(),ne=Ic(),Sc=bs(),Z_=Ac(),Y_=Wd(),qd=Object.prototype.toString;function Ar(e){if(!(this instanceof Ar))return new Ar(e);this.options=uo.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Z_,this.strm.avail_out=0;var r=cn.inflateInit2(this.strm,t.windowBits);if(r!==ne.Z_OK)throw new Error(Sc[r]);if(this.header=new Y_,cn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Us.string2buf(t.dictionary):qd.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=cn.inflateSetDictionary(this.strm,t.dictionary),r!==ne.Z_OK)))throw new Error(Sc[r])}Ar.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o=this.options.dictionary,s,i,a,f,c,l=!1;if(this.ended)return!1;i=t===~~t?t:t===!0?ne.Z_FINISH:ne.Z_NO_FLUSH,typeof e=="string"?r.input=Us.binstring2buf(e):qd.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new uo.Buf8(n),r.next_out=0,r.avail_out=n),s=cn.inflate(r,ne.Z_NO_FLUSH),s===ne.Z_NEED_DICT&&o&&(s=cn.inflateSetDictionary(this.strm,o)),s===ne.Z_BUF_ERROR&&l===!0&&(s=ne.Z_OK,l=!1),s!==ne.Z_STREAM_END&&s!==ne.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===ne.Z_STREAM_END||r.avail_in===0&&(i===ne.Z_FINISH||i===ne.Z_SYNC_FLUSH))&&(this.options.to==="string"?(a=Us.utf8border(r.output,r.next_out),f=r.next_out-a,c=Us.buf2string(r.output,a),r.next_out=f,r.avail_out=n-f,f&&uo.arraySet(r.output,r.output,a,f,0),this.onData(c)):this.onData(uo.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(l=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==ne.Z_STREAM_END);return s===ne.Z_STREAM_END&&(i=ne.Z_FINISH),i===ne.Z_FINISH?(s=cn.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===ne.Z_OK):(i===ne.Z_SYNC_FLUSH&&(this.onEnd(ne.Z_OK),r.avail_out=0),!0)};Ar.prototype.onData=function(e){this.chunks.push(e)};Ar.prototype.onEnd=function(e){e===ne.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=uo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Fc(e,t){var r=new Ar(t);if(r.push(e,!0),r.err)throw r.msg||Sc[r.err];return r.result}function W_(e,t){return t=t||{},t.raw=!0,Fc(e,t)}Ao.Inflate=Ar;Ao.inflate=Fc;Ao.inflateRaw=W_;Ao.ungzip=Fc});var r0=ce((jR,t0)=>{"use strict";var q_=At().assign,$_=od(),e2=$d(),t2=Ic(),e0={};q_(e0,$_,e2,t2);t0.exports=e0});var n0=ce(()=>{});var mo={};de(mo,{CesiumIonLoader:()=>Va,TILE3D_TYPE:()=>_e,Tile3DBatchTable:()=>ut,Tile3DFeatureTable:()=>Je,Tile3DSubtreeLoader:()=>Vr,Tile3DWriter:()=>h0,Tiles3DArchive:()=>fn,Tiles3DArchiveFileLoader:()=>s0,Tiles3DLoader:()=>rr,_getIonTilesetMetadata:()=>Bs});Eo(mo,xr(un(),1));async function He(e,t,r,n){return n._parse(e,t,r,n)}function z(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Xe={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},x0=Xe.self||Xe.window||Xe.global||{},E0=Xe.window||Xe.self||Xe.global||{},_0=Xe.global||Xe.self||Xe.window||{},y0=Xe.document||{};var Ee=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Hc=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),C0=Hc&&parseFloat(Hc[1])||0;var _o=globalThis,T0=globalThis.document||{},yo=globalThis.process||{},b0=globalThis.console,A2=globalThis.navigator||{};function kc(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Jt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||kc()}var ks="4.0.7";function M0(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Co=class{constructor(t,r,n="sessionStorage"){this.storage=M0(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Jc(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function zc(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var To;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(To||(To={}));var I0=10;function Qc(e){return typeof e!="string"?e:(e=e.toUpperCase(),To[e]||To.WHITE)}function Vc(e,t,r){return!Jt&&typeof e=="string"&&(t&&(e=`\x1B[${Qc(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Qc(r)+I0}m${e}\x1B[49m`)),e}function jc(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(let s of n){let i=o[s];typeof i=="function"&&(t.find(a=>s===a)||(o[s]=i.bind(e)))}}function dn(e,t){if(!e)throw new Error(t||"Assertion failed")}function zt(){let e;if(Jt()&&_o.performance)e=_o?.performance?.now?.();else if("hrtime"in yo){let t=yo?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Er={debug:Jt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},S0={enabled:!0,level:0};function _r(){}var Kc={},Xc={once:!0},An=class{constructor({id:t}={id:""}){this.VERSION=ks,this._startTs=zt(),this._deltaTs=zt(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Co(`__probe-${this.id}__`,S0),this.timeStamp(`${this.id} started`),jc(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((zt()-this._startTs).toPrecision(10))}getDelta(){return Number((zt()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t){return this._getLogFunction(0,t,Er.warn,arguments,Xc)}error(t){return this._getLogFunction(0,t,Er.error,arguments)}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r){return this._getLogFunction(t,r,Er.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,Er.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,Er.debug||Er.info,arguments,Xc)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||_r,n&&[n],{tag:R0(r)}):_r}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||_r)}group(t,r,n={collapsed:!1}){let o=Zc({logLevel:t,message:r,opts:n}),{collapsed:s}=n;return o.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(o)}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||_r)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Yc(t)}_getLogFunction(t,r,n,o,s){if(this._shouldLog(t)){s=Zc({logLevel:t,message:r,args:o,opts:s}),n=n||s.method,dn(n),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=zt();let i=s.tag||s.message;if(s.once&&i)if(!Kc[i])Kc[i]=zt();else return _r;return r=F0(this.id,s.message,s),n.bind(console,r,...s.args)}return _r}};An.VERSION=ks;function Yc(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return dn(Number.isFinite(t)&&t>=0),t}function Zc(e){let{logLevel:t,message:r}=e;e.logLevel=Yc(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let o=typeof e.message;return dn(o==="string"||o==="object"),Object.assign(e,{args:n},e.opts)}function F0(e,t,r){if(typeof t=="string"){let n=r.time?zc(Jc(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=Vc(t,r.color,r.background)}return t}function R0(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var Js=new An({id:"@probe.gl/log"});var zs=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer;function mn(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}function Qs(e){return globalThis.loaders?.modules?.[e]||null}function D0(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.13"),globalThis._loadersgl_.version}var Wc=D0();function qc(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var Ze={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},V2=Ze.self||Ze.window||Ze.global||{},j2=Ze.window||Ze.self||Ze.global||{},K2=Ze.global||Ze.self||Ze.window||{},X2=Ze.document||{};var it=typeof process!="object"||String(process)!=="[object process]"||process.browser,pn=typeof importScripts=="function",Z2=typeof window<"u"&&typeof window.orientation<"u",$c=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Y2=$c&&parseFloat($c[1])||0;var Vs={};async function Se(e,t=null,r={},n=null){return t&&(e=ef(e,t,r,n)),Vs[e]=Vs[e]||O0(e),await Vs[e]}function ef(e,t,r={},n=null){if(r?.core)throw new Error("loadLibrary: options.core must be pre-normalized");if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let o=r.modules||{};return o[n]?o[n]:it?r.CDN?(qc(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Wc}/dist/libs/${n}`):pn?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function O0(e){if(e.endsWith("wasm"))return await G0(e);if(!it){let{requireFromFile:r}=globalThis.loaders||{};try{let n=await r?.(e);return n||!e.includes("/dist/libs/")?n:await r?.(e.replace("/dist/libs/","/src/libs/"))}catch(n){if(e.includes("/dist/libs/"))try{return await r?.(e.replace("/dist/libs/","/src/libs/"))}catch{}return console.error(n),null}}if(pn)return importScripts(e);let t=await N0(e);return L0(t,e)}function L0(e,t){if(!it){let{requireFromString:n}=globalThis.loaders||{};return n?.(e,t)}if(pn)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function G0(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function N0(e){let{readFileAsText:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}function rf(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?tf(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?tf(e,0,t):""}function tf(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),o="";for(let s=0;s<r;s++)o+=String.fromCharCode(n.getUint8(t+s));return o}function js(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${rf(e)}"`)}}function xt(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),o=new Uint8Array(t);for(let s=0;s<n.length;++s)if(n[s]!==o[s])return!1;return!0}function yr(...e){return nf(e)}function nf(e){let t=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=t.reduce((s,i)=>s+i.byteLength,0),n=new Uint8Array(r),o=0;for(let s of t)n.set(s,o),o+=s.byteLength;return n.buffer}function Qt(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function be(e,t){return z(e>=0),z(t>0),e+(t-1)&~(t-1)}function Ks(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let o=e.byteOffset,s=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,o,s)}return t.set(n,r),r+be(n.byteLength,4)}function Xs(e,t){let r=e.length,o=Math.ceil(r/t)*t-r,s="";for(let i=0;i<o;++i)s+=" ";return e+s}function Cr(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r.charCodeAt(o));return t+n}function gn(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r[o]);return t+n}function of(e,t,r,n){let o=be(r.byteLength,n),s=o-r.byteLength;if(e){let i=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),a=new Uint8Array(r);i.set(a);for(let f=0;f<s;++f)e.setUint8(t+r.byteLength+f,32)}return t+=o,t}function bo(e,t,r,n){let s=new TextEncoder().encode(r);return t=of(e,t,s,n),t}async function Bn(e){let t=[];for await(let r of e)t.push(v0(r));return yr(...t)}function v0(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return sf(t,r,n)}return sf(e)}function sf(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function af(e){return e&&typeof e=="object"&&e.isBuffer}function _t(e){if(af(e))return e;if(e instanceof ArrayBuffer)return e;if(zs(e))return Et(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function yt(e){if(e instanceof ArrayBuffer)return e;if(zs(e))return Et(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:Et(t,r,n)}function Et(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function Tr(e){return t=>new Promise((r,n)=>e(t,(o,s)=>o?n(o):r(s)))}var br={};de(br,{dirname:()=>P0,filename:()=>U0,join:()=>H0,resolve:()=>k0});function cf(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function U0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function P0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function H0(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function k0(...e){let t=[];for(let s=0;s<e.length;s++)t[s]=e[s];let r="",n=!1,o;for(let s=t.length-1;s>=-1&&!n;s--){let i;s>=0?i=t[s]:(o===void 0&&(o=cf()),i=o),i.length!==0&&(r=`${i}/${r}`,n=i.charCodeAt(0)===xn)}return r=J0(r,!n),n?`/${r}`:r.length>0?r:"."}var xn=47,Zs=46;function J0(e,t){let r="",n=-1,o=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===xn)break;s=xn}if(s===xn){if(!(n===a-1||o===1))if(n!==a-1&&o===2){if(r.length<2||!i||r.charCodeAt(r.length-1)!==Zs||r.charCodeAt(r.length-2)!==Zs){if(r.length>2){let f=r.length-1,c=f;for(;c>=0&&r.charCodeAt(c)!==xn;--c);if(c!==f){r=c===-1?"":r.slice(0,c),n=a,o=0,i=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,o=0,i=!1;continue}}t&&(r.length>0?r+="/..":r="..",i=!0)}else{let f=e.slice(n+1,a);r.length>0?r+=`/${f}`:r=f,i=!1}n=a,o=0}else s===Zs&&o!==-1?++o:o=-1}return r}var En=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var _n=new Error("Not implemented"),yn=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Ee?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw _n}async write(t,r,n){throw _n}async stat(){throw _n}async truncate(t){throw _n}async append(t){throw _n}async close(){}};var z0=1/Math.PI*180,Q0=1/180*Math.PI,V0={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...V0}};var Z=globalThis.mathgl.config;function Ys(e,{precision:t=Z.precision}={}){return e=j0(e),`${parseFloat(e.toPrecision(t))}`}function Fe(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ws(e){return ff(e)}function qs(e){return lf(e)}function ff(e,t){return ei(e,r=>r*Q0,t)}function lf(e,t){return ei(e,r=>r*z0,t)}function $s(e,t,r){return ei(e,n=>Math.max(t,Math.min(r,n)))}function we(e,t,r){let n=Z.EPSILON;r&&(Z.EPSILON=r);try{if(e===t)return!0;if(Fe(e)&&Fe(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!we(e[o],t[o]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Z.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Z.EPSILON=n}}function j0(e){return Math.round(e/Z.EPSILON)*Z.EPSILON}function K0(e){return e.clone?e.clone():new Array(e.length)}function ei(e,t,r){if(Fe(e)){let n=e;r=r||K0(n);for(let o=0;o<r.length&&o<n.length;++o){let s=typeof e=="number"?e:e[o];r[o]=t(s,o,r)}return r}return t(e)}var Ct=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Fe(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Z)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Ys(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!we(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let o=0;o<this.ELEMENTS;++o){let s=t[o],i=typeof r=="number"?r:r[o];this[o]=s+n*(i-s)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Z.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function X0(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function k(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Tt(e,t,r=""){if(Z.debug&&!X0(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function fe(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var bt=class extends Ct{get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let o=this[n]-t[n];r+=o*o}return k(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return k(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),k(this[t])}setComponent(t,r){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var q=typeof Float32Array<"u"?Float32Array:Array,Cn=Math.random;function wr(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var iC=Math.PI/180;function Z0(){let e=new q(2);return q!=Float32Array&&(e[0]=0,e[1]=0),e}function hf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e}function uf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o+r[4],e[1]=r[1]*n+r[3]*o+r[5],e}function wo(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[3]*o+r[6],e[1]=r[1]*n+r[4]*o+r[7],e}function Mo(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[4]*o+r[12],e[1]=r[1]*n+r[5]*o+r[13],e}var aC=function(){let e=Z0();return function(t,r,n,o,s,i){let a,f;for(r||(r=2),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],s(e,e,i),t[a]=e[0],t[a+1]=e[1];return t}}();function Io(e,t,r){let n=t[0],o=t[1],s=r[3]*n+r[7]*o||1;return e[0]=(r[0]*n+r[4]*o)/s,e[1]=(r[1]*n+r[5]*o)/s,e}function So(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s||1;return e[0]=(r[0]*n+r[4]*o+r[8]*s)/i,e[1]=(r[1]*n+r[5]*o+r[9]*s)/i,e[2]=(r[2]*n+r[6]*o+r[10]*s)/i,e}function df(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e}function Af(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e[3]=t[3],e}function Fo(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=r[0]*n+r[3]*o+r[6]*s,e[1]=r[1]*n+r[4]*o+r[7]*s,e[2]=r[2]*n+r[5]*o+r[8]*s,e[3]=t[3],e}var Vt=class extends bt{constructor(t=0,r=0){super(2),Fe(t)&&arguments.length===1?this.copy(t):(Z.debug&&(k(t),k(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Z.debug&&(k(t.x),k(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Mo(this,this,t),this.check()}transformAsVector(t){return Io(this,this,t),this.check()}transformByMatrix3(t){return wo(this,this,t),this.check()}transformByMatrix2x3(t){return uf(this,this,t),this.check()}transformByMatrix2(t){return hf(this,this,t),this.check()}};var Xt={};de(Xt,{add:()=>$0,angle:()=>si,bezier:()=>uA,ceil:()=>eA,clone:()=>Y0,copy:()=>W0,create:()=>Ro,cross:()=>jt,dist:()=>_A,distance:()=>xf,div:()=>EA,divide:()=>Bf,dot:()=>Tn,equals:()=>gA,exactEquals:()=>pA,floor:()=>tA,forEach:()=>TA,fromValues:()=>Do,hermite:()=>hA,inverse:()=>cA,len:()=>ii,length:()=>mf,lerp:()=>fA,max:()=>nA,min:()=>rA,mul:()=>xA,multiply:()=>gf,negate:()=>aA,normalize:()=>ti,random:()=>dA,rotateX:()=>ri,rotateY:()=>ni,rotateZ:()=>oi,round:()=>oA,scale:()=>sA,scaleAndAdd:()=>iA,set:()=>q0,slerp:()=>lA,sqrDist:()=>yA,sqrLen:()=>CA,squaredDistance:()=>Ef,squaredLength:()=>_f,str:()=>mA,sub:()=>BA,subtract:()=>pf,transformMat3:()=>bn,transformMat4:()=>Kt,transformQuat:()=>wn,zero:()=>AA});function Ro(){let e=new q(3);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Y0(e){let t=new q(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function mf(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function Do(e,t,r){let n=new q(3);return n[0]=e,n[1]=t,n[2]=r,n}function W0(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function q0(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function $0(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function pf(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function gf(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Bf(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function eA(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function tA(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function rA(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function nA(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function oA(e,t){return e[0]=wr(t[0]),e[1]=wr(t[1]),e[2]=wr(t[2]),e}function sA(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function iA(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function xf(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return Math.sqrt(r*r+n*n+o*o)}function Ef(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return r*r+n*n+o*o}function _f(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function aA(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function cA(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function ti(e,t){let r=t[0],n=t[1],o=t[2],s=r*r+n*n+o*o;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Tn(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function jt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2];return e[0]=o*f-s*a,e[1]=s*i-n*f,e[2]=n*a-o*i,e}function fA(e,t,r,n){let o=t[0],s=t[1],i=t[2];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e}function lA(e,t,r,n){let o=Math.acos(Math.min(Math.max(Tn(t,r),-1),1)),s=Math.sin(o),i=Math.sin((1-n)*o)/s,a=Math.sin(n*o)/s;return e[0]=i*t[0]+a*r[0],e[1]=i*t[1]+a*r[1],e[2]=i*t[2]+a*r[2],e}function hA(e,t,r,n,o,s){let i=s*s,a=i*(2*s-3)+1,f=i*(s-2)+s,c=i*(s-1),l=i*(3-2*s);return e[0]=t[0]*a+r[0]*f+n[0]*c+o[0]*l,e[1]=t[1]*a+r[1]*f+n[1]*c+o[1]*l,e[2]=t[2]*a+r[2]*f+n[2]*c+o[2]*l,e}function uA(e,t,r,n,o,s){let i=1-s,a=i*i,f=s*s,c=a*i,l=3*s*a,h=3*f*i,u=f*s;return e[0]=t[0]*c+r[0]*l+n[0]*h+o[0]*u,e[1]=t[1]*c+r[1]*l+n[1]*h+o[1]*u,e[2]=t[2]*c+r[2]*l+n[2]*h+o[2]*u,e}function dA(e,t){t=t===void 0?1:t;let r=Cn()*2*Math.PI,n=Cn()*2-1,o=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*o,e[1]=Math.sin(r)*o,e[2]=n*t,e}function Kt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s+r[15];return i=i||1,e[0]=(r[0]*n+r[4]*o+r[8]*s+r[12])/i,e[1]=(r[1]*n+r[5]*o+r[9]*s+r[13])/i,e[2]=(r[2]*n+r[6]*o+r[10]*s+r[14])/i,e}function bn(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=n*r[0]+o*r[3]+s*r[6],e[1]=n*r[1]+o*r[4]+s*r[7],e[2]=n*r[2]+o*r[5]+s*r[8],e}function wn(e,t,r){let n=r[0],o=r[1],s=r[2],i=r[3],a=t[0],f=t[1],c=t[2],l=o*c-s*f,h=s*a-n*c,u=n*f-o*a,d=o*u-s*h,A=s*l-n*u,m=n*h-o*l,p=i*2;return l*=p,h*=p,u*=p,d*=2,A*=2,m*=2,e[0]=a+l+d,e[1]=f+h+A,e[2]=c+u+m,e}function ri(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0],s[1]=o[1]*Math.cos(n)-o[2]*Math.sin(n),s[2]=o[1]*Math.sin(n)+o[2]*Math.cos(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ni(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[2]*Math.sin(n)+o[0]*Math.cos(n),s[1]=o[1],s[2]=o[2]*Math.cos(n)-o[0]*Math.sin(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function oi(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0]*Math.cos(n)-o[1]*Math.sin(n),s[1]=o[0]*Math.sin(n)+o[1]*Math.cos(n),s[2]=o[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function si(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2],f=Math.sqrt((r*r+n*n+o*o)*(s*s+i*i+a*a)),c=f&&Tn(e,t)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function AA(e){return e[0]=0,e[1]=0,e[2]=0,e}function mA(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function pA(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function gA(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2];return Math.abs(r-s)<=1e-6*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-i)<=1e-6*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(o-a)<=1e-6*Math.max(1,Math.abs(o),Math.abs(a))}var BA=pf,xA=gf,EA=Bf,_A=xf,yA=Ef,ii=mf,CA=_f,TA=function(){let e=Ro();return function(t,r,n,o,s,i){let a,f;for(r||(r=3),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var ai=[0,0,0],Oo,w=class extends bt{static get ZERO(){return Oo||(Oo=new w(0,0,0),Object.freeze(Oo)),Oo}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Fe(t)?this.copy(t):(Z.debug&&(k(t),k(r),k(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Z.debug&&(k(t.x),k(t.y),k(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=k(t)}angle(t){return si(this,t)}cross(t){return jt(this,this,t),this.check()}rotateX({radians:t,origin:r=ai}){return ri(this,this,r,t),this.check()}rotateY({radians:t,origin:r=ai}){return ni(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=ai}){return oi(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Kt(this,this,t),this.check()}transformAsVector(t){return So(this,this,t),this.check()}transformByMatrix3(t){return bn(this,this,t),this.check()}transformByMatrix2(t){return df(this,this,t),this.check()}transformByQuaternion(t){return wn(this,this,t),this.check()}};var Lo,Ir=class extends bt{static get ZERO(){return Lo||(Lo=new Ir(0,0,0,0),Object.freeze(Lo)),Lo}constructor(t=0,r=0,n=0,o=0){super(-0,-0,-0,-0),Fe(t)&&arguments.length===1?this.copy(t):(Z.debug&&(k(t),k(r),k(n),k(o)),this[0]=t,this[1]=r,this[2]=n,this[3]=o)}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Z.debug&&(k(t.x),k(t.y),k(t.z),k(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}transform(t){return Kt(this,this,t),this.check()}transformByMatrix3(t){return Fo(this,this,t),this.check()}transformByMatrix2(t){return Af(this,this,t),this.check()}transformByQuaternion(t){return wn(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Sr=class extends Ct{toString(){let t="[";if(Z.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=k(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)r[o]=this[n+o];return r}setColumn(t,r){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)this[n+o]=r[o];return this}};function yf(){let e=new q(9);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Cf(e,t){if(e===t){let r=t[1],n=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=o}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Tf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=l*i-a*c,u=-l*s+a*f,d=c*s-i*f,A=r*h+n*u+o*d;return A?(A=1/A,e[0]=h*A,e[1]=(-l*n+o*c)*A,e[2]=(a*n-o*i)*A,e[3]=u*A,e[4]=(l*r-o*f)*A,e[5]=(-a*r+o*s)*A,e[6]=d*A,e[7]=(-c*r+n*f)*A,e[8]=(i*r-n*s)*A,e):null}function bf(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8];return t*(c*s-i*f)+r*(-c*o+i*a)+n*(f*o-s*a)}function ci(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1],A=r[2],m=r[3],p=r[4],E=r[5],y=r[6],T=r[7],b=r[8];return e[0]=u*n+d*i+A*c,e[1]=u*o+d*a+A*l,e[2]=u*s+d*f+A*h,e[3]=m*n+p*i+E*c,e[4]=m*o+p*a+E*l,e[5]=m*s+p*f+E*h,e[6]=y*n+T*i+b*c,e[7]=y*o+T*a+b*l,e[8]=y*s+T*f+b*h,e}function wf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1];return e[0]=n,e[1]=o,e[2]=s,e[3]=i,e[4]=a,e[5]=f,e[6]=u*n+d*i+c,e[7]=u*o+d*a+l,e[8]=u*s+d*f+h,e}function Mf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=Math.sin(r),d=Math.cos(r);return e[0]=d*n+u*i,e[1]=d*o+u*a,e[2]=d*s+u*f,e[3]=d*i-u*n,e[4]=d*a-u*o,e[5]=d*f-u*s,e[6]=c,e[7]=l,e[8]=h,e}function fi(e,t,r){let n=r[0],o=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function If(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,A=o*f,m=s*i,p=s*a,E=s*f;return e[0]=1-h-A,e[3]=l-E,e[6]=u+p,e[1]=l+E,e[4]=1-c-A,e[7]=d-m,e[2]=u-p,e[5]=d+m,e[8]=1-c-h,e}var li;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(li||(li={}));var wA=Object.freeze([1,0,0,0,1,0,0,0,1]),X=class extends Sr{static get IDENTITY(){return IA()}static get ZERO(){return MA()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return li}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(wA)}fromObject(t){return this.check()}fromQuaternion(t){return If(this,t),this.check()}set(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=o,this[2]=a,this[3]=r,this[4]=s,this[5]=f,this[6]=n,this[7]=i,this[8]=c,this.check()}determinant(){return bf(this)}transpose(){return Cf(this,this),this.check()}invert(){return Tf(this,this),this.check()}multiplyLeft(t){return ci(this,t,this),this.check()}multiplyRight(t){return ci(this,this,t),this.check()}rotate(t){return Mf(this,this,t),this.check()}scale(t){return Array.isArray(t)?fi(this,this,t):fi(this,this,[t,t]),this.check()}translate(t){return wf(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=wo(r||[-0,-0],t,this);break;case 3:n=bn(r||[-0,-0,-0],t,this);break;case 4:n=Fo(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},Go,No=null;function MA(){return Go||(Go=new X([0,0,0,0,0,0,0,0,0]),Object.freeze(Go)),Go}function IA(){return No||(No=new X,Object.freeze(No)),No}var In={};de(In,{add:()=>$A,adjoint:()=>LA,clone:()=>FA,copy:()=>RA,create:()=>SA,decompose:()=>QA,determinant:()=>di,equals:()=>nm,exactEquals:()=>rm,frob:()=>qA,fromQuat:()=>Ei,fromQuat2:()=>kA,fromRotation:()=>vA,fromRotationTranslation:()=>Ff,fromRotationTranslationScale:()=>VA,fromRotationTranslationScaleOrigin:()=>jA,fromScaling:()=>NA,fromTranslation:()=>GA,fromValues:()=>DA,fromXRotation:()=>UA,fromYRotation:()=>PA,fromZRotation:()=>HA,frustum:()=>_i,getRotation:()=>zA,getScaling:()=>Rf,getTranslation:()=>JA,identity:()=>Sf,invert:()=>ui,lookAt:()=>Ti,mul:()=>om,multiply:()=>Mn,multiplyScalar:()=>em,multiplyScalarAndAdd:()=>tm,ortho:()=>Ci,orthoNO:()=>Of,orthoZO:()=>ZA,perspective:()=>yi,perspectiveFromFieldOfView:()=>XA,perspectiveNO:()=>Df,perspectiveZO:()=>KA,rotate:()=>pi,rotateX:()=>gi,rotateY:()=>Bi,rotateZ:()=>xi,scale:()=>mi,set:()=>OA,str:()=>WA,sub:()=>sm,subtract:()=>Lf,targetTo:()=>YA,translate:()=>Ai,transpose:()=>hi});function SA(){let e=new q(16);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function FA(e){let t=new q(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function RA(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function DA(e,t,r,n,o,s,i,a,f,c,l,h,u,d,A,m){let p=new q(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=o,p[5]=s,p[6]=i,p[7]=a,p[8]=f,p[9]=c,p[10]=l,p[11]=h,p[12]=u,p[13]=d,p[14]=A,p[15]=m,p}function OA(e,t,r,n,o,s,i,a,f,c,l,h,u,d,A,m,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=s,e[5]=i,e[6]=a,e[7]=f,e[8]=c,e[9]=l,e[10]=h,e[11]=u,e[12]=d,e[13]=A,e[14]=m,e[15]=p,e}function Sf(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function hi(e,t){if(e===t){let r=t[1],n=t[2],o=t[3],s=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=o,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function ui(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],A=t[12],m=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,b=r*c-s*i,C=n*f-o*a,M=n*c-s*a,I=o*c-s*f,O=l*m-h*A,B=l*p-u*A,g=l*E-d*A,x=h*p-u*m,_=h*E-d*m,U=u*E-d*p,v=y*U-T*_+b*x+C*g-M*B+I*O;return v?(v=1/v,e[0]=(a*U-f*_+c*x)*v,e[1]=(o*_-n*U-s*x)*v,e[2]=(m*I-p*M+E*C)*v,e[3]=(u*M-h*I-d*C)*v,e[4]=(f*g-i*U-c*B)*v,e[5]=(r*U-o*g+s*B)*v,e[6]=(p*b-A*I-E*T)*v,e[7]=(l*I-u*b+d*T)*v,e[8]=(i*_-a*g+c*O)*v,e[9]=(n*g-r*_-s*O)*v,e[10]=(A*M-m*b+E*y)*v,e[11]=(h*b-l*M-d*y)*v,e[12]=(a*B-i*x-f*O)*v,e[13]=(r*x-n*B+o*O)*v,e[14]=(m*T-A*C-p*y)*v,e[15]=(l*C-h*T+u*y)*v,e):null}function LA(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],A=t[12],m=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,b=r*c-s*i,C=n*f-o*a,M=n*c-s*a,I=o*c-s*f,O=l*m-h*A,B=l*p-u*A,g=l*E-d*A,x=h*p-u*m,_=h*E-d*m,U=u*E-d*p;return e[0]=a*U-f*_+c*x,e[1]=o*_-n*U-s*x,e[2]=m*I-p*M+E*C,e[3]=u*M-h*I-d*C,e[4]=f*g-i*U-c*B,e[5]=r*U-o*g+s*B,e[6]=p*b-A*I-E*T,e[7]=l*I-u*b+d*T,e[8]=i*_-a*g+c*O,e[9]=n*g-r*_-s*O,e[10]=A*M-m*b+E*y,e[11]=h*b-l*M-d*y,e[12]=a*B-i*x-f*O,e[13]=r*x-n*B+o*O,e[14]=m*T-A*C-p*y,e[15]=l*C-h*T+u*y,e}function di(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8],l=e[9],h=e[10],u=e[11],d=e[12],A=e[13],m=e[14],p=e[15],E=t*i-r*s,y=t*a-n*s,T=r*a-n*i,b=c*A-l*d,C=c*m-h*d,M=l*m-h*A,I=t*M-r*C+n*b,O=s*M-i*C+a*b,B=c*T-l*y+h*E,g=d*T-A*y+m*E;return f*I-o*O+p*B-u*g}function Mn(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=t[9],d=t[10],A=t[11],m=t[12],p=t[13],E=t[14],y=t[15],T=r[0],b=r[1],C=r[2],M=r[3];return e[0]=T*n+b*a+C*h+M*m,e[1]=T*o+b*f+C*u+M*p,e[2]=T*s+b*c+C*d+M*E,e[3]=T*i+b*l+C*A+M*y,T=r[4],b=r[5],C=r[6],M=r[7],e[4]=T*n+b*a+C*h+M*m,e[5]=T*o+b*f+C*u+M*p,e[6]=T*s+b*c+C*d+M*E,e[7]=T*i+b*l+C*A+M*y,T=r[8],b=r[9],C=r[10],M=r[11],e[8]=T*n+b*a+C*h+M*m,e[9]=T*o+b*f+C*u+M*p,e[10]=T*s+b*c+C*d+M*E,e[11]=T*i+b*l+C*A+M*y,T=r[12],b=r[13],C=r[14],M=r[15],e[12]=T*n+b*a+C*h+M*m,e[13]=T*o+b*f+C*u+M*p,e[14]=T*s+b*c+C*d+M*E,e[15]=T*i+b*l+C*A+M*y,e}function Ai(e,t,r){let n=r[0],o=r[1],s=r[2],i,a,f,c,l,h,u,d,A,m,p,E;return t===e?(e[12]=t[0]*n+t[4]*o+t[8]*s+t[12],e[13]=t[1]*n+t[5]*o+t[9]*s+t[13],e[14]=t[2]*n+t[6]*o+t[10]*s+t[14],e[15]=t[3]*n+t[7]*o+t[11]*s+t[15]):(i=t[0],a=t[1],f=t[2],c=t[3],l=t[4],h=t[5],u=t[6],d=t[7],A=t[8],m=t[9],p=t[10],E=t[11],e[0]=i,e[1]=a,e[2]=f,e[3]=c,e[4]=l,e[5]=h,e[6]=u,e[7]=d,e[8]=A,e[9]=m,e[10]=p,e[11]=E,e[12]=i*n+l*o+A*s+t[12],e[13]=a*n+h*o+m*s+t[13],e[14]=f*n+u*o+p*s+t[14],e[15]=c*n+d*o+E*s+t[15]),e}function mi(e,t,r){let n=r[0],o=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function pi(e,t,r,n){let o=n[0],s=n[1],i=n[2],a=Math.sqrt(o*o+s*s+i*i),f,c,l,h,u,d,A,m,p,E,y,T,b,C,M,I,O,B,g,x,_,U,v,P;return a<1e-6?null:(a=1/a,o*=a,s*=a,i*=a,c=Math.sin(r),f=Math.cos(r),l=1-f,h=t[0],u=t[1],d=t[2],A=t[3],m=t[4],p=t[5],E=t[6],y=t[7],T=t[8],b=t[9],C=t[10],M=t[11],I=o*o*l+f,O=s*o*l+i*c,B=i*o*l-s*c,g=o*s*l-i*c,x=s*s*l+f,_=i*s*l+o*c,U=o*i*l+s*c,v=s*i*l-o*c,P=i*i*l+f,e[0]=h*I+m*O+T*B,e[1]=u*I+p*O+b*B,e[2]=d*I+E*O+C*B,e[3]=A*I+y*O+M*B,e[4]=h*g+m*x+T*_,e[5]=u*g+p*x+b*_,e[6]=d*g+E*x+C*_,e[7]=A*g+y*x+M*_,e[8]=h*U+m*v+T*P,e[9]=u*U+p*v+b*P,e[10]=d*U+E*v+C*P,e[11]=A*U+y*v+M*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function gi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[4],i=t[5],a=t[6],f=t[7],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*o+c*n,e[5]=i*o+l*n,e[6]=a*o+h*n,e[7]=f*o+u*n,e[8]=c*o-s*n,e[9]=l*o-i*n,e[10]=h*o-a*n,e[11]=u*o-f*n,e}function Bi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o-c*n,e[1]=i*o-l*n,e[2]=a*o-h*n,e[3]=f*o-u*n,e[8]=s*n+c*o,e[9]=i*n+l*o,e[10]=a*n+h*o,e[11]=f*n+u*o,e}function xi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[4],l=t[5],h=t[6],u=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o+c*n,e[1]=i*o+l*n,e[2]=a*o+h*n,e[3]=f*o+u*n,e[4]=c*o-s*n,e[5]=l*o-i*n,e[6]=h*o-a*n,e[7]=u*o-f*n,e}function GA(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function NA(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function vA(e,t,r){let n=r[0],o=r[1],s=r[2],i=Math.sqrt(n*n+o*o+s*s),a,f,c;return i<1e-6?null:(i=1/i,n*=i,o*=i,s*=i,f=Math.sin(t),a=Math.cos(t),c=1-a,e[0]=n*n*c+a,e[1]=o*n*c+s*f,e[2]=s*n*c-o*f,e[3]=0,e[4]=n*o*c-s*f,e[5]=o*o*c+a,e[6]=s*o*c+n*f,e[7]=0,e[8]=n*s*c+o*f,e[9]=o*s*c-n*f,e[10]=s*s*c+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function UA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function PA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function HA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ff(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=n+n,f=o+o,c=s+s,l=n*a,h=n*f,u=n*c,d=o*f,A=o*c,m=s*c,p=i*a,E=i*f,y=i*c;return e[0]=1-(d+m),e[1]=h+y,e[2]=u-E,e[3]=0,e[4]=h-y,e[5]=1-(l+m),e[6]=A+p,e[7]=0,e[8]=u+E,e[9]=A-p,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function kA(e,t){let r=new q(3),n=-t[0],o=-t[1],s=-t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=n*n+o*o+s*s+i*i;return h>0?(r[0]=(a*i+l*n+f*s-c*o)*2/h,r[1]=(f*i+l*o+c*n-a*s)*2/h,r[2]=(c*i+l*s+a*o-f*n)*2/h):(r[0]=(a*i+l*n+f*s-c*o)*2,r[1]=(f*i+l*o+c*n-a*s)*2,r[2]=(c*i+l*s+a*o-f*n)*2),Ff(e,t,r),e}function JA(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Rf(e,t){let r=t[0],n=t[1],o=t[2],s=t[4],i=t[5],a=t[6],f=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(s*s+i*i+a*a),e[2]=Math.sqrt(f*f+c*c+l*l),e}function zA(e,t){let r=new q(3);Rf(r,t);let n=1/r[0],o=1/r[1],s=1/r[2],i=t[0]*n,a=t[1]*o,f=t[2]*s,c=t[4]*n,l=t[5]*o,h=t[6]*s,u=t[8]*n,d=t[9]*o,A=t[10]*s,m=i+l+A,p=0;return m>0?(p=Math.sqrt(m+1)*2,e[3]=.25*p,e[0]=(h-d)/p,e[1]=(u-f)/p,e[2]=(a-c)/p):i>l&&i>A?(p=Math.sqrt(1+i-l-A)*2,e[3]=(h-d)/p,e[0]=.25*p,e[1]=(a+c)/p,e[2]=(u+f)/p):l>A?(p=Math.sqrt(1+l-i-A)*2,e[3]=(u-f)/p,e[0]=(a+c)/p,e[1]=.25*p,e[2]=(h+d)/p):(p=Math.sqrt(1+A-i-l)*2,e[3]=(a-c)/p,e[0]=(u+f)/p,e[1]=(h+d)/p,e[2]=.25*p),e}function QA(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let o=n[0],s=n[1],i=n[2],a=n[4],f=n[5],c=n[6],l=n[8],h=n[9],u=n[10];r[0]=Math.sqrt(o*o+s*s+i*i),r[1]=Math.sqrt(a*a+f*f+c*c),r[2]=Math.sqrt(l*l+h*h+u*u);let d=1/r[0],A=1/r[1],m=1/r[2],p=o*d,E=s*A,y=i*m,T=a*d,b=f*A,C=c*m,M=l*d,I=h*A,O=u*m,B=p+b+O,g=0;return B>0?(g=Math.sqrt(B+1)*2,e[3]=.25*g,e[0]=(C-I)/g,e[1]=(M-y)/g,e[2]=(E-T)/g):p>b&&p>O?(g=Math.sqrt(1+p-b-O)*2,e[3]=(C-I)/g,e[0]=.25*g,e[1]=(E+T)/g,e[2]=(M+y)/g):b>O?(g=Math.sqrt(1+b-p-O)*2,e[3]=(M-y)/g,e[0]=(E+T)/g,e[1]=.25*g,e[2]=(C+I)/g):(g=Math.sqrt(1+O-p-b)*2,e[3]=(E-T)/g,e[0]=(M+y)/g,e[1]=(C+I)/g,e[2]=.25*g),e}function VA(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=o+o,c=s+s,l=i+i,h=o*f,u=o*c,d=o*l,A=s*c,m=s*l,p=i*l,E=a*f,y=a*c,T=a*l,b=n[0],C=n[1],M=n[2];return e[0]=(1-(A+p))*b,e[1]=(u+T)*b,e[2]=(d-y)*b,e[3]=0,e[4]=(u-T)*C,e[5]=(1-(h+p))*C,e[6]=(m+E)*C,e[7]=0,e[8]=(d+y)*M,e[9]=(m-E)*M,e[10]=(1-(h+A))*M,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function jA(e,t,r,n,o){let s=t[0],i=t[1],a=t[2],f=t[3],c=s+s,l=i+i,h=a+a,u=s*c,d=s*l,A=s*h,m=i*l,p=i*h,E=a*h,y=f*c,T=f*l,b=f*h,C=n[0],M=n[1],I=n[2],O=o[0],B=o[1],g=o[2],x=(1-(m+E))*C,_=(d+b)*C,U=(A-T)*C,v=(d-b)*M,P=(1-(u+E))*M,G=(p+y)*M,ee=(A+T)*I,Be=(p-y)*I,Y=(1-(u+m))*I;return e[0]=x,e[1]=_,e[2]=U,e[3]=0,e[4]=v,e[5]=P,e[6]=G,e[7]=0,e[8]=ee,e[9]=Be,e[10]=Y,e[11]=0,e[12]=r[0]+O-(x*O+v*B+ee*g),e[13]=r[1]+B-(_*O+P*B+Be*g),e[14]=r[2]+g-(U*O+G*B+Y*g),e[15]=1,e}function Ei(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,A=o*f,m=s*i,p=s*a,E=s*f;return e[0]=1-h-A,e[1]=l+E,e[2]=u-p,e[3]=0,e[4]=l-E,e[5]=1-c-A,e[6]=d+m,e[7]=0,e[8]=u+p,e[9]=d-m,e[10]=1-c-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function _i(e,t,r,n,o,s,i){let a=1/(r-t),f=1/(o-n),c=1/(s-i);return e[0]=s*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(o+n)*f,e[10]=(i+s)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*s*2*c,e[15]=0,e}function Df(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=(o+n)*i,e[14]=2*o*n*i}else e[10]=-1,e[14]=-2*n;return e}var yi=Df;function KA(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=o*i,e[14]=o*n*i}else e[10]=-1,e[14]=-n;return e}function XA(e,t,r,n){let o=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),f=2/(i+a),c=2/(o+s);return e[0]=f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((i-a)*f*.5),e[9]=(o-s)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Of(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=(i+s)*c,e[15]=1,e}var Ci=Of;function ZA(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=s*c,e[15]=1,e}function Ti(e,t,r,n){let o,s,i,a,f,c,l,h,u,d,A=t[0],m=t[1],p=t[2],E=n[0],y=n[1],T=n[2],b=r[0],C=r[1],M=r[2];return Math.abs(A-b)<1e-6&&Math.abs(m-C)<1e-6&&Math.abs(p-M)<1e-6?Sf(e):(h=A-b,u=m-C,d=p-M,o=1/Math.sqrt(h*h+u*u+d*d),h*=o,u*=o,d*=o,s=y*d-T*u,i=T*h-E*d,a=E*u-y*h,o=Math.sqrt(s*s+i*i+a*a),o?(o=1/o,s*=o,i*=o,a*=o):(s=0,i=0,a=0),f=u*a-d*i,c=d*s-h*a,l=h*i-u*s,o=Math.sqrt(f*f+c*c+l*l),o?(o=1/o,f*=o,c*=o,l*=o):(f=0,c=0,l=0),e[0]=s,e[1]=f,e[2]=h,e[3]=0,e[4]=i,e[5]=c,e[6]=u,e[7]=0,e[8]=a,e[9]=l,e[10]=d,e[11]=0,e[12]=-(s*A+i*m+a*p),e[13]=-(f*A+c*m+l*p),e[14]=-(h*A+u*m+d*p),e[15]=1,e)}function YA(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=n[0],f=n[1],c=n[2],l=o-r[0],h=s-r[1],u=i-r[2],d=l*l+h*h+u*u;d>0&&(d=1/Math.sqrt(d),l*=d,h*=d,u*=d);let A=f*u-c*h,m=c*l-a*u,p=a*h-f*l;return d=A*A+m*m+p*p,d>0&&(d=1/Math.sqrt(d),A*=d,m*=d,p*=d),e[0]=A,e[1]=m,e[2]=p,e[3]=0,e[4]=h*p-u*m,e[5]=u*A-l*p,e[6]=l*m-h*A,e[7]=0,e[8]=l,e[9]=h,e[10]=u,e[11]=0,e[12]=o,e[13]=s,e[14]=i,e[15]=1,e}function WA(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function qA(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function $A(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Lf(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function em(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function tm(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function rm(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function nm(e,t){let r=e[0],n=e[1],o=e[2],s=e[3],i=e[4],a=e[5],f=e[6],c=e[7],l=e[8],h=e[9],u=e[10],d=e[11],A=e[12],m=e[13],p=e[14],E=e[15],y=t[0],T=t[1],b=t[2],C=t[3],M=t[4],I=t[5],O=t[6],B=t[7],g=t[8],x=t[9],_=t[10],U=t[11],v=t[12],P=t[13],G=t[14],ee=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-T)<=1e-6*Math.max(1,Math.abs(n),Math.abs(T))&&Math.abs(o-b)<=1e-6*Math.max(1,Math.abs(o),Math.abs(b))&&Math.abs(s-C)<=1e-6*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(i-M)<=1e-6*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(a-I)<=1e-6*Math.max(1,Math.abs(a),Math.abs(I))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(l-g)<=1e-6*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(h-x)<=1e-6*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(u-_)<=1e-6*Math.max(1,Math.abs(u),Math.abs(_))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(A-v)<=1e-6*Math.max(1,Math.abs(A),Math.abs(v))&&Math.abs(m-P)<=1e-6*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(p-G)<=1e-6*Math.max(1,Math.abs(p),Math.abs(G))&&Math.abs(E-ee)<=1e-6*Math.max(1,Math.abs(E),Math.abs(ee))}var om=Mn,sm=Lf;function im(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Gf(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Nf(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function vf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return Math.sqrt(t*t+r*r+n*n+o*o)}function Uf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return t*t+r*r+n*n+o*o}function Pf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s;return i>0&&(i=1/Math.sqrt(i)),e[0]=r*i,e[1]=n*i,e[2]=o*i,e[3]=s*i,e}function Hf(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kf(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e[3]=a+n*(r[3]-a),e}function Jf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3];return e[0]=r[0]*n+r[4]*o+r[8]*s+r[12]*i,e[1]=r[1]*n+r[5]*o+r[9]*s+r[13]*i,e[2]=r[2]*n+r[6]*o+r[10]*s+r[14]*i,e[3]=r[3]*n+r[7]*o+r[11]*s+r[15]*i,e}function zf(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2],c=r[3],l=c*n+a*s-f*o,h=c*o+f*n-i*s,u=c*s+i*o-a*n,d=-i*n-a*o-f*s;return e[0]=l*c+d*-i+h*-f-u*-a,e[1]=h*c+d*-a+u*-i-l*-f,e[2]=u*c+d*-f+l*-a-h*-i,e[3]=t[3],e}var PC=function(){let e=im();return function(t,r,n,o,s,i){let a,f;for(r||(r=4),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var Mi;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Mi||(Mi={}));var cm=45*Math.PI/180,fm=1,bi=.1,wi=500,lm=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Re=class extends Sr{static get IDENTITY(){return um()}static get ZERO(){return hm()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Mi}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,o,s,i,a,f,c,l,h,u,d,A,m,p){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this[9]=l,this[10]=h,this[11]=u,this[12]=d,this[13]=A,this[14]=m,this[15]=p,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c,l,h,u,d,A,m,p){return this[0]=t,this[1]=s,this[2]=c,this[3]=d,this[4]=r,this[5]=i,this[6]=l,this[7]=A,this[8]=n,this[9]=a,this[10]=h,this[11]=m,this[12]=o,this[13]=f,this[14]=u,this[15]=p,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(lm)}fromObject(t){return this.check()}fromQuaternion(t){return Ei(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:o,top:s,near:i=bi,far:a=wi}=t;return a===1/0?dm(this,r,n,o,s,i):_i(this,r,n,o,s,i,a),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:o=[0,1,0]}=t;return Ti(this,r,n,o),this.check()}ortho(t){let{left:r,right:n,bottom:o,top:s,near:i=bi,far:a=wi}=t;return Ci(this,r,n,o,s,i,a),this.check()}orthographic(t){let{fovy:r=cm,aspect:n=fm,focalDistance:o=1,near:s=bi,far:i=wi}=t;Qf(r);let a=r/2,f=o*Math.tan(a),c=f*n;return this.ortho({left:-c,right:c,bottom:-f,top:f,near:s,far:i})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:o=.1,far:s=500}=t;return Qf(r),yi(this,r,n,o,s),this.check()}determinant(){return di(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=0,t[4]=this[4]*o,t[5]=this[5]*s,t[6]=this[6]*i,t[7]=0,t[8]=this[8]*o,t[9]=this[9]*s,t[10]=this[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=this[4]*o,t[4]=this[5]*s,t[5]=this[6]*i,t[6]=this[8]*o,t[7]=this[9]*s,t[8]=this[10]*i,t}transpose(){return hi(this,this),this.check()}invert(){return ui(this,this),this.check()}multiplyLeft(t){return Mn(this,t,this),this.check()}multiplyRight(t){return Mn(this,this,t),this.check()}rotateX(t){return gi(this,this,t),this.check()}rotateY(t){return Bi(this,this,t),this.check()}rotateZ(t){return xi(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return pi(this,this,t,r),this.check()}scale(t){return mi(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Ai(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Jf(r||[-0,-0,-0,-0],t,this),Tt(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,o;switch(n){case 2:o=Mo(r||[-0,-0],t,this);break;case 3:o=Kt(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(o,t.length),o}transformAsVector(t,r){let n;switch(t.length){case 2:n=Io(r||[-0,-0],t,this);break;case 3:n=So(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},vo,Uo;function hm(){return vo||(vo=new Re([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(vo)),vo}function um(){return Uo||(Uo=new Re,Object.freeze(Uo)),Uo}function Qf(e){if(e>Math.PI*2)throw Error("expected radians")}function dm(e,t,r,n,o,s){let i=2*s/(r-t),a=2*s/(o-n),f=(r+t)/(r-t),c=(o+n)/(o-n),l=-1,h=-1,u=-2*s;return e[0]=i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=f,e[9]=c,e[10]=l,e[11]=h,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function Vf(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function jf(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Ii(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Si(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=r[0],f=r[1],c=r[2],l=r[3];return e[0]=n*l+i*a+o*c-s*f,e[1]=o*l+i*f+s*a-n*c,e[2]=s*l+i*c+n*f-o*a,e[3]=i*l-n*a-o*f-s*c,e}function Kf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+i*a,e[1]=o*f+s*a,e[2]=s*f-o*a,e[3]=i*f-n*a,e}function Xf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f-s*a,e[1]=o*f+i*a,e[2]=s*f+n*a,e[3]=i*f-o*a,e}function Zf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+o*a,e[1]=o*f-n*a,e[2]=s*f+i*a,e[3]=i*f-s*a,e}function Yf(e,t){let r=t[0],n=t[1],o=t[2];return e[0]=r,e[1]=n,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-o*o)),e}function Sn(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=r[0],c=r[1],l=r[2],h=r[3],u,d,A,m,p;return u=o*f+s*c+i*l+a*h,u<0&&(u=-u,f=-f,c=-c,l=-l,h=-h),1-u>1e-6?(d=Math.acos(u),p=Math.sin(d),A=Math.sin((1-n)*d)/p,m=Math.sin(n*d)/p):(A=1-n,m=n),e[0]=A*o+m*f,e[1]=A*s+m*c,e[2]=A*i+m*l,e[3]=A*a+m*h,e}function Wf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s,a=i?1/i:0;return e[0]=-r*a,e[1]=-n*a,e[2]=-o*a,e[3]=s*a,e}function qf(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Fi(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let o=0;t[4]>t[0]&&(o=1),t[8]>t[o*3+o]&&(o=2);let s=(o+1)%3,i=(o+2)%3;n=Math.sqrt(t[o*3+o]-t[s*3+s]-t[i*3+i]+1),e[o]=.5*n,n=.5/n,e[3]=(t[s*3+i]-t[i*3+s])*n,e[s]=(t[s*3+o]+t[o*3+s])*n,e[i]=(t[i*3+o]+t[o*3+i])*n}return e}var $f=Gf;var el=Nf,tl=Hf,rl=kf,nl=vf;var ol=Uf;var sl=Pf;var il=function(){let e=Ro(),t=Do(1,0,0),r=Do(0,1,0);return function(n,o,s){let i=Tn(o,s);return i<-.999999?(jt(e,t,o),ii(e)<1e-6&&jt(e,r,o),ti(e,e),Ii(n,e,Math.PI),n):i>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(jt(e,o,s),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+i,sl(n,n))}}(),$C=function(){let e=Vf(),t=Vf();return function(r,n,o,s,i,a){return Sn(e,n,i,a),Sn(t,o,s,a),Sn(r,e,t,2*a*(1-a)),r}}(),eT=function(){let e=yf();return function(t,r,n,o){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=o[0],e[4]=o[1],e[7]=o[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],sl(t,Fi(t,e))}}();var Am=[0,0,0,1],wt=class extends Ct{constructor(t=0,r=0,n=0,o=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,o)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Fi(this,t),this.check()}fromAxisRotation(t,r){return Ii(this,t,r),this.check()}identity(){return jf(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}len(){return nl(this)}lengthSquared(){return ol(this)}dot(t){return tl(this,t)}rotationTo(t,r){return il(this,t,r),this.check()}add(t){return $f(this,this,t),this.check()}calculateW(){return Yf(this,this),this.check()}conjugate(){return qf(this,this),this.check()}invert(){return Wf(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(rl(this,t,r,n),this.check())}multiplyRight(t){return Si(this,this,t),this.check()}multiplyLeft(t){return Si(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Kf(this,this,t),this.check()}rotateY(t){return Xf(this,this,t),this.check()}rotateZ(t){return Zf(this,this,t),this.check()}scale(t){return el(this,this,t),this.check()}slerp(t,r,n){let o,s,i;switch(arguments.length){case 1:({start:o=Am,target:s,ratio:i}=t);break;case 2:o=this,s=t,i=r;break;default:o=t,s=r,i=n}return Sn(this,o,s,i),this.check()}transformVector4(t,r=new Ir){return zf(r,t,this),Tt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var De={};de(De,{EPSILON1:()=>mm,EPSILON10:()=>Tm,EPSILON11:()=>bm,EPSILON12:()=>wm,EPSILON13:()=>Mm,EPSILON14:()=>Im,EPSILON15:()=>Sm,EPSILON16:()=>Fm,EPSILON17:()=>Rm,EPSILON18:()=>Dm,EPSILON19:()=>Om,EPSILON2:()=>pm,EPSILON20:()=>Lm,EPSILON3:()=>gm,EPSILON4:()=>Bm,EPSILON5:()=>xm,EPSILON6:()=>Em,EPSILON7:()=>_m,EPSILON8:()=>ym,EPSILON9:()=>Cm,PI_OVER_FOUR:()=>Nm,PI_OVER_SIX:()=>vm,PI_OVER_TWO:()=>Gm,TWO_PI:()=>Um});var mm=.1,pm=.01,gm=.001,Bm=1e-4,xm=1e-5,Em=1e-6,_m=1e-7,ym=1e-8,Cm=1e-9,Tm=1e-10,bm=1e-11,wm=1e-12,Mm=1e-13,Im=1e-14,Sm=1e-15,Fm=1e-16,Rm=1e-17,Dm=1e-18,Om=1e-19,Lm=1e-20,Gm=Math.PI/2,Nm=Math.PI/4,vm=Math.PI/6,Um=Math.PI*2;var at=6356752314245179e-9,Pm={radii:[6378137,6378137,at],radiiSquared:[6378137*6378137,6378137*6378137,at*at],oneOverRadii:[1/6378137,1/6378137,1/at],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(at*at)],maximumRadius:Math.max(6378137,6378137,at),centerToleranceSquared:.1};function Po(e){return e}var FT=new w;function Hm(e,t=[],r=Po){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function al(e,t=[]){return Hm(e,t,Z._cartographicRadians?Po:Ws)}function km(e,t,r=Po){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function cl(e,t){return km(e,t,Z._cartographicRadians?Po:qs)}var fl=1e-14,Jm=new w,ll={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Ri={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Fn={east:new w,north:new w,up:new w,west:new w,south:new w,down:new w},zm=new w,Qm=new w,Vm=new w;function Di(e,t,r,n,o,s){let i=ll[t]&&ll[t][r];fe(i&&(!n||n===i));let a,f,c,l=Jm.copy(o);if(we(l.x,0,fl)&&we(l.y,0,fl)){let u=Math.sign(l.z);a=zm.fromArray(Ri[t]),t!=="east"&&t!=="west"&&a.scale(u),f=Qm.fromArray(Ri[r]),r!=="east"&&r!=="west"&&f.scale(u),c=Vm.fromArray(Ri[n]),n!=="east"&&n!=="west"&&c.scale(u)}else{let{up:u,east:d,north:A}=Fn;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,u),A.copy(u).cross(d);let{down:m,west:p,south:E}=Fn;m.copy(u).scale(-1),p.copy(d).scale(-1),E.copy(A).scale(-1),a=Fn[t],f=Fn[r],c=Fn[n]}return s[0]=a.x,s[1]=a.y,s[2]=a.z,s[3]=0,s[4]=f.x,s[5]=f.y,s[6]=f.z,s[7]=0,s[8]=c.x,s[9]=c.y,s[10]=c.z,s[11]=0,s[12]=l.x,s[13]=l.y,s[14]=l.z,s[15]=1,s}var Fr=new w,jm=new w,Km=new w;function hl(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:o,centerToleranceSquared:s}=t;Fr.from(e);let i=Fr.x,a=Fr.y,f=Fr.z,c=n.x,l=n.y,h=n.z,u=i*i*c*c,d=a*a*l*l,A=f*f*h*h,m=u+d+A,p=Math.sqrt(1/m);if(!Number.isFinite(p))return;let E=jm;if(E.copy(e).scale(p),m<s)return E.to(r);let y=o.x,T=o.y,b=o.z,C=Km;C.set(E.x*y*2,E.y*T*2,E.z*b*2);let M=(1-p)*Fr.len()/(.5*C.len()),I=0,O,B,g,x;do{M-=I,O=1/(1+M*y),B=1/(1+M*T),g=1/(1+M*b);let _=O*O,U=B*B,v=g*g,P=_*O,G=U*B,ee=v*g;x=u*_+d*U+A*v-1;let Y=-2*(u*P*y+d*G*T+A*ee*b);I=x/Y}while(Math.abs(x)>De.EPSILON12);return Fr.scale([O,B,g]).to(r)}var Ho=new w,ul=new w,Ym=new w,ke=new w,Wm=new w,ko=new w,ct=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=De.EPSILON1,fe(t>=0),fe(r>=0),fe(n>=0),this.radii=new w(t,r,n),this.radiiSquared=new w(t*t,r*r,n*n),this.radiiToTheFourth=new w(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new w(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new w(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=ul,o=Ym,[,,s]=t;this.geodeticSurfaceNormalCartographic(t,n),o.copy(this.radiiSquared).scale(n);let i=Math.sqrt(n.dot(o));return o.scale(1/i),n.scale(s),o.add(n),o.to(r)}cartesianToCartographic(t,r=[0,0,0]){ko.from(t);let n=this.scaleToGeodeticSurface(ko,ke);if(!n)return;let o=this.geodeticSurfaceNormal(n,ul),s=Wm;s.copy(ko).subtract(n);let i=Math.atan2(o.y,o.x),a=Math.asin(o.z),f=Math.sign(Xt.dot(s,ko))*Xt.length(s);return cl([i,a,f],r)}eastNorthUpToFixedFrame(t,r=new Re){return Di(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,o,s=new Re){return Di(this,t,r,n,o,s)}geocentricSurfaceNormal(t,r=[0,0,0]){return Ho.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=al(t),o=n[0],s=n[1],i=Math.cos(s);return Ho.set(i*Math.cos(o),i*Math.sin(o),Math.sin(s)).normalize(),Ho.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return Ho.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return hl(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){ke.from(t);let n=ke.x,o=ke.y,s=ke.z,i=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*i.x+o*o*i.y+s*s*i.z);return ke.multiplyScalar(a).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return ke.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return ke.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){fe(we(this.radii.x,this.radii.y,De.EPSILON15)),fe(this.radii.z>0),ke.from(t);let o=ke.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(o)>=this.radii.z-r))return ke.set(0,0,o).to(n)}};ct.WGS84=new ct(6378137,6378137,at);var le={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var ZT=new w,YT=new w;var Rn=new w,dl=new w,Mt=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new w,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Rn.from(r),this.center=new w().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new Mt(this.center,this.radius)}union(t){let r=this.center,n=this.radius,o=t.center,s=t.radius,i=Rn.copy(o).subtract(r),a=i.magnitude();if(n>=a+s)return this.clone();if(s>=a+n)return t.clone();let f=(n+a+s)*.5;return dl.copy(i).scale((-n+f)/a).add(r),this.center.copy(dl),this.radius=f,this}expand(t){let n=Rn.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=In.getScaling(Rn,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=Rn.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,s=t.normal.dot(r)+t.distance;return s<-n?le.OUTSIDE:s<n?le.INTERSECTING:le.INSIDE}};var qm=new w,$m=new w,Jo=new w,zo=new w,Qo=new w,ep=new w,tp=new w,ft={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Zt=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new w().from(t),this.halfAxes=new X(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new w(t).len(),new w(r).len(),new w(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),o=new w(t).normalize(),s=new w(r).normalize(),i=new w(n).normalize();return new wt().fromMatrix3(new X([...o,...s,...i]))}fromCenterHalfSizeQuaternion(t,r,n){let o=new wt(n),s=new X().fromQuaternion(o);return s[0]=s[0]*r[0],s[1]=s[1]*r[0],s[2]=s[2]*r[0],s[3]=s[3]*r[1],s[4]=s[4]*r[1],s[5]=s[5]*r[1],s[6]=s[6]*r[2],s[7]=s[7]*r[2],s[8]=s[8]*r[2],this.center=new w().from(t),this.halfAxes=s,this}clone(){return new Zt(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new Mt){let r=this.halfAxes,n=r.getColumn(0,Jo),o=r.getColumn(1,zo),s=r.getColumn(2,Qo),i=qm.copy(n).add(o).add(s);return t.center.copy(this.center),t.radius=i.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,o=this.halfAxes,s=n.x,i=n.y,a=n.z,f=Math.abs(s*o[ft.COLUMN0ROW0]+i*o[ft.COLUMN0ROW1]+a*o[ft.COLUMN0ROW2])+Math.abs(s*o[ft.COLUMN1ROW0]+i*o[ft.COLUMN1ROW1]+a*o[ft.COLUMN1ROW2])+Math.abs(s*o[ft.COLUMN2ROW0]+i*o[ft.COLUMN2ROW1]+a*o[ft.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-f?le.OUTSIDE:c>=f?le.INSIDE:le.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=$m.from(t).subtract(this.center),n=this.halfAxes,o=n.getColumn(0,Jo),s=n.getColumn(1,zo),i=n.getColumn(2,Qo),a=o.magnitude(),f=s.magnitude(),c=i.magnitude();o.normalize(),s.normalize(),i.normalize();let l=0,h;return h=Math.abs(r.dot(o))-a,h>0&&(l+=h*h),h=Math.abs(r.dot(s))-f,h>0&&(l+=h*h),h=Math.abs(r.dot(i))-c,h>0&&(l+=h*h),l}computePlaneDistances(t,r,n=[-0,-0]){let o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,i=this.center,a=this.halfAxes,f=a.getColumn(0,Jo),c=a.getColumn(1,zo),l=a.getColumn(2,Qo),h=ep.copy(f).add(c).add(l).add(i),u=tp.copy(h).subtract(t),d=r.dot(u);return o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),n[0]=o,n[1]=s,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,Jo);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,zo);n.transformAsPoint(t);let o=this.halfAxes.getColumn(2,Qo);return o.transformAsPoint(t),this.halfAxes=new X([...r,...n,...o]),this}getTransform(){throw new Error("not implemented")}};var Al=new w,ml=new w,lt=class{constructor(t=[0,0,1],r=0){this.normal=new w,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return fe(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Al.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,o){return this.normal.set(t,r,n),fe(we(this.normal.len(),1)),this.distance=o,this}clone(){return new lt(this.normal,this.distance)}equals(t){return we(this.distance,t.distance)&&we(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=ml.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Al.from(t),o=this.getPointDistance(n),s=ml.copy(this.normal).scale(o);return n.subtract(s).to(r)}};var pl=[new w([1,0,0]),new w([0,1,0]),new w([0,0,1])],gl=new w,rp=new w,Oe=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*pl.length;let r=t.center,n=t.radius,o=0;for(let s of pl){let i=this.planes[o],a=this.planes[o+1];i||(i=this.planes[o]=new lt),a||(a=this.planes[o+1]=new lt);let f=gl.copy(s).scale(-n).add(r);i.fromPointNormal(f,s);let c=gl.copy(s).scale(n).add(r),l=rp.copy(s).negate();a.fromPointNormal(c,l),o+=2}return this}computeVisibility(t){let r=le.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case le.OUTSIDE:return le.OUTSIDE;case le.INTERSECTING:r=le.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(fe(Number.isFinite(r),"parentPlaneMask is required."),r===Oe.MASK_OUTSIDE||r===Oe.MASK_INSIDE)return r;let n=Oe.MASK_INSIDE,o=this.planes;for(let s=0;s<this.planes.length;++s){let i=s<31?1<<s:0;if(s<31&&!(r&i))continue;let a=o[s],f=t.intersectPlane(a);if(f===le.OUTSIDE)return Oe.MASK_OUTSIDE;f===le.INTERSECTING&&(n|=i)}return n}};Oe.MASK_OUTSIDE=4294967295;Oe.MASK_INSIDE=0;Oe.MASK_INDETERMINATE=2147483647;var Ab=new w,mb=new w,pb=new w,gb=new w,Bb=new w;var Tb=new w,bb=new w,wb=new w,Mb=new w,Ib=new w,Sb=new w,Fb=new w,Rb=new w,Db=new w,Ob=new w,Lb=new w,Gb=new w;var Ye=new X,op=new X,sp=new X,Vo=new X,Bl=new X;function Gi(e,t={}){let r=De.EPSILON20,n=10,o=0,s=0,i=op,a=sp;i.identity(),a.copy(e);let f=r*ip(a);for(;s<n&&ap(a)>f;)cp(a,Vo),Bl.copy(Vo).transpose(),a.multiplyRight(Vo),a.multiplyLeft(Bl),i.multiplyRight(Vo),++o>2&&(++s,o=0);return t.unitary=i.toTarget(t.unitary),t.diagonal=a.toTarget(t.diagonal),t}function ip(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var Oi=[1,0,0],Li=[2,2,1];function ap(e){let t=0;for(let r=0;r<3;++r){let n=e[Ye.getElementIndex(Li[r],Oi[r])];t+=2*n*n}return Math.sqrt(t)}function cp(e,t){let r=De.EPSILON15,n=0,o=1;for(let c=0;c<3;++c){let l=Math.abs(e[Ye.getElementIndex(Li[c],Oi[c])]);l>n&&(o=c,n=l)}let s=Oi[o],i=Li[o],a=1,f=0;if(Math.abs(e[Ye.getElementIndex(i,s)])>r){let c=e[Ye.getElementIndex(i,i)],l=e[Ye.getElementIndex(s,s)],h=e[Ye.getElementIndex(i,s)],u=(c-l)/2/h,d;u<0?d=-1/(-u+Math.sqrt(1+u*u)):d=1/(u+Math.sqrt(1+u*u)),a=1/Math.sqrt(1+d*d),f=d*a}return X.IDENTITY.to(t),t[Ye.getElementIndex(s,s)]=t[Ye.getElementIndex(i,i)]=a,t[Ye.getElementIndex(i,s)]=f,t[Ye.getElementIndex(s,i)]=-f,t}var It=new w,lp=new w,hp=new w,up=new w,dp=new w,Ap=new X,mp={diagonal:new X,unitary:new X};function Ni(e,t=new Zt){if(!e||e.length===0)return t.halfAxes=new X([0,0,0,0,0,0,0,0,0]),t.center=new w,t;let r=e.length,n=new w(0,0,0);for(let B of e)n.add(B);let o=1/r;n.multiplyByScalar(o);let s=0,i=0,a=0,f=0,c=0,l=0;for(let B of e){let g=It.copy(B).subtract(n);s+=g.x*g.x,i+=g.x*g.y,a+=g.x*g.z,f+=g.y*g.y,c+=g.y*g.z,l+=g.z*g.z}s*=o,i*=o,a*=o,f*=o,c*=o,l*=o;let h=Ap;h[0]=s,h[1]=i,h[2]=a,h[3]=i,h[4]=f,h[5]=c,h[6]=a,h[7]=c,h[8]=l;let{unitary:u}=Gi(h,mp),d=t.halfAxes.copy(u),A=d.getColumn(0,hp),m=d.getColumn(1,up),p=d.getColumn(2,dp),E=-Number.MAX_VALUE,y=-Number.MAX_VALUE,T=-Number.MAX_VALUE,b=Number.MAX_VALUE,C=Number.MAX_VALUE,M=Number.MAX_VALUE;for(let B of e)It.copy(B),E=Math.max(It.dot(A),E),y=Math.max(It.dot(m),y),T=Math.max(It.dot(p),T),b=Math.min(It.dot(A),b),C=Math.min(It.dot(m),C),M=Math.min(It.dot(p),M);A=A.multiplyByScalar(.5*(b+E)),m=m.multiplyByScalar(.5*(C+y)),p=p.multiplyByScalar(.5*(M+T)),t.center.copy(A).add(m).add(p);let I=lp.set(E-b,y-C,T-M).multiplyByScalar(.5),O=new X([I[0],0,0,0,I[1],0,0,0,I[2]]);return t.halfAxes.multiplyRight(O),t}var Rr;(function(e){e[e.ADD=1]="ADD",e[e.REPLACE=2]="REPLACE"})(Rr||(Rr={}));var St;(function(e){e.EMPTY="empty",e.SCENEGRAPH="scenegraph",e.POINTCLOUD="pointcloud",e.MESH="mesh"})(St||(St={}));var Dn;(function(e){e.I3S="I3S",e.TILES3D="TILES3D"})(Dn||(Dn={}));var ht;(function(e){e.GEOMETRIC_ERROR="geometricError",e.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(ht||(ht={}));var Dr="4.4.0-alpha.13";var _e={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},lw=Object.keys(_e),Ft={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function vi(e,t,r){z(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),o=new Uint8Array(e,t,r);return n.decode(o)}function xl(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var pp="1.5.6",gp="1.4.1",Ui=`https://www.gstatic.com/draco/versioned/decoders/${pp}`,he={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},On={[he.DECODER]:`${Ui}/${he.DECODER}`,[he.DECODER_WASM]:`${Ui}/${he.DECODER_WASM}`,[he.FALLBACK_DECODER]:`${Ui}/${he.FALLBACK_DECODER}`,[he.ENCODER]:`https://raw.githubusercontent.com/google/draco/${gp}/javascript/${he.ENCODER}`},Pi;async function _l(e={},t){let r=e.modules||{};return r.draco3d?Pi||=r.draco3d.createDecoderModule({}).then(n=>({draco:n})):Pi||=Bp(e,t),await Pi}function El(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function Bp(e,t){let r,n;switch(t){case"js":r=await Se(On[he.FALLBACK_DECODER],"draco",e,he.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await Se(On[he.DECODER],"draco",e,he.DECODER),await Se(On[he.DECODER_WASM],"draco",e,he.DECODER_WASM)])}catch{r=null,n=null}}return r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!it&&([r,n]=await Promise.all([await Se(On[he.DECODER],"draco",{...e,useLocalLibraries:!0},he.DECODER),await Se(On[he.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},he.DECODER_WASM)]),r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await xp(r,n)}function xp(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:o=>n({draco:o})})})}var yl="4.4.0-alpha.13";function Cl(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function Hi(e){let t=1/0,r=1/0,n=1/0,o=-1/0,s=-1/0,i=-1/0,a=e.POSITION?e.POSITION.value:[],f=a&&a.length;for(let c=0;c<f;c+=3){let l=a[c],h=a[c+1],u=a[c+2];t=l<t?l:t,r=h<r?h:r,n=u<n?u:n,o=l>o?l:o,s=h>s?h:s,i=u>i?u:i}return[[t,r,n],[o,s,i]]}function ki(e,t,r){let n=Cl(t.value),o=r||Tl(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:o}}function Tl(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}function wl(e,t,r){let n=Ml(t.metadata),o=[],s=Ep(t.attributes);for(let i in e){let a=e[i],f=bl(i,a,s[i]);o.push(f)}if(r){let i=bl("indices",r);o.push(i)}return{fields:o,metadata:n}}function Ep(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function bl(e,t,r){let n=r?Ml(r.metadata):void 0;return ki(e,t,n)}function Ml(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Il={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},_p={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},yp=4,Ln=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let o=this.decoder.GetEncodedGeometryType(n),s=o===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let i;switch(o){case this.draco.TRIANGULAR_MESH:i=this.decoder.DecodeBufferToMesh(n,s);break;case this.draco.POINT_CLOUD:i=this.decoder.DecodeBufferToPointCloud(n,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!i.ok()||!s.ptr){let u=`DRACO decompression failed: ${i.error_msg()}`;throw new Error(u)}let a=this._getDracoLoaderData(s,o,r),f=this._getMeshData(s,a,r),c=Hi(f.attributes),l=wl(f.attributes,a,f.indices);return{loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c},...f,schema:l}}finally{this.draco.destroy(n),s&&this.draco.destroy(s)}}_getDracoLoaderData(t,r,n){let o=this._getTopLevelMetadata(t),s=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:o,attributes:s}}_getDracoAttributes(t,r){let n={};for(let o=0;o<t.num_attributes();o++){let s=this.decoder.GetAttribute(t,o),i=this._getAttributeMetadata(t,o);n[s.unique_id()]={unique_id:s.unique_id(),attribute_type:s.attribute_type(),data_type:s.data_type(),num_components:s.num_components(),byte_offset:s.byte_offset(),byte_stride:s.byte_stride(),normalized:s.normalized(),attribute_index:o,metadata:i};let a=this._getQuantizationTransform(s,r);a&&(n[s.unique_id()].quantization_transform=a);let f=this._getOctahedronTransform(s,r);f&&(n[s.unique_id()].octahedron_transform=f)}return n}_getMeshData(t,r,n){let o=this._getMeshAttributes(r,t,n);if(!o.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:o,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:o,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:o}}_getMeshAttributes(t,r,n){let o={};for(let s of Object.values(t.attributes)){let i=this._deduceAttributeName(s,n);s.name=i;let a=this._getAttributeValues(r,s);if(a){let{value:f,size:c}=a;o[i]={value:f,size:c,byteOffset:s.byte_offset,byteStride:s.byte_stride,normalized:s.normalized}}}return o}_getTriangleListIndices(t){let n=t.num_faces()*3,o=n*yp,s=this.draco._malloc(o);try{return this.decoder.GetTrianglesUInt32Array(t,o,s),new Uint32Array(this.draco.HEAPF32.buffer,s,n).slice()}finally{this.draco._free(s)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),bp(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=_p[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let o=r.num_components,i=t.num_points()*o,a=i*n.BYTES_PER_ELEMENT,f=Cp(this.draco,n),c,l=this.draco._malloc(a);try{let h=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,h,f,a,l),c=new n(this.draco.HEAPF32.buffer,l,i).slice()}finally{this.draco._free(l)}return{value:c,size:o}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[i,a]of Object.entries(r.extraAttributes||{}))if(a===n)return i;let o=t.attribute_type;for(let i in Il)if(this.draco[i]===o)return Il[i];let s=r.attributeNameEntry||"name";return t.metadata[s]?t.metadata[s].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let o=0;o<n;o++){let s=this.metadataQuerier.GetEntryName(t,o);r[s]=this._getDracoMetadataField(t,s)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let o=Tp(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:o}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,o=[...r,...n];for(let s of o)this.decoder.SkipAttributeTransform(this.draco[s])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits(),range:i.range(),min_values:new Float32Array([1,2,3]).map(a=>i.min_value(a))}}finally{this.draco.destroy(i)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits()}}finally{this.draco.destroy(i)}}return null}};function Cp(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function Tp(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function bp(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var Sl={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:yl,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}},Gn={...Sl,parse:wp};async function wp(e,t){let{draco:r}=await _l(t?.core,t?.draco?.decoderType||"wasm"),n=new Ln(r);try{return n.parseSync(e,t?.draco)}finally{n.destroy()}}var Mp={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},re={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},H={...Mp,...re};var Ji={[re.DOUBLE]:Float64Array,[re.FLOAT]:Float32Array,[re.UNSIGNED_SHORT]:Uint16Array,[re.UNSIGNED_INT]:Uint32Array,[re.UNSIGNED_BYTE]:Uint8Array,[re.BYTE]:Int8Array,[re.SHORT]:Int16Array,[re.INT]:Int32Array},Ip={DOUBLE:re.DOUBLE,FLOAT:re.FLOAT,UNSIGNED_SHORT:re.UNSIGNED_SHORT,UNSIGNED_INT:re.UNSIGNED_INT,UNSIGNED_BYTE:re.UNSIGNED_BYTE,BYTE:re.BYTE,SHORT:re.SHORT,INT:re.INT},zi="Failed to convert GL type",oe=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in Ji)if(Ji[r]===t)return r;throw new Error(zi)}static fromName(t){let r=Ip[t];if(!r)throw new Error(zi);return r}static getArrayType(t){switch(t){case re.UNSIGNED_SHORT_5_6_5:case re.UNSIGNED_SHORT_4_4_4_4:case re.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Ji[t];if(!r)throw new Error(zi);return r}}static getByteSize(t){return oe.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(oe.getArrayType(t))}static createTypedArray(t,r,n=0,o){o===void 0&&(o=(r.byteLength-n)/oe.getByteSize(t));let s=r instanceof ArrayBuffer?r:r.buffer,i=oe.getArrayType(t);return new i(s,n,o)}};function Fl(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function Qi(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,o=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=o<<3,t}var Qw=1/256;var Vw=new Vt,jw=new w,Kw=new Vt,Xw=new Vt,Zw=new Uint8Array(1);function Rl(e,t=255){return $s(e,0,t)/t*2-1}function Dl(e){return e<0?-1:1}function Ol(e,t,r,n){if(Fl(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Rl(e,r),n.y=Rl(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let o=n.x;n.x=(1-Math.abs(n.y))*Dl(o),n.y=(1-Math.abs(o))*Dl(n.y)}return n.normalize()}function Vi(e,t,r){return Ol(e,t,255,r)}var Je=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=H.UNSIGNED_INT,n=1){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,o.byteOffset):o}getPropertyArray(t,r,n){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(r=oe.fromName(o.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,o.byteOffset)):this._getTypedArrayFromArray(t,r,o)}getProperty(t,r,n,o,s){let i=this.json[t];if(!i)return i;let a=this.getPropertyArray(t,r,n);if(n===1)return a[o];for(let f=0;f<n;++f)s[f]=a[n*o+f];return s}_getTypedArrayFromBinary(t,r,n,o,s){let i=this._cachedTypedArrays,a=i[t];return a||(a=oe.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+s,o*n),i[t]=a),a}_getTypedArrayFromArray(t,r,n){let o=this._cachedTypedArrays,s=o[t];if(!s){if(ArrayBuffer.isView(n)){let i=n.byteOffset,f=n.byteLength/oe.getByteSize(r);s=oe.createTypedArray(r,n.buffer,i,f)}else if(n instanceof ArrayBuffer)s=oe.createTypedArray(r,n);else{let i=oe.getArrayType(r);s=new i(n)}o[t]=s}return s}};var Sp={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Fp={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},Rp={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Ll(e,t,r,n){let{componentType:o}=e;z(e.componentType);let s=typeof o=="string"?oe.fromName(o):o,i=Sp[e.type],a=Fp[e.type],f=Rp[e.type];return r+=e.byteOffset,{values:oe.createTypedArray(s,t,r,i*n),type:s,size:i,unpacker:a,packer:f}}var We=e=>e!==void 0;function Gl(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),o=t.HIERARCHY;return o&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=o,n=o),n?Dp(n,r):null}function Dp(e,t){let r,n,o,s=e.instancesLength,i=e.classes,a=e.classIds,f=e.parentCounts,c=e.parentIds,l=s;We(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,o=getBinaryAccessor(a),a=o.createArrayBufferView(t.buffer,t.byteOffset+a.byteOffset,s));let h;if(We(f))for(We(f.byteOffset)&&(f.componentType=defaultValue(f.componentType,GL.UNSIGNED_SHORT),f.type=AttributeType.SCALAR,o=getBinaryAccessor(f),f=o.createArrayBufferView(t.buffer,t.byteOffset+f.byteOffset,s)),h=new Uint16Array(s),l=0,r=0;r<s;++r)h[r]=l,l+=f[r];We(c)&&We(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,o=getBinaryAccessor(c),c=o.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let u=i.length;for(r=0;r<u;++r){let p=i[r].length,E=i[r].instances,y=getBinaryProperties(p,E,t);i[r].instances=combine(y,E)}let d=new Array(u).fill(0),A=new Uint16Array(s);for(r=0;r<s;++r)n=a[r],A[r]=d[n],++d[n];let m={classes:i,classIds:a,classIndexes:A,parentCounts:f,parentIndexes:h,parentIds:c};return Gp(m),m}function Or(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?Op(e,t,r):Lp(e,t,r)}function Op(e,t,r){let n=e.classIds,o=e.parentCounts,s=e.parentIds,i=e.parentIndexes,a=n.length,f=scratchVisited;f.length=Math.max(f.length,a);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),f[t]===c)continue;f[t]=c;let h=r(e,t);if(We(h))return h;let u=o[t],d=i[t];for(let A=0;A<u;++A){let m=s[d+A];m!==t&&l.push(m)}}return null}function Lp(e,t,r){let n=!0;for(;n;){let o=r(e,t);if(We(o))return o;let s=e.parentIds[t];n=s!==t,t=s}throw new Error("traverseHierarchySingleParent")}function Gp(e){let t=[],n=e.classIds.length;for(let o=0;o<n;++o)Nl(e,o,stack)}function Nl(e,t,r){let n=e.parentCounts,o=e.parentIds,s=e.parentIndexes,a=e.classIds.length;if(!We(o))return;assert(t<a,`Parent index ${t} exceeds the total number of instances: ${a}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let f=We(n)?n[t]:1,c=We(n)?s[t]:t;for(let l=0;l<f;++l){let h=o[c+l];h!==t&&Nl(e,h,r)}r.pop(t)}function ye(e){return e!=null}var jo=(e,t)=>e,Np={HIERARCHY:!0,extensions:!0,extras:!0},ut=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,o={}){z(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=this.json?.extensions||{},this._properties={};for(let s in this.json)Np[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Gl(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._hierarchy){let n=Or(this._hierarchy,t,(o,s)=>{let i=o.classIds[s];return o.classes[i].name===r});return ye(n)}return!1}isExactClass(t,r){return z(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),z(typeof r=="string",r),ye(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=ye(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(ye(o))return this._getBinaryProperty(o,t)}let n=this._properties[r];if(ye(n))return jo(n[t],!0);if(this._hierarchy){let o=this._getHierarchyProperty(t,r);if(ye(o))return o}}setProperty(t,r,n){let o=this.featureCount;if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(i){this._setBinaryProperty(i,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let s=this._properties[r];ye(s)||(this._properties[r]=new Array(o),s=this._properties[r]),s[t]=jo(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],o=this._initializeBinaryProperty(r,n);o&&(t=t||{},t[r]=o)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;z(this.binary,`Property ${t} requires a batch table binary.`),z(n.type,`Property ${t} requires a type.`);let o=Ll(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:o.values,componentCount:o.size,unpack:o.unpacker,pack:o.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Or(this._hierarchy,t,(o,s)=>{let i=o.classIds[s],a=o.classes[i].instances;return ye(a[r])});return ye(n)}_getPropertyNamesInHierarchy(t,r){Or(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s].instances;for(let a in i)i.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(t,r){return Or(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s],a=n.classIndexes[o],f=i.instances[r];return ye(f)?ye(f.typedArray)?this._getBinaryProperty(f,a):jo(f[a],!0):null})}_setHierarchyProperty(t,r,n,o){let s=Or(this._hierarchy,r,(i,a)=>{let f=i.classIds[a],c=i.classes[f],l=i.classIndexes[a],h=c.instances[n];return ye(h)?(z(a===r,`Inherited property "${n}" is read-only.`),ye(h.typedArray)?this._setBinaryProperty(h,l,o):h[l]=jo(o,!0),!0):!1});return ye(s)}};function Rt(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=4,e.version=n.getUint32(r,!0),r+=4,e.byteLength=n.getUint32(r,!0),r+=4,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Lr=4,vl="b3dm tile in legacy format.";function Gr(e,t,r){let n=new DataView(t),o;e.header=e.header||{};let s=n.getUint32(r,!0);r+=Lr;let i=n.getUint32(r,!0);r+=Lr;let a=n.getUint32(r,!0);r+=Lr;let f=n.getUint32(r,!0);return r+=Lr,a>=570425344?(r-=Lr*2,o=s,a=i,f=0,s=0,i=0,console.warn(vl)):f>=570425344&&(r-=Lr,o=a,a=s,f=i,s=0,i=0,console.warn(vl)),e.header.featureTableJsonByteLength=s,e.header.featureTableBinaryByteLength=i,e.header.batchTableJsonByteLength=a,e.header.batchTableBinaryByteLength=f,e.header.batchLength=o,r}function Nr(e,t,r,n){return r=vp(e,t,r,n),r=Up(e,t,r,n),r}function vp(e,t,r,n){let{featureTableJsonByteLength:o,featureTableBinaryByteLength:s,batchLength:i}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:i||0},o&&o>0){let a=vi(t,r,o);e.featureTableJson=JSON.parse(a)}return r+=o||0,e.featureTableBinary=new Uint8Array(t,r,s),r+=s||0,r}function Up(e,t,r,n){let{batchTableJsonByteLength:o,batchTableBinaryByteLength:s}=e.header||{};if(o&&o>0){let i=vi(t,r,o);e.batchTableJson=JSON.parse(i),r+=o,s&&s>0&&(e.batchTableBinary=new Uint8Array(t,r,s),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=s)}return r}function ji(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:o,pointCount:s=0}=e;if(n&&r){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=n[a],l=r.getProperty(f,"dimensions").map(h=>h*255);i[a*3]=l[0],i[a*3+1]=l[1],i[a*3+2]=l[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}if(t&&o){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=Qi(t[a]);i[a*3]=f[0],i[a*3+1]=f[1],i[a*3+2]=f[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}return t&&t.length===s*3?{type:H.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:H.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Ul=new w;function Pl(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)Vi(t[n*2],t[n*2+1],Ul),Ul.toArray(r,n*3);return{type:H.FLOAT,size:2,value:r}}return{type:H.FLOAT,size:2,value:t}}function Hl(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,Pp(e,t)):{type:H.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function Pp(e,t){let r=new w,n=new Float32Array(e.pointCount*3);for(let o=0;o<e.pointCount;o++)r.set(t[o*3],t[o*3+1],t[o*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,o*3);return n}async function kl(e,t,r,n,o){r=Rt(e,t,r),r=Gr(e,t,r),r=Nr(e,t,r,n),Hp(e);let{featureTable:s,batchTable:i}=kp(e);return await jp(e,s,i,n,o),Jp(e,s,n),zp(e,s,i),Qp(e,s),r}function Hp(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function kp(e){let t=new Je(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let n=Vp(e,t);return{featureTable:t,batchTable:n}}function Jp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",H.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=Hl(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function zp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",H.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",H.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",H.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=ji(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",H.UNSIGNED_BYTE,4))}function Qp(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",H.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",H.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Pl(e,r)}}function Vp(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",H.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:o,batchTableBinary:s}=e;r=new ut(o,s,n)}return r}async function jp(e,t,r,n,o){let s,i,a,f=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];f&&(a=f.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){i=c.properties;let h=c.byteOffset,u=c.byteLength;if(!i||!Number.isFinite(h)||!u)throw new Error("Draco properties, byteOffset, and byteLength must be defined");s=(e.featureTableBinary||[]).slice(h,h+u),e.hasPositions=Number.isFinite(i.POSITION),e.hasColors=Number.isFinite(i.RGB)||Number.isFinite(i.RGBA),e.hasNormals=Number.isFinite(i.NORMAL),e.hasBatchIds=Number.isFinite(i.BATCH_ID),e.isTranslucent=Number.isFinite(i.RGBA)}if(!s)return!0;let l={buffer:s,properties:{...i,...a},featureTableProperties:i,batchTableProperties:a,dequantizeInShader:!1};return await Kp(e,l,n,o)}async function Kp(e,t,r,n){if(!n)return;let o={...r,draco:{...r?.draco,extraAttributes:t.batchTableProperties||{}}};delete o["3d-tiles"];let s=await He(t.buffer,Gn,o,n),i=s.attributes.POSITION&&s.attributes.POSITION.value,a=s.attributes.COLOR_0&&s.attributes.COLOR_0.value,f=s.attributes.NORMAL&&s.attributes.NORMAL.value,c=s.attributes.BATCH_ID&&s.attributes.BATCH_ID.value,l=i&&s.attributes.POSITION.value.quantization,h=f&&s.attributes.NORMAL.value.quantization;if(l){let d=s.POSITION.data.quantization,A=d.range;e.quantizedVolumeScale=new w(A,A,A),e.quantizedVolumeOffset=new w(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}h&&(e.octEncodedRange=(1<<s.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let u={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))s.attributes[d]&&s.attributes[d].value&&(u[d.toLowerCase()]=s.attributes[d].value);e.attributes={positions:i,colors:ji(e,a,void 0),normals:f,batchIds:c,...u}}var ea={};de(ea,{createExtMeshFeatures:()=>G1,decode:()=>F1,encode:()=>R1,name:()=>S1});var Jl="4.4.0-alpha.13";var Xp=globalThis.loaders?.parseImageNode,Ki=typeof Image<"u",Xi=typeof ImageBitmap<"u",Zp=Boolean(Xp),Zi=Ee?!0:Zp;function zl(e){switch(e){case"auto":return Xi||Ki||Zi;case"imagebitmap":return Xi;case"image":return Ki;case"data":return Zi;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Ql(){if(Xi)return"imagebitmap";if(Ki)return"image";if(Zi)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Vl(e){let t=Yp(e);if(!t)throw new Error("Not an image");return t}function Nn(e){switch(Vl(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function Yp(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var Wp=/^data:image\/svg\+xml/,qp=/\.svg((\?|#).*)?$/;function Ko(e){return e&&(Wp.test(e)||qp.test(e))}function jl(e,t){if(Ko(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return Yi(e,t)}function Yi(e,t){if(Ko(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Xo(e,t,r){let n=jl(e,r),o=self.URL||self.webkitURL,s=typeof n!="string"&&o.createObjectURL(n);try{return await $p(s||n,t)}finally{s&&o.revokeObjectURL(s)}}async function $p(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,o)=>{try{r.onload=()=>n(r),r.onerror=s=>{let i=s instanceof Error?s.message:"error";o(new Error(i))}}catch(s){o(s)}})}var Kl=!0;async function Xl(e,t,r){let n;Ko(r)?n=await Xo(e,t,r):n=Yi(e,r);let o=t&&t.imagebitmap;return await e1(n,o)}async function e1(e,t=null){if((t1(t)||!Kl)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Kl=!1}return await createImageBitmap(e)}function t1(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Zl(e){return!s1(e,"ftyp",4)||!(e[8]&96)?null:r1(e)}function r1(e){switch(n1(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function n1(e,t,r){return String.fromCharCode(...e.slice(t,r))}function o1(e){return[...e].map(t=>t.charCodeAt(0))}function s1(e,t,r=0){let n=o1(t);for(let o=0;o<n.length;++o)if(n[o]!==e[o+r])return!1;return!0}var qe=!1,vn=!0;function Yt(e){let t=Un(e);return a1(t)||l1(t)||c1(t)||f1(t)||i1(t)}function i1(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Zl(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function a1(e){let t=Un(e);return t.byteLength>=24&&t.getUint32(0,qe)===2303741511?{mimeType:"image/png",width:t.getUint32(16,qe),height:t.getUint32(20,qe)}:null}function c1(e){let t=Un(e);return t.byteLength>=10&&t.getUint32(0,qe)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,vn),height:t.getUint16(8,vn)}:null}function f1(e){let t=Un(e);return t.byteLength>=14&&t.getUint16(0,qe)===16973&&t.getUint32(2,vn)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,vn),height:t.getUint32(22,vn)}:null}function l1(e){let t=Un(e);if(!(t.byteLength>=3&&t.getUint16(0,qe)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:o}=h1(),s=2;for(;s+9<t.byteLength;){let i=t.getUint16(s,qe);if(o.has(i))return{mimeType:"image/jpeg",height:t.getUint16(s+5,qe),width:t.getUint16(s+7,qe)};if(!n.has(i))return null;s+=2,s+=t.getUint16(s,qe)}return null}function h1(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Un(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Yl(e,t){let{mimeType:r}=Yt(e)||{},n=globalThis.loaders?.parseImageNode;return z(n),await n(e,r)}async function Wl(e,t,r){t=t||{};let o=(t.image||{}).type||"auto",{url:s}=r||{},i=u1(o),a;switch(i){case"imagebitmap":a=await Xl(e,t,s);break;case"image":a=await Xo(e,t,s);break;case"data":a=await Yl(e,t);break;default:z(!1)}return o==="data"&&(a=Nn(a)),a}function u1(e){switch(e){case"auto":case"data":return Ql();default:return zl(e),e}}var d1=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],A1=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],m1={image:{type:"auto",decode:!0}},Wi={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Jl,mimeTypes:A1,extensions:d1,parse:Wl,tests:[e=>Boolean(Yt(new DataView(e)))],options:m1};var qi={};function $i(e){if(qi[e]===void 0){let t=Ee?g1(e):p1(e);qi[e]=t}return qi[e]}function p1(e){let t=["image/png","image/jpeg","image/gif"],r=globalThis.loaders?.imageFormatsNode||t,n=globalThis.loaders?.parseImageNode;return Boolean(n)&&r.includes(e)}function g1(e){switch(e){case"image/avif":case"image/webp":return B1(e);default:return!0}}function B1(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function se(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var Zo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Yo={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var x1=1.33,ql=["SCALAR","VEC2","VEC3","VEC4"],E1=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],_1=new Map(E1),y1={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},C1={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},T1={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Wo(e){return ql[e-1]||ql[0]}function Dt(e){let t=_1.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function vr(e,t){let r=T1[e.componentType],n=y1[e.type],o=C1[e.componentType],s=e.count*n,i=e.count*n*o;se(i>=0&&i<=t.byteLength);let a=Yo[e.componentType],f=Zo[e.type];return{ArrayType:r,length:s,byteLength:i,componentByteSize:a,numberOfComponentsInElement:f}}function Pn(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(i=>i.bufferView);r=r.filter(i=>!n.includes(i));let o=r.reduce((i,a)=>i+a.byteLength,0),s=t.reduce((i,a)=>{let{width:f,height:c}=a.image;return i+f*c},0);return o+Math.ceil(4*s*x1)}function $l(e,t,r){let n=e.bufferViews[r];se(n);let o=n.buffer,s=t[o];se(s);let i=(n.byteOffset||0)+s.byteOffset;return new Uint8Array(s.arrayBuffer,i,n.byteLength)}function eh(e,t,r){let n=typeof r=="number"?e.accessors?.[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let o=e.bufferViews?.[n.bufferView||0];if(!o)throw new Error(`No gltf buffer view for accessor ${o}`);let{arrayBuffer:s,byteOffset:i}=t[o.buffer],a=(i||0)+(n.byteOffset||0)+(o.byteOffset||0),{ArrayType:f,length:c,componentByteSize:l,numberOfComponentsInElement:h}=vr(n,o),u=l*h,d=o.byteStride||u;if(typeof o.byteStride>"u"||o.byteStride===u)return new f(s,a,c);let A=new f(c);for(let m=0;m<n.count;m++){let p=new f(s,a+m*d,h);A.set(p,m*h)}return A}function b1(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Q=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:t?.json||b1(),buffers:t?.buffers||[],images:t?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.getRequiredExtensions().find(o=>o===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];se(n);let o=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,o,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return eh(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),o=this.getBuffer(r.buffer).data,s=r.byteOffset||0;return new Uint8Array(o,s,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let o=t.extensions||{};o[r]=n}removeObjectExtension(t,r){let n=t?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let o=this.json.extensionsRemoved;o.includes(r)||o.push(r)}delete n[r]}addExtension(t,r={}){return se(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return se(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){if(this.json.extensions?.[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let r=this.json.extensionsRemoved;r.includes(t)||r.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let o={mesh:r};return n&&(o.matrix=n),this.json.nodes.push(o),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:o,mode:s=4}=t,a={primitives:[{attributes:this._addAttributes(r),mode:s}]};if(n){let f=this._addIndices(n);a.primitives[0].indices=f}return Number.isFinite(o)&&(a.primitives[0].material=o),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Yt(t),o=r||n?.mimeType,i={bufferView:this.addBufferView(t),mimeType:o};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let o=t.byteLength;se(Number.isFinite(o)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let s={buffer:r,byteOffset:n,byteLength:o};return this.byteLength+=be(o,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(s),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:Wo(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),o={min:r.min,max:r.max};(!o.min||!o.max)&&(o=this._getAccessorMinMax(t,r.size));let s={size:r.size,componentType:Dt(t),count:Math.round(t.length/r.size),min:o.min,max:o.max};return this.addAccessor(n,Object.assign(s,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),o=0;for(let s of this.sourceBuffers||[])o=Ks(s,n,o);this.json?.buffers?.[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let o=t.indexOf(r);o>-1?t.splice(o,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let o=t[n],s=this._getGltfAttributeName(n),i=this.addBinaryBuffer(o.value,o);r[s]=i}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let o=t.subarray(0,r);for(let s of o)n.min.push(s),n.max.push(s);for(let s=r;s<t.length;s+=r)for(let i=0;i<r;i++)n.min[0+i]=Math.min(n.min[0+i],t[s+i]),n.max[0+i]=Math.max(n.max[0+i],t[s+i]);return n}};function th(e){return(e%1+1)%1}var rh={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},w1={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},nh={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Hn(e,t){return nh[t]*rh[e]}function Ur(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let o=e.getTypedArrayForBufferView(t),s=Pr(o,"SCALAR",r,n+1);return s instanceof BigInt64Array||s instanceof BigUint64Array?null:s}function Pr(e,t,r,n=1){let o=rh[t],s=w1[r],i=nh[r],a=n*o,f=a*i,c=e.buffer,l=e.byteOffset;return l%i!==0&&(c=new Uint8Array(c).slice(l,l+f).buffer,l=0),new s(yt(c),l,a)}function Hr(e,t,r){let n=`TEXCOORD_${t.texCoord||0}`,o=r.attributes[n],s=e.getTypedArrayForAccessor(o),i=e.gltf.json,a=t.index,f=i.textures?.[a]?.source;if(typeof f<"u"){let c=i.images?.[f]?.mimeType,l=e.gltf.images?.[f];if(l&&typeof l.width<"u"){let h=[];for(let u=0;u<s.length;u+=2){let d=M1(l,c,s,u,t.channels);h.push(d)}return h}}return[]}function qo(e,t,r,n,o){if(!r?.length)return;let s=[];for(let l of r){let h=n.findIndex(u=>u===l);h===-1&&(h=n.push(l)-1),s.push(h)}let i=new Uint32Array(s),a=e.gltf.buffers.push({arrayBuffer:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength})-1,f=e.addBufferView(i,a,0),c=e.addAccessor(f,{size:1,componentType:Dt(i),count:i.length});o.attributes[t]=c}function M1(e,t,r,n,o=[0]){let s={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},i=r[n],a=r[n+1],f=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(f=4);let c=I1(i,a,e,f),l=0;for(let h of o){let u=typeof h=="number"?Object.values(s)[h]:s[h],d=c+u.offset,A=Nn(e);if(A.data.length<=d)throw new Error(`${A.data.length} <= ${d}`);let m=A.data[d];l|=m<<u.shift}return l}function I1(e,t,r,n=1){let o=r.width,s=th(e)*(o-1),i=Math.round(s),a=r.height,f=th(t)*(a-1),c=Math.round(f),l=r.components?r.components:n;return(c*o+i)*l}function $o(e,t,r,n,o){let s=[];for(let i=0;i<t;i++){let a=r[i],f=r[i+1]-r[i];if(f+a>n)break;let c=a/o,l=f/o;s.push(e.slice(c,c+l))}return s}function es(e,t,r){let n=[];for(let o=0;o<t;o++){let s=o*r;n.push(e.slice(s,s+r))}return n}function ts(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let o=[],s=new TextDecoder("utf8"),i=0;for(let a=0;a<e;a++){let f=n[a+1]-n[a];if(f+i<=t.length){let c=t.subarray(i,f+i),l=s.decode(c);o.push(l),i+=f}}return o}return[]}var kr="EXT_mesh_features",S1=kr;async function F1(e,t){let r=new Q(e);D1(r,t)}function R1(e,t){let r=new Q(e);return L1(r,t),r.createBinaryChunk(),r.gltf}function D1(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let o of n.primitives)O1(e,o,t)}function O1(e,t,r){if(!r?.gltf?.loadBuffers)return;let o=t.extensions?.[kr]?.featureIds;if(o)for(let s of o){let i;if(typeof s.attribute<"u"){let a=`_FEATURE_ID_${s.attribute}`,f=t.attributes[a];i=e.getTypedArrayForAccessor(f)}else typeof s.texture<"u"&&r?.gltf?.loadImages?i=Hr(e,s.texture,t):i=[];s.data=i}}function L1(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let o of n.primitives)N1(e,o)}function G1(e,t,r,n){t.extensions||(t.extensions={});let o=t.extensions[kr];o||(o={featureIds:[]},t.extensions[kr]=o);let{featureIds:s}=o,i={featureCount:r.length,propertyTable:n,data:r};s.push(i),e.addObjectExtension(t,kr,o)}function N1(e,t){let r=t.extensions?.[kr];if(!r)return;let n=r.featureIds;n.forEach((o,s)=>{if(o.data){let{accessorKey:i,index:a}=v1(t.attributes),f=new Uint32Array(o.data);n[s]={featureCount:f.length,propertyTable:o.propertyTable,attribute:a},e.gltf.buffers.push({arrayBuffer:f.buffer,byteOffset:f.byteOffset,byteLength:f.byteLength});let c=e.addBufferView(f),l=e.addAccessor(c,{size:1,componentType:Dt(f),count:f.length});t.attributes[i]=l}})}function v1(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(s=>s.indexOf(t)===0),n=-1;for(let s of r){let i=Number(s.substring(t.length));i>n&&(n=i)}return n++,{accessorKey:`${t}${n}`,index:n}}var na={};de(na,{createExtStructuralMetadata:()=>sg,decode:()=>P1,encode:()=>H1,name:()=>U1});var Jr="EXT_structural_metadata",U1=Jr;async function P1(e,t){let r=new Q(e);k1(r,t)}function H1(e,t){let r=new Q(e);return ng(r,t),r.createBinaryChunk(),r.gltf}function k1(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(Jr);r&&(t.gltf?.loadImages&&J1(e,r),z1(e,r))}function J1(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let o of n.meshes)for(let s of o.primitives)V1(e,r,s,t)}function z1(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.propertyTables;if(n&&o)for(let s in n){let i=Q1(o,s);i&&K1(e,r,i)}}function Q1(e,t){for(let r of e)if(r.class===t)return r;return null}function V1(e,t,r,n){if(!t)return;let s=r.extensions?.[Jr]?.propertyTextures;if(s)for(let i of s){let a=t[i];j1(e,a,r,n)}}function j1(e,t,r,n){if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let o=t.class;for(let s in t.properties){let i=`${o}_${s}`,a=t.properties?.[s];if(!a)continue;a.data||(a.data=[]);let f=a.data,c=Hr(e,a,r);c!==null&&(qo(e,i,c,f,r),a.data=f,n.dataAttributeNames.push(i))}}function K1(e,t,r){let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=X1(e,t,i,o,a);a.data=f}}}function X1(e,t,r,n,o){let s=[],i=o.values,a=e.getTypedArrayForBufferView(i),f=Z1(e,r,o,n),c=Y1(e,o,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{s=W1(r,n,a,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{s=ts(n,a,f,c);break}case"ENUM":{s=q1(t,r,n,a,f);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return s}function Z1(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Ur(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function Y1(e,t,r){return typeof t.stringOffsets<"u"?Ur(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function W1(e,t,r,n){let o=e.array,s=e.count,i=Hn(e.type,e.componentType),a=r.byteLength/i,f;return e.componentType?f=Pr(r,e.type,e.componentType,a):f=r,o?n?$o(f,t,n,r.length,i):s?es(f,t,s):[]:f}function q1(e,t,r,n,o){let s=t.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let i=e.enums?.[s];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let a=i.valueType||"UINT16",f=Hn(t.type,a),c=n.byteLength/f,l=Pr(n,t.type,a,c);if(l||(l=n),t.array){if(o)return $1({valuesData:l,numberOfElements:r,arrayOffsets:o,valuesDataBytesLength:n.length,elementSize:f,enumEntry:i});let h=t.count;return h?eg(l,r,h,i):[]}return ra(l,0,r,i)}function $1(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:o,elementSize:s,enumEntry:i}=e,a=[];for(let f=0;f<r;f++){let c=n[f],l=n[f+1]-n[f];if(l+c>o)break;let h=c/s,u=l/s,d=ra(t,h,u,i);a.push(d)}return a}function eg(e,t,r,n){let o=[];for(let s=0;s<t;s++){let i=r*s,a=ra(e,i,r,n);o.push(a)}return o}function ra(e,t,r,n){let o=[];for(let s=0;s<r;s++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)o.push("");else{let i=e[t+s],a=tg(n,i);a?o.push(a.name):o.push("")}return o}function tg(e,t){for(let r of e.values)if(r.value===t)return r;return null}var rg="schemaClassId";function ng(e,t){let r=e.getExtension(Jr);if(r&&r.propertyTables)for(let n of r.propertyTables){let o=n.class,s=r.schema?.classes?.[o];n.properties&&s&&og(n,s,e)}}function og(e,t,r){for(let n in e.properties){let o=e.properties[n].data;if(o){let s=t.properties[n];if(s){let i=cg(o,s,r);e.properties[n]=i}}}}function sg(e,t,r=rg){let n=e.getExtension(Jr);n||(n=e.addExtension(Jr)),n.schema=ig(t,r,n.schema);let o=ag(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(o)-1}function ig(e,t,r){let n=r??{id:"schema_id"},o={properties:{}};for(let s of e){let i={type:s.elementType,componentType:s.componentType};o.properties[s.name]=i}return n.classes={},n.classes[t]=o,n}function ag(e,t,r){let n={class:t,count:0},o=0,s=r.classes?.[t];for(let i of e){if(o===0&&(o=i.values.length),o!==i.values.length&&i.values.length)throw new Error("Illegal values in attributes");s?.properties[i.name]&&(n.properties||(n.properties={}),n.properties[i.name]={values:0,data:i.values})}return n.count=o,n}function cg(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:o,stringOffsets:s}=hg(e);n.stringOffsets=ta(s,r),n.values=ta(o,r)}else if(t.type==="SCALAR"&&t.componentType){let o=lg(e,t.componentType);n.values=ta(o,r)}return n}var fg={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function lg(e,t){let r=[];for(let o of e)r.push(Number(o));let n=fg[t];if(!n)throw new Error("Illegal component type");return new n(r)}function hg(e){let t=new TextEncoder,r=[],n=0;for(let f of e){let c=t.encode(f);n+=c.length,r.push(c)}let o=new Uint8Array(n),s=[],i=0;for(let f of r)o.set(f,i),s.push(i),i+=f.length;s.push(i);let a=new Uint32Array(s);return{stringData:o,stringOffsets:a}}function ta(e,t){return t.gltf.buffers.push({arrayBuffer:yt(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var oa={};de(oa,{decode:()=>dg,name:()=>ug});var oh="EXT_feature_metadata",ug=oh;async function dg(e,t){let r=new Q(e);Ag(r,t)}function Ag(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(oh);r&&(t.gltf?.loadImages&&mg(e,r),pg(e,r))}function mg(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:o}=t;if(n&&o)for(let s in n){let i=n[s],a=Bg(o,s);a&&Eg(e,a,i)}}function pg(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.featureTables;if(n&&o)for(let s in n){let i=gg(o,s);i&&xg(e,r,i)}}function gg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Bg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function xg(e,t,r){if(!r.class)return;let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=_g(e,t,i,o,a);a.data=f}}}function Eg(e,t,r){let n=t.class;for(let o in r.properties){let s=t?.properties?.[o];if(s){let i=wg(e,s,n);s.data=i}}}function _g(e,t,r,n,o){let s=[],i=o.bufferView,a=e.getTypedArrayForBufferView(i),f=yg(e,r,o,n),c=Cg(e,r,o,n);return r.type==="STRING"||r.componentType==="STRING"?s=ts(n,a,f,c):Tg(r)&&(s=bg(r,n,a,f)),s}function yg(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Ur(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function Cg(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Ur(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function Tg(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function bg(e,t,r,n){let o=e.type==="ARRAY",s=e.componentCount,i="SCALAR",a=e.componentType||e.type,f=Hn(i,a),c=r.byteLength/f,l=Pr(r,i,a,c);return o?n?$o(l,t,n,r.length,f):s?es(l,t,s):[]:l}function wg(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let o=[];for(let s of n.meshes)for(let i of s.primitives)Mg(e,r,t,o,i);return o}function Mg(e,t,r,n,o){let s={channels:r.channels,...r.texture},i=Hr(e,s,o);i&&qo(e,t,i,n,o)}var sh="4.4.0-alpha.13";var ih="4.4.0-alpha.13";var rs={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},ah;async function ia(e){mn(e.modules);let t=Qs("basis");return t||(ah||=Ig(e),await ah)}async function Ig(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(rs.TRANSCODER,"textures",e),await Se(rs.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Sg(t,r)}function Sg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,initializeBasis:i}=o;i(),n({BasisFile:s})})})}var sa;async function aa(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(sa=sa||Fg(e),await sa)}async function Fg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(rs.ENCODER,"textures",e),await Se(rs.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Rg(t,r)}function Rg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,KTX2File:i,initializeBasis:a,BasisEncoder:f}=o;a(),n({BasisFile:s,KTX2File:i,BasisEncoder:f})})})}var Wt={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var Dg=["","WEBKIT_","MOZ_"],ch={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},ns=null;function fh(e){if(!ns){e=e||Og()||void 0,ns=new Set;for(let t of Dg)for(let r in ch)if(e&&e.getExtension(`${t}${r}`)){let n=ch[r];ns.add(n)}}return ns}function Og(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Me=[171,75,84,88,32,50,48,187,13,10,26,10];function lh(e){let t=new Uint8Array(e);return!(t.byteLength<Me.length||t[0]!==Me[0]||t[1]!==Me[1]||t[2]!==Me[2]||t[3]!==Me[3]||t[4]!==Me[4]||t[5]!==Me[5]||t[6]!==Me[6]||t[7]!==Me[7]||t[8]!==Me[8]||t[9]!==Me[9]||t[10]!==Me[10]||t[11]!==Me[11])}var Lg={etc1:{basisFormat:0,compressed:!0,format:Wt.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Wt.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Wt.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Wt.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Wt.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Wt.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function uh(e,t={}){if(!t.basis?.containerFormat||t.basis.containerFormat==="auto"){if(lh(e)){let n=await aa(t?.core||{});return hh(n.KTX2File,e,t)}let{BasisFile:r}=await ia(t?.core||{});return ca(r,e,t)}switch(t.basis.module){case"encoder":let r=await aa(t?.core||{});switch(t.basis.containerFormat){case"ktx2":return hh(r.KTX2File,e,t);case"basis":default:return ca(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await ia(t.core||{});return ca(n,e,t)}}function ca(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let o=n.getNumImages(),s=[];for(let i=0;i<o;i++){let a=n.getNumLevels(i),f=[];for(let c=0;c<a;c++)f.push(Gg(n,i,c,r));s.push(f)}return s}finally{n.close(),n.delete()}}function Gg(e,t,r,n){let o=e.getImageWidth(t,r),s=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:a,format:f,basisFormat:c}=dh(n,i),l=e.getImageTranscodedSizeInBytes(t,r,c),h=new Uint8Array(l);if(!e.transcodeImage(h,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:o,height:s,data:h,compressed:a,format:f,hasAlpha:i}}function hh(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let o=n.getLevels(),s=[];for(let i=0;i<o;i++)s.push(Ng(n,i,r));return[s]}finally{n.close(),n.delete()}}function Ng(e,t,r){let{alphaFlag:n,height:o,width:s}=e.getImageLevelInfo(t,0,0),{compressed:i,format:a,basisFormat:f}=dh(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,f),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:s,height:o,data:l,compressed:i,levelSize:c,hasAlpha:n,format:a}}function dh(e,t){let r=e.basis?.format;return r==="auto"&&(r=os()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Lg[r]}function os(){let e=fh();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Ah={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:ih,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},fa={...Ah,parse:uh};var zr=!0,mh=1735152710,ua=12,ss=8,vg=1313821514,Ug=5130562,Pg=0,Hg=0,kg=1;function Jg(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function ph(e,t=0,r={}){let n=new DataView(e),{magic:o=mh}=r,s=n.getUint32(t,!1);return s===o||s===mh}function gh(e,t,r=0,n={}){let o=new DataView(t),s=Jg(o,r+0),i=o.getUint32(r+4,zr),a=o.getUint32(r+8,zr);switch(Object.assign(e,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:s,version:i,json:{},binChunks:[]}),r+=ua,e.version){case 1:return zg(e,o,r);case 2:return Qg(e,o,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function zg(e,t,r){z(e.header.byteLength>ua+ss);let n=t.getUint32(r+0,zr),o=t.getUint32(r+4,zr);return r+=ss,z(o===Pg),la(e,t,r,n),r+=n,r+=ha(e,t,r,e.header.byteLength),r}function Qg(e,t,r,n){return z(e.header.byteLength>ua+ss),Vg(e,t,r,n),r+e.header.byteLength}function Vg(e,t,r,n){for(;r+8<=e.header.byteLength;){let o=t.getUint32(r+0,zr),s=t.getUint32(r+4,zr);switch(r+=ss,s){case vg:la(e,t,r,o);break;case Ug:ha(e,t,r,o);break;case Hg:n.strict||la(e,t,r,o);break;case kg:n.strict||ha(e,t,r,o);break;default:break}r+=be(o,4)}return r}function la(e,t,r,n){let o=new Uint8Array(t.buffer,r,n),i=new TextDecoder("utf8").decode(o);return e.json=JSON.parse(i),be(n,4)}function ha(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),be(n,4)}function da(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t?.core?.baseUri||t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var ma={};de(ma,{decode:()=>nB,name:()=>rB});var jg="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",Kg="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",Xg=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Zg=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Yg={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Wg={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Bh(e,t,r,n,o,s="NONE"){let i=await qg();tB(i,i.exports[Wg[o]],e,t,r,n,i.exports[Yg[s||"NONE"]])}var Aa;async function qg(){return Aa||(Aa=$g()),Aa}async function $g(){let e=jg;WebAssembly.validate(Xg)&&(e=Kg,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(eB(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function eB(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let o=e.charCodeAt(n);t[n]=o>96?o-71:o>64?o-65:o>47?o+4:o>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?Zg[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function tB(e,t,r,n,o,s,i){let a=e.exports.sbrk,f=n+3&-4,c=a(f*o),l=a(s.length),h=new Uint8Array(e.exports.memory.buffer);h.set(s,l);let u=t(c,n,o,l,s.length);if(u===0&&i&&i(c,f,o),r.set(h.subarray(c,c+n*o)),a(c-a(0)),u!==0)throw new Error(`Malformed buffer data: ${u}`)}var is="EXT_meshopt_compression",rB=is;async function nB(e,t){let r=new Q(e);if(!t?.gltf?.decompressMeshes||!t.gltf?.loadBuffers)return;let n=[];for(let o of e.json.bufferViews||[])n.push(oB(r,o));await Promise.all(n),r.removeExtension(is)}async function oB(e,t){let r=e.getObjectExtension(t,is);if(r){let{byteOffset:n=0,byteLength:o=0,byteStride:s,count:i,mode:a,filter:f="NONE",buffer:c}=r,l=e.gltf.buffers[c],h=new Uint8Array(l.arrayBuffer,l.byteOffset+n,o),u=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Bh(u,i,s,h,a,f),e.removeObjectExtension(t,is)}}var pa={};de(pa,{name:()=>sB,preprocess:()=>iB});var Qr="EXT_texture_webp",sB=Qr;function iB(e,t){let r=new Q(e);if(!$i("image/webp")){if(r.getRequiredExtensions().includes(Qr))throw new Error(`gltf: Required extension ${Qr} not supported by browser`);return}let{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,Qr);s&&(o.source=s.source),r.removeObjectExtension(o,Qr)}r.removeExtension(Qr)}var ga={};de(ga,{name:()=>aB,preprocess:()=>cB});var as="KHR_texture_basisu",aB=as;function cB(e,t){let r=new Q(e),{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,as);s&&(o.source=s.source,r.removeObjectExtension(o,as))}r.removeExtension(as)}var xa={};de(xa,{decode:()=>dB,encode:()=>AB,name:()=>hB,preprocess:()=>uB});function xh(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let o=Ba(n);t[r]=o}}return t}function Ba(e){let{buffer:t,size:r,count:n}=fB(e);return{value:t,size:r,byteOffset:0,count:n,type:Wo(r),componentType:Dt(t)}}function fB(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=lB(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function lB(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Ot="KHR_draco_mesh_compression",hB=Ot;function uB(e,t,r){let n=new Q(e);for(let o of Eh(n))n.getObjectExtension(o,Ot)}async function dB(e,t,r){if(!t?.gltf?.decompressMeshes)return;let n=new Q(e),o=[];for(let s of Eh(n))n.getObjectExtension(s,Ot)&&o.push(mB(n,s,t,r));await Promise.all(o),n.removeExtension(Ot)}function AB(e,t={}){let r=new Q(e);for(let n of r.json.meshes||[])pB(n,t),r.addRequiredExtension(Ot)}async function mB(e,t,r,n){let o=e.getObjectExtension(t,Ot);if(!o)return;let s=e.getTypedArrayForBufferView(o.bufferView),i=Qt(s.buffer,s.byteOffset),a={...r};delete a["3d-tiles"];let f=await He(i,Gn,a,n),c=xh(f.attributes);for(let[l,h]of Object.entries(c))if(l in t.attributes){let u=t.attributes[l],d=e.getAccessor(u);d?.min&&d?.max&&(h.min=d.min,h.max=d.max)}t.attributes=c,f.indices&&(t.indices=Ba(f.indices)),e.removeObjectExtension(t,Ot),gB(t)}function pB(e,t,r=4,n,o){if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let s=n.DracoWriter.encodeSync({attributes:e}),i=o?.parseSync?.({attributes:e}),a=n._addFauxAttributes(i.attributes),f=n.addBufferView(s);return{primitives:[{attributes:a,mode:r,extensions:{[Ot]:{bufferView:f,attributes:a}}}]}}function gB(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Eh(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var Ea={};de(Ea,{decode:()=>_B,name:()=>BB});var fs="KHR_texture_transform",BB=fs,cs=new w,xB=new X,EB=new X;async function _B(e,t){if(!new Q(e).hasExtension(fs)||!t.gltf?.loadBuffers)return;let o=e.json.materials||[];for(let s=0;s<o.length;s++)yB(s,e)}function yB(e,t){let r=t.json.materials?.[e],n=[r?.pbrMetallicRoughness?.baseColorTexture,r?.emissiveTexture,r?.normalTexture,r?.occlusionTexture,r?.pbrMetallicRoughness?.metallicRoughnessTexture],o=[];for(let s of n)s&&s?.extensions?.[fs]&&CB(t,e,s,o)}function CB(e,t,r,n){let o=TB(r,n);if(!o)return;let s=e.json.meshes||[];for(let i of s)for(let a of i.primitives){let f=a.material;Number.isFinite(f)&&t===f&&bB(e,a,o)}}function TB(e,t){let r=e.extensions?.[fs],{texCoord:n=0}=e,{texCoord:o=n}=r;if(!(t.findIndex(([i,a])=>i===n&&a===o)!==-1)){let i=IB(r);return n!==o&&(e.texCoord=o),t.push([n,o]),{originalTexCoord:n,texCoord:o,matrix:i}}return null}function bB(e,t,r){let{originalTexCoord:n,texCoord:o,matrix:s}=r,i=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(i)){let a=e.json.accessors?.[i];if(a&&a.bufferView!==void 0){let f=e.json.bufferViews?.[a.bufferView];if(f){let{arrayBuffer:c,byteOffset:l}=e.buffers[f.buffer],h=(l||0)+(a.byteOffset||0)+(f.byteOffset||0),{ArrayType:u,length:d}=vr(a,f),A=Yo[a.componentType],m=Zo[a.type],p=f.byteStride||A*m,E=new Float32Array(d);for(let y=0;y<a.count;y++){let T=new u(c,h+y*p,2);cs.set(T[0],T[1],1),cs.transformByMatrix3(s),E.set([cs[0],cs[1]],y*m)}n===o?wB(a,e,E,a.bufferView):MB(o,a,t,e,E)}}}}function wB(e,t,r,n){e.componentType=5126,e.byteOffset=0;let i=(t.json.accessors||[]).reduce((c,l)=>l.bufferView===n?c+1:c,0)>1;t.buffers.push({arrayBuffer:yt(r.buffer),byteOffset:0,byteLength:r.buffer.byteLength});let a=t.buffers.length-1;if(t.json.bufferViews=t.json.bufferViews||[],i){t.json.bufferViews.push({buffer:a,byteLength:r.buffer.byteLength,byteOffset:0}),e.bufferView=t.json.bufferViews.length-1;return}let f=t.json.bufferViews[n];f&&(f.buffer=a,f.byteOffset=0,f.byteLength=r.buffer.byteLength,f.byteStride!==void 0&&delete f.byteStride)}function MB(e,t,r,n,o){n.buffers.push({arrayBuffer:yt(o.buffer),byteOffset:0,byteLength:o.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let s=n.json.bufferViews;s.push({buffer:n.buffers.length-1,byteLength:o.buffer.byteLength,byteOffset:0});let i=n.json.accessors;i&&(i.push({bufferView:s?.length-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=i.length-1)}function IB(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,o=new X().set(1,0,0,0,1,0,t[0],t[1],1),s=xB.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),i=EB.set(n[0],0,0,0,n[1],0,0,0,1);return o.multiplyRight(s).multiplyRight(i)}var _a={};de(_a,{decode:()=>FB,encode:()=>RB,name:()=>SB});var qt="KHR_lights_punctual",SB=qt;async function FB(e){let t=new Q(e),{json:r}=t,n=t.getExtension(qt);n&&(t.json.lights=n.lights,t.removeExtension(qt));for(let o of r.nodes||[]){let s=t.getObjectExtension(o,qt);s&&(o.light=s.light),t.removeObjectExtension(o,qt)}}async function RB(e){let t=new Q(e),{json:r}=t;if(r.lights){let n=t.addExtension(qt);se(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let o=n.node;t.addObjectExtension(o,qt,n)}delete t.json.lights}}var ya={};de(ya,{decode:()=>OB,encode:()=>LB,name:()=>DB});var kn="KHR_materials_unlit",DB=kn;async function OB(e){let t=new Q(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,kn);t.removeExtension(kn)}function LB(e){let t=new Q(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,kn,{}),t.addExtension(kn))}var Ca={};de(Ca,{decode:()=>NB,encode:()=>vB,name:()=>GB});var Jn="KHR_techniques_webgl",GB=Jn;async function NB(e){let t=new Q(e),{json:r}=t,n=t.getExtension(Jn);if(n){let o=UB(n,t);for(let s of r.materials||[]){let i=t.getObjectExtension(s,Jn);i&&(s.technique=Object.assign({},i,o[i.technique]),s.technique.values=PB(s.technique,t)),t.removeObjectExtension(s,Jn)}t.removeExtension(Jn)}}async function vB(e,t){}function UB(e,t){let{programs:r=[],shaders:n=[],techniques:o=[]}=e,s=new TextDecoder;return n.forEach(i=>{if(Number.isFinite(i.bufferView))i.code=s.decode(t.getTypedArrayForBufferView(i.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(i=>{i.fragmentShader=n[i.fragmentShader],i.vertexShader=n[i.vertexShader]}),o.forEach(i=>{i.program=r[i.program]}),o}function PB(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var _h=[na,ea,ma,pa,ga,xa,_a,ya,Ca,Ea,oa];function yh(e,t={},r){let n=_h.filter(o=>Th(o.name,t));for(let o of n)o.preprocess?.(e,t,r)}async function Ch(e,t={},r){let n=_h.filter(o=>Th(o.name,t));for(let o of n)await o.decode?.(e,t,r)}function Th(e,t){let r=t?.gltf?.excludeExtensions||{};return!(e in r&&!r[e])}var Ta="KHR_binary_glTF";function bh(e){let t=new Q(e),{json:r}=t;for(let n of r.images||[]){let o=t.getObjectExtension(n,Ta);o&&Object.assign(n,o),t.removeObjectExtension(n,Ta)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(Ta)}var wh={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},kB={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},ba=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),bh(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in wh)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let o in n){let s=n[o];s.id=s.id||o;let i=t[r].length;t[r].push(s),this.idToIndexMap[r][o]=i}}}_convertObjectIdsToArrayIndices(t){for(let r in wh)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:o,material:s}=r;for(let i in n)n[i]=this._convertIdToIndex(n[i],"accessor");o&&(r.indices=this._convertIdToIndex(o,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let o in n){let s=n[o],i=this._convertIdToIndex(s,o);n[o]=i}}_convertIdToIndex(t,r){let n=kB[r];if(n in this.idToIndexMap){let o=this.idToIndexMap[n][t];if(!Number.isFinite(o))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return o}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){for(let r of t.materials){r.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let n=r.values?.tex||r.values?.texture2d_0||r.values?.diffuseTex,o=t.textures.findIndex(s=>s.id===n);o!==-1&&(r.pbrMetallicRoughness.baseColorTexture={index:o})}}};function Mh(e,t={}){return new ba().normalize(e,t)}async function Ih(e,t,r=0,n,o){return JB(e,t,r,n),Mh(e,{normalize:n?.gltf?.normalize}),yh(e,n,o),n?.gltf?.loadBuffers&&e.json.buffers&&await zB(e,n,o),n?.gltf?.loadImages&&await QB(e,n,o),await Ch(e,n,o),e}function JB(e,t,r,n){if(n.core?.baseUri&&(e.baseUri=n.core?.baseUri),t instanceof ArrayBuffer&&!ph(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=js(t);else if(t instanceof ArrayBuffer){let i={};r=gh(i,t,r,n.glb),se(i.type==="glTF",`Invalid GLB magic string ${i.type}`),e._glb=i,e.json=i.json}else se(!1,"GLTF: must be ArrayBuffer or string");let o=e.json.buffers||[];if(e.buffers=new Array(o.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:i}=e._glb;e.buffers[0]={arrayBuffer:i[0].arrayBuffer,byteOffset:i[0].byteOffset,byteLength:i[0].byteLength}}let s=e.json.images||[];e.images=new Array(s.length).fill({})}async function zB(e,t,r){let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:i}=r;se(i);let a=da(s.uri,t),c=await(await r?.fetch?.(a))?.arrayBuffer?.();e.buffers[o]={arrayBuffer:c,byteOffset:0,byteLength:c.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function QB(e,t,r){let n=VB(e),o=e.json.images||[],s=[];for(let i of n)s.push(jB(e,o[i],i,t,r));return await Promise.all(s)}function VB(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function jB(e,t,r,n,o){let s;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=da(t.uri,n),{fetch:l}=o;s=await(await l(c)).arrayBuffer(),t.bufferView={data:s}}if(Number.isFinite(t.bufferView)){let c=$l(e.json,e.buffers,t.bufferView);s=Qt(c.buffer,c.byteOffset,c.byteLength)}se(s,"glTF image has no data");let i=n,a={...i,core:{...i?.core,mimeType:t.mimeType},basis:i.basis||{format:os()}},f=await He(s,[Wi,fa],a,o);f&&f[0]&&(f={compressed:!0,mipmaps:!1,width:f[0].width,height:f[0].height,data:f[0]}),e.images=e.images||[],e.images[r]=f}var $t={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:sh,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:KB,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function KB(e,t={},r){let n={...$t.options,...t};n.gltf={...$t.options.gltf,...n.gltf};let o=t?.glb?.byteOffset||0;return await Ih({},e,o,n,r)}var XB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ZB={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Le={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},YB={magFilter:Le.TEXTURE_MAG_FILTER,minFilter:Le.TEXTURE_MIN_FILTER,wrapS:Le.TEXTURE_WRAP_S,wrapT:Le.TEXTURE_WRAP_T},WB={[Le.TEXTURE_MAG_FILTER]:Le.LINEAR,[Le.TEXTURE_MIN_FILTER]:Le.NEAREST_MIPMAP_LINEAR,[Le.TEXTURE_WRAP_S]:Le.REPEAT,[Le.TEXTURE_WRAP_T]:Le.REPEAT};function qB(){return{id:"default-sampler",parameters:WB}}function $B(e){return ZB[e]}function ex(e){return XB[e]}var wa=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:o=[],images:s=[]}=t,{baseUri:i=""}=t;return se(n),this.baseUri=i,this.buffers=o,this.images=s,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((o,s)=>this._resolveBufferView(o,s))),t.images&&(n.images=t.images.map((o,s)=>this._resolveImage(o,s))),t.samplers&&(n.samplers=t.samplers.map((o,s)=>this._resolveSampler(o,s))),t.textures&&(n.textures=t.textures.map((o,s)=>this._resolveTexture(o,s))),t.accessors&&(n.accessors=t.accessors.map((o,s)=>this._resolveAccessor(o,s))),t.materials&&(n.materials=t.materials.map((o,s)=>this._resolveMaterial(o,s))),t.meshes&&(n.meshes=t.meshes.map((o,s)=>this._resolveMesh(o,s))),t.nodes&&(n.nodes=t.nodes.map((o,s)=>this._resolveNode(o,s)),n.nodes=n.nodes.map((o,s)=>this._resolveNodeChildren(o))),t.skins&&(n.skins=t.skins.map((o,s)=>this._resolveSkin(o,s))),t.scenes&&(n.scenes=t.scenes.map((o,s)=>this._resolveScene(o,s))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:t?.id||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((o,s)=>{let i=this.getMesh(s);return o.id=i.id,o.primitives=o.primitives.concat(i.primitives),o},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(o=>{let s={...o,attributes:{},indices:void 0,material:void 0},i=o.attributes;for(let a in i)s.attributes[a]=this.getAccessor(i[a]);return o.indices!==void 0&&(s.indices=this.getAccessor(o.indices)),o.material!==void 0&&(s.material=this.getMaterial(o.material)),s})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let o=n.pbrMetallicRoughness;o.baseColorTexture&&(o.baseColorTexture={...o.baseColorTexture},o.baseColorTexture.texture=this.getTexture(o.baseColorTexture.index)),o.metallicRoughnessTexture&&(o.metallicRoughnessTexture={...o.metallicRoughnessTexture},o.metallicRoughnessTexture.texture=this.getTexture(o.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=$B(t.componentType),o=ex(t.type),s=n*o,i={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:o,bytesPerElement:s,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(i.bufferView=this.getBufferView(t.bufferView)),i.bufferView){let a=i.bufferView.buffer,{ArrayType:f,byteLength:c}=vr(i,i.bufferView),l=(i.bufferView.byteOffset||0)+(i.byteOffset||0)+a.byteOffset,h=Et(a.arrayBuffer,l,c);i.bufferView.byteStride&&(h=this._getValueFromInterleavedBuffer(a,l,i.bufferView.byteStride,i.bytesPerElement,i.count)),i.value=new f(h)}return i}_getValueFromInterleavedBuffer(t,r,n,o,s){let i=new Uint8Array(s*o);for(let a=0;a<s;a++){let f=r+a*n;i.set(new Uint8Array(t.arrayBuffer.slice(f,f+o)),a*o)}return i.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):qB(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let o in n){let s=this._enumSamplerParameter(o);s!==void 0&&(n.parameters[s]=n[o])}return n}_enumSamplerParameter(t){return YB[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},o=this.images[r];return o&&(n.image=o),n}_resolveBufferView(t,r){let n=t.buffer,o=this.buffers[n].arrayBuffer,s=this.buffers[n].byteOffset||0;return t.byteOffset&&(s+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(o,s,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function zn(e,t){return new wa().postProcess(e,t)}var ls={URI:0,EMBEDDED:1};function hs(e,t,r,n){e.rotateYtoZ=!0;let o=(e.byteOffset||0)+(e.byteLength||0)-r;if(o===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n?.["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Qt(t,r,o),e.gltfByteOffset=0,e.gltfByteLength=o,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function us(e,t,r,n){let o=r?.["3d-tiles"]||{};if(tx(e,t,r),o.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:s}=n,i=await s(e.gltfUrl,r?.core);e.gltfArrayBuffer=await i.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let s=await He(e.gltfArrayBuffer,$t,r,n);e.gltf=zn(s),e.gpuMemoryUsageInBytes=Pn(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function tx(e,t,r){switch(t){case ls.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),s=new TextDecoder().decode(n);e.gltfUrl=s.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case ls.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Sh(e,t,r,n,o){r=rx(e,t,r,n,o),await us(e,ls.EMBEDDED,n,o);let s=e?.gltf?.extensions;return s&&s.CESIUM_RTC&&(e.rtcCenter=s.CESIUM_RTC.center),r}function rx(e,t,r,n,o){r=Rt(e,t,r),r=Gr(e,t,r),r=Nr(e,t,r,n),r=hs(e,t,r,n);let s=new Je(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=s.getGlobalProperty("RTC_CENTER",H.FLOAT,3),r}async function Fh(e,t,r,n,o){return r=nx(e,t,r,n,o),await us(e,e.gltfFormat||0,n,o),r}function nx(e,t,r,n,o){if(r=Rt(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=Gr(e,t,r);let s=new DataView(t);if(e.gltfFormat=s.getUint32(r,!0),r+=4,r=Nr(e,t,r,n),r=hs(e,t,r,n),!e?.header?.featureTableJsonByteLength||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let i=new Je(e.featureTableJson,e.featureTableBinary),a=i.getGlobalProperty("INSTANCES_LENGTH");if(i.featuresLength=a,!Number.isFinite(a))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=i.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=i.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let f=new ut(e.batchTableJson,e.batchTableBinary,a);return ox(e,i,f,a),r}function ox(e,t,r,n){let o=new Array(n),s=new w,i=new w,a=new w,f=new w,c=new X,l=new wt,h=new w,u={},d=new Re,A=[],m=[],p=[],E=[];for(let y=0;y<n;y++){let T;if(t.hasProperty("POSITION"))T=t.getProperty("POSITION",H.FLOAT,3,y,s);else if(t.hasProperty("POSITION_QUANTIZED")){T=t.getProperty("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3,y,s);let g=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3);if(!g)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let x=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3);if(!x)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let _=65535;for(let U=0;U<3;U++)T[U]=T[U]/_*x[U]+g[U]}if(!T)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");s.copy(T),u.translation=s,e.normalUp=t.getProperty("NORMAL_UP",H.FLOAT,3,y,A),e.normalRight=t.getProperty("NORMAL_RIGHT",H.FLOAT,3,y,m);let b=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",H.UNSIGNED_SHORT,2,y,A),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",H.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(ct.WGS84.eastNorthUpToFixedFrame(s,d),d.getRotationMatrix3(c)):c.identity()}b&&(f.copy(i).cross(a).normalize(),c.setColumn(0,i),c.setColumn(1,a),c.setColumn(2,f)),l.fromMatrix3(c),u.rotation=l,h.set(1,1,1);let C=t.getProperty("SCALE",H.FLOAT,1,y,p);Number.isFinite(C)&&h.multiplyByScalar(C);let M=t.getProperty("SCALE_NON_UNIFORM",H.FLOAT,3,y,A);M&&h.scale(M),u.scale=h;let I=t.getProperty("BATCH_ID",H.UNSIGNED_SHORT,1,y,E);I===void 0&&(I=y);let O=new Re().fromQuaternion(u.rotation);d.identity(),d.translate(u.translation),d.multiplyRight(O),d.scale(u.scale);let B=d.clone();o[y]={modelMatrix:B,batchId:I}}e.instances=o}async function Rh(e,t,r,n,o,s){r=Rt(e,t,r);let i=new DataView(t);for(e.tilesLength=i.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let a={shape:"tile3d"};e.tiles.push(a),r=await s(t,r,n,o,a)}return r}async function Dh(e,t,r,n){if(e.rotateYtoZ=!0,e.gltfUpAxis=r?.["3d-tiles"]?.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r?.["3d-tiles"]?.loadGLTF){if(!n)return t.byteLength;let o=await He(t,$t,r,n);e.gltf=zn(o),e.gpuMemoryUsageInBytes=Pn(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Ma(e,t=0,r,n,o={shape:"tile3d"}){switch(o.byteOffset=t,o.type=xl(e,t),o.type){case _e.COMPOSITE:return await Rh(o,e,t,r,n,Ma);case _e.BATCHED_3D_MODEL:return await Sh(o,e,t,r,n);case _e.GLTF:return await Dh(o,e,r,n);case _e.INSTANCED_3D_MODEL:return await Fh(o,e,t,r,n);case _e.POINT_CLOUD:return await kl(o,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${o.type}`)}}async function Ia(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let s=Oh(e.slice(8,16)),i=new Uint8Array(e,24,s),f=new TextDecoder("utf8").decode(i),c=JSON.parse(f),l=Oh(e.slice(16,24)),h=new ArrayBuffer(0);if(l&&(h=e.slice(24+s)),await ds(c,c.tileAvailability,h,r),Array.isArray(c.contentAvailability))for(let u of c.contentAvailability)await ds(c,u,h,r);else await ds(c,c.contentAvailability,h,r);return await ds(c,c.childSubtreeAvailability,h,r),c}async function ds(e,t,r,n){let o=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof o!="number")return;let s=e.bufferViews[o],i=e.buffers[s.buffer];if(!n?.baseUrl)throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(i.uri){let f=`${n?.baseUrl||""}/${i.uri}`,l=await(await n.fetch(f)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,s.byteOffset,s.byteLength);return}let a=e.buffers.slice(0,s.buffer).reduce((f,c)=>f+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(a,a+i.byteLength),s.byteOffset,s.byteLength)}function Oh(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var Vr={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Dr,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Ia,options:{}};var tu=xr(un(),1);var Wh=xr(un(),1);var Ge=null;try{Ge=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function W(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}W.prototype.__isLong__;Object.defineProperty(W.prototype,"__isLong__",{value:!0});function Ae(e){return(e&&e.__isLong__)===!0}function Lh(e){var t=Math.clz32(e&-e);return e?31-t:t}W.isLong=Ae;var Gh={},Nh={};function er(e,t){var r,n,o;return t?(e>>>=0,(o=0<=e&&e<256)&&(n=Nh[e],n)?n:(r=V(e,0,!0),o&&(Nh[e]=r),r)):(e|=0,(o=-128<=e&&e<128)&&(n=Gh[e],n)?n:(r=V(e,e<0?-1:0,!1),o&&(Gh[e]=r),r))}W.fromInt=er;function Ne(e,t){if(isNaN(e))return t?dt:ze;if(t){if(e<0)return dt;if(e>=Hh)return zh}else{if(e<=-Uh)return Ce;if(e+1>=Uh)return Jh}return e<0?Ne(-e,t).neg():V(e%Kr|0,e/Kr|0,t)}W.fromNumber=Ne;function V(e,t,r){return new W(e,t,r)}W.fromBits=V;var As=Math.pow;function Fa(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?dt:ze;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return Fa(e.substring(1),t,r).neg();for(var o=Ne(As(r,8)),s=ze,i=0;i<e.length;i+=8){var a=Math.min(8,e.length-i),f=parseInt(e.substring(i,i+a),r);if(a<8){var c=Ne(As(r,a));s=s.mul(c).add(Ne(f))}else s=s.mul(o),s=s.add(Ne(f))}return s.unsigned=t,s}W.fromString=Fa;function Qe(e,t){return typeof e=="number"?Ne(e,t):typeof e=="string"?Fa(e,t):V(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}W.fromValue=Qe;var vh=1<<16,sx=1<<24,Kr=vh*vh,Hh=Kr*Kr,Uh=Hh/2,Ph=er(sx),ze=er(0);W.ZERO=ze;var dt=er(0,!0);W.UZERO=dt;var jr=er(1);W.ONE=jr;var kh=er(1,!0);W.UONE=kh;var Sa=er(-1);W.NEG_ONE=Sa;var Jh=V(-1,2147483647,!1);W.MAX_VALUE=Jh;var zh=V(-1,-1,!0);W.MAX_UNSIGNED_VALUE=zh;var Ce=V(0,-2147483648,!1);W.MIN_VALUE=Ce;var L=W.prototype;L.toInt=function(){return this.unsigned?this.low>>>0:this.low};L.toNumber=function(){return this.unsigned?(this.high>>>0)*Kr+(this.low>>>0):this.high*Kr+(this.low>>>0)};L.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Ce)){var r=Ne(t),n=this.div(r),o=n.mul(r).sub(this);return n.toString(t)+o.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var s=Ne(As(t,6),this.unsigned),i=this,a="";;){var f=i.div(s),c=i.sub(f.mul(s)).toInt()>>>0,l=c.toString(t);if(i=f,i.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};L.getHighBits=function(){return this.high};L.getHighBitsUnsigned=function(){return this.high>>>0};L.getLowBits=function(){return this.low};L.getLowBitsUnsigned=function(){return this.low>>>0};L.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ce)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};L.isZero=function(){return this.high===0&&this.low===0};L.eqz=L.isZero;L.isNegative=function(){return!this.unsigned&&this.high<0};L.isPositive=function(){return this.unsigned||this.high>=0};L.isOdd=function(){return(this.low&1)===1};L.isEven=function(){return(this.low&1)===0};L.equals=function(t){return Ae(t)||(t=Qe(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};L.eq=L.equals;L.notEquals=function(t){return!this.eq(t)};L.neq=L.notEquals;L.ne=L.notEquals;L.lessThan=function(t){return this.comp(t)<0};L.lt=L.lessThan;L.lessThanOrEqual=function(t){return this.comp(t)<=0};L.lte=L.lessThanOrEqual;L.le=L.lessThanOrEqual;L.greaterThan=function(t){return this.comp(t)>0};L.gt=L.greaterThan;L.greaterThanOrEqual=function(t){return this.comp(t)>=0};L.gte=L.greaterThanOrEqual;L.ge=L.greaterThanOrEqual;L.compare=function(t){if(Ae(t)||(t=Qe(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};L.comp=L.compare;L.negate=function(){return!this.unsigned&&this.eq(Ce)?Ce:this.not().add(jr)};L.neg=L.negate;L.add=function(t){Ae(t)||(t=Qe(t));var r=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,f=t.low>>>16,c=t.low&65535,l=0,h=0,u=0,d=0;return d+=s+c,u+=d>>>16,d&=65535,u+=o+f,h+=u>>>16,u&=65535,h+=n+a,l+=h>>>16,h&=65535,l+=r+i,l&=65535,V(u<<16|d,l<<16|h,this.unsigned)};L.subtract=function(t){return Ae(t)||(t=Qe(t)),this.add(t.neg())};L.sub=L.subtract;L.multiply=function(t){if(this.isZero())return this;if(Ae(t)||(t=Qe(t)),Ge){var r=Ge.mul(this.low,this.high,t.low,t.high);return V(r,Ge.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?dt:ze;if(this.eq(Ce))return t.isOdd()?Ce:ze;if(t.eq(Ce))return this.isOdd()?Ce:ze;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(Ph)&&t.lt(Ph))return Ne(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,f=t.high&65535,c=t.low>>>16,l=t.low&65535,h=0,u=0,d=0,A=0;return A+=i*l,d+=A>>>16,A&=65535,d+=s*l,u+=d>>>16,d&=65535,d+=i*c,u+=d>>>16,d&=65535,u+=o*l,h+=u>>>16,u&=65535,u+=s*c,h+=u>>>16,u&=65535,u+=i*f,h+=u>>>16,u&=65535,h+=n*l+o*c+s*f+i*a,h&=65535,V(d<<16|A,h<<16|u,this.unsigned)};L.mul=L.multiply;L.divide=function(t){if(Ae(t)||(t=Qe(t)),t.isZero())throw Error("division by zero");if(Ge){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ge.div_u:Ge.div_s)(this.low,this.high,t.low,t.high);return V(r,Ge.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?dt:ze;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return dt;if(t.gt(this.shru(1)))return kh;s=dt}else{if(this.eq(Ce)){if(t.eq(jr)||t.eq(Sa))return Ce;if(t.eq(Ce))return jr;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(ze)?t.isNegative()?jr:Sa:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(Ce))return this.unsigned?dt:ze;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=ze}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),f=a<=48?1:As(2,a-48),c=Ne(n),l=c.mul(t);l.isNegative()||l.gt(o);)n-=f,c=Ne(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=jr),s=s.add(c),o=o.sub(l)}return s};L.div=L.divide;L.modulo=function(t){if(Ae(t)||(t=Qe(t)),Ge){var r=(this.unsigned?Ge.rem_u:Ge.rem_s)(this.low,this.high,t.low,t.high);return V(r,Ge.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};L.mod=L.modulo;L.rem=L.modulo;L.not=function(){return V(~this.low,~this.high,this.unsigned)};L.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};L.clz=L.countLeadingZeros;L.countTrailingZeros=function(){return this.low?Lh(this.low):Lh(this.high)+32};L.ctz=L.countTrailingZeros;L.and=function(t){return Ae(t)||(t=Qe(t)),V(this.low&t.low,this.high&t.high,this.unsigned)};L.or=function(t){return Ae(t)||(t=Qe(t)),V(this.low|t.low,this.high|t.high,this.unsigned)};L.xor=function(t){return Ae(t)||(t=Qe(t)),V(this.low^t.low,this.high^t.high,this.unsigned)};L.shiftLeft=function(t){return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?V(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):V(0,this.low<<t-32,this.unsigned)};L.shl=L.shiftLeft;L.shiftRight=function(t){return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?V(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):V(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};L.shr=L.shiftRight;L.shiftRightUnsigned=function(t){return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?V(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?V(this.high,0,this.unsigned):V(this.high>>>t-32,0,this.unsigned)};L.shru=L.shiftRightUnsigned;L.shr_u=L.shiftRightUnsigned;L.rotateLeft=function(t){var r;return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?V(this.high,this.low,this.unsigned):t<32?(r=32-t,V(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,V(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};L.rotl=L.rotateLeft;L.rotateRight=function(t){var r;return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?V(this.high,this.low,this.unsigned):t<32?(r=32-t,V(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,V(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};L.rotr=L.rotateRight;L.toSigned=function(){return this.unsigned?V(this.low,this.high,!1):this};L.toUnsigned=function(){return this.unsigned?this:V(this.low,this.high,!0)};L.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};L.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};L.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};W.fromBytes=function(t,r,n){return n?W.fromBytesLE(t,r):W.fromBytesBE(t,r)};W.fromBytesLE=function(t,r){return new W(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};W.fromBytesBE=function(t,r){return new W(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var Xr=W;var ix=16;function Qn(e){e==="X"&&(e="");let t=e.padEnd(ix,"0");return Xr.fromString(t,!0,16)}function Ra(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let s=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-s.length).join("0")+s}function Da(e,t){let r=ax(e).shiftRightUnsigned(2);return e.add(Xr.fromNumber(2*t+1-4).multiply(r))}function ax(e){return e.and(e.not().add(1))}var cx=3,fx=30,lx=2*fx+1,Qh=180/Math.PI;function jh(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],o=n.length,s=0,i=[0,0];for(let a=o-1;a>=0;a--){s=o-a;let f=n[a],c=0,l=0;f==="1"?l=1:f==="2"?(c=1,l=1):f==="3"&&(c=1);let h=Math.pow(2,s-1);hx(h,i,c,l),i[0]+=h*c,i[1]+=h*l}if(r%2===1){let a=i[0];i[0]=i[1],i[1]=a}return{face:r,ij:i,level:s}}function Kh(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<cx+lx;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),o=t.substring(3,r),s=o.length/2,i=Xr.fromString(n,!0,2).toString(10),a="";if(s!==0)for(a=Xr.fromString(o,!0,2).toString(4);a.length<s;)a="0"+a;return`${i}/${a}`}function Oa(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Vh(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function La(e){return[Vh(e[0]),Vh(e[1])]}function Ga(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function Na([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Qh,n*Qh]}function hx(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let o=t[0];t[0]=t[1],t[1]=o}}function Xh(e){let t=Oa(e.ij,e.level,[.5,.5]),r=La(t),n=Ga(e.face,r);return Na(n)}var ux=100;function va(e){let{face:t,ij:r,level:n}=e,o=[[0,0],[0,1],[1,1],[1,0],[0,0]],s=Math.max(1,Math.ceil(ux*Math.pow(2,-n))),i=new Float64Array(4*s*2+2),a=0,f=0;for(let c=0;c<4;c++){let l=o[c].slice(0),h=o[c+1],u=(h[0]-l[0])/s,d=(h[1]-l[1])/s;for(let A=0;A<s;A++){l[0]+=u,l[1]+=d;let m=Oa(r,n,l),p=La(m),E=Ga(t,p),y=Na(E);Math.abs(y[1])>89.999&&(y[0]=f);let T=y[0]-f;y[0]+=T>180?-360:T<-180?360:0,i[a++]=y[0],i[a++]=y[1],f=y[0]}}return i[a++]=i[0],i[a++]=i[1],i}function Zr(e){let t=dx(e);return jh(t)}function dx(e){if(e.indexOf("/")>0)return e;let t=Qn(e);return Kh(t)}function Ua(e){let t=Zr(e);return Xh(t)}function Yh(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let o=0;o<4;o++){let s=`${e.face}/${o}`,i=Zr(s),a=va(i);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}t=Zh(r)}else{let r=va(e);t=Zh(r)}return t}function Zh(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,o)=>n-o),r.sort((n,o)=>n-o),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function Pa(e,t){let r=t?.minimumHeight||0,n=t?.maximumHeight||0,o=Zr(e),s=Yh(o),i=s.west,a=s.south,f=s.east,c=s.north,l=[];return l.push(new w(i,c,r)),l.push(new w(f,c,r)),l.push(new w(f,a,r)),l.push(new w(i,a,r)),l.push(new w(i,c,n)),l.push(new w(f,c,n)),l.push(new w(f,a,n)),l.push(new w(i,a,n)),l}function ms(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=Pa(t,r),o=Ua(t),s=o[0],i=o[1],a=ct.WGS84.cartographicToCartesian([s,i,r.maximumHeight]),f=new w(a[0],a[1],a[2]);n.push(f);let c=Ni(n);return[...c.center,...c.halfAxes]}var Ax=4,mx=8,px={QUADTREE:Ax,OCTREE:mx};function gx(e,t,r){if(e?.box){let n=Qn(e.s2VolumeInfo.token),o=Da(n,t),s=Ra(o),i={...e.s2VolumeInfo};switch(i.token=s,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,h=l/2,u=c.minimumHeight+l/2;c.minimumHeight=u-h,c.maximumHeight=u+h;break;default:break}return{box:ms(i),s2VolumeInfo:i}}}async function ka(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:o=0,implicitOptions:s,loaderOptions:i,s2VolumeBox:a}=e,{subdivisionScheme:f,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:h,subtreesUriTemplate:u,basePath:d}=s,A={children:[],lodMetricValue:0,contentUrl:""};if(!l)return Js.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),A;let m=n.localLevel+1,p=r.level+m;if(p>l)return A;let E=px[f],y=Math.log2(E),T=o&1,b=o>>1&1,C=o>>2&1,M=tr(n.localX,T,1),I=tr(n.localY,b,1),O=tr(n.localZ,C,1),B=tr(r.x,M,m),g=tr(r.y,I,m),x=tr(r.z,O,m),_=tr(n.mortonIndex,o,y),U=m===c&&Ha(t.childSubtreeAvailability,_),v,P,G,ee;if(U){let st=`${d}/${u}`,ln=ps(st,p,B,g,x);v=await(0,Wh.load)(ln,Vr,i),ee=0,P={level:p,x:B,y:g,z:x},G={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else v=t,ee=(E**m-1)/(E-1)+_,P=r,G={mortonIndex:_,localLevel:m,localX:M,localY:I,localZ:O};if(!Ha(v.tileAvailability,ee))return A;Ha(v.contentAvailability,ee)&&(A.contentUrl=ps(h,p,B,g,x));for(let st=0;st<E;st++){let ln=gx(a,st,f),Br=await ka({subtree:v,subtreeData:P,parentData:G,childIndex:st,implicitOptions:s,loaderOptions:i,s2VolumeBox:ln});(Br.contentUrl||Br.children.length)&&A.children.push(Br)}return A.contentUrl||A.children.length?Bx(A,{level:p,x:B,y:g,z:x},s,a):A}function Ha(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&Js.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?_x(t,r.explicitBitstream):!1}function Bx(e,t,r,n){let{basePath:o,refine:s,getRefine:i,lodMetricType:a,getTileType:f,rootLodMetricValue:c,rootBoundingVolume:l}=r,h=e.contentUrl&&e.contentUrl.replace(`${o}/`,""),u=c/2**t.level,d=n?.box?{box:n.box}:l,A=xx(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:h},id:e.contentUrl,refine:i(s),type:f(e),lodMetricType:a,lodMetricValue:u,geometricError:u,transform:e.transform,boundingVolume:A}}function xx(e,t,r){if(e.region){let{level:n,x:o,y:s,z:i}=t,[a,f,c,l,h,u]=e.region,d=2**n,A=(c-a)/d,[m,p]=[a+A*o,a+A*(o+1)],E=(l-f)/d,[y,T]=[f+E*s,f+E*(s+1)],b,C;if(r==="OCTREE"){let M=(u-h)/d;[b,C]=[h+M*i,h+M*(i+1)]}else[b,C]=[h,u];return{region:[m,y,p,T,b,C]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function tr(e,t,r){return(e<<r)+t}function ps(e,t,r,n,o){let s=Ex({level:t,x:r,y:n,z:o});return e.replace(/{level}|{x}|{y}|{z}/gi,i=>s[i])}function Ex(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function _x(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function za(e,t=""){if(!t)return St.EMPTY;let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return St.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return St.SCENEGRAPH;default:return n||St.EMPTY}}function Qa(e){switch(e){case"REPLACE":case"replace":return Rr.REPLACE;case"ADD":case"add":return Rr.ADD;default:return e}}function Ja(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return br.resolve(t,e)}function qh(e,t){if(!e)return null;let r;if(e.content){let o=e.content.uri||e.content?.url;typeof o<"u"&&(r=Ja(o,t))}return{...e,id:r,contentUrl:r,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:za(e,r),refine:Qa(e.refine)}}async function ru(e,t,r){let n=null,o=eu(e.root);o&&e.root?n=await $h(e.root,e,t,o,r):n=qh(e.root,t);let s=[];for(s.push(n);s.length>0;){let i=s.pop()||{},a=i.children||[],f=[];for(let c of a){let l=eu(c),h;l?h=await $h(c,e,t,l,r):h=qh(c,t),h&&(f.push(h),s.push(h))}i.children=f}return n}async function $h(e,t,r,n,o){let{subdivisionScheme:s,maximumLevel:i,availableLevels:a,subtreeLevels:f,subtrees:{uri:c}}=n,l=ps(c,0,0,0,0),h=Ja(l,r),u=await(0,tu.load)(h,Vr,o),d=e.content?.uri,A=d?Ja(d,r):"",m=t?.root?.refine,p=e.geometricError,E=e.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];if(E){let C={box:ms(E),s2VolumeInfo:E};e.boundingVolume=C}let y=e.boundingVolume,T={contentUrlTemplate:A,subtreesUriTemplate:c,subdivisionScheme:s,subtreeLevels:f,maximumLevel:Number.isFinite(a)?a-1:i,refine:m,basePath:r,lodMetricType:ht.GEOMETRIC_ERROR,rootLodMetricValue:p,rootBoundingVolume:y,getTileType:za,getRefine:Qa};return await yx(e,r,u,T,o)}async function yx(e,t,r,n,o){if(!e)return null;let{children:s,contentUrl:i}=await ka({subtree:r,implicitOptions:n,loaderOptions:o}),a,f=null;return i&&(a=i,f={uri:i.replace(`${t}/`,"")}),{...e,id:a,contentUrl:a,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:za(e,a),refine:Qa(e.refine),content:f||e.content,children:s}}function eu(e){return e?.extensions?.["3DTILES_implicit_tiling"]||e?.implicitTiling}var rr={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Dr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:Cx,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function Cx(e,t={},r){let n=t["3d-tiles"]||{},o;return n.isTileset==="auto"?o=r?.url&&r.url.indexOf(".json")!==-1:o=n.isTileset,o?Tx(e,t,r):bx(e,t,r)}async function Tx(e,t,r){let n=JSON.parse(new TextDecoder().decode(e)),o=r?.url||"",s=wx(o),i=await ru(n,s,t||{});return{...n,shape:"tileset3d",loader:rr,url:o,queryString:r?.queryString||"",basePath:s,root:i||n.root,type:Dn.TILES3D,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:n.root?.geometricError||0}}async function bx(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Ma(e,0,t,r,n.content),n.content}function wx(e){return br.dirname(e)}var gs=xr(un(),1);var nu="https://api.cesium.com/v1/assets";async function Bs(e,t){if(!t){let s=await Mx(e);for(let i of s.items)i.type==="3DTILES"&&(t=i.id)}let r=await Ix(e,t),n=r.type,o=r.options?.url||r.url;return z(n==="3DTILES"&&o),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function Mx(e){z(e);let t=nu,r={Authorization:`Bearer ${e}`},n=await(0,gs.fetchFile)(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function Ix(e,t){z(e,t);let r={Authorization:`Bearer ${e}`},n=`${nu}/${t}`,o=await(0,gs.fetchFile)(`${n}`,{headers:r});if(!o.ok)throw new Error(o.statusText);let s=await o.json();if(o=await(0,gs.fetchFile)(`${n}/endpoint`,{headers:r}),!o.ok)throw new Error(o.statusText);let i=await o.json();return s={...s,...i},s}async function Sx(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let o=e.match(/\/([0-9]+)\/tileset.json/);n=o&&o[1]}return Bs(r,n)}var Va={...rr,id:"cesium-ion",name:"Cesium Ion",preload:Sx,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=Va,rr.parse(e,t,r)),options:{"cesium-ion":{...rr.options["3d-tiles"],accessToken:null}}};function Vn(e){return typeof e=="bigint"?e:BigInt(e)}function su(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function ou(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function ie(e,t,r){let n=Vn(t),s=Vn(r)-n;if(s<0)throw new Error("Invalid range requested");return await e.read(n,su(s))}async function or(e,t,r){let n=await ie(e,t,r);return new DataView(n)}async function iu(e,t){return(await or(e,t,Vn(t)+2n)).getUint16(0,!0)}async function ja(e,t){return(await or(e,t,Vn(t)+4n)).getUint32(0,!0)}async function jn(e,t){return(await or(e,t,Vn(t)+8n)).getBigUint64(0,!0)}async function Kn(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if(t?.bigsize!==void 0)return t.bigsize;if(t?.size!==void 0)return BigInt(t.size)}return 0n}var nr=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=su(t),o=r?n+r:this.size,s=ou(n,this.size),i=ou(o,this.size),f=Math.max(i,s)-s;return f<=0?new ArrayBuffer(0):Et(this.handle.buffer,s,f)}};var Fx=1024,Xn=async(e,t)=>{let r=await Kn(e),n=new Uint8Array(await ie(e,r-3n,r+1n)),o=[n[3],n[2],n[1],void 0],s=-1,i=r-4n;do{let a=i;i-=BigInt(Fx),i=i>=0n?i:0n;let f=new Uint8Array(await ie(e,i,a));for(let c=f.length-1;c>-1;c--)if(o[3]=o[2],o[2]=o[1],o[1]=o[0],o[0]=f[c],o.every((l,h)=>l===t[h])){s=c;break}}while(s===-1&&i>0n);return i+BigInt(s)};var au=new Uint8Array([80,75,5,6]),cu=new Uint8Array([80,75,6,7]),fu=new Uint8Array([80,75,6,6]),Rx=8n;var Dx=12n,Ox=16n;var Lx=8n,Gx=24n;var Nx=40n,vx=48n;var lu=async e=>{let t=await Xn(e,au),r=BigInt(await iu(e,t+Rx)),n=BigInt(await ja(e,t+Dx)),o=BigInt(await ja(e,t+Ox)),s=t-20n,i=0n,a=await ie(e,s,s+4n);if(xt(a,cu.buffer)){i=await jn(e,s+Lx);let f=await ie(e,i,i+4n);if(!xt(f,fu.buffer))throw new Error("zip64 EoCD not found");r=await jn(e,i+Gx),n=await jn(e,i+Nx),o=await jn(e,i+vx)}else s=0n;return{cdRecordsNumber:r,cdStartOffset:o,cdByteSize:n,offsets:{zip64EoCDOffset:i,zip64EoCDLocatorOffset:s,zipEoCDOffset:t}}};var tR=[{offset:0,size:4,default:new DataView(au.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];var rR=[{offset:0,size:4,default:new DataView(cu.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],nR=[{offset:0,size:4,default:new DataView(fu.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var Ux=20,Px=24,Hx=28,kx=30,Jx=32,zx=42,xs=46n,Yn=new Uint8Array([80,75,1,2]),Zn=async(e,t)=>{let r=await Kn(t);if(e>=r)return null;let n=await or(t,e,e+xs),o=n.buffer.slice(0,4);if(!xt(o,Yn.buffer))return null;let s=BigInt(n.getUint32(Ux,!0)),i=BigInt(n.getUint32(Px,!0)),a=n.getUint16(kx,!0),f=BigInt(n.getUint16(Jx,!0)),c=n.getUint16(Hx,!0),l=await ie(t,e+xs,e+xs+BigInt(c+a)),h=l.slice(0,c),u=new TextDecoder().decode(h),d=e+xs+BigInt(c),A=n.getUint32(zx,!0),m=BigInt(A),p=new DataView(l.slice(c,l.byteLength)),E={uncompressedSize:i,compressedSize:s,localHeaderOffset:m,startDisk:f},y=Qx(E,p);return{...E,...y,extraFieldLength:a,fileNameLength:c,fileName:u,extraOffset:d}};async function*Yr(e){let{cdStartOffset:t,cdByteSize:r}=await lu(e),n=new nr(new DataView(await ie(e,t,t+r))),o=await Zn(0n,n);for(;o;)yield o,o=await Zn(o.extraOffset+BigInt(o.extraFieldLength),n)}var hu=(...e)=>e[0]+e[1]*16,Qx=(e,t)=>{let r=Vx(e),n={};if(r.length>0){let o=r.reduce((a,f)=>a+f.length,0),s=new Uint8Array(t.buffer).findIndex((a,f,c)=>hu(c[f],c[f+1])===1&&hu(c[f+2],c[f+3])===o),i=0;for(let a of r){let f=i;n[a.name]=t.getBigUint64(s+4+f,!0),i=f+a.length}}return n},Vx=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};var cR=[{offset:0,size:4,default:new DataView(Yn.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var jx=8,Kx=18,Xx=22,Zx=26,Yx=28,Es=30n,Ka=new Uint8Array([80,75,3,4]),sr=async(e,t)=>{let r=await or(t,e,e+Es),n=r.buffer.slice(0,4);if(!xt(n,Ka.buffer))return null;let o=r.getUint16(Zx,!0),s=r.getUint16(Yx,!0),i=await ie(t,e+Es,e+Es+BigInt(o+s)),a=i.slice(0,o),f=new DataView(i.slice(o,i.byteLength)),c=new TextDecoder().decode(a).split("\\").join("/"),l=e+Es+BigInt(o+s),h=r.getUint16(jx,!0),u=BigInt(r.getUint32(Kx,!0)),d=BigInt(r.getUint32(Xx,!0)),A=4;return d===BigInt(4294967295)&&(d=f.getBigUint64(A,!0),A+=8),u===BigInt(4294967295)&&(u=f.getBigUint64(A,!0),A+=8),l===BigInt(4294967295)&&(l=f.getBigUint64(A,!0)),{fileNameLength:o,fileName:c,extraFieldLength:s,fileDataOffset:l,compressedSize:u,compressionMethod:h}};var uR=[{offset:0,size:4,default:new DataView(Ka.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];var _s=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){let n=[];for await(let i of t)n.push(i),yield i;let o=await this.concatenate(n),s=await this.hash(o,r);this.options.crypto?.onEnd?.({hash:s})}async concatenate(t){return await Bn(t)}};function uu(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let o=0;o<n.length;o++)typeof n[o]>"u"?t+="=":t+=Wx(n[o])}return t}function Wx(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function du(e,t){switch(t){case"hex":return e;case"base64":return qx(e);default:throw new Error(t)}}function qx(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return uu(r)||""}var ys="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Au=oE("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"),Xa=typeof WebAssembly<"u"&&Au?Au.buffer:!1,$e=fE(),Za=240*16*16,mu=Math.floor(Za*16*1.066666667),$x=268435456-65536,eE="Parameter must be ArrayBuffer, ArrayBufferView or string",tE="Parameter exceeds max size of 255.9 Mbytes";Xa||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function Ya(e){var t,r,n,o,s,i,a,f,c,l;let h=nE(),u=rE(),d={},A=new Date().getTime();return d.then=function(y){return a=y,p(),d},d.catch=function(y){return f=y,d},i=cE(e),i||E(new TypeError(eE)),i&&(s=i.length,Xa&&s>mu?s>$x?E(new Error(tE)):(t=new WebAssembly.Memory({initial:s>32e6?s>64e6?s>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),o={mem:t,log:console.log},n={imports:o},WebAssembly.instantiate(Xa,n).then(m)):p(h(i))),d;function m(y){p(u(i,y.instance.exports,r))}function p(y){var T=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof a=="function"?Boolean(T)&&(a(T,l-A),a=f=null):Boolean(y)&&(c=y)}function E(y){typeof f=="function"&&f(y)}}function rE(){var e,t,r,n,o,s,i,a,f,c,l,h,u,d=function(A){var m,p,E,y,T,b,C,M,I,O,B,g,x,_,U,v,P,G,ee,Be,Y,st,ln=new Date().getTime(),Br=0,S=1732584193,F=-271733879,R=-1732584194,D=271733878,te=0,hn=A.length*8,po;for(po=u0(A,u),u[hn>>>5]|=128<<hn%32,u[(hn+64>>>9<<4)+14]=hn,po=(hn+64>>>9<<4)+15,Y=u;te<po;)po>te+mu?(n(S),s(F),a(R),c(D),t(Za),te=te+Za*16,S=r(),F=o(),R=i(),D=f(),Br++):(P=S,G=F,ee=R,Be=D,m=Y[te+0]>>>0,p=Y[te+1]>>>0,E=Y[te+2]>>>0,y=Y[te+3]>>>0,T=Y[te+4]>>>0,b=Y[te+5]>>>0,C=Y[te+6]>>>0,M=Y[te+7]>>>0,I=Y[te+8]>>>0,O=Y[te+9]>>>0,B=Y[te+10]>>>0,g=Y[te+11]>>>0,x=Y[te+12]>>>0,_=Y[te+13]>>>0,U=Y[te+14]>>>0,v=Y[te+15]>>>0,S=N(7,25,S+(F&R|~F&D)+m-680876936)+F,D=N(12,20,D+(S&F|~S&R)+p-389564586)+S,R=N(17,15,R+(D&S|~D&F)+E+606105819)+D,F=N(22,10,F+(R&D|~R&S)+y-1044525330)+R,S=N(7,25,S+(F&R|~F&D)+T-176418897)+F,D=N(12,20,D+(S&F|~S&R)+b+1200080426)+S,R=N(17,15,R+(D&S|~D&F)+C-1473231341)+D,F=N(22,10,F+(R&D|~R&S)+M-45705983)+R,S=N(7,25,S+(F&R|~F&D)+I+1770035416)+F,D=N(12,20,D+(S&F|~S&R)+O-1958414417)+S,R=N(17,15,R+(D&S|~D&F)+B-42063)+D,F=N(22,10,F+(R&D|~R&S)+g-1990404162)+R,S=N(7,25,S+(F&R|~F&D)+x+1804603682)+F,D=N(12,20,D+(S&F|~S&R)+_-40341101)+S,R=N(17,15,R+(D&S|~D&F)+U-1502002290)+D,F=N(22,10,F+(R&D|~R&S)+v+1236535329)+R,S=N(5,27,S+(F&D|R&~D)+p-165796510)+F,D=N(9,23,D+(S&R|F&~R)+C-1069501632)+S,R=N(14,18,R+(D&F|S&~F)+g+643717713)+D,F=N(20,12,F+(R&S|D&~S)+m-373897302)+R,S=N(5,27,S+(F&D|R&~D)+b-701558691)+F,D=N(9,23,D+(S&R|F&~R)+B+38016083)+S,R=N(14,18,R+(D&F|S&~F)+v-660478335)+D,F=N(20,12,F+(R&S|D&~S)+T-405537848)+R,S=N(5,27,S+(F&D|R&~D)+O+568446438)+F,D=N(9,23,D+(S&R|F&~R)+U-1019803690)+S,R=N(14,18,R+(D&F|S&~F)+y-187363961)+D,F=N(20,12,F+(R&S|D&~S)+I+1163531501)+R,S=N(5,27,S+(F&D|R&~D)+_-1444681467)+F,D=N(9,23,D+(S&R|F&~R)+E-51403784)+S,R=N(14,18,R+(D&F|S&~F)+M+1735328473)+D,F=N(20,12,F+(R&S|D&~S)+x-1926607734)+R,S=N(4,28,S+(F^R^D)+b-378558)+F,D=N(11,21,D+(S^F^R)+I-2022574463)+S,R=N(16,16,R+(D^S^F)+g+1839030562)+D,F=N(23,9,F+(R^D^S)+U-35309556)+R,S=N(4,28,S+(F^R^D)+p-1530992060)+F,D=N(11,21,D+(S^F^R)+T+1272893353)+S,R=N(16,16,R+(D^S^F)+M-155497632)+D,F=N(23,9,F+(R^D^S)+B-1094730640)+R,S=N(4,28,S+(F^R^D)+_+681279174)+F,D=N(11,21,D+(S^F^R)+m-358537222)+S,R=N(16,16,R+(D^S^F)+y-722521979)+D,F=N(23,9,F+(R^D^S)+C+76029189)+R,S=N(4,28,S+(F^R^D)+O-640364487)+F,D=N(11,21,D+(S^F^R)+x-421815835)+S,R=N(16,16,R+(D^S^F)+v+530742520)+D,F=N(23,9,F+(R^D^S)+E-995338651)+R,S=N(6,26,S+(R^(F|~D))+m-198630844)+F,D=N(10,22,D+(F^(S|~R))+M+1126891415)+S,R=N(15,17,R+(S^(D|~F))+U-1416354905)+D,F=N(21,11,F+(D^(R|~S))+b-57434055)+R,S=N(6,26,S+(R^(F|~D))+x+1700485571)+F,D=N(10,22,D+(F^(S|~R))+y-1894986606)+S,R=N(15,17,R+(S^(D|~F))+B-1051523)+D,F=N(21,11,F+(D^(R|~S))+p-2054922799)+R,S=N(6,26,S+(R^(F|~D))+I+1873313359)+F,D=N(10,22,D+(F^(S|~R))+v-30611744)+S,R=N(15,17,R+(S^(D|~F))+C-1560198380)+D,F=N(21,11,F+(D^(R|~S))+_+1309151649)+R,S=N(6,26,S+(R^(F|~D))+T-145523070)+F,D=N(10,22,D+(F^(S|~R))+g-1120210379)+S,R=N(15,17,R+(S^(D|~F))+E+718787259)+D,F=N(21,11,F+(D^(R|~S))+O-343485551)+R,te=te+16,S=S+P>>>0,F=F+G>>>0,R=R+ee>>>0,D=D+Be>>>0);return $e.endian([S,F,R,D]);function N(me,go,Ke){return Ke<<me|Ke>>>go}function u0(me,go){for(var Ke=-1,Hs=Math.floor((me.length-1)/4),xe=0,Gc,Nc,vc,Uc;Hs-8>Ke++;)xe=Ke<<2,go[Ke]=me[xe+0]|me[xe+1]<<8|me[xe+2]<<16|me[xe+3]<<24;for(Ke--;Hs>Ke++;)xe=Ke<<2,Gc=typeof me[xe+0]>"u"?0:me[xe+0],Nc=typeof me[xe+1]>"u"?0:me[xe+1],vc=typeof me[xe+2]>"u"?0:me[xe+2],Uc=typeof me[xe+3]>"u"?0:me[xe+3],go[Ke]=Gc|Nc<<8|vc<<16|Uc<<24;return Hs+1}};return function(A,m,p,E){var y;return t=m.loops,e=m.loop,r=m.getA,o=m.getB,i=m.getC,f=m.getD,l=m.getX,n=m.setA,s=m.setB,a=m.setC,c=m.setD,h=m.setX,u=p,y=$e.wordsToBytes(d(A)),E&&E.asBytes?y:$e.bytesconvertNumberToHex(y)}}function nE(){var e=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,A,m,p,E,y,T,b,C,M,I,O=new Date().getTime(),B=1732584193,g=-271733879,x=-1732584194,_=271733878,U=t.length*8;I=$e.bytesToWords(t);for(var v=0;v<I.length;v++)I[v]=(I[v]<<8|I[v]>>>24)&16711935|(I[v]<<24|I[v]>>>8)&4278255360;I[U>>>5]|=128<<U%32,I[(U+64>>>9<<4)+14]=U;for(var P=0;P<I.length;P+=16)T=B,b=g,C=x,M=_,n=I[P+0]>>>0,o=I[P+1]>>>0,s=I[P+2]>>>0,i=I[P+3]>>>0,a=I[P+4]>>>0,f=I[P+5]>>>0,c=I[P+6]>>>0,l=I[P+7]>>>0,h=I[P+8]>>>0,u=I[P+9]>>>0,d=I[P+10]>>>0,A=I[P+11]>>>0,m=I[P+12]>>>0,p=I[P+13]>>>0,E=I[P+14]>>>0,y=I[P+15]>>>0,B=G(7,25,B+(g&x|~g&_)+n-680876936)+g,_=G(12,20,_+(B&g|~B&x)+o-389564586)+B,x=G(17,15,x+(_&B|~_&g)+s+606105819)+_,g=G(22,10,g+(x&_|~x&B)+i-1044525330)+x,B=G(7,25,B+(g&x|~g&_)+a-176418897)+g,_=G(12,20,_+(B&g|~B&x)+f+1200080426)+B,x=G(17,15,x+(_&B|~_&g)+c-1473231341)+_,g=G(22,10,g+(x&_|~x&B)+l-45705983)+x,B=G(7,25,B+(g&x|~g&_)+h+1770035416)+g,_=G(12,20,_+(B&g|~B&x)+u-1958414417)+B,x=G(17,15,x+(_&B|~_&g)+d-42063)+_,g=G(22,10,g+(x&_|~x&B)+A-1990404162)+x,B=G(7,25,B+(g&x|~g&_)+m+1804603682)+g,_=G(12,20,_+(B&g|~B&x)+p-40341101)+B,x=G(17,15,x+(_&B|~_&g)+E-1502002290)+_,g=G(22,10,g+(x&_|~x&B)+y+1236535329)+x,B=G(5,27,B+(g&_|x&~_)+o-165796510)+g,_=G(9,23,_+(B&x|g&~x)+c-1069501632)+B,x=G(14,18,x+(_&g|B&~g)+A+643717713)+_,g=G(20,12,g+(x&B|_&~B)+n-373897302)+x,B=G(5,27,B+(g&_|x&~_)+f-701558691)+g,_=G(9,23,_+(B&x|g&~x)+d+38016083)+B,x=G(14,18,x+(_&g|B&~g)+y-660478335)+_,g=G(20,12,g+(x&B|_&~B)+a-405537848)+x,B=G(5,27,B+(g&_|x&~_)+u+568446438)+g,_=G(9,23,_+(B&x|g&~x)+E-1019803690)+B,x=G(14,18,x+(_&g|B&~g)+i-187363961)+_,g=G(20,12,g+(x&B|_&~B)+h+1163531501)+x,B=G(5,27,B+(g&_|x&~_)+p-1444681467)+g,_=G(9,23,_+(B&x|g&~x)+s-51403784)+B,x=G(14,18,x+(_&g|B&~g)+l+1735328473)+_,g=G(20,12,g+(x&B|_&~B)+m-1926607734)+x,B=G(4,28,B+(g^x^_)+f-378558)+g,_=G(11,21,_+(B^g^x)+h-2022574463)+B,x=G(16,16,x+(_^B^g)+A+1839030562)+_,g=G(23,9,g+(x^_^B)+E-35309556)+x,B=G(4,28,B+(g^x^_)+o-1530992060)+g,_=G(11,21,_+(B^g^x)+a+1272893353)+B,x=G(16,16,x+(_^B^g)+l-155497632)+_,g=G(23,9,g+(x^_^B)+d-1094730640)+x,B=G(4,28,B+(g^x^_)+p+681279174)+g,_=G(11,21,_+(B^g^x)+n-358537222)+B,x=G(16,16,x+(_^B^g)+i-722521979)+_,g=G(23,9,g+(x^_^B)+c+76029189)+x,B=G(4,28,B+(g^x^_)+u-640364487)+g,_=G(11,21,_+(B^g^x)+m-421815835)+B,x=G(16,16,x+(_^B^g)+y+530742520)+_,g=G(23,9,g+(x^_^B)+s-995338651)+x,B=G(6,26,B+(x^(g|~_))+n-198630844)+g,_=G(10,22,_+(g^(B|~x))+l+1126891415)+B,x=G(15,17,x+(B^(_|~g))+E-1416354905)+_,g=G(21,11,g+(_^(x|~B))+f-57434055)+x,B=G(6,26,B+(x^(g|~_))+m+1700485571)+g,_=G(10,22,_+(g^(B|~x))+i-1894986606)+B,x=G(15,17,x+(B^(_|~g))+d-1051523)+_,g=G(21,11,g+(_^(x|~B))+o-2054922799)+x,B=G(6,26,B+(x^(g|~_))+h+1873313359)+g,_=G(10,22,_+(g^(B|~x))+y-30611744)+B,x=G(15,17,x+(B^(_|~g))+c-1560198380)+_,g=G(21,11,g+(_^(x|~B))+p+1309151649)+x,B=G(6,26,B+(x^(g|~_))+a-145523070)+g,_=G(10,22,_+(g^(B|~x))+A-1120210379)+B,x=G(15,17,x+(B^(_|~g))+s+718787259)+_,g=G(21,11,g+(_^(x|~B))+u-343485551)+x,B=B+T>>>0,g=g+b>>>0,x=x+C>>>0,_=_+M>>>0;return $e.endian([B,g,x,_]);function G(ee,Be,Y){return Y<<ee|Y>>>Be}};return function(t,r){var n=$e.wordsToBytes(e(t,r)),o=r&&r.asBytes?n:$e.bytesconvertNumberToHex(n);return o}}function oE(e){try{return sE(e)}catch{return null}}function sE(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?aE(atob(t)):iE(t)}function iE(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),o=0,s=0,i,a,f,c;s<e.length;){if(i=ys.indexOf(e.charAt(s++)),a=ys.indexOf(e.charAt(s++)),f=ys.indexOf(e.charAt(s++)),c=ys.indexOf(e.charAt(s++)),i<0||a<0||f<0||c<0)throw new TypeError("Invalid base64 input");n[o++]=i<<2|a>>4,f<64&&o<r&&(n[o++]=(a&15)<<4|f>>2),c<64&&o<r&&(n[o++]=(f&3)<<6|c)}return n}function aE(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function cE(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function fE(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return $e.rotl(t,8)&16711935|$e.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=$e.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,o=0;n<t.length;n++,o+=8)r[o>>>5]|=t[n]<<24-o%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var ir=class extends _s{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let o=await new Promise((s,i)=>Ya(t).then(s).catch(i));return du(o,r)}};var Wr=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){mn(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Bn(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var Wn=class extends Wr{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var mr=xr(r0(),1),Bt=xr(n0(),1),pr=class extends Wr{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Bt.default.gzip)(t):await Tr(Bt.default.deflate)(t);return _t(r)}return this.compressSync(t)}async decompress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Bt.default.gunzip)(t):await Tr(Bt.default.inflate)(t);return _t(r)}return this.decompressSync(t)}compressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gzipSync(t):Bt.default.deflateSync(t);return _t(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.deflateRaw:mr.default.deflate;return _t(o(n,r).buffer)}decompressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gunzipSync(t):Bt.default.inflateSync(t);return _t(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.inflateRaw:mr.default.inflate;return _t(o(n,r).buffer)}async*compressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let i of r){let a=new Uint8Array(i);if(!t.push(a,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),o=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var r2={0:async e=>e,8:async e=>await new pr({raw:!0}).decompress(e)},Ps=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,Ee)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new yn(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new En(t):t instanceof gr?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Yr(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let o=await this.getCDFileHeader(t),s=await sr(o.localHeaderOffset,this.file);if(!s)throw new Error("Local file header has not been found in the zip archive`");let i=r2[s.compressionMethod.toString()];if(!i)throw Error("Only Deflation compression is supported");let a=await ie(this.file,s.fileDataOffset,s.fileDataOffset+s.compressedSize);r=await i(a)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Yr(this.file),n=null;for await(let o of r)if(o.fileName===t){n=o;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var gr=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Ps(this.file).fetch(t)).arrayBuffer()}};function Rc(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let o=t.getBigUint64(n+16,!0),s=n2(e,n,16);r[s]=o}return r}function n2(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function Dc(e){let t=Yr(e);return o2(t)}async function o2(e){let t=new ir,r=new TextEncoder,n={};for await(let o of e){let s=o.fileName.split("\\").join("/").toLocaleLowerCase(),i=r.encode(s).buffer,a=await t.hash(i,"hex");n[a]=o.localHeaderOffset}return n}var s2={0:e=>new Wn().decompress(e),8:e=>new pr({raw:!0}).decompress(e)},fn=class extends gr{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,o=await new ir().hash(n,"hex"),s=this.hashTable[o];if(s===void 0)return null;let i=await sr(s,this.file);if(!i)return null;let a=await ie(this.file,i.fileDataOffset,i.fileDataOffset+i.compressedSize),f=s2[i.compressionMethod];if(!f)throw Error("Only Deflation compression is supported");r=await f(a)}else r=await this.getFileWithoutHash(t);return r}};var o0=async(e,t)=>{let r=await Xn(e,Yn),n=await Zn(r,e),o;if(n?.fileName!=="@3dtilesIndex1@")o=await Dc(e),t?.("3tz doesnt contain hash file, hash info has been composed according to zip archive headers");else{let s=await sr(n.localHeaderOffset,e);if(!s)throw new Error("corrupted 3tz zip archive");let i=s.fileDataOffset,a=await ie(e,i,i+s.compressedSize);o=Rc(a)}return new fn(e,o)};var i2="4.4.0-alpha.13",s0={dataType:null,batchType:null,name:"3tz",id:"3tz",module:"3d-tiles",version:i2,mimeTypes:["application/octet-stream","application/vnd.maxar.archive.3tz+zip"],parse:a2,extensions:["3tz"],options:{}};async function a2(e,t={}){return(await o0(new nr(new DataView(e)))).getFile(t["3d-tiles-archive"]?.path??"")}function Ht(e,t,r){if(!t)return r+12;let{magic:o,version:s=1,byteLength:i=12}=e;return z(Array.isArray(o)&&Number.isFinite(s)&&Number.isFinite(i)),t.setUint8(r+0,o[0]),t.setUint8(r+1,o[1]),t.setUint8(r+2,o[2]),t.setUint8(r+3,o[3]),t.setUint32(r+4,s,!0),t.setUint32(r+8,i,!0),r+=12,r}function kt(e,t,r){e&&e.setUint32(t+8,r,!0)}function i0(e,t,r,n,o){e={magic:Ft.COMPOSITE,tiles:[],...e};let s=r;r+=Ht(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let i=0;i<e.tiles.length;++i)r+=o(e.tiles[i],t,r,n);return kt(t,s,r-s),r}function a0(e,t,r,n){let{featuresLength:o=0,batchTable:s}=e,a=JSON.stringify({BATCH_LENGTH:o}),f=s?JSON.stringify(s):"",c=be(a.length,8),l=f?be(f.length,8):0;e={magic:Ft.BATCHED_MODEL,...e};let h=r;r=Ht(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=bo(t,r,a,8),s&&(r=bo(t,r,f,8));let u=e.gltfEncoded;return u&&(r=gn(t,r,u,u.byteLength)),kt(t,h,r-h),r}function c0(e,t,r,n){let{featuresLength:o=1,gltfFormat:s=1,gltfUri:i=""}=e,a=i.length,f={INSTANCES_LENGTH:o,POSITION:new Array(o*3).fill(0)},c=JSON.stringify(f),l=c.length;e={magic:Ft.INSTANCED_MODEL,...e};let h=r;return r=Ht(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,s,!0)),r+=20,r+=Cr(t,r,c,l),r+=Cr(t,r,i,a),kt(t,h,r-h),r}var c2={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function f0(e,t,r,n){let{featureTableJson:o=c2}=e,s=JSON.stringify(o);s=Xs(s,4);let{featureTableJsonByteLength:i=s.length}=e,a=new ArrayBuffer(12),f=a.byteLength;e={magic:Ft.POINT_CLOUD,...e};let c=r;return r+=Ht(e,t,0),t&&(t.setUint32(r+0,i,!0),t.setUint32(r+4,f,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=Cr(t,r,s,i),r+=gn(t,r,a,f),kt(t,c,r-c),r}function Lc(e,t){let r=Oc(e,null,0,t),n=new ArrayBuffer(r),o=new DataView(n);return Oc(e,o,0,t),n}function Oc(e,t,r,n){switch(z(typeof e.type=="string"),e.type){case _e.COMPOSITE:return i0(e,t,r,n,Oc);case _e.POINT_CLOUD:return f0(e,t,r,n);case _e.BATCHED_3D_MODEL:return a0(e,t,r,n);case _e.INSTANCED_3D_MODEL:return c0(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var h0={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Dr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>l0(e,t),encodeSync:l0};function l0(e,t){return Lc(e,t)}return B0(mo);})();
|
|
7
|
+
"use strict";var __exports__=(()=>{var d0=Object.create;var xo=Object.defineProperty;var A0=Object.getOwnPropertyDescriptor;var m0=Object.getOwnPropertyNames;var p0=Object.getPrototypeOf,g0=Object.prototype.hasOwnProperty;var ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),de=(e,t)=>{for(var r in t)xo(e,r,{get:t[r],enumerable:!0})},Bo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m0(t))!g0.call(e,o)&&o!==r&&xo(e,o,{get:()=>t[o],enumerable:!(n=A0(t,o))||n.enumerable});return e},Eo=(e,t,r)=>(Bo(e,t,"default"),r&&Bo(r,t,"default")),xr=(e,t,r)=>(r=e!=null?d0(p0(e)):{},Bo(t||!e||!e.__esModule?xo(r,"default",{value:e,enumerable:!0}):r,e)),B0=e=>Bo(xo({},"__esModule",{value:!0}),e);var dn=ce((f2,Jc)=>{Jc.exports=globalThis.loaders});var At=ce(pe=>{"use strict";var fE=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function lE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}pe.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)lE(r,n)&&(e[n]=r[n])}}return e};pe.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var hE={arraySet:function(e,t,r,n,o){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),o);return}for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){var t,r,n,o,s,i;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(i=new Uint8Array(n),o=0,t=0,r=e.length;t<r;t++)s=e[t],i.set(s,o),o+=s.length;return i}},uE={arraySet:function(e,t,r,n,o){for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};pe.setTyped=function(e){e?(pe.Buf8=Uint8Array,pe.Buf16=Uint16Array,pe.Buf32=Int32Array,pe.assign(pe,hE)):(pe.Buf8=Array,pe.Buf16=Array,pe.Buf32=Array,pe.assign(pe,uE))};pe.setTyped(fE)});var Uu=ce(tn=>{"use strict";var dE=At(),AE=4,pu=0,gu=1,mE=2;function en(e){for(var t=e.length;--t>=0;)e[t]=0}var pE=0,Cu=1,gE=2,BE=3,xE=258,ic=29,no=256,$n=no+1+ic,$r=30,ac=19,Tu=2*$n+1,ar=15,ec=16,EE=7,cc=256,bu=16,wu=17,Mu=18,oc=[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],Ts=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],_E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Iu=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],yE=512,mt=new Array(($n+2)*2);en(mt);var qn=new Array($r*2);en(qn);var eo=new Array(yE);en(eo);var to=new Array(xE-BE+1);en(to);var fc=new Array(ic);en(fc);var bs=new Array($r);en(bs);function tc(e,t,r,n,o){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=o,this.has_stree=e&&e.length}var Su,Ru,Du;function rc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Fu(e){return e<256?eo[e]:eo[256+(e>>>7)]}function ro(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Te(e,t,r){e.bi_valid>ec-r?(e.bi_buf|=t<<e.bi_valid&65535,ro(e,e.bi_buf),e.bi_buf=t>>ec-e.bi_valid,e.bi_valid+=r-ec):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function et(e,t,r){Te(e,r[t*2],r[t*2+1])}function Ou(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function CE(e){e.bi_valid===16?(ro(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function TE(e,t){var r=t.dyn_tree,n=t.max_code,o=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,f=t.stat_desc.max_length,c,l,h,u,d,A,m=0;for(u=0;u<=ar;u++)e.bl_count[u]=0;for(r[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<Tu;c++)l=e.heap[c],u=r[r[l*2+1]*2+1]+1,u>f&&(u=f,m++),r[l*2+1]=u,!(l>n)&&(e.bl_count[u]++,d=0,l>=a&&(d=i[l-a]),A=r[l*2],e.opt_len+=A*(u+d),s&&(e.static_len+=A*(o[l*2+1]+d)));if(m!==0){do{for(u=f-1;e.bl_count[u]===0;)u--;e.bl_count[u]--,e.bl_count[u+1]+=2,e.bl_count[f]--,m-=2}while(m>0);for(u=f;u!==0;u--)for(l=e.bl_count[u];l!==0;)h=e.heap[--c],!(h>n)&&(r[h*2+1]!==u&&(e.opt_len+=(u-r[h*2+1])*r[h*2],r[h*2+1]=u),l--)}}function Lu(e,t,r){var n=new Array(ar+1),o=0,s,i;for(s=1;s<=ar;s++)n[s]=o=o+r[s-1]<<1;for(i=0;i<=t;i++){var a=e[i*2+1];a!==0&&(e[i*2]=Ou(n[a]++,a))}}function bE(){var e,t,r,n,o,s=new Array(ar+1);for(r=0,n=0;n<ic-1;n++)for(fc[n]=r,e=0;e<1<<oc[n];e++)to[r++]=n;for(to[r-1]=n,o=0,n=0;n<16;n++)for(bs[n]=o,e=0;e<1<<Ts[n];e++)eo[o++]=n;for(o>>=7;n<$r;n++)for(bs[n]=o<<7,e=0;e<1<<Ts[n]-7;e++)eo[256+o++]=n;for(t=0;t<=ar;t++)s[t]=0;for(e=0;e<=143;)mt[e*2+1]=8,e++,s[8]++;for(;e<=255;)mt[e*2+1]=9,e++,s[9]++;for(;e<=279;)mt[e*2+1]=7,e++,s[7]++;for(;e<=287;)mt[e*2+1]=8,e++,s[8]++;for(Lu(mt,$n+1,s),e=0;e<$r;e++)qn[e*2+1]=5,qn[e*2]=Ou(e,5);Su=new tc(mt,oc,no+1,$n,ar),Ru=new tc(qn,Ts,0,$r,ar),Du=new tc(new Array(0),_E,0,ac,EE)}function Gu(e){var t;for(t=0;t<$n;t++)e.dyn_ltree[t*2]=0;for(t=0;t<$r;t++)e.dyn_dtree[t*2]=0;for(t=0;t<ac;t++)e.bl_tree[t*2]=0;e.dyn_ltree[cc*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Nu(e){e.bi_valid>8?ro(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function wE(e,t,r,n){Nu(e),n&&(ro(e,r),ro(e,~r)),dE.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function Bu(e,t,r,n){var o=t*2,s=r*2;return e[o]<e[s]||e[o]===e[s]&&n[t]<=n[r]}function nc(e,t,r){for(var n=e.heap[r],o=r<<1;o<=e.heap_len&&(o<e.heap_len&&Bu(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!Bu(t,n,e.heap[o],e.depth));)e.heap[r]=e.heap[o],r=o,o<<=1;e.heap[r]=n}function xu(e,t,r){var n,o,s=0,i,a;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+s*2]<<8|e.pending_buf[e.d_buf+s*2+1],o=e.pending_buf[e.l_buf+s],s++,n===0?et(e,o,t):(i=to[o],et(e,i+no+1,t),a=oc[i],a!==0&&(o-=fc[i],Te(e,o,a)),n--,i=Fu(n),et(e,i,r),a=Ts[i],a!==0&&(n-=bs[i],Te(e,n,a)));while(s<e.last_lit);et(e,cc,t)}function sc(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.elems,i,a,f=-1,c;for(e.heap_len=0,e.heap_max=Tu,i=0;i<s;i++)r[i*2]!==0?(e.heap[++e.heap_len]=f=i,e.depth[i]=0):r[i*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=f<2?++f:0,r[c*2]=1,e.depth[c]=0,e.opt_len--,o&&(e.static_len-=n[c*2+1]);for(t.max_code=f,i=e.heap_len>>1;i>=1;i--)nc(e,r,i);c=s;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],nc(e,r,1),a=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=a,r[c*2]=r[i*2]+r[a*2],e.depth[c]=(e.depth[i]>=e.depth[a]?e.depth[i]:e.depth[a])+1,r[i*2+1]=r[a*2+1]=c,e.heap[1]=c++,nc(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],TE(e,t),Lu(r,f,e.bl_count)}function Eu(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)&&(a<c?e.bl_tree[s*2]+=a:s!==0?(s!==o&&e.bl_tree[s*2]++,e.bl_tree[bu*2]++):a<=10?e.bl_tree[wu*2]++:e.bl_tree[Mu*2]++,a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4))}function _u(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),n=0;n<=r;n++)if(s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)){if(a<c)do et(e,s,e.bl_tree);while(--a!==0);else s!==0?(s!==o&&(et(e,s,e.bl_tree),a--),et(e,bu,e.bl_tree),Te(e,a-3,2)):a<=10?(et(e,wu,e.bl_tree),Te(e,a-3,3)):(et(e,Mu,e.bl_tree),Te(e,a-11,7));a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4)}}function ME(e){var t;for(Eu(e,e.dyn_ltree,e.l_desc.max_code),Eu(e,e.dyn_dtree,e.d_desc.max_code),sc(e,e.bl_desc),t=ac-1;t>=3&&e.bl_tree[Iu[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function IE(e,t,r,n){var o;for(Te(e,t-257,5),Te(e,r-1,5),Te(e,n-4,4),o=0;o<n;o++)Te(e,e.bl_tree[Iu[o]*2+1],3);_u(e,e.dyn_ltree,t-1),_u(e,e.dyn_dtree,r-1)}function SE(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return pu;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return gu;for(r=32;r<no;r++)if(e.dyn_ltree[r*2]!==0)return gu;return pu}var yu=!1;function RE(e){yu||(bE(),yu=!0),e.l_desc=new rc(e.dyn_ltree,Su),e.d_desc=new rc(e.dyn_dtree,Ru),e.bl_desc=new rc(e.bl_tree,Du),e.bi_buf=0,e.bi_valid=0,Gu(e)}function vu(e,t,r,n){Te(e,(pE<<1)+(n?1:0),3),wE(e,t,r,!0)}function DE(e){Te(e,Cu<<1,3),et(e,cc,mt),CE(e)}function FE(e,t,r,n){var o,s,i=0;e.level>0?(e.strm.data_type===mE&&(e.strm.data_type=SE(e)),sc(e,e.l_desc),sc(e,e.d_desc),i=ME(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?vu(e,t,r,n):e.strategy===AE||s===o?(Te(e,(Cu<<1)+(n?1:0),3),xu(e,mt,qn)):(Te(e,(gE<<1)+(n?1:0),3),IE(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),xu(e,e.dyn_ltree,e.dyn_dtree)),Gu(e),n&&Nu(e)}function OE(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(to[r]+no+1)*2]++,e.dyn_dtree[Fu(t)*2]++),e.last_lit===e.lit_bufsize-1}tn._tr_init=RE;tn._tr_stored_block=vu;tn._tr_flush_block=FE;tn._tr_tally=OE;tn._tr_align=DE});var lc=ce((vD,Pu)=>{"use strict";function LE(e,t,r,n){for(var o=e&65535|0,s=e>>>16&65535|0,i=0;r!==0;){i=r>2e3?2e3:r,r-=i;do o=o+t[n++]|0,s=s+o|0;while(--i);o%=65521,s%=65521}return o|s<<16|0}Pu.exports=LE});var hc=ce((UD,Hu)=>{"use strict";function GE(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var NE=GE();function vE(e,t,r,n){var o=NE,s=n+r;e^=-1;for(var i=n;i<s;i++)e=e>>>8^o[(e^t[i])&255];return e^-1}Hu.exports=vE});var ws=ce((PD,ku)=>{"use strict";ku.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var Yu=ce(nt=>{"use strict";var ge=At(),Ue=Uu(),Vu=lc(),Lt=hc(),UE=ws(),hr=0,PE=1,HE=3,Pt=4,Ju=5,rt=0,zu=1,Pe=-2,kE=-3,uc=-5,JE=-1,zE=1,Ms=2,QE=3,VE=4,jE=0,KE=2,Ds=8,XE=9,ZE=15,YE=8,WE=29,qE=256,Ac=qE+1+WE,$E=30,e_=19,t_=2*Ac+1,r_=15,J=3,vt=258,Ve=vt+J+1,n_=32,Fs=42,mc=69,Is=73,Ss=91,Rs=103,cr=113,so=666,ae=1,io=2,fr=3,on=4,o_=3;function Ut(e,t){return e.msg=UE[t],t}function Qu(e){return(e<<1)-(e>4?9:0)}function Nt(e){for(var t=e.length;--t>=0;)e[t]=0}function Gt(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(ge.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function ue(e,t){Ue._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Gt(e.strm)}function j(e,t){e.pending_buf[e.pending++]=t}function oo(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function s_(e,t,r,n){var o=e.avail_in;return o>n&&(o=n),o===0?0:(e.avail_in-=o,ge.arraySet(t,e.input,e.next_in,o,r),e.state.wrap===1?e.adler=Vu(e.adler,t,o,r):e.state.wrap===2&&(e.adler=Lt(e.adler,t,o,r)),e.next_in+=o,e.total_in+=o,o)}function ju(e,t){var r=e.max_chain_length,n=e.strstart,o,s,i=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-Ve?e.strstart-(e.w_size-Ve):0,c=e.window,l=e.w_mask,h=e.prev,u=e.strstart+vt,d=c[n+i-1],A=c[n+i];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(o=t,!(c[o+i]!==A||c[o+i-1]!==d||c[o]!==c[n]||c[++o]!==c[n+1])){n+=2,o++;do;while(c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&n<u);if(s=vt-(u-n),n=u-vt,s>i){if(e.match_start=t,i=s,s>=a)break;d=c[n+i-1],A=c[n+i]}}while((t=h[t&l])>f&&--r!==0);return i<=e.lookahead?i:e.lookahead}function lr(e){var t=e.w_size,r,n,o,s,i;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ve)){ge.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do o=e.head[--r],e.head[r]=o>=t?o-t:0;while(--n);n=t,r=n;do o=e.prev[--r],e.prev[r]=o>=t?o-t:0;while(--n);s+=t}if(e.strm.avail_in===0)break;if(n=s_(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=n,e.lookahead+e.insert>=J)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+J-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<J)););}while(e.lookahead<Ve&&e.strm.avail_in!==0)}function i_(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(lr(e),e.lookahead===0&&t===hr)return ae;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,ue(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Ve&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:on):(e.strstart>e.block_start&&(ue(e,!1),e.strm.avail_out===0),ae)}function dc(e,t){for(var r,n;;){if(e.lookahead<Ve){if(lr(e),e.lookahead<Ve&&t===hr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Ve&&(e.match_length=ju(e,r)),e.match_length>=J)if(n=Ue._tr_tally(e,e.strstart-e.match_start,e.match_length-J),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=J){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function rn(e,t){for(var r,n,o;;){if(e.lookahead<Ve){if(lr(e),e.lookahead<Ve&&t===hr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=J-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Ve&&(e.match_length=ju(e,r),e.match_length<=5&&(e.strategy===zE||e.match_length===J&&e.strstart-e.match_start>4096)&&(e.match_length=J-1)),e.prev_length>=J&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-J,n=Ue._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-J),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=J-1,e.strstart++,n&&(ue(e,!1),e.strm.avail_out===0))return ae}else if(e.match_available){if(n=Ue._tr_tally(e,0,e.window[e.strstart-1]),n&&ue(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ae}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Ue._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function a_(e,t){for(var r,n,o,s,i=e.window;;){if(e.lookahead<=vt){if(lr(e),e.lookahead<=vt&&t===hr)return ae;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=J&&e.strstart>0&&(o=e.strstart-1,n=i[o],n===i[++o]&&n===i[++o]&&n===i[++o])){s=e.strstart+vt;do;while(n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&o<s);e.match_length=vt-(s-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=J?(r=Ue._tr_tally(e,1,e.match_length-J),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function c_(e,t){for(var r;;){if(e.lookahead===0&&(lr(e),e.lookahead===0)){if(t===hr)return ae;break}if(e.match_length=0,r=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?fr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:io}function tt(e,t,r,n,o){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=o}var nn;nn=[new tt(0,0,0,0,i_),new tt(4,4,8,4,dc),new tt(4,5,16,8,dc),new tt(4,6,32,32,dc),new tt(4,4,16,16,rn),new tt(8,16,32,32,rn),new tt(8,16,128,128,rn),new tt(8,32,128,256,rn),new tt(32,128,258,1024,rn),new tt(32,258,258,4096,rn)];function f_(e){e.window_size=2*e.w_size,Nt(e.head),e.max_lazy_match=nn[e.level].max_lazy,e.good_match=nn[e.level].good_length,e.nice_match=nn[e.level].nice_length,e.max_chain_length=nn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=J-1,e.match_available=0,e.ins_h=0}function l_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ds,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ge.Buf16(t_*2),this.dyn_dtree=new ge.Buf16((2*$E+1)*2),this.bl_tree=new ge.Buf16((2*e_+1)*2),Nt(this.dyn_ltree),Nt(this.dyn_dtree),Nt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ge.Buf16(r_+1),this.heap=new ge.Buf16(2*Ac+1),Nt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ge.Buf16(2*Ac+1),Nt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ku(e){var t;return!e||!e.state?Ut(e,Pe):(e.total_in=e.total_out=0,e.data_type=KE,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Fs:cr,e.adler=t.wrap===2?0:1,t.last_flush=hr,Ue._tr_init(t),rt)}function Xu(e){var t=Ku(e);return t===rt&&f_(e.state),t}function h_(e,t){return!e||!e.state||e.state.wrap!==2?Pe:(e.state.gzhead=t,rt)}function Zu(e,t,r,n,o,s){if(!e)return Pe;var i=1;if(t===JE&&(t=6),n<0?(i=0,n=-n):n>15&&(i=2,n-=16),o<1||o>XE||r!==Ds||n<8||n>15||t<0||t>9||s<0||s>VE)return Ut(e,Pe);n===8&&(n=9);var a=new l_;return e.state=a,a.strm=e,a.wrap=i,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=o+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+J-1)/J),a.window=new ge.Buf8(a.w_size*2),a.head=new ge.Buf16(a.hash_size),a.prev=new ge.Buf16(a.w_size),a.lit_bufsize=1<<o+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new ge.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=(1+2)*a.lit_bufsize,a.level=t,a.strategy=s,a.method=r,Xu(e)}function u_(e,t){return Zu(e,t,Ds,ZE,YE,jE)}function d_(e,t){var r,n,o,s;if(!e||!e.state||t>Ju||t<0)return e?Ut(e,Pe):Pe;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===so&&t!==Pt)return Ut(e,e.avail_out===0?uc:Pe);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Fs)if(n.wrap===2)e.adler=0,j(n,31),j(n,139),j(n,8),n.gzhead?(j(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),j(n,n.gzhead.time&255),j(n,n.gzhead.time>>8&255),j(n,n.gzhead.time>>16&255),j(n,n.gzhead.time>>24&255),j(n,n.level===9?2:n.strategy>=Ms||n.level<2?4:0),j(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(j(n,n.gzhead.extra.length&255),j(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Lt(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=mc):(j(n,0),j(n,0),j(n,0),j(n,0),j(n,0),j(n,n.level===9?2:n.strategy>=Ms||n.level<2?4:0),j(n,o_),n.status=cr);else{var i=Ds+(n.w_bits-8<<4)<<8,a=-1;n.strategy>=Ms||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,i|=a<<6,n.strstart!==0&&(i|=n_),i+=31-i%31,n.status=cr,oo(n,i),n.strstart!==0&&(oo(n,e.adler>>>16),oo(n,e.adler&65535)),e.adler=1}if(n.status===mc)if(n.gzhead.extra){for(o=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),Gt(e),o=n.pending,n.pending===n.pending_buf_size));)j(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Is)}else n.status=Is;if(n.status===Is)if(n.gzhead.name){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),Gt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.name.length?s=n.gzhead.name.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.gzindex=0,n.status=Ss)}else n.status=Ss;if(n.status===Ss)if(n.gzhead.comment){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),Gt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.comment.length?s=n.gzhead.comment.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Lt(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.status=Rs)}else n.status=Rs;if(n.status===Rs&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Gt(e),n.pending+2<=n.pending_buf_size&&(j(n,e.adler&255),j(n,e.adler>>8&255),e.adler=0,n.status=cr)):n.status=cr),n.pending!==0){if(Gt(e),e.avail_out===0)return n.last_flush=-1,rt}else if(e.avail_in===0&&Qu(t)<=Qu(r)&&t!==Pt)return Ut(e,uc);if(n.status===so&&e.avail_in!==0)return Ut(e,uc);if(e.avail_in!==0||n.lookahead!==0||t!==hr&&n.status!==so){var f=n.strategy===Ms?c_(n,t):n.strategy===QE?a_(n,t):nn[n.level].func(n,t);if((f===fr||f===on)&&(n.status=so),f===ae||f===fr)return e.avail_out===0&&(n.last_flush=-1),rt;if(f===io&&(t===PE?Ue._tr_align(n):t!==Ju&&(Ue._tr_stored_block(n,0,0,!1),t===HE&&(Nt(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Gt(e),e.avail_out===0))return n.last_flush=-1,rt}return t!==Pt?rt:n.wrap<=0?zu:(n.wrap===2?(j(n,e.adler&255),j(n,e.adler>>8&255),j(n,e.adler>>16&255),j(n,e.adler>>24&255),j(n,e.total_in&255),j(n,e.total_in>>8&255),j(n,e.total_in>>16&255),j(n,e.total_in>>24&255)):(oo(n,e.adler>>>16),oo(n,e.adler&65535)),Gt(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?rt:zu)}function A_(e){var t;return!e||!e.state?Pe:(t=e.state.status,t!==Fs&&t!==mc&&t!==Is&&t!==Ss&&t!==Rs&&t!==cr&&t!==so?Ut(e,Pe):(e.state=null,t===cr?Ut(e,kE):rt))}function m_(e,t){var r=t.length,n,o,s,i,a,f,c,l;if(!e||!e.state||(n=e.state,i=n.wrap,i===2||i===1&&n.status!==Fs||n.lookahead))return Pe;for(i===1&&(e.adler=Vu(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(i===0&&(Nt(n.head),n.strstart=0,n.block_start=0,n.insert=0),l=new ge.Buf8(n.w_size),ge.arraySet(l,t,r-n.w_size,n.w_size,0),t=l,r=n.w_size),a=e.avail_in,f=e.next_in,c=e.input,e.avail_in=r,e.next_in=0,e.input=t,lr(n);n.lookahead>=J;){o=n.strstart,s=n.lookahead-(J-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[o+J-1])&n.hash_mask,n.prev[o&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=o,o++;while(--s);n.strstart=o,n.lookahead=J-1,lr(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=J-1,n.match_available=0,e.next_in=f,e.input=c,e.avail_in=a,n.wrap=i,rt}nt.deflateInit=u_;nt.deflateInit2=Zu;nt.deflateReset=Xu;nt.deflateResetKeep=Ku;nt.deflateSetHeader=h_;nt.deflate=d_;nt.deflateEnd=A_;nt.deflateSetDictionary=m_;nt.deflateInfo="pako deflate (from Nodeca project)"});var pc=ce(sn=>{"use strict";var Os=At(),Wu=!0,qu=!0;try{String.fromCharCode.apply(null,[0])}catch{Wu=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{qu=!1}var ao=new Os.Buf8(256);for(pt=0;pt<256;pt++)ao[pt]=pt>=252?6:pt>=248?5:pt>=240?4:pt>=224?3:pt>=192?2:1;var pt;ao[254]=ao[254]=1;sn.string2buf=function(e){var t,r,n,o,s,i=e.length,a=0;for(o=0;o<i;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Os.Buf8(a),s=0,o=0;s<a;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|r&63):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|r&63):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|r&63);return t};function $u(e,t){if(t<65534&&(e.subarray&&qu||!e.subarray&&Wu))return String.fromCharCode.apply(null,Os.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}sn.buf2binstring=function(e){return $u(e,e.length)};sn.binstring2buf=function(e){for(var t=new Os.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t};sn.buf2string=function(e,t){var r,n,o,s,i=t||e.length,a=new Array(i*2);for(n=0,r=0;r<i;){if(o=e[r++],o<128){a[n++]=o;continue}if(s=ao[o],s>4){a[n++]=65533,r+=s-1;continue}for(o&=s===2?31:s===3?15:7;s>1&&r<i;)o=o<<6|e[r++]&63,s--;if(s>1){a[n++]=65533;continue}o<65536?a[n++]=o:(o-=65536,a[n++]=55296|o>>10&1023,a[n++]=56320|o&1023)}return $u(a,n)};sn.utf8border=function(e,t){var r;for(t=t||e.length,t>e.length&&(t=e.length),r=t-1;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+ao[e[r]]>t?r:t}});var gc=ce((JD,ed)=>{"use strict";function p_(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}ed.exports=p_});var od=ce(lo=>{"use strict";var co=Yu(),fo=At(),xc=pc(),Ec=ws(),g_=gc(),nd=Object.prototype.toString,B_=0,Bc=4,an=0,td=1,rd=2,x_=-1,E_=0,__=8;function ur(e){if(!(this instanceof ur))return new ur(e);this.options=fo.assign({level:x_,method:__,chunkSize:16384,windowBits:15,memLevel:8,strategy:E_,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new g_,this.strm.avail_out=0;var r=co.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==an)throw new Error(Ec[r]);if(t.header&&co.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(typeof t.dictionary=="string"?n=xc.string2buf(t.dictionary):nd.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=co.deflateSetDictionary(this.strm,n),r!==an)throw new Error(Ec[r]);this._dict_set=!0}}ur.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o,s;if(this.ended)return!1;s=t===~~t?t:t===!0?Bc:B_,typeof e=="string"?r.input=xc.string2buf(e):nd.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new fo.Buf8(n),r.next_out=0,r.avail_out=n),o=co.deflate(r,s),o!==td&&o!==an)return this.onEnd(o),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===Bc||s===rd))&&(this.options.to==="string"?this.onData(xc.buf2binstring(fo.shrinkBuf(r.output,r.next_out))):this.onData(fo.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&o!==td);return s===Bc?(o=co.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===an):(s===rd&&(this.onEnd(an),r.avail_out=0),!0)};ur.prototype.onData=function(e){this.chunks.push(e)};ur.prototype.onEnd=function(e){e===an&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=fo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function _c(e,t){var r=new ur(t);if(r.push(e,!0),r.err)throw r.msg||Ec[r.err];return r.result}function y_(e,t){return t=t||{},t.raw=!0,_c(e,t)}function C_(e,t){return t=t||{},t.gzip=!0,_c(e,t)}lo.Deflate=ur;lo.deflate=_c;lo.deflateRaw=y_;lo.gzip=C_});var id=ce((QD,sd)=>{"use strict";var Ls=30,T_=12;sd.exports=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,A,m,p,E,y,T,b,C,M,I,O,B,g,x;n=t.state,o=t.next_in,g=t.input,s=o+(t.avail_in-5),i=t.next_out,x=t.output,a=i-(r-t.avail_out),f=i+(t.avail_out-257),c=n.dmax,l=n.wsize,h=n.whave,u=n.wnext,d=n.window,A=n.hold,m=n.bits,p=n.lencode,E=n.distcode,y=(1<<n.lenbits)-1,T=(1<<n.distbits)-1;e:do{m<15&&(A+=g[o++]<<m,m+=8,A+=g[o++]<<m,m+=8),b=p[A&y];t:for(;;){if(C=b>>>24,A>>>=C,m-=C,C=b>>>16&255,C===0)x[i++]=b&65535;else if(C&16){M=b&65535,C&=15,C&&(m<C&&(A+=g[o++]<<m,m+=8),M+=A&(1<<C)-1,A>>>=C,m-=C),m<15&&(A+=g[o++]<<m,m+=8,A+=g[o++]<<m,m+=8),b=E[A&T];r:for(;;){if(C=b>>>24,A>>>=C,m-=C,C=b>>>16&255,C&16){if(I=b&65535,C&=15,m<C&&(A+=g[o++]<<m,m+=8,m<C&&(A+=g[o++]<<m,m+=8)),I+=A&(1<<C)-1,I>c){t.msg="invalid distance too far back",n.mode=Ls;break e}if(A>>>=C,m-=C,C=i-a,I>C){if(C=I-C,C>h&&n.sane){t.msg="invalid distance too far back",n.mode=Ls;break e}if(O=0,B=d,u===0){if(O+=l-C,C<M){M-=C;do x[i++]=d[O++];while(--C);O=i-I,B=x}}else if(u<C){if(O+=l+u-C,C-=u,C<M){M-=C;do x[i++]=d[O++];while(--C);if(O=0,u<M){C=u,M-=C;do x[i++]=d[O++];while(--C);O=i-I,B=x}}}else if(O+=u-C,C<M){M-=C;do x[i++]=d[O++];while(--C);O=i-I,B=x}for(;M>2;)x[i++]=B[O++],x[i++]=B[O++],x[i++]=B[O++],M-=3;M&&(x[i++]=B[O++],M>1&&(x[i++]=B[O++]))}else{O=i-I;do x[i++]=x[O++],x[i++]=x[O++],x[i++]=x[O++],M-=3;while(M>2);M&&(x[i++]=x[O++],M>1&&(x[i++]=x[O++]))}}else if(C&64){t.msg="invalid distance code",n.mode=Ls;break e}else{b=E[(b&65535)+(A&(1<<C)-1)];continue r}break}}else if(C&64)if(C&32){n.mode=T_;break e}else{t.msg="invalid literal/length code",n.mode=Ls;break e}else{b=p[(b&65535)+(A&(1<<C)-1)];continue t}break}}while(o<s&&i<f);M=m>>3,o-=M,m-=M<<3,A&=(1<<m)-1,t.next_in=o,t.next_out=i,t.avail_in=o<s?5+(s-o):5-(o-s),t.avail_out=i<f?257+(f-i):257-(i-f),n.hold=A,n.bits=m}});var dd=ce((VD,ud)=>{"use strict";var ad=At(),cn=15,cd=852,fd=592,ld=0,yc=1,hd=2,b_=[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,0,0],w_=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],M_=[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,0,0],I_=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];ud.exports=function(t,r,n,o,s,i,a,f){var c=f.bits,l=0,h=0,u=0,d=0,A=0,m=0,p=0,E=0,y=0,T=0,b,C,M,I,O,B=null,g=0,x,_=new ad.Buf16(cn+1),U=new ad.Buf16(cn+1),v=null,P=0,G,ee,Be;for(l=0;l<=cn;l++)_[l]=0;for(h=0;h<o;h++)_[r[n+h]]++;for(A=c,d=cn;d>=1&&_[d]===0;d--);if(A>d&&(A=d),d===0)return s[i++]=1<<24|64<<16|0,s[i++]=1<<24|64<<16|0,f.bits=1,0;for(u=1;u<d&&_[u]===0;u++);for(A<u&&(A=u),E=1,l=1;l<=cn;l++)if(E<<=1,E-=_[l],E<0)return-1;if(E>0&&(t===ld||d!==1))return-1;for(U[1]=0,l=1;l<cn;l++)U[l+1]=U[l]+_[l];for(h=0;h<o;h++)r[n+h]!==0&&(a[U[r[n+h]]++]=h);if(t===ld?(B=v=a,x=19):t===yc?(B=b_,g-=257,v=w_,P-=257,x=256):(B=M_,v=I_,x=-1),T=0,h=0,l=u,O=i,m=A,p=0,M=-1,y=1<<A,I=y-1,t===yc&&y>cd||t===hd&&y>fd)return 1;for(;;){G=l-p,a[h]<x?(ee=0,Be=a[h]):a[h]>x?(ee=v[P+a[h]],Be=B[g+a[h]]):(ee=32+64,Be=0),b=1<<l-p,C=1<<m,u=C;do C-=b,s[O+(T>>p)+C]=G<<24|ee<<16|Be|0;while(C!==0);for(b=1<<l-1;T&b;)b>>=1;if(b!==0?(T&=b-1,T+=b):T=0,h++,--_[l]===0){if(l===d)break;l=r[n+a[h]]}if(l>A&&(T&I)!==M){for(p===0&&(p=A),O+=u,m=l-p,E=1<<m;m+p<d&&(E-=_[m+p],!(E<=0));)m++,E<<=1;if(y+=1<<m,t===yc&&y>cd||t===hd&&y>fd)return 1;M=T&I,s[M]=A<<24|m<<16|O-i|0}}return T!==0&&(s[O+T]=l-p<<24|64<<16|0),f.bits=A,0}});var Xd=ce(je=>{"use strict";var Ie=At(),Ic=lc(),ot=hc(),S_=id(),ho=dd(),R_=0,Pd=1,Hd=2,Ad=4,D_=5,Gs=6,dr=0,F_=1,O_=2,He=-2,kd=-3,Sc=-4,L_=-5,md=8,Jd=1,pd=2,gd=3,Bd=4,xd=5,Ed=6,_d=7,yd=8,Cd=9,Td=10,Us=11,gt=12,Cc=13,bd=14,Tc=15,wd=16,Md=17,Id=18,Sd=19,Ns=20,vs=21,Rd=22,Dd=23,Fd=24,Od=25,Ld=26,bc=27,Gd=28,Nd=29,$=30,Rc=31,G_=32,N_=852,v_=592,U_=15,P_=U_;function vd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function H_(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Ie.Buf16(320),this.work=new Ie.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function zd(e){var t;return!e||!e.state?He:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Jd,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ie.Buf32(N_),t.distcode=t.distdyn=new Ie.Buf32(v_),t.sane=1,t.back=-1,dr)}function Qd(e){var t;return!e||!e.state?He:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,zd(e))}function Vd(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?He:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Qd(e))}function jd(e,t){var r,n;return e?(n=new H_,e.state=n,n.window=null,r=Vd(e,t),r!==dr&&(e.state=null),r):He}function k_(e){return jd(e,P_)}var Ud=!0,wc,Mc;function J_(e){if(Ud){var t;for(wc=new Ie.Buf32(512),Mc=new Ie.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ho(Pd,e.lens,0,288,wc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ho(Hd,e.lens,0,32,Mc,0,e.work,{bits:5}),Ud=!1}e.lencode=wc,e.lenbits=9,e.distcode=Mc,e.distbits=5}function Kd(e,t,r,n){var o,s=e.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Ie.Buf8(s.wsize)),n>=s.wsize?(Ie.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(o=s.wsize-s.wnext,o>n&&(o=n),Ie.arraySet(s.window,t,r-n,o,s.wnext),n-=o,n?(Ie.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}function z_(e,t){var r,n,o,s,i,a,f,c,l,h,u,d,A,m,p=0,E,y,T,b,C,M,I,O,B=new Ie.Buf8(4),g,x,_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return He;r=e.state,r.mode===gt&&(r.mode=Cc),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,h=a,u=f,O=dr;e:for(;;)switch(r.mode){case Jd:if(r.wrap===0){r.mode=Cc;break}for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.wrap&2&&c===35615){r.check=0,B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0),c=0,l=0,r.mode=pd;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=$;break}if((c&15)!==md){e.msg="unknown compression method",r.mode=$;break}if(c>>>=4,l-=4,I=(c&15)+8,r.wbits===0)r.wbits=I;else if(I>r.wbits){e.msg="invalid window size",r.mode=$;break}r.dmax=1<<I,e.adler=r.check=1,r.mode=c&512?Td:gt,c=0,l=0;break;case pd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.flags=c,(r.flags&255)!==md){e.msg="unknown compression method",r.mode=$;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=$;break}r.head&&(r.head.text=c>>8&1),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=gd;case gd:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.time=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,B[2]=c>>>16&255,B[3]=c>>>24&255,r.check=ot(r.check,B,4,0)),c=0,l=0,r.mode=Bd;case Bd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=c&255,r.head.os=c>>8),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=xd;case xd:if(r.flags&1024){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length=c,r.head&&(r.head.extra_len=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0}else r.head&&(r.head.extra=null);r.mode=Ed;case Ed:if(r.flags&1024&&(d=r.length,d>a&&(d=a),d&&(r.head&&(I=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Ie.arraySet(r.head.extra,n,s,d,I)),r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=_d;case _d:if(r.flags&2048){if(a===0)break e;d=0;do I=n[s+d++],r.head&&I&&r.length<65536&&(r.head.name+=String.fromCharCode(I));while(I&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,I)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=yd;case yd:if(r.flags&4096){if(a===0)break e;d=0;do I=n[s+d++],r.head&&I&&r.length<65536&&(r.head.comment+=String.fromCharCode(I));while(I&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,I)break e}else r.head&&(r.head.comment=null);r.mode=Cd;case Cd:if(r.flags&512){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.check&65535)){e.msg="header crc mismatch",r.mode=$;break}c=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=gt;break;case Td:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}e.adler=r.check=vd(c),c=0,l=0,r.mode=Us;case Us:if(r.havedict===0)return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,O_;e.adler=r.check=1,r.mode=gt;case gt:if(t===D_||t===Gs)break e;case Cc:if(r.last){c>>>=l&7,l-=l&7,r.mode=bc;break}for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}switch(r.last=c&1,c>>>=1,l-=1,c&3){case 0:r.mode=bd;break;case 1:if(J_(r),r.mode=Ns,t===Gs){c>>>=2,l-=2;break e}break;case 2:r.mode=Md;break;case 3:e.msg="invalid block type",r.mode=$}c>>>=2,l-=2;break;case bd:for(c>>>=l&7,l-=l&7;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",r.mode=$;break}if(r.length=c&65535,c=0,l=0,r.mode=Tc,t===Gs)break e;case Tc:r.mode=wd;case wd:if(d=r.length,d){if(d>a&&(d=a),d>f&&(d=f),d===0)break e;Ie.arraySet(o,n,s,d,i),a-=d,s+=d,f-=d,i+=d,r.length-=d;break}r.mode=gt;break;case Md:for(;l<14;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.nlen=(c&31)+257,c>>>=5,l-=5,r.ndist=(c&31)+1,c>>>=5,l-=5,r.ncode=(c&15)+4,c>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=$;break}r.have=0,r.mode=Id;case Id:for(;r.have<r.ncode;){for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.lens[_[r.have++]]=c&7,c>>>=3,l-=3}for(;r.have<19;)r.lens[_[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,g={bits:r.lenbits},O=ho(R_,r.lens,0,19,r.lencode,0,r.work,g),r.lenbits=g.bits,O){e.msg="invalid code lengths set",r.mode=$;break}r.have=0,r.mode=Sd;case Sd:for(;r.have<r.nlen+r.ndist;){for(;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(T<16)c>>>=E,l-=E,r.lens[r.have++]=T;else{if(T===16){for(x=E+2;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c>>>=E,l-=E,r.have===0){e.msg="invalid bit length repeat",r.mode=$;break}I=r.lens[r.have-1],d=3+(c&3),c>>>=2,l-=2}else if(T===17){for(x=E+3;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,I=0,d=3+(c&7),c>>>=3,l-=3}else{for(x=E+7;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,I=0,d=11+(c&127),c>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=$;break}for(;d--;)r.lens[r.have++]=I}}if(r.mode===$)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=$;break}if(r.lenbits=9,g={bits:r.lenbits},O=ho(Pd,r.lens,0,r.nlen,r.lencode,0,r.work,g),r.lenbits=g.bits,O){e.msg="invalid literal/lengths set",r.mode=$;break}if(r.distbits=6,r.distcode=r.distdyn,g={bits:r.distbits},O=ho(Hd,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,g),r.distbits=g.bits,O){e.msg="invalid distances set",r.mode=$;break}if(r.mode=Ns,t===Gs)break e;case Ns:r.mode=vs;case vs:if(a>=6&&f>=258){e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,S_(e,u),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,r.mode===gt&&(r.back=-1);break}for(r.back=0;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(y&&!(y&240)){for(b=E,C=y,M=T;p=r.lencode[M+((c&(1<<b+C)-1)>>b)],E=p>>>24,y=p>>>16&255,T=p&65535,!(b+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=b,l-=b,r.back+=b}if(c>>>=E,l-=E,r.back+=E,r.length=T,y===0){r.mode=Ld;break}if(y&32){r.back=-1,r.mode=gt;break}if(y&64){e.msg="invalid literal/length code",r.mode=$;break}r.extra=y&15,r.mode=Rd;case Rd:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Dd;case Dd:for(;p=r.distcode[c&(1<<r.distbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(!(y&240)){for(b=E,C=y,M=T;p=r.distcode[M+((c&(1<<b+C)-1)>>b)],E=p>>>24,y=p>>>16&255,T=p&65535,!(b+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=b,l-=b,r.back+=b}if(c>>>=E,l-=E,r.back+=E,y&64){e.msg="invalid distance code",r.mode=$;break}r.offset=T,r.extra=y&15,r.mode=Fd;case Fd:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.offset+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=$;break}r.mode=Od;case Od:if(f===0)break e;if(d=u-f,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=$;break}d>r.wnext?(d-=r.wnext,A=r.wsize-d):A=r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=o,A=i-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do o[i++]=m[A++];while(--d);r.length===0&&(r.mode=vs);break;case Ld:if(f===0)break e;o[i++]=r.length,f--,r.mode=vs;break;case bc:if(r.wrap){for(;l<32;){if(a===0)break e;a--,c|=n[s++]<<l,l+=8}if(u-=f,e.total_out+=u,r.total+=u,u&&(e.adler=r.check=r.flags?ot(r.check,o,u,i-u):Ic(r.check,o,u,i-u)),u=f,(r.flags?c:vd(c))!==r.check){e.msg="incorrect data check",r.mode=$;break}c=0,l=0}r.mode=Gd;case Gd:if(r.wrap&&r.flags){for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=$;break}c=0,l=0}r.mode=Nd;case Nd:O=F_;break e;case $:O=kd;break e;case Rc:return Sc;case G_:default:return He}return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,(r.wsize||u!==e.avail_out&&r.mode<$&&(r.mode<bc||t!==Ad))&&Kd(e,e.output,e.next_out,u-e.avail_out)?(r.mode=Rc,Sc):(h-=e.avail_in,u-=e.avail_out,e.total_in+=h,e.total_out+=u,r.total+=u,r.wrap&&u&&(e.adler=r.check=r.flags?ot(r.check,o,u,e.next_out-u):Ic(r.check,o,u,e.next_out-u)),e.data_type=r.bits+(r.last?64:0)+(r.mode===gt?128:0)+(r.mode===Ns||r.mode===Tc?256:0),(h===0&&u===0||t===Ad)&&O===dr&&(O=L_),O)}function Q_(e){if(!e||!e.state)return He;var t=e.state;return t.window&&(t.window=null),e.state=null,dr}function V_(e,t){var r;return!e||!e.state||(r=e.state,!(r.wrap&2))?He:(r.head=t,t.done=!1,dr)}function j_(e,t){var r=t.length,n,o,s;return!e||!e.state||(n=e.state,n.wrap!==0&&n.mode!==Us)?He:n.mode===Us&&(o=1,o=Ic(o,t,r,0),o!==n.check)?kd:(s=Kd(e,t,r,r),s?(n.mode=Rc,Sc):(n.havedict=1,dr))}je.inflateReset=Qd;je.inflateReset2=Vd;je.inflateResetKeep=zd;je.inflateInit=k_;je.inflateInit2=jd;je.inflate=z_;je.inflateEnd=Q_;je.inflateGetHeader=V_;je.inflateSetDictionary=j_;je.inflateInfo="pako inflate (from Nodeca project)"});var Dc=ce((KD,Zd)=>{"use strict";Zd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var Wd=ce((XD,Yd)=>{"use strict";function K_(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Yd.exports=K_});var $d=ce(Ao=>{"use strict";var fn=Xd(),uo=At(),Ps=pc(),ne=Dc(),Fc=ws(),X_=gc(),Z_=Wd(),qd=Object.prototype.toString;function Ar(e){if(!(this instanceof Ar))return new Ar(e);this.options=uo.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new X_,this.strm.avail_out=0;var r=fn.inflateInit2(this.strm,t.windowBits);if(r!==ne.Z_OK)throw new Error(Fc[r]);if(this.header=new Z_,fn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ps.string2buf(t.dictionary):qd.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=fn.inflateSetDictionary(this.strm,t.dictionary),r!==ne.Z_OK)))throw new Error(Fc[r])}Ar.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o=this.options.dictionary,s,i,a,f,c,l=!1;if(this.ended)return!1;i=t===~~t?t:t===!0?ne.Z_FINISH:ne.Z_NO_FLUSH,typeof e=="string"?r.input=Ps.binstring2buf(e):qd.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new uo.Buf8(n),r.next_out=0,r.avail_out=n),s=fn.inflate(r,ne.Z_NO_FLUSH),s===ne.Z_NEED_DICT&&o&&(s=fn.inflateSetDictionary(this.strm,o)),s===ne.Z_BUF_ERROR&&l===!0&&(s=ne.Z_OK,l=!1),s!==ne.Z_STREAM_END&&s!==ne.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===ne.Z_STREAM_END||r.avail_in===0&&(i===ne.Z_FINISH||i===ne.Z_SYNC_FLUSH))&&(this.options.to==="string"?(a=Ps.utf8border(r.output,r.next_out),f=r.next_out-a,c=Ps.buf2string(r.output,a),r.next_out=f,r.avail_out=n-f,f&&uo.arraySet(r.output,r.output,a,f,0),this.onData(c)):this.onData(uo.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(l=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==ne.Z_STREAM_END);return s===ne.Z_STREAM_END&&(i=ne.Z_FINISH),i===ne.Z_FINISH?(s=fn.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===ne.Z_OK):(i===ne.Z_SYNC_FLUSH&&(this.onEnd(ne.Z_OK),r.avail_out=0),!0)};Ar.prototype.onData=function(e){this.chunks.push(e)};Ar.prototype.onEnd=function(e){e===ne.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=uo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Oc(e,t){var r=new Ar(t);if(r.push(e,!0),r.err)throw r.msg||Fc[r.err];return r.result}function Y_(e,t){return t=t||{},t.raw=!0,Oc(e,t)}Ao.Inflate=Ar;Ao.inflate=Oc;Ao.inflateRaw=Y_;Ao.ungzip=Oc});var r0=ce((YD,t0)=>{"use strict";var W_=At().assign,q_=od(),$_=$d(),e2=Dc(),e0={};W_(e0,q_,$_,e2);t0.exports=e0});var n0=ce(()=>{});var mo={};de(mo,{CesiumIonLoader:()=>Xa,TILE3D_TYPE:()=>_e,Tile3DBatchTable:()=>ut,Tile3DFeatureTable:()=>ze,Tile3DSubtreeLoader:()=>jr,Tile3DWriter:()=>h0,Tiles3DArchive:()=>ln,Tiles3DArchiveFileLoader:()=>s0,Tiles3DLoader:()=>rr,_getIonTilesetMetadata:()=>xs});Eo(mo,xr(dn(),1));async function ke(e,t,r,n){return n._parse(e,t,r,n)}function z(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Xe={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},x0=Xe.self||Xe.window||Xe.global||{},E0=Xe.window||Xe.self||Xe.global||{},_0=Xe.global||Xe.self||Xe.window||{},y0=Xe.document||{};var Ee=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var zc=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),C0=zc&&parseFloat(zc[1])||0;var _o=globalThis,T0=globalThis.document||{},yo=globalThis.process||{},b0=globalThis.console,d2=globalThis.navigator||{};function Qc(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Jt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Qc()}var Js="4.1.1";function Er(e,t){if(!e)throw new Error(t||"Assertion failed")}function zs(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Er(Number.isFinite(t)&&t>=0),t}function Vc(e){let{logLevel:t,message:r}=e;e.logLevel=zs(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let o=typeof e.message;return Er(o==="string"||o==="object"),Object.assign(e,{args:n},e.opts)}var zt=()=>{},Co=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...n){return this._log("log",t,r,n)}info(t,r,...n){return this._log("info",t,r,n)}once(t,r,...n){return this._log("once",t,r,n,{once:!0})}_log(t,r,n,o,s={}){let i=Vc({logLevel:r,message:n,args:this._buildArgs(r,n,o),opts:s});return this._createLogFunction(t,i,s)}_buildArgs(t,r,n){return[t,r,...n]}_createLogFunction(t,r,n){if(!this._shouldLog(r.logLevel))return zt;let o=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&o!==void 0){if(this._onceCache.has(o))return zt;this._onceCache.add(o)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=zs(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function M0(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var To=class{constructor(t,r,n="sessionStorage"){this.storage=M0(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function jc(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function Kc(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var bo;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(bo||(bo={}));var I0=10;function Xc(e){return typeof e!="string"?e:(e=e.toUpperCase(),bo[e]||bo.WHITE)}function Zc(e,t,r){return!Jt&&typeof e=="string"&&(t&&(e=`\x1B[${Xc(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Xc(r)+I0}m${e}\x1B[49m`)),e}function Yc(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(let s of n){let i=o[s];typeof i=="function"&&(t.find(a=>s===a)||(o[s]=i.bind(e)))}}function _r(){let e;if(Jt()&&_o.performance)e=_o?.performance?.now?.();else if("hrtime"in yo){let t=yo?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var yr={debug:Jt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Qs={enabled:!0,level:0},An=class extends Co{constructor({id:t}={id:""}){super({level:0}),this.VERSION=Js,this._startTs=_r(),this._deltaTs=_r(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new To(`__probe-${this.id}__`,{[this.id]:Qs}),this.timeStamp(`${this.id} started`),Yc(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((_r()-this._startTs).toPrecision(10))}getDelta(){return Number((_r()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:yr.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:yr.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...n){return this._log("log",t,r,n,{method:yr.log,time:!0,once:!0})}log(t,r,...n){return this._log("log",t,r,n,{method:yr.debug})}info(t,r,...n){return this._log("info",t,r,n,{method:console.info})}once(t,r,...n){return this._log("once",t,r,n,{method:yr.debug||yr.info,once:!0})}table(t,r,n){return r?this._log("table",t,r,n&&[n]||[],{method:console.table||zt,tag:R0(r)}):zt}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||zt})}group(t,r,n={collapsed:!1}){let o=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:o})}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||zt})}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let n=r.method;Er(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=_r();let o=S0(this.id,r.message,r);return n.bind(console,o,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Qs),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...Qs};this._storage.setConfiguration({[this.id]:{...r,...t}})}};An.VERSION=Js;function S0(e,t,r){if(typeof t=="string"){let n=r.time?Kc(jc(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=Zc(t,r.color,r.background)}return t}function R0(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var Vs=new An({id:"@probe.gl/log"});var js=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer;function mn(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}function Ks(e){return globalThis.loaders?.modules?.[e]||null}function D0(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.15"),globalThis._loadersgl_.version}var Wc=D0();function qc(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var Ze={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Z2=Ze.self||Ze.window||Ze.global||{},Y2=Ze.window||Ze.self||Ze.global||{},W2=Ze.global||Ze.self||Ze.window||{},q2=Ze.document||{};var it=typeof process!="object"||String(process)!=="[object process]"||process.browser,pn=typeof importScripts=="function",$2=typeof window<"u"&&typeof window.orientation<"u",$c=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),ey=$c&&parseFloat($c[1])||0;var Xs={};async function Se(e,t=null,r={},n=null){return t&&(e=ef(e,t,r,n)),Xs[e]=Xs[e]||F0(e),await Xs[e]}function ef(e,t,r={},n=null){if(r?.core)throw new Error("loadLibrary: options.core must be pre-normalized");if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let o=r.modules||{};return o[n]?o[n]:it?r.CDN?(qc(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Wc}/dist/libs/${n}`):pn?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function F0(e){if(e.endsWith("wasm"))return await L0(e);if(!it){let{requireFromFile:r}=globalThis.loaders||{};try{let n=await r?.(e);return n||!e.includes("/dist/libs/")?n:await r?.(e.replace("/dist/libs/","/src/libs/"))}catch(n){if(e.includes("/dist/libs/"))try{return await r?.(e.replace("/dist/libs/","/src/libs/"))}catch{}return console.error(n),null}}if(pn)return importScripts(e);let t=await G0(e);return O0(t,e)}function O0(e,t){if(!it){let{requireFromString:n}=globalThis.loaders||{};return n?.(e,t)}if(pn)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function L0(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function G0(e){let{readFileAsText:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}function rf(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?tf(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?tf(e,0,t):""}function tf(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),o="";for(let s=0;s<r;s++)o+=String.fromCharCode(n.getUint8(t+s));return o}function Zs(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${rf(e)}"`)}}function xt(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),o=new Uint8Array(t);for(let s=0;s<n.length;++s)if(n[s]!==o[s])return!1;return!0}function Cr(...e){return nf(e)}function nf(e){let t=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=t.reduce((s,i)=>s+i.byteLength,0),n=new Uint8Array(r),o=0;for(let s of t)n.set(s,o),o+=s.byteLength;return n.buffer}function Qt(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function be(e,t){return z(e>=0),z(t>0),e+(t-1)&~(t-1)}function Ys(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let o=e.byteOffset,s=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,o,s)}return t.set(n,r),r+be(n.byteLength,4)}function Ws(e,t){let r=e.length,o=Math.ceil(r/t)*t-r,s="";for(let i=0;i<o;++i)s+=" ";return e+s}function Tr(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r.charCodeAt(o));return t+n}function gn(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r[o]);return t+n}function of(e,t,r,n){let o=be(r.byteLength,n),s=o-r.byteLength;if(e){let i=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),a=new Uint8Array(r);i.set(a);for(let f=0;f<s;++f)e.setUint8(t+r.byteLength+f,32)}return t+=o,t}function wo(e,t,r,n){let s=new TextEncoder().encode(r);return t=of(e,t,s,n),t}async function Bn(e){let t=[];for await(let r of e)t.push(N0(r));return Cr(...t)}function N0(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return sf(t,r,n)}return sf(e)}function sf(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function af(e){return e&&typeof e=="object"&&e.isBuffer}function _t(e){if(af(e))return e;if(e instanceof ArrayBuffer)return e;if(js(e))return Et(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function yt(e){if(e instanceof ArrayBuffer)return e;if(js(e))return Et(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:Et(t,r,n)}function Et(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function br(e){return t=>new Promise((r,n)=>e(t,(o,s)=>o?n(o):r(s)))}var wr={};de(wr,{dirname:()=>U0,filename:()=>v0,join:()=>P0,resolve:()=>H0});function cf(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function v0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function U0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function P0(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function H0(...e){let t=[];for(let s=0;s<e.length;s++)t[s]=e[s];let r="",n=!1,o;for(let s=t.length-1;s>=-1&&!n;s--){let i;s>=0?i=t[s]:(o===void 0&&(o=cf()),i=o),i.length!==0&&(r=`${i}/${r}`,n=i.charCodeAt(0)===xn)}return r=k0(r,!n),n?`/${r}`:r.length>0?r:"."}var xn=47,qs=46;function k0(e,t){let r="",n=-1,o=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===xn)break;s=xn}if(s===xn){if(!(n===a-1||o===1))if(n!==a-1&&o===2){if(r.length<2||!i||r.charCodeAt(r.length-1)!==qs||r.charCodeAt(r.length-2)!==qs){if(r.length>2){let f=r.length-1,c=f;for(;c>=0&&r.charCodeAt(c)!==xn;--c);if(c!==f){r=c===-1?"":r.slice(0,c),n=a,o=0,i=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,o=0,i=!1;continue}}t&&(r.length>0?r+="/..":r="..",i=!0)}else{let f=e.slice(n+1,a);r.length>0?r+=`/${f}`:r=f,i=!1}n=a,o=0}else s===qs&&o!==-1?++o:o=-1}return r}var En=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var _n=new Error("Not implemented"),yn=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Ee?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw _n}async write(t,r,n){throw _n}async stat(){throw _n}async truncate(t){throw _n}async append(t){throw _n}async close(){}};var J0=1/Math.PI*180,z0=1/180*Math.PI,Q0={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Q0}};var Y=globalThis.mathgl.config;function $s(e,{precision:t=Y.precision}={}){return e=V0(e),`${parseFloat(e.toPrecision(t))}`}function Re(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ei(e){return ff(e)}function ti(e){return lf(e)}function ff(e,t){return ni(e,r=>r*z0,t)}function lf(e,t){return ni(e,r=>r*J0,t)}function ri(e,t,r){return ni(e,n=>Math.max(t,Math.min(r,n)))}function we(e,t,r){let n=Y.EPSILON;r&&(Y.EPSILON=r);try{if(e===t)return!0;if(Re(e)&&Re(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!we(e[o],t[o]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Y.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Y.EPSILON=n}}function V0(e){return Math.round(e/Y.EPSILON)*Y.EPSILON}function j0(e){return e.clone?e.clone():new Array(e.length)}function ni(e,t,r){if(Re(e)){let n=e;r=r||j0(n);for(let o=0;o<r.length&&o<n.length;++o){let s=typeof e=="number"?e:e[o];r[o]=t(s,o,r)}return r}return t(e)}var Ct=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Re(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Y)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+$s(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!we(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let o=0;o<this.ELEMENTS;++o){let s=t[o],i=typeof r=="number"?r:r[o];this[o]=s+n*(i-s)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Y.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function K0(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function k(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Tt(e,t,r=""){if(Y.debug&&!K0(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function fe(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var bt=class extends Ct{get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let o=this[n]-t[n];r+=o*o}return k(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return k(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),k(this[t])}setComponent(t,r){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var q=typeof Float32Array<"u"?Float32Array:Array,Cn=Math.random;function Mr(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var lC=Math.PI/180;function X0(){let e=new q(2);return q!=Float32Array&&(e[0]=0,e[1]=0),e}function hf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e}function uf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o+r[4],e[1]=r[1]*n+r[3]*o+r[5],e}function Mo(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[3]*o+r[6],e[1]=r[1]*n+r[4]*o+r[7],e}function Io(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[4]*o+r[12],e[1]=r[1]*n+r[5]*o+r[13],e}var hC=function(){let e=X0();return function(t,r,n,o,s,i){let a,f;for(r||(r=2),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],s(e,e,i),t[a]=e[0],t[a+1]=e[1];return t}}();function So(e,t,r){let n=t[0],o=t[1],s=r[3]*n+r[7]*o||1;return e[0]=(r[0]*n+r[4]*o)/s,e[1]=(r[1]*n+r[5]*o)/s,e}function Ro(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s||1;return e[0]=(r[0]*n+r[4]*o+r[8]*s)/i,e[1]=(r[1]*n+r[5]*o+r[9]*s)/i,e[2]=(r[2]*n+r[6]*o+r[10]*s)/i,e}function df(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e}function Af(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e[3]=t[3],e}function Do(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=r[0]*n+r[3]*o+r[6]*s,e[1]=r[1]*n+r[4]*o+r[7]*s,e[2]=r[2]*n+r[5]*o+r[8]*s,e[3]=t[3],e}var Vt=class extends bt{constructor(t=0,r=0){super(2),Re(t)&&arguments.length===1?this.copy(t):(Y.debug&&(k(t),k(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Y.debug&&(k(t.x),k(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Io(this,this,t),this.check()}transformAsVector(t){return So(this,this,t),this.check()}transformByMatrix3(t){return Mo(this,this,t),this.check()}transformByMatrix2x3(t){return uf(this,this,t),this.check()}transformByMatrix2(t){return hf(this,this,t),this.check()}};var Xt={};de(Xt,{add:()=>q0,angle:()=>ci,bezier:()=>hA,ceil:()=>$0,clone:()=>Z0,copy:()=>Y0,create:()=>Fo,cross:()=>jt,dist:()=>EA,distance:()=>xf,div:()=>xA,divide:()=>Bf,dot:()=>Tn,equals:()=>pA,exactEquals:()=>mA,floor:()=>eA,forEach:()=>CA,fromValues:()=>Oo,hermite:()=>lA,inverse:()=>aA,len:()=>fi,length:()=>mf,lerp:()=>cA,max:()=>rA,min:()=>tA,mul:()=>BA,multiply:()=>gf,negate:()=>iA,normalize:()=>oi,random:()=>uA,rotateX:()=>si,rotateY:()=>ii,rotateZ:()=>ai,round:()=>nA,scale:()=>oA,scaleAndAdd:()=>sA,set:()=>W0,slerp:()=>fA,sqrDist:()=>_A,sqrLen:()=>yA,squaredDistance:()=>Ef,squaredLength:()=>_f,str:()=>AA,sub:()=>gA,subtract:()=>pf,transformMat3:()=>bn,transformMat4:()=>Kt,transformQuat:()=>wn,zero:()=>dA});function Fo(){let e=new q(3);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Z0(e){let t=new q(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function mf(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function Oo(e,t,r){let n=new q(3);return n[0]=e,n[1]=t,n[2]=r,n}function Y0(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function W0(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function q0(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function pf(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function gf(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Bf(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function $0(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function eA(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function tA(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function rA(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function nA(e,t){return e[0]=Mr(t[0]),e[1]=Mr(t[1]),e[2]=Mr(t[2]),e}function oA(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function sA(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function xf(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return Math.sqrt(r*r+n*n+o*o)}function Ef(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return r*r+n*n+o*o}function _f(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function iA(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function aA(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function oi(e,t){let r=t[0],n=t[1],o=t[2],s=r*r+n*n+o*o;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Tn(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function jt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2];return e[0]=o*f-s*a,e[1]=s*i-n*f,e[2]=n*a-o*i,e}function cA(e,t,r,n){let o=t[0],s=t[1],i=t[2];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e}function fA(e,t,r,n){let o=Math.acos(Math.min(Math.max(Tn(t,r),-1),1)),s=Math.sin(o),i=Math.sin((1-n)*o)/s,a=Math.sin(n*o)/s;return e[0]=i*t[0]+a*r[0],e[1]=i*t[1]+a*r[1],e[2]=i*t[2]+a*r[2],e}function lA(e,t,r,n,o,s){let i=s*s,a=i*(2*s-3)+1,f=i*(s-2)+s,c=i*(s-1),l=i*(3-2*s);return e[0]=t[0]*a+r[0]*f+n[0]*c+o[0]*l,e[1]=t[1]*a+r[1]*f+n[1]*c+o[1]*l,e[2]=t[2]*a+r[2]*f+n[2]*c+o[2]*l,e}function hA(e,t,r,n,o,s){let i=1-s,a=i*i,f=s*s,c=a*i,l=3*s*a,h=3*f*i,u=f*s;return e[0]=t[0]*c+r[0]*l+n[0]*h+o[0]*u,e[1]=t[1]*c+r[1]*l+n[1]*h+o[1]*u,e[2]=t[2]*c+r[2]*l+n[2]*h+o[2]*u,e}function uA(e,t){t=t===void 0?1:t;let r=Cn()*2*Math.PI,n=Cn()*2-1,o=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*o,e[1]=Math.sin(r)*o,e[2]=n*t,e}function Kt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s+r[15];return i=i||1,e[0]=(r[0]*n+r[4]*o+r[8]*s+r[12])/i,e[1]=(r[1]*n+r[5]*o+r[9]*s+r[13])/i,e[2]=(r[2]*n+r[6]*o+r[10]*s+r[14])/i,e}function bn(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=n*r[0]+o*r[3]+s*r[6],e[1]=n*r[1]+o*r[4]+s*r[7],e[2]=n*r[2]+o*r[5]+s*r[8],e}function wn(e,t,r){let n=r[0],o=r[1],s=r[2],i=r[3],a=t[0],f=t[1],c=t[2],l=o*c-s*f,h=s*a-n*c,u=n*f-o*a,d=o*u-s*h,A=s*l-n*u,m=n*h-o*l,p=i*2;return l*=p,h*=p,u*=p,d*=2,A*=2,m*=2,e[0]=a+l+d,e[1]=f+h+A,e[2]=c+u+m,e}function si(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0],s[1]=o[1]*Math.cos(n)-o[2]*Math.sin(n),s[2]=o[1]*Math.sin(n)+o[2]*Math.cos(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ii(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[2]*Math.sin(n)+o[0]*Math.cos(n),s[1]=o[1],s[2]=o[2]*Math.cos(n)-o[0]*Math.sin(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ai(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0]*Math.cos(n)-o[1]*Math.sin(n),s[1]=o[0]*Math.sin(n)+o[1]*Math.cos(n),s[2]=o[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ci(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2],f=Math.sqrt((r*r+n*n+o*o)*(s*s+i*i+a*a)),c=f&&Tn(e,t)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function dA(e){return e[0]=0,e[1]=0,e[2]=0,e}function AA(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function mA(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function pA(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2];return Math.abs(r-s)<=1e-6*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-i)<=1e-6*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(o-a)<=1e-6*Math.max(1,Math.abs(o),Math.abs(a))}var gA=pf,BA=gf,xA=Bf,EA=xf,_A=Ef,fi=mf,yA=_f,CA=function(){let e=Fo();return function(t,r,n,o,s,i){let a,f;for(r||(r=3),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var li=[0,0,0],Lo,w=class extends bt{static get ZERO(){return Lo||(Lo=new w(0,0,0),Object.freeze(Lo)),Lo}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Re(t)?this.copy(t):(Y.debug&&(k(t),k(r),k(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Y.debug&&(k(t.x),k(t.y),k(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=k(t)}angle(t){return ci(this,t)}cross(t){return jt(this,this,t),this.check()}rotateX({radians:t,origin:r=li}){return si(this,this,r,t),this.check()}rotateY({radians:t,origin:r=li}){return ii(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=li}){return ai(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Kt(this,this,t),this.check()}transformAsVector(t){return Ro(this,this,t),this.check()}transformByMatrix3(t){return bn(this,this,t),this.check()}transformByMatrix2(t){return df(this,this,t),this.check()}transformByQuaternion(t){return wn(this,this,t),this.check()}};var Go,Sr=class extends bt{static get ZERO(){return Go||(Go=new Sr(0,0,0,0),Object.freeze(Go)),Go}constructor(t=0,r=0,n=0,o=0){super(-0,-0,-0,-0),Re(t)&&arguments.length===1?this.copy(t):(Y.debug&&(k(t),k(r),k(n),k(o)),this[0]=t,this[1]=r,this[2]=n,this[3]=o)}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Y.debug&&(k(t.x),k(t.y),k(t.z),k(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}transform(t){return Kt(this,this,t),this.check()}transformByMatrix3(t){return Do(this,this,t),this.check()}transformByMatrix2(t){return Af(this,this,t),this.check()}transformByQuaternion(t){return wn(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Rr=class extends Ct{toString(){let t="[";if(Y.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=k(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)r[o]=this[n+o];return r}setColumn(t,r){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)this[n+o]=r[o];return this}};function yf(){let e=new q(9);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Cf(e,t){if(e===t){let r=t[1],n=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=o}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Tf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=l*i-a*c,u=-l*s+a*f,d=c*s-i*f,A=r*h+n*u+o*d;return A?(A=1/A,e[0]=h*A,e[1]=(-l*n+o*c)*A,e[2]=(a*n-o*i)*A,e[3]=u*A,e[4]=(l*r-o*f)*A,e[5]=(-a*r+o*s)*A,e[6]=d*A,e[7]=(-c*r+n*f)*A,e[8]=(i*r-n*s)*A,e):null}function bf(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8];return t*(c*s-i*f)+r*(-c*o+i*a)+n*(f*o-s*a)}function hi(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1],A=r[2],m=r[3],p=r[4],E=r[5],y=r[6],T=r[7],b=r[8];return e[0]=u*n+d*i+A*c,e[1]=u*o+d*a+A*l,e[2]=u*s+d*f+A*h,e[3]=m*n+p*i+E*c,e[4]=m*o+p*a+E*l,e[5]=m*s+p*f+E*h,e[6]=y*n+T*i+b*c,e[7]=y*o+T*a+b*l,e[8]=y*s+T*f+b*h,e}function wf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1];return e[0]=n,e[1]=o,e[2]=s,e[3]=i,e[4]=a,e[5]=f,e[6]=u*n+d*i+c,e[7]=u*o+d*a+l,e[8]=u*s+d*f+h,e}function Mf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=Math.sin(r),d=Math.cos(r);return e[0]=d*n+u*i,e[1]=d*o+u*a,e[2]=d*s+u*f,e[3]=d*i-u*n,e[4]=d*a-u*o,e[5]=d*f-u*s,e[6]=c,e[7]=l,e[8]=h,e}function ui(e,t,r){let n=r[0],o=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function If(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,A=o*f,m=s*i,p=s*a,E=s*f;return e[0]=1-h-A,e[3]=l-E,e[6]=u+p,e[1]=l+E,e[4]=1-c-A,e[7]=d-m,e[2]=u-p,e[5]=d+m,e[8]=1-c-h,e}var di;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(di||(di={}));var bA=Object.freeze([1,0,0,0,1,0,0,0,1]),X=class extends Rr{static get IDENTITY(){return MA()}static get ZERO(){return wA()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return di}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(bA)}fromObject(t){return this.check()}fromQuaternion(t){return If(this,t),this.check()}set(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=o,this[2]=a,this[3]=r,this[4]=s,this[5]=f,this[6]=n,this[7]=i,this[8]=c,this.check()}determinant(){return bf(this)}transpose(){return Cf(this,this),this.check()}invert(){return Tf(this,this),this.check()}multiplyLeft(t){return hi(this,t,this),this.check()}multiplyRight(t){return hi(this,this,t),this.check()}rotate(t){return Mf(this,this,t),this.check()}scale(t){return Array.isArray(t)?ui(this,this,t):ui(this,this,[t,t]),this.check()}translate(t){return wf(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Mo(r||[-0,-0],t,this);break;case 3:n=bn(r||[-0,-0,-0],t,this);break;case 4:n=Do(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},No,vo=null;function wA(){return No||(No=new X([0,0,0,0,0,0,0,0,0]),Object.freeze(No)),No}function MA(){return vo||(vo=new X,Object.freeze(vo)),vo}var In={};de(In,{add:()=>qA,adjoint:()=>OA,clone:()=>SA,copy:()=>RA,create:()=>IA,decompose:()=>zA,determinant:()=>pi,equals:()=>rm,exactEquals:()=>tm,frob:()=>WA,fromQuat:()=>Ci,fromQuat2:()=>HA,fromRotation:()=>NA,fromRotationTranslation:()=>Rf,fromRotationTranslationScale:()=>QA,fromRotationTranslationScaleOrigin:()=>VA,fromScaling:()=>GA,fromTranslation:()=>LA,fromValues:()=>DA,fromXRotation:()=>vA,fromYRotation:()=>UA,fromZRotation:()=>PA,frustum:()=>Ti,getRotation:()=>JA,getScaling:()=>Df,getTranslation:()=>kA,identity:()=>Sf,invert:()=>mi,lookAt:()=>Mi,mul:()=>nm,multiply:()=>Mn,multiplyScalar:()=>$A,multiplyScalarAndAdd:()=>em,ortho:()=>wi,orthoNO:()=>Of,orthoZO:()=>XA,perspective:()=>bi,perspectiveFromFieldOfView:()=>KA,perspectiveNO:()=>Ff,perspectiveZO:()=>jA,rotate:()=>xi,rotateX:()=>Ei,rotateY:()=>_i,rotateZ:()=>yi,scale:()=>Bi,set:()=>FA,str:()=>YA,sub:()=>om,subtract:()=>Lf,targetTo:()=>ZA,translate:()=>gi,transpose:()=>Ai});function IA(){let e=new q(16);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function SA(e){let t=new q(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function RA(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function DA(e,t,r,n,o,s,i,a,f,c,l,h,u,d,A,m){let p=new q(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=o,p[5]=s,p[6]=i,p[7]=a,p[8]=f,p[9]=c,p[10]=l,p[11]=h,p[12]=u,p[13]=d,p[14]=A,p[15]=m,p}function FA(e,t,r,n,o,s,i,a,f,c,l,h,u,d,A,m,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=s,e[5]=i,e[6]=a,e[7]=f,e[8]=c,e[9]=l,e[10]=h,e[11]=u,e[12]=d,e[13]=A,e[14]=m,e[15]=p,e}function Sf(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ai(e,t){if(e===t){let r=t[1],n=t[2],o=t[3],s=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=o,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function mi(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],A=t[12],m=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,b=r*c-s*i,C=n*f-o*a,M=n*c-s*a,I=o*c-s*f,O=l*m-h*A,B=l*p-u*A,g=l*E-d*A,x=h*p-u*m,_=h*E-d*m,U=u*E-d*p,v=y*U-T*_+b*x+C*g-M*B+I*O;return v?(v=1/v,e[0]=(a*U-f*_+c*x)*v,e[1]=(o*_-n*U-s*x)*v,e[2]=(m*I-p*M+E*C)*v,e[3]=(u*M-h*I-d*C)*v,e[4]=(f*g-i*U-c*B)*v,e[5]=(r*U-o*g+s*B)*v,e[6]=(p*b-A*I-E*T)*v,e[7]=(l*I-u*b+d*T)*v,e[8]=(i*_-a*g+c*O)*v,e[9]=(n*g-r*_-s*O)*v,e[10]=(A*M-m*b+E*y)*v,e[11]=(h*b-l*M-d*y)*v,e[12]=(a*B-i*x-f*O)*v,e[13]=(r*x-n*B+o*O)*v,e[14]=(m*T-A*C-p*y)*v,e[15]=(l*C-h*T+u*y)*v,e):null}function OA(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],A=t[12],m=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,b=r*c-s*i,C=n*f-o*a,M=n*c-s*a,I=o*c-s*f,O=l*m-h*A,B=l*p-u*A,g=l*E-d*A,x=h*p-u*m,_=h*E-d*m,U=u*E-d*p;return e[0]=a*U-f*_+c*x,e[1]=o*_-n*U-s*x,e[2]=m*I-p*M+E*C,e[3]=u*M-h*I-d*C,e[4]=f*g-i*U-c*B,e[5]=r*U-o*g+s*B,e[6]=p*b-A*I-E*T,e[7]=l*I-u*b+d*T,e[8]=i*_-a*g+c*O,e[9]=n*g-r*_-s*O,e[10]=A*M-m*b+E*y,e[11]=h*b-l*M-d*y,e[12]=a*B-i*x-f*O,e[13]=r*x-n*B+o*O,e[14]=m*T-A*C-p*y,e[15]=l*C-h*T+u*y,e}function pi(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8],l=e[9],h=e[10],u=e[11],d=e[12],A=e[13],m=e[14],p=e[15],E=t*i-r*s,y=t*a-n*s,T=r*a-n*i,b=c*A-l*d,C=c*m-h*d,M=l*m-h*A,I=t*M-r*C+n*b,O=s*M-i*C+a*b,B=c*T-l*y+h*E,g=d*T-A*y+m*E;return f*I-o*O+p*B-u*g}function Mn(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=t[9],d=t[10],A=t[11],m=t[12],p=t[13],E=t[14],y=t[15],T=r[0],b=r[1],C=r[2],M=r[3];return e[0]=T*n+b*a+C*h+M*m,e[1]=T*o+b*f+C*u+M*p,e[2]=T*s+b*c+C*d+M*E,e[3]=T*i+b*l+C*A+M*y,T=r[4],b=r[5],C=r[6],M=r[7],e[4]=T*n+b*a+C*h+M*m,e[5]=T*o+b*f+C*u+M*p,e[6]=T*s+b*c+C*d+M*E,e[7]=T*i+b*l+C*A+M*y,T=r[8],b=r[9],C=r[10],M=r[11],e[8]=T*n+b*a+C*h+M*m,e[9]=T*o+b*f+C*u+M*p,e[10]=T*s+b*c+C*d+M*E,e[11]=T*i+b*l+C*A+M*y,T=r[12],b=r[13],C=r[14],M=r[15],e[12]=T*n+b*a+C*h+M*m,e[13]=T*o+b*f+C*u+M*p,e[14]=T*s+b*c+C*d+M*E,e[15]=T*i+b*l+C*A+M*y,e}function gi(e,t,r){let n=r[0],o=r[1],s=r[2],i,a,f,c,l,h,u,d,A,m,p,E;return t===e?(e[12]=t[0]*n+t[4]*o+t[8]*s+t[12],e[13]=t[1]*n+t[5]*o+t[9]*s+t[13],e[14]=t[2]*n+t[6]*o+t[10]*s+t[14],e[15]=t[3]*n+t[7]*o+t[11]*s+t[15]):(i=t[0],a=t[1],f=t[2],c=t[3],l=t[4],h=t[5],u=t[6],d=t[7],A=t[8],m=t[9],p=t[10],E=t[11],e[0]=i,e[1]=a,e[2]=f,e[3]=c,e[4]=l,e[5]=h,e[6]=u,e[7]=d,e[8]=A,e[9]=m,e[10]=p,e[11]=E,e[12]=i*n+l*o+A*s+t[12],e[13]=a*n+h*o+m*s+t[13],e[14]=f*n+u*o+p*s+t[14],e[15]=c*n+d*o+E*s+t[15]),e}function Bi(e,t,r){let n=r[0],o=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function xi(e,t,r,n){let o=n[0],s=n[1],i=n[2],a=Math.sqrt(o*o+s*s+i*i),f,c,l,h,u,d,A,m,p,E,y,T,b,C,M,I,O,B,g,x,_,U,v,P;return a<1e-6?null:(a=1/a,o*=a,s*=a,i*=a,c=Math.sin(r),f=Math.cos(r),l=1-f,h=t[0],u=t[1],d=t[2],A=t[3],m=t[4],p=t[5],E=t[6],y=t[7],T=t[8],b=t[9],C=t[10],M=t[11],I=o*o*l+f,O=s*o*l+i*c,B=i*o*l-s*c,g=o*s*l-i*c,x=s*s*l+f,_=i*s*l+o*c,U=o*i*l+s*c,v=s*i*l-o*c,P=i*i*l+f,e[0]=h*I+m*O+T*B,e[1]=u*I+p*O+b*B,e[2]=d*I+E*O+C*B,e[3]=A*I+y*O+M*B,e[4]=h*g+m*x+T*_,e[5]=u*g+p*x+b*_,e[6]=d*g+E*x+C*_,e[7]=A*g+y*x+M*_,e[8]=h*U+m*v+T*P,e[9]=u*U+p*v+b*P,e[10]=d*U+E*v+C*P,e[11]=A*U+y*v+M*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Ei(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[4],i=t[5],a=t[6],f=t[7],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*o+c*n,e[5]=i*o+l*n,e[6]=a*o+h*n,e[7]=f*o+u*n,e[8]=c*o-s*n,e[9]=l*o-i*n,e[10]=h*o-a*n,e[11]=u*o-f*n,e}function _i(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o-c*n,e[1]=i*o-l*n,e[2]=a*o-h*n,e[3]=f*o-u*n,e[8]=s*n+c*o,e[9]=i*n+l*o,e[10]=a*n+h*o,e[11]=f*n+u*o,e}function yi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[4],l=t[5],h=t[6],u=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o+c*n,e[1]=i*o+l*n,e[2]=a*o+h*n,e[3]=f*o+u*n,e[4]=c*o-s*n,e[5]=l*o-i*n,e[6]=h*o-a*n,e[7]=u*o-f*n,e}function LA(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function GA(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function NA(e,t,r){let n=r[0],o=r[1],s=r[2],i=Math.sqrt(n*n+o*o+s*s),a,f,c;return i<1e-6?null:(i=1/i,n*=i,o*=i,s*=i,f=Math.sin(t),a=Math.cos(t),c=1-a,e[0]=n*n*c+a,e[1]=o*n*c+s*f,e[2]=s*n*c-o*f,e[3]=0,e[4]=n*o*c-s*f,e[5]=o*o*c+a,e[6]=s*o*c+n*f,e[7]=0,e[8]=n*s*c+o*f,e[9]=o*s*c-n*f,e[10]=s*s*c+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function vA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function UA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function PA(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Rf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=n+n,f=o+o,c=s+s,l=n*a,h=n*f,u=n*c,d=o*f,A=o*c,m=s*c,p=i*a,E=i*f,y=i*c;return e[0]=1-(d+m),e[1]=h+y,e[2]=u-E,e[3]=0,e[4]=h-y,e[5]=1-(l+m),e[6]=A+p,e[7]=0,e[8]=u+E,e[9]=A-p,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function HA(e,t){let r=new q(3),n=-t[0],o=-t[1],s=-t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=n*n+o*o+s*s+i*i;return h>0?(r[0]=(a*i+l*n+f*s-c*o)*2/h,r[1]=(f*i+l*o+c*n-a*s)*2/h,r[2]=(c*i+l*s+a*o-f*n)*2/h):(r[0]=(a*i+l*n+f*s-c*o)*2,r[1]=(f*i+l*o+c*n-a*s)*2,r[2]=(c*i+l*s+a*o-f*n)*2),Rf(e,t,r),e}function kA(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Df(e,t){let r=t[0],n=t[1],o=t[2],s=t[4],i=t[5],a=t[6],f=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(s*s+i*i+a*a),e[2]=Math.sqrt(f*f+c*c+l*l),e}function JA(e,t){let r=new q(3);Df(r,t);let n=1/r[0],o=1/r[1],s=1/r[2],i=t[0]*n,a=t[1]*o,f=t[2]*s,c=t[4]*n,l=t[5]*o,h=t[6]*s,u=t[8]*n,d=t[9]*o,A=t[10]*s,m=i+l+A,p=0;return m>0?(p=Math.sqrt(m+1)*2,e[3]=.25*p,e[0]=(h-d)/p,e[1]=(u-f)/p,e[2]=(a-c)/p):i>l&&i>A?(p=Math.sqrt(1+i-l-A)*2,e[3]=(h-d)/p,e[0]=.25*p,e[1]=(a+c)/p,e[2]=(u+f)/p):l>A?(p=Math.sqrt(1+l-i-A)*2,e[3]=(u-f)/p,e[0]=(a+c)/p,e[1]=.25*p,e[2]=(h+d)/p):(p=Math.sqrt(1+A-i-l)*2,e[3]=(a-c)/p,e[0]=(u+f)/p,e[1]=(h+d)/p,e[2]=.25*p),e}function zA(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let o=n[0],s=n[1],i=n[2],a=n[4],f=n[5],c=n[6],l=n[8],h=n[9],u=n[10];r[0]=Math.sqrt(o*o+s*s+i*i),r[1]=Math.sqrt(a*a+f*f+c*c),r[2]=Math.sqrt(l*l+h*h+u*u);let d=1/r[0],A=1/r[1],m=1/r[2],p=o*d,E=s*A,y=i*m,T=a*d,b=f*A,C=c*m,M=l*d,I=h*A,O=u*m,B=p+b+O,g=0;return B>0?(g=Math.sqrt(B+1)*2,e[3]=.25*g,e[0]=(C-I)/g,e[1]=(M-y)/g,e[2]=(E-T)/g):p>b&&p>O?(g=Math.sqrt(1+p-b-O)*2,e[3]=(C-I)/g,e[0]=.25*g,e[1]=(E+T)/g,e[2]=(M+y)/g):b>O?(g=Math.sqrt(1+b-p-O)*2,e[3]=(M-y)/g,e[0]=(E+T)/g,e[1]=.25*g,e[2]=(C+I)/g):(g=Math.sqrt(1+O-p-b)*2,e[3]=(E-T)/g,e[0]=(M+y)/g,e[1]=(C+I)/g,e[2]=.25*g),e}function QA(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=o+o,c=s+s,l=i+i,h=o*f,u=o*c,d=o*l,A=s*c,m=s*l,p=i*l,E=a*f,y=a*c,T=a*l,b=n[0],C=n[1],M=n[2];return e[0]=(1-(A+p))*b,e[1]=(u+T)*b,e[2]=(d-y)*b,e[3]=0,e[4]=(u-T)*C,e[5]=(1-(h+p))*C,e[6]=(m+E)*C,e[7]=0,e[8]=(d+y)*M,e[9]=(m-E)*M,e[10]=(1-(h+A))*M,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function VA(e,t,r,n,o){let s=t[0],i=t[1],a=t[2],f=t[3],c=s+s,l=i+i,h=a+a,u=s*c,d=s*l,A=s*h,m=i*l,p=i*h,E=a*h,y=f*c,T=f*l,b=f*h,C=n[0],M=n[1],I=n[2],O=o[0],B=o[1],g=o[2],x=(1-(m+E))*C,_=(d+b)*C,U=(A-T)*C,v=(d-b)*M,P=(1-(u+E))*M,G=(p+y)*M,ee=(A+T)*I,Be=(p-y)*I,W=(1-(u+m))*I;return e[0]=x,e[1]=_,e[2]=U,e[3]=0,e[4]=v,e[5]=P,e[6]=G,e[7]=0,e[8]=ee,e[9]=Be,e[10]=W,e[11]=0,e[12]=r[0]+O-(x*O+v*B+ee*g),e[13]=r[1]+B-(_*O+P*B+Be*g),e[14]=r[2]+g-(U*O+G*B+W*g),e[15]=1,e}function Ci(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,A=o*f,m=s*i,p=s*a,E=s*f;return e[0]=1-h-A,e[1]=l+E,e[2]=u-p,e[3]=0,e[4]=l-E,e[5]=1-c-A,e[6]=d+m,e[7]=0,e[8]=u+p,e[9]=d-m,e[10]=1-c-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ti(e,t,r,n,o,s,i){let a=1/(r-t),f=1/(o-n),c=1/(s-i);return e[0]=s*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(o+n)*f,e[10]=(i+s)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*s*2*c,e[15]=0,e}function Ff(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=(o+n)*i,e[14]=2*o*n*i}else e[10]=-1,e[14]=-2*n;return e}var bi=Ff;function jA(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=o*i,e[14]=o*n*i}else e[10]=-1,e[14]=-n;return e}function KA(e,t,r,n){let o=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),f=2/(i+a),c=2/(o+s);return e[0]=f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((i-a)*f*.5),e[9]=(o-s)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Of(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=(i+s)*c,e[15]=1,e}var wi=Of;function XA(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=s*c,e[15]=1,e}function Mi(e,t,r,n){let o,s,i,a,f,c,l,h,u,d,A=t[0],m=t[1],p=t[2],E=n[0],y=n[1],T=n[2],b=r[0],C=r[1],M=r[2];return Math.abs(A-b)<1e-6&&Math.abs(m-C)<1e-6&&Math.abs(p-M)<1e-6?Sf(e):(h=A-b,u=m-C,d=p-M,o=1/Math.sqrt(h*h+u*u+d*d),h*=o,u*=o,d*=o,s=y*d-T*u,i=T*h-E*d,a=E*u-y*h,o=Math.sqrt(s*s+i*i+a*a),o?(o=1/o,s*=o,i*=o,a*=o):(s=0,i=0,a=0),f=u*a-d*i,c=d*s-h*a,l=h*i-u*s,o=Math.sqrt(f*f+c*c+l*l),o?(o=1/o,f*=o,c*=o,l*=o):(f=0,c=0,l=0),e[0]=s,e[1]=f,e[2]=h,e[3]=0,e[4]=i,e[5]=c,e[6]=u,e[7]=0,e[8]=a,e[9]=l,e[10]=d,e[11]=0,e[12]=-(s*A+i*m+a*p),e[13]=-(f*A+c*m+l*p),e[14]=-(h*A+u*m+d*p),e[15]=1,e)}function ZA(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=n[0],f=n[1],c=n[2],l=o-r[0],h=s-r[1],u=i-r[2],d=l*l+h*h+u*u;d>0&&(d=1/Math.sqrt(d),l*=d,h*=d,u*=d);let A=f*u-c*h,m=c*l-a*u,p=a*h-f*l;return d=A*A+m*m+p*p,d>0&&(d=1/Math.sqrt(d),A*=d,m*=d,p*=d),e[0]=A,e[1]=m,e[2]=p,e[3]=0,e[4]=h*p-u*m,e[5]=u*A-l*p,e[6]=l*m-h*A,e[7]=0,e[8]=l,e[9]=h,e[10]=u,e[11]=0,e[12]=o,e[13]=s,e[14]=i,e[15]=1,e}function YA(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function WA(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function qA(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Lf(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function $A(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function em(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function tm(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function rm(e,t){let r=e[0],n=e[1],o=e[2],s=e[3],i=e[4],a=e[5],f=e[6],c=e[7],l=e[8],h=e[9],u=e[10],d=e[11],A=e[12],m=e[13],p=e[14],E=e[15],y=t[0],T=t[1],b=t[2],C=t[3],M=t[4],I=t[5],O=t[6],B=t[7],g=t[8],x=t[9],_=t[10],U=t[11],v=t[12],P=t[13],G=t[14],ee=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-T)<=1e-6*Math.max(1,Math.abs(n),Math.abs(T))&&Math.abs(o-b)<=1e-6*Math.max(1,Math.abs(o),Math.abs(b))&&Math.abs(s-C)<=1e-6*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(i-M)<=1e-6*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(a-I)<=1e-6*Math.max(1,Math.abs(a),Math.abs(I))&&Math.abs(f-O)<=1e-6*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(l-g)<=1e-6*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(h-x)<=1e-6*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(u-_)<=1e-6*Math.max(1,Math.abs(u),Math.abs(_))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(A-v)<=1e-6*Math.max(1,Math.abs(A),Math.abs(v))&&Math.abs(m-P)<=1e-6*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(p-G)<=1e-6*Math.max(1,Math.abs(p),Math.abs(G))&&Math.abs(E-ee)<=1e-6*Math.max(1,Math.abs(E),Math.abs(ee))}var nm=Mn,om=Lf;function sm(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Gf(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Nf(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function vf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return Math.sqrt(t*t+r*r+n*n+o*o)}function Uf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return t*t+r*r+n*n+o*o}function Pf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s;return i>0&&(i=1/Math.sqrt(i)),e[0]=r*i,e[1]=n*i,e[2]=o*i,e[3]=s*i,e}function Hf(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kf(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e[3]=a+n*(r[3]-a),e}function Jf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3];return e[0]=r[0]*n+r[4]*o+r[8]*s+r[12]*i,e[1]=r[1]*n+r[5]*o+r[9]*s+r[13]*i,e[2]=r[2]*n+r[6]*o+r[10]*s+r[14]*i,e[3]=r[3]*n+r[7]*o+r[11]*s+r[15]*i,e}function zf(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2],c=r[3],l=c*n+a*s-f*o,h=c*o+f*n-i*s,u=c*s+i*o-a*n,d=-i*n-a*o-f*s;return e[0]=l*c+d*-i+h*-f-u*-a,e[1]=h*c+d*-a+u*-i-l*-f,e[2]=u*c+d*-f+l*-a-h*-i,e[3]=t[3],e}var zC=function(){let e=sm();return function(t,r,n,o,s,i){let a,f;for(r||(r=4),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var Ri;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Ri||(Ri={}));var am=45*Math.PI/180,cm=1,Ii=.1,Si=500,fm=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),De=class extends Rr{static get IDENTITY(){return hm()}static get ZERO(){return lm()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Ri}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,o,s,i,a,f,c,l,h,u,d,A,m,p){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this[9]=l,this[10]=h,this[11]=u,this[12]=d,this[13]=A,this[14]=m,this[15]=p,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c,l,h,u,d,A,m,p){return this[0]=t,this[1]=s,this[2]=c,this[3]=d,this[4]=r,this[5]=i,this[6]=l,this[7]=A,this[8]=n,this[9]=a,this[10]=h,this[11]=m,this[12]=o,this[13]=f,this[14]=u,this[15]=p,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(fm)}fromObject(t){return this.check()}fromQuaternion(t){return Ci(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:o,top:s,near:i=Ii,far:a=Si}=t;return a===1/0?um(this,r,n,o,s,i):Ti(this,r,n,o,s,i,a),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:o=[0,1,0]}=t;return Mi(this,r,n,o),this.check()}ortho(t){let{left:r,right:n,bottom:o,top:s,near:i=Ii,far:a=Si}=t;return wi(this,r,n,o,s,i,a),this.check()}orthographic(t){let{fovy:r=am,aspect:n=cm,focalDistance:o=1,near:s=Ii,far:i=Si}=t;Qf(r);let a=r/2,f=o*Math.tan(a),c=f*n;return this.ortho({left:-c,right:c,bottom:-f,top:f,near:s,far:i})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:o=.1,far:s=500}=t;return Qf(r),bi(this,r,n,o,s),this.check()}determinant(){return pi(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=0,t[4]=this[4]*o,t[5]=this[5]*s,t[6]=this[6]*i,t[7]=0,t[8]=this[8]*o,t[9]=this[9]*s,t[10]=this[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=this[4]*o,t[4]=this[5]*s,t[5]=this[6]*i,t[6]=this[8]*o,t[7]=this[9]*s,t[8]=this[10]*i,t}transpose(){return Ai(this,this),this.check()}invert(){return mi(this,this),this.check()}multiplyLeft(t){return Mn(this,t,this),this.check()}multiplyRight(t){return Mn(this,this,t),this.check()}rotateX(t){return Ei(this,this,t),this.check()}rotateY(t){return _i(this,this,t),this.check()}rotateZ(t){return yi(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return xi(this,this,t,r),this.check()}scale(t){return Bi(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return gi(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Jf(r||[-0,-0,-0,-0],t,this),Tt(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,o;switch(n){case 2:o=Io(r||[-0,-0],t,this);break;case 3:o=Kt(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(o,t.length),o}transformAsVector(t,r){let n;switch(t.length){case 2:n=So(r||[-0,-0],t,this);break;case 3:n=Ro(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Uo,Po;function lm(){return Uo||(Uo=new De([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Uo)),Uo}function hm(){return Po||(Po=new De,Object.freeze(Po)),Po}function Qf(e){if(e>Math.PI*2)throw Error("expected radians")}function um(e,t,r,n,o,s){let i=2*s/(r-t),a=2*s/(o-n),f=(r+t)/(r-t),c=(o+n)/(o-n),l=-1,h=-1,u=-2*s;return e[0]=i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=f,e[9]=c,e[10]=l,e[11]=h,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function Vf(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function jf(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Di(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Fi(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=r[0],f=r[1],c=r[2],l=r[3];return e[0]=n*l+i*a+o*c-s*f,e[1]=o*l+i*f+s*a-n*c,e[2]=s*l+i*c+n*f-o*a,e[3]=i*l-n*a-o*f-s*c,e}function Kf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+i*a,e[1]=o*f+s*a,e[2]=s*f-o*a,e[3]=i*f-n*a,e}function Xf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f-s*a,e[1]=o*f+i*a,e[2]=s*f+n*a,e[3]=i*f-o*a,e}function Zf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+o*a,e[1]=o*f-n*a,e[2]=s*f+i*a,e[3]=i*f-s*a,e}function Yf(e,t){let r=t[0],n=t[1],o=t[2];return e[0]=r,e[1]=n,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-o*o)),e}function Sn(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=r[0],c=r[1],l=r[2],h=r[3],u,d,A,m,p;return u=o*f+s*c+i*l+a*h,u<0&&(u=-u,f=-f,c=-c,l=-l,h=-h),1-u>1e-6?(d=Math.acos(u),p=Math.sin(d),A=Math.sin((1-n)*d)/p,m=Math.sin(n*d)/p):(A=1-n,m=n),e[0]=A*o+m*f,e[1]=A*s+m*c,e[2]=A*i+m*l,e[3]=A*a+m*h,e}function Wf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s,a=i?1/i:0;return e[0]=-r*a,e[1]=-n*a,e[2]=-o*a,e[3]=s*a,e}function qf(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Oi(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let o=0;t[4]>t[0]&&(o=1),t[8]>t[o*3+o]&&(o=2);let s=(o+1)%3,i=(o+2)%3;n=Math.sqrt(t[o*3+o]-t[s*3+s]-t[i*3+i]+1),e[o]=.5*n,n=.5/n,e[3]=(t[s*3+i]-t[i*3+s])*n,e[s]=(t[s*3+o]+t[o*3+s])*n,e[i]=(t[i*3+o]+t[o*3+i])*n}return e}var $f=Gf;var el=Nf,tl=Hf,rl=kf,nl=vf;var ol=Uf;var sl=Pf;var il=function(){let e=Fo(),t=Oo(1,0,0),r=Oo(0,1,0);return function(n,o,s){let i=Tn(o,s);return i<-.999999?(jt(e,t,o),fi(e)<1e-6&&jt(e,r,o),oi(e,e),Di(n,e,Math.PI),n):i>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(jt(e,o,s),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+i,sl(n,n))}}(),nT=function(){let e=Vf(),t=Vf();return function(r,n,o,s,i,a){return Sn(e,n,i,a),Sn(t,o,s,a),Sn(r,e,t,2*a*(1-a)),r}}(),oT=function(){let e=yf();return function(t,r,n,o){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=o[0],e[4]=o[1],e[7]=o[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],sl(t,Oi(t,e))}}();var dm=[0,0,0,1],wt=class extends Ct{constructor(t=0,r=0,n=0,o=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,o)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Oi(this,t),this.check()}fromAxisRotation(t,r){return Di(this,t,r),this.check()}identity(){return jf(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}len(){return nl(this)}lengthSquared(){return ol(this)}dot(t){return tl(this,t)}rotationTo(t,r){return il(this,t,r),this.check()}add(t){return $f(this,this,t),this.check()}calculateW(){return Yf(this,this),this.check()}conjugate(){return qf(this,this),this.check()}invert(){return Wf(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(rl(this,t,r,n),this.check())}multiplyRight(t){return Fi(this,this,t),this.check()}multiplyLeft(t){return Fi(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Kf(this,this,t),this.check()}rotateY(t){return Xf(this,this,t),this.check()}rotateZ(t){return Zf(this,this,t),this.check()}scale(t){return el(this,this,t),this.check()}slerp(t,r,n){let o,s,i;switch(arguments.length){case 1:({start:o=dm,target:s,ratio:i}=t);break;case 2:o=this,s=t,i=r;break;default:o=t,s=r,i=n}return Sn(this,o,s,i),this.check()}transformVector4(t,r=new Sr){return zf(r,t,this),Tt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Fe={};de(Fe,{EPSILON1:()=>Am,EPSILON10:()=>Cm,EPSILON11:()=>Tm,EPSILON12:()=>bm,EPSILON13:()=>wm,EPSILON14:()=>Mm,EPSILON15:()=>Im,EPSILON16:()=>Sm,EPSILON17:()=>Rm,EPSILON18:()=>Dm,EPSILON19:()=>Fm,EPSILON2:()=>mm,EPSILON20:()=>Om,EPSILON3:()=>pm,EPSILON4:()=>gm,EPSILON5:()=>Bm,EPSILON6:()=>xm,EPSILON7:()=>Em,EPSILON8:()=>_m,EPSILON9:()=>ym,PI_OVER_FOUR:()=>Gm,PI_OVER_SIX:()=>Nm,PI_OVER_TWO:()=>Lm,TWO_PI:()=>vm});var Am=.1,mm=.01,pm=.001,gm=1e-4,Bm=1e-5,xm=1e-6,Em=1e-7,_m=1e-8,ym=1e-9,Cm=1e-10,Tm=1e-11,bm=1e-12,wm=1e-13,Mm=1e-14,Im=1e-15,Sm=1e-16,Rm=1e-17,Dm=1e-18,Fm=1e-19,Om=1e-20,Lm=Math.PI/2,Gm=Math.PI/4,Nm=Math.PI/6,vm=Math.PI*2;var at=6356752314245179e-9,Um={radii:[6378137,6378137,at],radiiSquared:[6378137*6378137,6378137*6378137,at*at],oneOverRadii:[1/6378137,1/6378137,1/at],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(at*at)],maximumRadius:Math.max(6378137,6378137,at),centerToleranceSquared:.1};function Ho(e){return e}var LT=new w;function Pm(e,t=[],r=Ho){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function al(e,t=[]){return Pm(e,t,Y._cartographicRadians?Ho:ei)}function Hm(e,t,r=Ho){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function cl(e,t){return Hm(e,t,Y._cartographicRadians?Ho:ti)}var fl=1e-14,km=new w,ll={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Li={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Rn={east:new w,north:new w,up:new w,west:new w,south:new w,down:new w},Jm=new w,zm=new w,Qm=new w;function Gi(e,t,r,n,o,s){let i=ll[t]&&ll[t][r];fe(i&&(!n||n===i));let a,f,c,l=km.copy(o);if(we(l.x,0,fl)&&we(l.y,0,fl)){let u=Math.sign(l.z);a=Jm.fromArray(Li[t]),t!=="east"&&t!=="west"&&a.scale(u),f=zm.fromArray(Li[r]),r!=="east"&&r!=="west"&&f.scale(u),c=Qm.fromArray(Li[n]),n!=="east"&&n!=="west"&&c.scale(u)}else{let{up:u,east:d,north:A}=Rn;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,u),A.copy(u).cross(d);let{down:m,west:p,south:E}=Rn;m.copy(u).scale(-1),p.copy(d).scale(-1),E.copy(A).scale(-1),a=Rn[t],f=Rn[r],c=Rn[n]}return s[0]=a.x,s[1]=a.y,s[2]=a.z,s[3]=0,s[4]=f.x,s[5]=f.y,s[6]=f.z,s[7]=0,s[8]=c.x,s[9]=c.y,s[10]=c.z,s[11]=0,s[12]=l.x,s[13]=l.y,s[14]=l.z,s[15]=1,s}var Dr=new w,Vm=new w,jm=new w;function hl(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:o,centerToleranceSquared:s}=t;Dr.from(e);let i=Dr.x,a=Dr.y,f=Dr.z,c=n.x,l=n.y,h=n.z,u=i*i*c*c,d=a*a*l*l,A=f*f*h*h,m=u+d+A,p=Math.sqrt(1/m);if(!Number.isFinite(p))return;let E=Vm;if(E.copy(e).scale(p),m<s)return E.to(r);let y=o.x,T=o.y,b=o.z,C=jm;C.set(E.x*y*2,E.y*T*2,E.z*b*2);let M=(1-p)*Dr.len()/(.5*C.len()),I=0,O,B,g,x;do{M-=I,O=1/(1+M*y),B=1/(1+M*T),g=1/(1+M*b);let _=O*O,U=B*B,v=g*g,P=_*O,G=U*B,ee=v*g;x=u*_+d*U+A*v-1;let W=-2*(u*P*y+d*G*T+A*ee*b);I=x/W}while(Math.abs(x)>Fe.EPSILON12);return Dr.scale([O,B,g]).to(r)}var ko=new w,ul=new w,Zm=new w,Je=new w,Ym=new w,Jo=new w,ct=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Fe.EPSILON1,fe(t>=0),fe(r>=0),fe(n>=0),this.radii=new w(t,r,n),this.radiiSquared=new w(t*t,r*r,n*n),this.radiiToTheFourth=new w(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new w(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new w(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=ul,o=Zm,[,,s]=t;this.geodeticSurfaceNormalCartographic(t,n),o.copy(this.radiiSquared).scale(n);let i=Math.sqrt(n.dot(o));return o.scale(1/i),n.scale(s),o.add(n),o.to(r)}cartesianToCartographic(t,r=[0,0,0]){Jo.from(t);let n=this.scaleToGeodeticSurface(Jo,Je);if(!n)return;let o=this.geodeticSurfaceNormal(n,ul),s=Ym;s.copy(Jo).subtract(n);let i=Math.atan2(o.y,o.x),a=Math.asin(o.z),f=Math.sign(Xt.dot(s,Jo))*Xt.length(s);return cl([i,a,f],r)}eastNorthUpToFixedFrame(t,r=new De){return Gi(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,o,s=new De){return Gi(this,t,r,n,o,s)}geocentricSurfaceNormal(t,r=[0,0,0]){return ko.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=al(t),o=n[0],s=n[1],i=Math.cos(s);return ko.set(i*Math.cos(o),i*Math.sin(o),Math.sin(s)).normalize(),ko.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return ko.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return hl(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Je.from(t);let n=Je.x,o=Je.y,s=Je.z,i=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*i.x+o*o*i.y+s*s*i.z);return Je.multiplyScalar(a).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Je.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Je.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){fe(we(this.radii.x,this.radii.y,Fe.EPSILON15)),fe(this.radii.z>0),Je.from(t);let o=Je.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(o)>=this.radii.z-r))return Je.set(0,0,o).to(n)}};ct.WGS84=new ct(6378137,6378137,at);var le={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var $T=new w,eb=new w;var Dn=new w,dl=new w,Mt=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new w,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Dn.from(r),this.center=new w().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new Mt(this.center,this.radius)}union(t){let r=this.center,n=this.radius,o=t.center,s=t.radius,i=Dn.copy(o).subtract(r),a=i.magnitude();if(n>=a+s)return this.clone();if(s>=a+n)return t.clone();let f=(n+a+s)*.5;return dl.copy(i).scale((-n+f)/a).add(r),this.center.copy(dl),this.radius=f,this}expand(t){let n=Dn.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=In.getScaling(Dn,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=Dn.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,s=t.normal.dot(r)+t.distance;return s<-n?le.OUTSIDE:s<n?le.INTERSECTING:le.INSIDE}};var Wm=new w,qm=new w,zo=new w,Qo=new w,Vo=new w,$m=new w,ep=new w,ft={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Zt=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new w().from(t),this.halfAxes=new X(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new w(t).len(),new w(r).len(),new w(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),o=new w(t).normalize(),s=new w(r).normalize(),i=new w(n).normalize();return new wt().fromMatrix3(new X([...o,...s,...i]))}fromCenterHalfSizeQuaternion(t,r,n){let o=new wt(n),s=new X().fromQuaternion(o);return s[0]=s[0]*r[0],s[1]=s[1]*r[0],s[2]=s[2]*r[0],s[3]=s[3]*r[1],s[4]=s[4]*r[1],s[5]=s[5]*r[1],s[6]=s[6]*r[2],s[7]=s[7]*r[2],s[8]=s[8]*r[2],this.center=new w().from(t),this.halfAxes=s,this}clone(){return new Zt(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new Mt){let r=this.halfAxes,n=r.getColumn(0,zo),o=r.getColumn(1,Qo),s=r.getColumn(2,Vo),i=Wm.copy(n).add(o).add(s);return t.center.copy(this.center),t.radius=i.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,o=this.halfAxes,s=n.x,i=n.y,a=n.z,f=Math.abs(s*o[ft.COLUMN0ROW0]+i*o[ft.COLUMN0ROW1]+a*o[ft.COLUMN0ROW2])+Math.abs(s*o[ft.COLUMN1ROW0]+i*o[ft.COLUMN1ROW1]+a*o[ft.COLUMN1ROW2])+Math.abs(s*o[ft.COLUMN2ROW0]+i*o[ft.COLUMN2ROW1]+a*o[ft.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-f?le.OUTSIDE:c>=f?le.INSIDE:le.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=qm.from(t).subtract(this.center),n=this.halfAxes,o=n.getColumn(0,zo),s=n.getColumn(1,Qo),i=n.getColumn(2,Vo),a=o.magnitude(),f=s.magnitude(),c=i.magnitude();o.normalize(),s.normalize(),i.normalize();let l=0,h;return h=Math.abs(r.dot(o))-a,h>0&&(l+=h*h),h=Math.abs(r.dot(s))-f,h>0&&(l+=h*h),h=Math.abs(r.dot(i))-c,h>0&&(l+=h*h),l}computePlaneDistances(t,r,n=[-0,-0]){let o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,i=this.center,a=this.halfAxes,f=a.getColumn(0,zo),c=a.getColumn(1,Qo),l=a.getColumn(2,Vo),h=$m.copy(f).add(c).add(l).add(i),u=ep.copy(h).subtract(t),d=r.dot(u);return o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),n[0]=o,n[1]=s,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,zo);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,Qo);n.transformAsPoint(t);let o=this.halfAxes.getColumn(2,Vo);return o.transformAsPoint(t),this.halfAxes=new X([...r,...n,...o]),this}getTransform(){throw new Error("not implemented")}};var Al=new w,ml=new w,lt=class{constructor(t=[0,0,1],r=0){this.normal=new w,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return fe(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Al.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,o){return this.normal.set(t,r,n),fe(we(this.normal.len(),1)),this.distance=o,this}clone(){return new lt(this.normal,this.distance)}equals(t){return we(this.distance,t.distance)&&we(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=ml.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Al.from(t),o=this.getPointDistance(n),s=ml.copy(this.normal).scale(o);return n.subtract(s).to(r)}};var pl=[new w([1,0,0]),new w([0,1,0]),new w([0,0,1])],gl=new w,tp=new w,Oe=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*pl.length;let r=t.center,n=t.radius,o=0;for(let s of pl){let i=this.planes[o],a=this.planes[o+1];i||(i=this.planes[o]=new lt),a||(a=this.planes[o+1]=new lt);let f=gl.copy(s).scale(-n).add(r);i.fromPointNormal(f,s);let c=gl.copy(s).scale(n).add(r),l=tp.copy(s).negate();a.fromPointNormal(c,l),o+=2}return this}computeVisibility(t){let r=le.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case le.OUTSIDE:return le.OUTSIDE;case le.INTERSECTING:r=le.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(fe(Number.isFinite(r),"parentPlaneMask is required."),r===Oe.MASK_OUTSIDE||r===Oe.MASK_INSIDE)return r;let n=Oe.MASK_INSIDE,o=this.planes;for(let s=0;s<this.planes.length;++s){let i=s<31?1<<s:0;if(s<31&&!(r&i))continue;let a=o[s],f=t.intersectPlane(a);if(f===le.OUTSIDE)return Oe.MASK_OUTSIDE;f===le.INTERSECTING&&(n|=i)}return n}};Oe.MASK_OUTSIDE=4294967295;Oe.MASK_INSIDE=0;Oe.MASK_INDETERMINATE=2147483647;var Bb=new w,xb=new w,Eb=new w,_b=new w,yb=new w;var Ib=new w,Sb=new w,Rb=new w,Db=new w,Fb=new w,Ob=new w,Lb=new w,Gb=new w,Nb=new w,vb=new w,Ub=new w,Pb=new w;var Ye=new X,np=new X,op=new X,jo=new X,Bl=new X;function Ui(e,t={}){let r=Fe.EPSILON20,n=10,o=0,s=0,i=np,a=op;i.identity(),a.copy(e);let f=r*sp(a);for(;s<n&&ip(a)>f;)ap(a,jo),Bl.copy(jo).transpose(),a.multiplyRight(jo),a.multiplyLeft(Bl),i.multiplyRight(jo),++o>2&&(++s,o=0);return t.unitary=i.toTarget(t.unitary),t.diagonal=a.toTarget(t.diagonal),t}function sp(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var Ni=[1,0,0],vi=[2,2,1];function ip(e){let t=0;for(let r=0;r<3;++r){let n=e[Ye.getElementIndex(vi[r],Ni[r])];t+=2*n*n}return Math.sqrt(t)}function ap(e,t){let r=Fe.EPSILON15,n=0,o=1;for(let c=0;c<3;++c){let l=Math.abs(e[Ye.getElementIndex(vi[c],Ni[c])]);l>n&&(o=c,n=l)}let s=Ni[o],i=vi[o],a=1,f=0;if(Math.abs(e[Ye.getElementIndex(i,s)])>r){let c=e[Ye.getElementIndex(i,i)],l=e[Ye.getElementIndex(s,s)],h=e[Ye.getElementIndex(i,s)],u=(c-l)/2/h,d;u<0?d=-1/(-u+Math.sqrt(1+u*u)):d=1/(u+Math.sqrt(1+u*u)),a=1/Math.sqrt(1+d*d),f=d*a}return X.IDENTITY.to(t),t[Ye.getElementIndex(s,s)]=t[Ye.getElementIndex(i,i)]=a,t[Ye.getElementIndex(i,s)]=f,t[Ye.getElementIndex(s,i)]=-f,t}var It=new w,fp=new w,lp=new w,hp=new w,up=new w,dp=new X,Ap={diagonal:new X,unitary:new X};function Pi(e,t=new Zt){if(!e||e.length===0)return t.halfAxes=new X([0,0,0,0,0,0,0,0,0]),t.center=new w,t;let r=e.length,n=new w(0,0,0);for(let B of e)n.add(B);let o=1/r;n.multiplyByScalar(o);let s=0,i=0,a=0,f=0,c=0,l=0;for(let B of e){let g=It.copy(B).subtract(n);s+=g.x*g.x,i+=g.x*g.y,a+=g.x*g.z,f+=g.y*g.y,c+=g.y*g.z,l+=g.z*g.z}s*=o,i*=o,a*=o,f*=o,c*=o,l*=o;let h=dp;h[0]=s,h[1]=i,h[2]=a,h[3]=i,h[4]=f,h[5]=c,h[6]=a,h[7]=c,h[8]=l;let{unitary:u}=Ui(h,Ap),d=t.halfAxes.copy(u),A=d.getColumn(0,lp),m=d.getColumn(1,hp),p=d.getColumn(2,up),E=-Number.MAX_VALUE,y=-Number.MAX_VALUE,T=-Number.MAX_VALUE,b=Number.MAX_VALUE,C=Number.MAX_VALUE,M=Number.MAX_VALUE;for(let B of e)It.copy(B),E=Math.max(It.dot(A),E),y=Math.max(It.dot(m),y),T=Math.max(It.dot(p),T),b=Math.min(It.dot(A),b),C=Math.min(It.dot(m),C),M=Math.min(It.dot(p),M);A=A.multiplyByScalar(.5*(b+E)),m=m.multiplyByScalar(.5*(C+y)),p=p.multiplyByScalar(.5*(M+T)),t.center.copy(A).add(m).add(p);let I=fp.set(E-b,y-C,T-M).multiplyByScalar(.5),O=new X([I[0],0,0,0,I[1],0,0,0,I[2]]);return t.halfAxes.multiplyRight(O),t}var Fr;(function(e){e[e.ADD=1]="ADD",e[e.REPLACE=2]="REPLACE"})(Fr||(Fr={}));var St;(function(e){e.EMPTY="empty",e.SCENEGRAPH="scenegraph",e.POINTCLOUD="pointcloud",e.MESH="mesh"})(St||(St={}));var Fn;(function(e){e.I3S="I3S",e.TILES3D="TILES3D"})(Fn||(Fn={}));var ht;(function(e){e.GEOMETRIC_ERROR="geometricError",e.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(ht||(ht={}));var Or="4.4.0-alpha.15";var _e={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},Aw=Object.keys(_e),Rt={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function Hi(e,t,r){z(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),o=new Uint8Array(e,t,r);return n.decode(o)}function xl(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var mp="1.5.6",pp="1.4.1",ki=`https://www.gstatic.com/draco/versioned/decoders/${mp}`,he={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},On={[he.DECODER]:`${ki}/${he.DECODER}`,[he.DECODER_WASM]:`${ki}/${he.DECODER_WASM}`,[he.FALLBACK_DECODER]:`${ki}/${he.FALLBACK_DECODER}`,[he.ENCODER]:`https://raw.githubusercontent.com/google/draco/${pp}/javascript/${he.ENCODER}`},Ji;async function _l(e={},t){let r=e.modules||{};return r.draco3d?Ji||=r.draco3d.createDecoderModule({}).then(n=>({draco:n})):Ji||=gp(e,t),await Ji}function El(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function gp(e,t){let r,n;switch(t){case"js":r=await Se(On[he.FALLBACK_DECODER],"draco",e,he.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await Se(On[he.DECODER],"draco",e,he.DECODER),await Se(On[he.DECODER_WASM],"draco",e,he.DECODER_WASM)])}catch{r=null,n=null}}return r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!it&&([r,n]=await Promise.all([await Se(On[he.DECODER],"draco",{...e,useLocalLibraries:!0},he.DECODER),await Se(On[he.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},he.DECODER_WASM)]),r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await Bp(r,n)}function Bp(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:o=>n({draco:o})})})}var yl="4.4.0-alpha.15";function Cl(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function zi(e){let t=1/0,r=1/0,n=1/0,o=-1/0,s=-1/0,i=-1/0,a=e.POSITION?e.POSITION.value:[],f=a&&a.length;for(let c=0;c<f;c+=3){let l=a[c],h=a[c+1],u=a[c+2];t=l<t?l:t,r=h<r?h:r,n=u<n?u:n,o=l>o?l:o,s=h>s?h:s,i=u>i?u:i}return[[t,r,n],[o,s,i]]}function Qi(e,t,r){let n=Cl(t.value),o=r||Tl(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:o}}function Tl(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}function wl(e,t,r){let n=Ml(t.metadata),o=[],s=xp(t.attributes);for(let i in e){let a=e[i],f=bl(i,a,s[i]);o.push(f)}if(r){let i=bl("indices",r);o.push(i)}return{fields:o,metadata:n}}function xp(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function bl(e,t,r){let n=r?Ml(r.metadata):void 0;return Qi(e,t,n)}function Ml(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Il={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},Ep={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},_p=4,Ln=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let o=this.decoder.GetEncodedGeometryType(n),s=o===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let i;switch(o){case this.draco.TRIANGULAR_MESH:i=this.decoder.DecodeBufferToMesh(n,s);break;case this.draco.POINT_CLOUD:i=this.decoder.DecodeBufferToPointCloud(n,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!i.ok()||!s.ptr){let u=`DRACO decompression failed: ${i.error_msg()}`;throw new Error(u)}let a=this._getDracoLoaderData(s,o,r),f=this._getMeshData(s,a,r),c=zi(f.attributes),l=wl(f.attributes,a,f.indices);return{loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c},...f,schema:l}}finally{this.draco.destroy(n),s&&this.draco.destroy(s)}}_getDracoLoaderData(t,r,n){let o=this._getTopLevelMetadata(t),s=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:o,attributes:s}}_getDracoAttributes(t,r){let n={};for(let o=0;o<t.num_attributes();o++){let s=this.decoder.GetAttribute(t,o),i=this._getAttributeMetadata(t,o);n[s.unique_id()]={unique_id:s.unique_id(),attribute_type:s.attribute_type(),data_type:s.data_type(),num_components:s.num_components(),byte_offset:s.byte_offset(),byte_stride:s.byte_stride(),normalized:s.normalized(),attribute_index:o,metadata:i};let a=this._getQuantizationTransform(s,r);a&&(n[s.unique_id()].quantization_transform=a);let f=this._getOctahedronTransform(s,r);f&&(n[s.unique_id()].octahedron_transform=f)}return n}_getMeshData(t,r,n){let o=this._getMeshAttributes(r,t,n);if(!o.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:o,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:o,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:o}}_getMeshAttributes(t,r,n){let o={};for(let s of Object.values(t.attributes)){let i=this._deduceAttributeName(s,n);s.name=i;let a=this._getAttributeValues(r,s);if(a){let{value:f,size:c}=a;o[i]={value:f,size:c,byteOffset:s.byte_offset,byteStride:s.byte_stride,normalized:s.normalized}}}return o}_getTriangleListIndices(t){let n=t.num_faces()*3,o=n*_p,s=this.draco._malloc(o);try{return this.decoder.GetTrianglesUInt32Array(t,o,s),new Uint32Array(this.draco.HEAPF32.buffer,s,n).slice()}finally{this.draco._free(s)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),Tp(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=Ep[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let o=r.num_components,i=t.num_points()*o,a=i*n.BYTES_PER_ELEMENT,f=yp(this.draco,n),c,l=this.draco._malloc(a);try{let h=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,h,f,a,l),c=new n(this.draco.HEAPF32.buffer,l,i).slice()}finally{this.draco._free(l)}return{value:c,size:o}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[i,a]of Object.entries(r.extraAttributes||{}))if(a===n)return i;let o=t.attribute_type;for(let i in Il)if(this.draco[i]===o)return Il[i];let s=r.attributeNameEntry||"name";return t.metadata[s]?t.metadata[s].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let o=0;o<n;o++){let s=this.metadataQuerier.GetEntryName(t,o);r[s]=this._getDracoMetadataField(t,s)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let o=Cp(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:o}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,o=[...r,...n];for(let s of o)this.decoder.SkipAttributeTransform(this.draco[s])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits(),range:i.range(),min_values:new Float32Array([1,2,3]).map(a=>i.min_value(a))}}finally{this.draco.destroy(i)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits()}}finally{this.draco.destroy(i)}}return null}};function yp(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function Cp(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function Tp(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var Sl={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:yl,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}},Gn={...Sl,parse:bp};async function bp(e,t){let{draco:r}=await _l(t?.core,t?.draco?.decoderType||"wasm"),n=new Ln(r);try{return n.parseSync(e,t?.draco)}finally{n.destroy()}}var wp={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},re={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},H={...wp,...re};var Vi={[re.DOUBLE]:Float64Array,[re.FLOAT]:Float32Array,[re.UNSIGNED_SHORT]:Uint16Array,[re.UNSIGNED_INT]:Uint32Array,[re.UNSIGNED_BYTE]:Uint8Array,[re.BYTE]:Int8Array,[re.SHORT]:Int16Array,[re.INT]:Int32Array},Mp={DOUBLE:re.DOUBLE,FLOAT:re.FLOAT,UNSIGNED_SHORT:re.UNSIGNED_SHORT,UNSIGNED_INT:re.UNSIGNED_INT,UNSIGNED_BYTE:re.UNSIGNED_BYTE,BYTE:re.BYTE,SHORT:re.SHORT,INT:re.INT},ji="Failed to convert GL type",oe=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in Vi)if(Vi[r]===t)return r;throw new Error(ji)}static fromName(t){let r=Mp[t];if(!r)throw new Error(ji);return r}static getArrayType(t){switch(t){case re.UNSIGNED_SHORT_5_6_5:case re.UNSIGNED_SHORT_4_4_4_4:case re.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Vi[t];if(!r)throw new Error(ji);return r}}static getByteSize(t){return oe.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(oe.getArrayType(t))}static createTypedArray(t,r,n=0,o){o===void 0&&(o=(r.byteLength-n)/oe.getByteSize(t));let s=ArrayBuffer.isView(r)?r.buffer:r,i=oe.getArrayType(t);return new i(s,n,o)}};function Rl(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function Ki(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,o=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=o<<3,t}var Xw=1/256;var Zw=new Vt,Yw=new w,Ww=new Vt,qw=new Vt,$w=new Uint8Array(1);function Dl(e,t=255){return ri(e,0,t)/t*2-1}function Fl(e){return e<0?-1:1}function Ol(e,t,r,n){if(Rl(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Dl(e,r),n.y=Dl(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let o=n.x;n.x=(1-Math.abs(n.y))*Fl(o),n.y=(1-Math.abs(o))*Fl(n.y)}return n.normalize()}function Xi(e,t,r){return Ol(e,t,255,r)}var ze=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=H.UNSIGNED_INT,n=1){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,o.byteOffset):o}getPropertyArray(t,r,n){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(r=oe.fromName(o.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,o.byteOffset)):this._getTypedArrayFromArray(t,r,o)}getProperty(t,r,n,o,s){let i=this.json[t];if(!i)return i;let a=this.getPropertyArray(t,r,n);if(n===1)return a[o];for(let f=0;f<n;++f)s[f]=a[n*o+f];return s}_getTypedArrayFromBinary(t,r,n,o,s){let i=this._cachedTypedArrays,a=i[t];return a||(a=oe.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+s,o*n),i[t]=a),a}_getTypedArrayFromArray(t,r,n){let o=this._cachedTypedArrays,s=o[t];if(!s){if(ArrayBuffer.isView(n)){let i=n.byteOffset,f=n.byteLength/oe.getByteSize(r);s=oe.createTypedArray(r,n.buffer,i,f)}else if(n instanceof ArrayBuffer)s=oe.createTypedArray(r,n);else{let i=oe.getArrayType(r);s=new i(n)}o[t]=s}return s}};var Ip={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Sp={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},Rp={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Ll(e,t,r,n){let{componentType:o}=e;z(e.componentType);let s=typeof o=="string"?oe.fromName(o):o,i=Ip[e.type],a=Sp[e.type],f=Rp[e.type];return r+=e.byteOffset,{values:oe.createTypedArray(s,t,r,i*n),type:s,size:i,unpacker:a,packer:f}}var We=e=>e!==void 0;function Gl(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),o=t.HIERARCHY;return o&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=o,n=o),n?Dp(n,r):null}function Dp(e,t){let r,n,o,s=e.instancesLength,i=e.classes,a=e.classIds,f=e.parentCounts,c=e.parentIds,l=s;We(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,o=getBinaryAccessor(a),a=o.createArrayBufferView(t.buffer,t.byteOffset+a.byteOffset,s));let h;if(We(f))for(We(f.byteOffset)&&(f.componentType=defaultValue(f.componentType,GL.UNSIGNED_SHORT),f.type=AttributeType.SCALAR,o=getBinaryAccessor(f),f=o.createArrayBufferView(t.buffer,t.byteOffset+f.byteOffset,s)),h=new Uint16Array(s),l=0,r=0;r<s;++r)h[r]=l,l+=f[r];We(c)&&We(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,o=getBinaryAccessor(c),c=o.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let u=i.length;for(r=0;r<u;++r){let p=i[r].length,E=i[r].instances,y=getBinaryProperties(p,E,t);i[r].instances=combine(y,E)}let d=new Array(u).fill(0),A=new Uint16Array(s);for(r=0;r<s;++r)n=a[r],A[r]=d[n],++d[n];let m={classes:i,classIds:a,classIndexes:A,parentCounts:f,parentIndexes:h,parentIds:c};return Lp(m),m}function Lr(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?Fp(e,t,r):Op(e,t,r)}function Fp(e,t,r){let n=e.classIds,o=e.parentCounts,s=e.parentIds,i=e.parentIndexes,a=n.length,f=scratchVisited;f.length=Math.max(f.length,a);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),f[t]===c)continue;f[t]=c;let h=r(e,t);if(We(h))return h;let u=o[t],d=i[t];for(let A=0;A<u;++A){let m=s[d+A];m!==t&&l.push(m)}}return null}function Op(e,t,r){let n=!0;for(;n;){let o=r(e,t);if(We(o))return o;let s=e.parentIds[t];n=s!==t,t=s}throw new Error("traverseHierarchySingleParent")}function Lp(e){let t=[],n=e.classIds.length;for(let o=0;o<n;++o)Nl(e,o,stack)}function Nl(e,t,r){let n=e.parentCounts,o=e.parentIds,s=e.parentIndexes,a=e.classIds.length;if(!We(o))return;assert(t<a,`Parent index ${t} exceeds the total number of instances: ${a}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let f=We(n)?n[t]:1,c=We(n)?s[t]:t;for(let l=0;l<f;++l){let h=o[c+l];h!==t&&Nl(e,h,r)}r.pop(t)}function ye(e){return e!=null}var Ko=(e,t)=>e,Gp={HIERARCHY:!0,extensions:!0,extras:!0},ut=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,o={}){z(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=this.json?.extensions||{},this._properties={};for(let s in this.json)Gp[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Gl(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._hierarchy){let n=Lr(this._hierarchy,t,(o,s)=>{let i=o.classIds[s];return o.classes[i].name===r});return ye(n)}return!1}isExactClass(t,r){return z(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),z(typeof r=="string",r),ye(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=ye(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(ye(o))return this._getBinaryProperty(o,t)}let n=this._properties[r];if(ye(n))return Ko(n[t],!0);if(this._hierarchy){let o=this._getHierarchyProperty(t,r);if(ye(o))return o}}setProperty(t,r,n){let o=this.featureCount;if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(i){this._setBinaryProperty(i,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let s=this._properties[r];ye(s)||(this._properties[r]=new Array(o),s=this._properties[r]),s[t]=Ko(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],o=this._initializeBinaryProperty(r,n);o&&(t=t||{},t[r]=o)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;z(this.binary,`Property ${t} requires a batch table binary.`),z(n.type,`Property ${t} requires a type.`);let o=Ll(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:o.values,componentCount:o.size,unpack:o.unpacker,pack:o.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Lr(this._hierarchy,t,(o,s)=>{let i=o.classIds[s],a=o.classes[i].instances;return ye(a[r])});return ye(n)}_getPropertyNamesInHierarchy(t,r){Lr(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s].instances;for(let a in i)i.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(t,r){return Lr(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s],a=n.classIndexes[o],f=i.instances[r];return ye(f)?ye(f.typedArray)?this._getBinaryProperty(f,a):Ko(f[a],!0):null})}_setHierarchyProperty(t,r,n,o){let s=Lr(this._hierarchy,r,(i,a)=>{let f=i.classIds[a],c=i.classes[f],l=i.classIndexes[a],h=c.instances[n];return ye(h)?(z(a===r,`Inherited property "${n}" is read-only.`),ye(h.typedArray)?this._setBinaryProperty(h,l,o):h[l]=Ko(o,!0),!0):!1});return ye(s)}};function Dt(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=4,e.version=n.getUint32(r,!0),r+=4,e.byteLength=n.getUint32(r,!0),r+=4,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Gr=4,vl="b3dm tile in legacy format.";function Nr(e,t,r){let n=new DataView(t),o;e.header=e.header||{};let s=n.getUint32(r,!0);r+=Gr;let i=n.getUint32(r,!0);r+=Gr;let a=n.getUint32(r,!0);r+=Gr;let f=n.getUint32(r,!0);return r+=Gr,a>=570425344?(r-=Gr*2,o=s,a=i,f=0,s=0,i=0,console.warn(vl)):f>=570425344&&(r-=Gr,o=a,a=s,f=i,s=0,i=0,console.warn(vl)),e.header.featureTableJsonByteLength=s,e.header.featureTableBinaryByteLength=i,e.header.batchTableJsonByteLength=a,e.header.batchTableBinaryByteLength=f,e.header.batchLength=o,r}function vr(e,t,r,n){return r=Np(e,t,r,n),r=vp(e,t,r,n),r}function Np(e,t,r,n){let{featureTableJsonByteLength:o,featureTableBinaryByteLength:s,batchLength:i}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:i||0},o&&o>0){let a=Hi(t,r,o);e.featureTableJson=JSON.parse(a)}return r+=o||0,e.featureTableBinary=new Uint8Array(t,r,s),r+=s||0,r}function vp(e,t,r,n){let{batchTableJsonByteLength:o,batchTableBinaryByteLength:s}=e.header||{};if(o&&o>0){let i=Hi(t,r,o);e.batchTableJson=JSON.parse(i),r+=o,s&&s>0&&(e.batchTableBinary=new Uint8Array(t,r,s),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=s)}return r}function Zi(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:o,pointCount:s=0}=e;if(n&&r){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=n[a],l=r.getProperty(f,"dimensions").map(h=>h*255);i[a*3]=l[0],i[a*3+1]=l[1],i[a*3+2]=l[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}if(t&&o){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=Ki(t[a]);i[a*3]=f[0],i[a*3+1]=f[1],i[a*3+2]=f[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}return t&&t.length===s*3?{type:H.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:H.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Ul=new w;function Pl(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)Xi(t[n*2],t[n*2+1],Ul),Ul.toArray(r,n*3);return{type:H.FLOAT,size:2,value:r}}return{type:H.FLOAT,size:2,value:t}}function Hl(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,Up(e,t)):{type:H.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function Up(e,t){let r=new w,n=new Float32Array(e.pointCount*3);for(let o=0;o<e.pointCount;o++)r.set(t[o*3],t[o*3+1],t[o*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,o*3);return n}async function kl(e,t,r,n,o){r=Dt(e,t,r),r=Nr(e,t,r),r=vr(e,t,r,n),Pp(e);let{featureTable:s,batchTable:i}=Hp(e);return await Vp(e,s,i,n,o),kp(e,s,n),Jp(e,s,i),zp(e,s),r}function Pp(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function Hp(e){let t=new ze(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let n=Qp(e,t);return{featureTable:t,batchTable:n}}function kp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",H.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=Hl(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function Jp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",H.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",H.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",H.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=Zi(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",H.UNSIGNED_BYTE,4))}function zp(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",H.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",H.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Pl(e,r)}}function Qp(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",H.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:o,batchTableBinary:s}=e;r=new ut(o,s,n)}return r}async function Vp(e,t,r,n,o){let s,i,a,f=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];f&&(a=f.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){i=c.properties;let h=c.byteOffset,u=c.byteLength;if(!i||!Number.isFinite(h)||!u)throw new Error("Draco properties, byteOffset, and byteLength must be defined");s=(e.featureTableBinary||[]).slice(h,h+u),e.hasPositions=Number.isFinite(i.POSITION),e.hasColors=Number.isFinite(i.RGB)||Number.isFinite(i.RGBA),e.hasNormals=Number.isFinite(i.NORMAL),e.hasBatchIds=Number.isFinite(i.BATCH_ID),e.isTranslucent=Number.isFinite(i.RGBA)}if(!s)return!0;let l={buffer:s,properties:{...i,...a},featureTableProperties:i,batchTableProperties:a,dequantizeInShader:!1};return await jp(e,l,n,o)}async function jp(e,t,r,n){if(!n)return;let o={...r,draco:{...r?.draco,extraAttributes:t.batchTableProperties||{}}};delete o["3d-tiles"];let s=await ke(t.buffer,Gn,o,n),i=s.attributes.POSITION&&s.attributes.POSITION.value,a=s.attributes.COLOR_0&&s.attributes.COLOR_0.value,f=s.attributes.NORMAL&&s.attributes.NORMAL.value,c=s.attributes.BATCH_ID&&s.attributes.BATCH_ID.value,l=i&&s.attributes.POSITION.value.quantization,h=f&&s.attributes.NORMAL.value.quantization;if(l){let d=s.POSITION.data.quantization,A=d.range;e.quantizedVolumeScale=new w(A,A,A),e.quantizedVolumeOffset=new w(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}h&&(e.octEncodedRange=(1<<s.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let u={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))s.attributes[d]&&s.attributes[d].value&&(u[d.toLowerCase()]=s.attributes[d].value);e.attributes={positions:i,colors:Zi(e,a,void 0),normals:f,batchIds:c,...u}}var na={};de(na,{createExtMeshFeatures:()=>L1,decode:()=>S1,encode:()=>R1,name:()=>I1});var Jl="4.4.0-alpha.15";var Kp=globalThis.loaders?.parseImageNode,Yi=typeof Image<"u",Wi=typeof ImageBitmap<"u",Xp=Boolean(Kp),qi=Ee?!0:Xp;function zl(e){switch(e){case"auto":return Wi||Yi||qi;case"imagebitmap":return Wi;case"image":return Yi;case"data":return qi;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Ql(){if(Wi)return"imagebitmap";if(Yi)return"image";if(qi)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Vl(e){let t=Zp(e);if(!t)throw new Error("Not an image");return t}function Nn(e){switch(Vl(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function Zp(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var Yp=/^data:image\/svg\+xml/,Wp=/\.svg((\?|#).*)?$/;function Xo(e){return e&&(Yp.test(e)||Wp.test(e))}function jl(e,t){if(Xo(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return $i(e,t)}function $i(e,t){if(Xo(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Zo(e,t,r){let n=jl(e,r),o=self.URL||self.webkitURL,s=typeof n!="string"&&o.createObjectURL(n);try{return await qp(s||n,t)}finally{s&&o.revokeObjectURL(s)}}async function qp(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,o)=>{try{r.onload=()=>n(r),r.onerror=s=>{let i=s instanceof Error?s.message:"error";o(new Error(i))}}catch(s){o(s)}})}var Kl=!0;async function Xl(e,t,r){let n;Xo(r)?n=await Zo(e,t,r):n=$i(e,r);let o=t&&t.imagebitmap;return await $p(n,o)}async function $p(e,t=null){if((e1(t)||!Kl)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Kl=!1}return await createImageBitmap(e)}function e1(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Zl(e){return!o1(e,"ftyp",4)||!(e[8]&96)?null:t1(e)}function t1(e){switch(r1(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function r1(e,t,r){return String.fromCharCode(...e.slice(t,r))}function n1(e){return[...e].map(t=>t.charCodeAt(0))}function o1(e,t,r=0){let n=n1(t);for(let o=0;o<n.length;++o)if(n[o]!==e[o+r])return!1;return!0}var qe=!1,vn=!0;function Yt(e){let t=Un(e);return i1(t)||f1(t)||a1(t)||c1(t)||s1(t)}function s1(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Zl(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function i1(e){let t=Un(e);return t.byteLength>=24&&t.getUint32(0,qe)===2303741511?{mimeType:"image/png",width:t.getUint32(16,qe),height:t.getUint32(20,qe)}:null}function a1(e){let t=Un(e);return t.byteLength>=10&&t.getUint32(0,qe)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,vn),height:t.getUint16(8,vn)}:null}function c1(e){let t=Un(e);return t.byteLength>=14&&t.getUint16(0,qe)===16973&&t.getUint32(2,vn)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,vn),height:t.getUint32(22,vn)}:null}function f1(e){let t=Un(e);if(!(t.byteLength>=3&&t.getUint16(0,qe)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:o}=l1(),s=2;for(;s+9<t.byteLength;){let i=t.getUint16(s,qe);if(o.has(i))return{mimeType:"image/jpeg",height:t.getUint16(s+5,qe),width:t.getUint16(s+7,qe)};if(!n.has(i))return null;s+=2,s+=t.getUint16(s,qe)}return null}function l1(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Un(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Yl(e,t){let{mimeType:r}=Yt(e)||{},n=globalThis.loaders?.parseImageNode;return z(n),await n(e,r)}async function Wl(e,t,r){t=t||{};let o=(t.image||{}).type||"auto",{url:s}=r||{},i=h1(o),a;switch(i){case"imagebitmap":a=await Xl(e,t,s);break;case"image":a=await Zo(e,t,s);break;case"data":a=await Yl(e,t);break;default:z(!1)}return o==="data"&&(a=Nn(a)),a}function h1(e){switch(e){case"auto":case"data":return Ql();default:return zl(e),e}}var u1=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],d1=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],A1={image:{type:"auto",decode:!0}},ea={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Jl,mimeTypes:d1,extensions:u1,parse:Wl,tests:[e=>Boolean(Yt(new DataView(e)))],options:A1};var ta={};function ra(e){if(ta[e]===void 0){let t=Ee?p1(e):m1(e);ta[e]=t}return ta[e]}function m1(e){let t=["image/png","image/jpeg","image/gif"],r=globalThis.loaders?.imageFormatsNode||t,n=globalThis.loaders?.parseImageNode;return Boolean(n)&&r.includes(e)}function p1(e){switch(e){case"image/avif":case"image/webp":return g1(e);default:return!0}}function g1(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function se(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var Yo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Wo={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var B1=1.33,ql=["SCALAR","VEC2","VEC3","VEC4"],x1=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],E1=new Map(x1),_1={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},y1={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},C1={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qo(e){return ql[e-1]||ql[0]}function Ft(e){let t=E1.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Ur(e,t){let r=C1[e.componentType],n=_1[e.type],o=y1[e.componentType],s=e.count*n,i=e.count*n*o;se(i>=0&&i<=t.byteLength);let a=Wo[e.componentType],f=Yo[e.type];return{ArrayType:r,length:s,byteLength:i,componentByteSize:a,numberOfComponentsInElement:f}}function Pn(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(i=>i.bufferView);r=r.filter(i=>!n.includes(i));let o=r.reduce((i,a)=>i+a.byteLength,0),s=t.reduce((i,a)=>{let{width:f,height:c}=a.image;return i+f*c},0);return o+Math.ceil(4*s*B1)}function $l(e,t,r){let n=e.bufferViews[r];se(n);let o=n.buffer,s=t[o];se(s);let i=(n.byteOffset||0)+s.byteOffset;return new Uint8Array(s.arrayBuffer,i,n.byteLength)}function eh(e,t,r){let n=typeof r=="number"?e.accessors?.[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let o=e.bufferViews?.[n.bufferView||0];if(!o)throw new Error(`No gltf buffer view for accessor ${o}`);let{arrayBuffer:s,byteOffset:i}=t[o.buffer],a=(i||0)+(n.byteOffset||0)+(o.byteOffset||0),{ArrayType:f,length:c,componentByteSize:l,numberOfComponentsInElement:h}=Ur(n,o),u=l*h,d=o.byteStride||u;if(typeof o.byteStride>"u"||o.byteStride===u)return new f(s,a,c);let A=new f(c);for(let m=0;m<n.count;m++){let p=new f(s,a+m*d,h);A.set(p,m*h)}return A}function T1(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var V=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:t?.json||T1(),buffers:t?.buffers||[],images:t?.images||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.getRequiredExtensions().find(o=>o===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];se(n);let o=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,o,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return eh(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),o=this.getBuffer(r.buffer).data,s=r.byteOffset||0;return new Uint8Array(o,s,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let o=t.extensions||{};o[r]=n}removeObjectExtension(t,r){let n=t?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let o=this.json.extensionsRemoved;o.includes(r)||o.push(r)}delete n[r]}addExtension(t,r={}){return se(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return se(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){if(this.json.extensions?.[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let r=this.json.extensionsRemoved;r.includes(t)||r.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let o={mesh:r};return n&&(o.matrix=n),this.json.nodes.push(o),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:o,mode:s=4}=t,a={primitives:[{attributes:this._addAttributes(r),mode:s}]};if(n){let f=this._addIndices(n);a.primitives[0].indices=f}return Number.isFinite(o)&&(a.primitives[0].material=o),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Yt(t),o=r||n?.mimeType,i={bufferView:this.addBufferView(t),mimeType:o};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let o=t.byteLength;se(Number.isFinite(o)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let s={buffer:r,byteOffset:n,byteLength:o};return this.byteLength+=be(o,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(s),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:qo(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),o={min:r.min,max:r.max};(!o.min||!o.max)&&(o=this._getAccessorMinMax(t,r.size));let s={size:r.size,componentType:Ft(t),count:Math.round(t.length/r.size),min:o.min,max:o.max};return this.addAccessor(n,Object.assign(s,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),o=0;for(let s of this.sourceBuffers||[])o=Ys(s,n,o);this.json?.buffers?.[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let o=t.indexOf(r);o>-1?t.splice(o,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let o=t[n],s=this._getGltfAttributeName(n),i=this.addBinaryBuffer(o.value,o);r[s]=i}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let o=t.subarray(0,r);for(let s of o)n.min.push(s),n.max.push(s);for(let s=r;s<t.length;s+=r)for(let i=0;i<r;i++)n.min[0+i]=Math.min(n.min[0+i],t[s+i]),n.max[0+i]=Math.max(n.max[0+i],t[s+i]);return n}};function th(e){return(e%1+1)%1}var rh={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},b1={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},nh={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Hn(e,t){return nh[t]*rh[e]}function Pr(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let o=e.getTypedArrayForBufferView(t),s=Hr(o,"SCALAR",r,n+1);return s instanceof BigInt64Array||s instanceof BigUint64Array?null:s}function Hr(e,t,r,n=1){let o=rh[t],s=b1[r],i=nh[r],a=n*o,f=a*i,c=e.buffer,l=e.byteOffset;return l%i!==0&&(c=new Uint8Array(c).slice(l,l+f).buffer,l=0),new s(yt(c),l,a)}function kr(e,t,r){let n=`TEXCOORD_${t.texCoord||0}`,o=r.attributes[n],s=e.getTypedArrayForAccessor(o),i=e.gltf.json,a=t.index,f=i.textures?.[a]?.source;if(typeof f<"u"){let c=i.images?.[f]?.mimeType,l=e.gltf.images?.[f];if(l&&typeof l.width<"u"){let h=[];for(let u=0;u<s.length;u+=2){let d=w1(l,c,s,u,t.channels);h.push(d)}return h}}return[]}function $o(e,t,r,n,o){if(!r?.length)return;let s=[];for(let l of r){let h=n.findIndex(u=>u===l);h===-1&&(h=n.push(l)-1),s.push(h)}let i=new Uint32Array(s),a=e.gltf.buffers.push({arrayBuffer:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength})-1,f=e.addBufferView(i,a,0),c=e.addAccessor(f,{size:1,componentType:Ft(i),count:i.length});o.attributes[t]=c}function w1(e,t,r,n,o=[0]){let s={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},i=r[n],a=r[n+1],f=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(f=4);let c=M1(i,a,e,f),l=0;for(let h of o){let u=typeof h=="number"?Object.values(s)[h]:s[h],d=c+u.offset,A=Nn(e);if(A.data.length<=d)throw new Error(`${A.data.length} <= ${d}`);let m=A.data[d];l|=m<<u.shift}return l}function M1(e,t,r,n=1){let o=r.width,s=th(e)*(o-1),i=Math.round(s),a=r.height,f=th(t)*(a-1),c=Math.round(f),l=r.components?r.components:n;return(c*o+i)*l}function es(e,t,r,n,o){let s=[];for(let i=0;i<t;i++){let a=r[i],f=r[i+1]-r[i];if(f+a>n)break;let c=a/o,l=f/o;s.push(e.slice(c,c+l))}return s}function ts(e,t,r){let n=[];for(let o=0;o<t;o++){let s=o*r;n.push(e.slice(s,s+r))}return n}function rs(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let o=[],s=new TextDecoder("utf8"),i=0;for(let a=0;a<e;a++){let f=n[a+1]-n[a];if(f+i<=t.length){let c=t.subarray(i,f+i),l=s.decode(c);o.push(l),i+=f}}return o}return[]}var Jr="EXT_mesh_features",I1=Jr;async function S1(e,t){let r=new V(e);D1(r,t)}function R1(e,t){let r=new V(e);return O1(r,t),r.createBinaryChunk(),r.gltf}function D1(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let o of n.primitives)F1(e,o,t)}function F1(e,t,r){if(!r?.gltf?.loadBuffers)return;let o=t.extensions?.[Jr]?.featureIds;if(o)for(let s of o){let i;if(typeof s.attribute<"u"){let a=`_FEATURE_ID_${s.attribute}`,f=t.attributes[a];i=e.getTypedArrayForAccessor(f)}else typeof s.texture<"u"&&r?.gltf?.loadImages?i=kr(e,s.texture,t):i=[];s.data=i}}function O1(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let o of n.primitives)G1(e,o)}function L1(e,t,r,n){t.extensions||(t.extensions={});let o=t.extensions[Jr];o||(o={featureIds:[]},t.extensions[Jr]=o);let{featureIds:s}=o,i={featureCount:r.length,propertyTable:n,data:r};s.push(i),e.addObjectExtension(t,Jr,o)}function G1(e,t){let r=t.extensions?.[Jr];if(!r)return;let n=r.featureIds;n.forEach((o,s)=>{if(o.data){let{accessorKey:i,index:a}=N1(t.attributes),f=new Uint32Array(o.data);n[s]={featureCount:f.length,propertyTable:o.propertyTable,attribute:a},e.gltf.buffers.push({arrayBuffer:f.buffer,byteOffset:f.byteOffset,byteLength:f.byteLength});let c=e.addBufferView(f),l=e.addAccessor(c,{size:1,componentType:Ft(f),count:f.length});t.attributes[i]=l}})}function N1(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(s=>s.indexOf(t)===0),n=-1;for(let s of r){let i=Number(s.substring(t.length));i>n&&(n=i)}return n++,{accessorKey:`${t}${n}`,index:n}}var ia={};de(ia,{createExtStructuralMetadata:()=>og,decode:()=>U1,encode:()=>P1,name:()=>v1});var zr="EXT_structural_metadata",v1=zr;async function U1(e,t){let r=new V(e);H1(r,t)}function P1(e,t){let r=new V(e);return rg(r,t),r.createBinaryChunk(),r.gltf}function H1(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(zr);r&&(t.gltf?.loadImages&&k1(e,r),J1(e,r))}function k1(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let o of n.meshes)for(let s of o.primitives)Q1(e,r,s,t)}function J1(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.propertyTables;if(n&&o)for(let s in n){let i=z1(o,s);i&&j1(e,r,i)}}function z1(e,t){for(let r of e)if(r.class===t)return r;return null}function Q1(e,t,r,n){if(!t)return;let s=r.extensions?.[zr]?.propertyTextures;if(s)for(let i of s){let a=t[i];V1(e,a,r,n)}}function V1(e,t,r,n){if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let o=t.class;for(let s in t.properties){let i=`${o}_${s}`,a=t.properties?.[s];if(!a)continue;a.data||(a.data=[]);let f=a.data,c=kr(e,a,r);c!==null&&($o(e,i,c,f,r),a.data=f,n.dataAttributeNames.push(i))}}function j1(e,t,r){let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=K1(e,t,i,o,a);a.data=f}}}function K1(e,t,r,n,o){let s=[],i=o.values,a=e.getTypedArrayForBufferView(i),f=X1(e,r,o,n),c=Z1(e,o,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{s=Y1(r,n,a,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{s=rs(n,a,f,c);break}case"ENUM":{s=W1(t,r,n,a,f);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return s}function X1(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Pr(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function Z1(e,t,r){return typeof t.stringOffsets<"u"?Pr(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function Y1(e,t,r,n){let o=e.array,s=e.count,i=Hn(e.type,e.componentType),a=r.byteLength/i,f;return e.componentType?f=Hr(r,e.type,e.componentType,a):f=r,o?n?es(f,t,n,r.length,i):s?ts(f,t,s):[]:f}function W1(e,t,r,n,o){let s=t.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let i=e.enums?.[s];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let a=i.valueType||"UINT16",f=Hn(t.type,a),c=n.byteLength/f,l=Hr(n,t.type,a,c);if(l||(l=n),t.array){if(o)return q1({valuesData:l,numberOfElements:r,arrayOffsets:o,valuesDataBytesLength:n.length,elementSize:f,enumEntry:i});let h=t.count;return h?$1(l,r,h,i):[]}return sa(l,0,r,i)}function q1(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:o,elementSize:s,enumEntry:i}=e,a=[];for(let f=0;f<r;f++){let c=n[f],l=n[f+1]-n[f];if(l+c>o)break;let h=c/s,u=l/s,d=sa(t,h,u,i);a.push(d)}return a}function $1(e,t,r,n){let o=[];for(let s=0;s<t;s++){let i=r*s,a=sa(e,i,r,n);o.push(a)}return o}function sa(e,t,r,n){let o=[];for(let s=0;s<r;s++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)o.push("");else{let i=e[t+s],a=eg(n,i);a?o.push(a.name):o.push("")}return o}function eg(e,t){for(let r of e.values)if(r.value===t)return r;return null}var tg="schemaClassId";function rg(e,t){let r=e.getExtension(zr);if(r&&r.propertyTables)for(let n of r.propertyTables){let o=n.class,s=r.schema?.classes?.[o];n.properties&&s&&ng(n,s,e)}}function ng(e,t,r){for(let n in e.properties){let o=e.properties[n].data;if(o){let s=t.properties[n];if(s){let i=ag(o,s,r);e.properties[n]=i}}}}function og(e,t,r=tg){let n=e.getExtension(zr);n||(n=e.addExtension(zr)),n.schema=sg(t,r,n.schema);let o=ig(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(o)-1}function sg(e,t,r){let n=r??{id:"schema_id"},o={properties:{}};for(let s of e){let i={type:s.elementType,componentType:s.componentType};o.properties[s.name]=i}return n.classes={},n.classes[t]=o,n}function ig(e,t,r){let n={class:t,count:0},o=0,s=r.classes?.[t];for(let i of e){if(o===0&&(o=i.values.length),o!==i.values.length&&i.values.length)throw new Error("Illegal values in attributes");s?.properties[i.name]&&(n.properties||(n.properties={}),n.properties[i.name]={values:0,data:i.values})}return n.count=o,n}function ag(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:o,stringOffsets:s}=lg(e);n.stringOffsets=oa(s,r),n.values=oa(o,r)}else if(t.type==="SCALAR"&&t.componentType){let o=fg(e,t.componentType);n.values=oa(o,r)}return n}var cg={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function fg(e,t){let r=[];for(let o of e)r.push(Number(o));let n=cg[t];if(!n)throw new Error("Illegal component type");return new n(r)}function lg(e){let t=new TextEncoder,r=[],n=0;for(let f of e){let c=t.encode(f);n+=c.length,r.push(c)}let o=new Uint8Array(n),s=[],i=0;for(let f of r)o.set(f,i),s.push(i),i+=f.length;s.push(i);let a=new Uint32Array(s);return{stringData:o,stringOffsets:a}}function oa(e,t){return t.gltf.buffers.push({arrayBuffer:yt(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var aa={};de(aa,{decode:()=>ug,name:()=>hg});var oh="EXT_feature_metadata",hg=oh;async function ug(e,t){let r=new V(e);dg(r,t)}function dg(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(oh);r&&(t.gltf?.loadImages&&Ag(e,r),mg(e,r))}function Ag(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:o}=t;if(n&&o)for(let s in n){let i=n[s],a=gg(o,s);a&&xg(e,a,i)}}function mg(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.featureTables;if(n&&o)for(let s in n){let i=pg(o,s);i&&Bg(e,r,i)}}function pg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function gg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Bg(e,t,r){if(!r.class)return;let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=Eg(e,t,i,o,a);a.data=f}}}function xg(e,t,r){let n=t.class;for(let o in r.properties){let s=t?.properties?.[o];if(s){let i=bg(e,s,n);s.data=i}}}function Eg(e,t,r,n,o){let s=[],i=o.bufferView,a=e.getTypedArrayForBufferView(i),f=_g(e,r,o,n),c=yg(e,r,o,n);return r.type==="STRING"||r.componentType==="STRING"?s=rs(n,a,f,c):Cg(r)&&(s=Tg(r,n,a,f)),s}function _g(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Pr(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function yg(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Pr(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function Cg(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function Tg(e,t,r,n){let o=e.type==="ARRAY",s=e.componentCount,i="SCALAR",a=e.componentType||e.type,f=Hn(i,a),c=r.byteLength/f,l=Hr(r,i,a,c);return o?n?es(l,t,n,r.length,f):s?ts(l,t,s):[]:l}function bg(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let o=[];for(let s of n.meshes)for(let i of s.primitives)wg(e,r,t,o,i);return o}function wg(e,t,r,n,o){let s={channels:r.channels,...r.texture},i=kr(e,s,o);i&&$o(e,t,i,n,o)}var sh="4.4.0-alpha.15";var ih="4.4.0-alpha.15";var ns={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},ah;async function fa(e){mn(e.modules);let t=Ks("basis");return t||(ah||=Mg(e),await ah)}async function Mg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(ns.TRANSCODER,"textures",e),await Se(ns.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Ig(t,r)}function Ig(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,initializeBasis:i}=o;i(),n({BasisFile:s})})})}var ca;async function la(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(ca=ca||Sg(e),await ca)}async function Sg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(ns.ENCODER,"textures",e),await Se(ns.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Rg(t,r)}function Rg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,KTX2File:i,initializeBasis:a,BasisEncoder:f}=o;a(),n({BasisFile:s,KTX2File:i,BasisEncoder:f})})})}var Wt={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var Dg=["","WEBKIT_","MOZ_"],ch={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},os=null;function fh(e){if(!os){e=e||Fg()||void 0,os=new Set;for(let t of Dg)for(let r in ch)if(e&&e.getExtension(`${t}${r}`)){let n=ch[r];os.add(n)}}return os}function Fg(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Me=[171,75,84,88,32,50,48,187,13,10,26,10];function lh(e){let t=new Uint8Array(e);return!(t.byteLength<Me.length||t[0]!==Me[0]||t[1]!==Me[1]||t[2]!==Me[2]||t[3]!==Me[3]||t[4]!==Me[4]||t[5]!==Me[5]||t[6]!==Me[6]||t[7]!==Me[7]||t[8]!==Me[8]||t[9]!==Me[9]||t[10]!==Me[10]||t[11]!==Me[11])}var Og={etc1:{basisFormat:0,compressed:!0,format:Wt.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Wt.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Wt.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Wt.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Wt.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Wt.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function uh(e,t={}){if(!t.basis?.containerFormat||t.basis.containerFormat==="auto"){if(lh(e)){let n=await la(t?.core||{});return hh(n.KTX2File,e,t)}let{BasisFile:r}=await fa(t?.core||{});return ha(r,e,t)}switch(t.basis.module){case"encoder":let r=await la(t?.core||{});switch(t.basis.containerFormat){case"ktx2":return hh(r.KTX2File,e,t);case"basis":default:return ha(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await fa(t.core||{});return ha(n,e,t)}}function ha(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let o=n.getNumImages(),s=[];for(let i=0;i<o;i++){let a=n.getNumLevels(i),f=[];for(let c=0;c<a;c++)f.push(Lg(n,i,c,r));s.push(f)}return s}finally{n.close(),n.delete()}}function Lg(e,t,r,n){let o=e.getImageWidth(t,r),s=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:a,format:f,basisFormat:c}=dh(n,i),l=e.getImageTranscodedSizeInBytes(t,r,c),h=new Uint8Array(l);if(!e.transcodeImage(h,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:o,height:s,data:h,compressed:a,format:f,hasAlpha:i}}function hh(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let o=n.getLevels(),s=[];for(let i=0;i<o;i++)s.push(Gg(n,i,r));return[s]}finally{n.close(),n.delete()}}function Gg(e,t,r){let{alphaFlag:n,height:o,width:s}=e.getImageLevelInfo(t,0,0),{compressed:i,format:a,basisFormat:f}=dh(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,f),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:s,height:o,data:l,compressed:i,levelSize:c,hasAlpha:n,format:a}}function dh(e,t){let r=e.basis?.format;return r==="auto"&&(r=ss()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Og[r]}function ss(){let e=fh();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Ah={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:ih,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ua={...Ah,parse:uh};var Qr=!0,mh=1735152710,ma=12,is=8,Ng=1313821514,vg=5130562,Ug=0,Pg=0,Hg=1;function kg(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function ph(e,t=0,r={}){let n=new DataView(e),{magic:o=mh}=r,s=n.getUint32(t,!1);return s===o||s===mh}function gh(e,t,r=0,n={}){let o=new DataView(t),s=kg(o,r+0),i=o.getUint32(r+4,Qr),a=o.getUint32(r+8,Qr);switch(Object.assign(e,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:s,version:i,json:{},binChunks:[]}),r+=ma,e.version){case 1:return Jg(e,o,r);case 2:return zg(e,o,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function Jg(e,t,r){z(e.header.byteLength>ma+is);let n=t.getUint32(r+0,Qr),o=t.getUint32(r+4,Qr);return r+=is,z(o===Ug),da(e,t,r,n),r+=n,r+=Aa(e,t,r,e.header.byteLength),r}function zg(e,t,r,n){return z(e.header.byteLength>ma+is),Qg(e,t,r,n),r+e.header.byteLength}function Qg(e,t,r,n){for(;r+8<=e.header.byteLength;){let o=t.getUint32(r+0,Qr),s=t.getUint32(r+4,Qr);switch(r+=is,s){case Ng:da(e,t,r,o);break;case vg:Aa(e,t,r,o);break;case Pg:n.strict||da(e,t,r,o);break;case Hg:n.strict||Aa(e,t,r,o);break;default:break}r+=be(o,4)}return r}function da(e,t,r,n){let o=new Uint8Array(t.buffer,r,n),i=new TextDecoder("utf8").decode(o);return e.json=JSON.parse(i),be(n,4)}function Aa(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),be(n,4)}function pa(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t?.core?.baseUri||t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var Ba={};de(Ba,{decode:()=>rB,name:()=>tB});var Vg="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",jg="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",Kg=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Xg=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Zg={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Yg={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Bh(e,t,r,n,o,s="NONE"){let i=await Wg();eB(i,i.exports[Yg[o]],e,t,r,n,i.exports[Zg[s||"NONE"]])}var ga;async function Wg(){return ga||(ga=qg()),ga}async function qg(){let e=Vg;WebAssembly.validate(Kg)&&(e=jg,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate($g(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function $g(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let o=e.charCodeAt(n);t[n]=o>96?o-71:o>64?o-65:o>47?o+4:o>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?Xg[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function eB(e,t,r,n,o,s,i){let a=e.exports.sbrk,f=n+3&-4,c=a(f*o),l=a(s.length),h=new Uint8Array(e.exports.memory.buffer);h.set(s,l);let u=t(c,n,o,l,s.length);if(u===0&&i&&i(c,f,o),r.set(h.subarray(c,c+n*o)),a(c-a(0)),u!==0)throw new Error(`Malformed buffer data: ${u}`)}var as="EXT_meshopt_compression",tB=as;async function rB(e,t){let r=new V(e);if(!t?.gltf?.decompressMeshes||!t.gltf?.loadBuffers)return;let n=[];for(let o of e.json.bufferViews||[])n.push(nB(r,o));await Promise.all(n),r.removeExtension(as)}async function nB(e,t){let r=e.getObjectExtension(t,as);if(r){let{byteOffset:n=0,byteLength:o=0,byteStride:s,count:i,mode:a,filter:f="NONE",buffer:c}=r,l=e.gltf.buffers[c],h=new Uint8Array(l.arrayBuffer,l.byteOffset+n,o),u=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Bh(u,i,s,h,a,f),e.removeObjectExtension(t,as)}}var xa={};de(xa,{name:()=>oB,preprocess:()=>sB});var Vr="EXT_texture_webp",oB=Vr;function sB(e,t){let r=new V(e);if(!ra("image/webp")){if(r.getRequiredExtensions().includes(Vr))throw new Error(`gltf: Required extension ${Vr} not supported by browser`);return}let{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,Vr);s&&(o.source=s.source),r.removeObjectExtension(o,Vr)}r.removeExtension(Vr)}var Ea={};de(Ea,{name:()=>iB,preprocess:()=>aB});var cs="KHR_texture_basisu",iB=cs;function aB(e,t){let r=new V(e),{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,cs);s&&(o.source=s.source,r.removeObjectExtension(o,cs))}r.removeExtension(cs)}var ya={};de(ya,{decode:()=>uB,encode:()=>dB,name:()=>lB,preprocess:()=>hB});function xh(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let o=_a(n);t[r]=o}}return t}function _a(e){let{buffer:t,size:r,count:n}=cB(e);return{value:t,size:r,byteOffset:0,count:n,type:qo(r),componentType:Ft(t)}}function cB(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=fB(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function fB(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Ot="KHR_draco_mesh_compression",lB=Ot;function hB(e,t,r){let n=new V(e);for(let o of Eh(n))n.getObjectExtension(o,Ot)}async function uB(e,t,r){if(!t?.gltf?.decompressMeshes)return;let n=new V(e),o=[];for(let s of Eh(n))n.getObjectExtension(s,Ot)&&o.push(AB(n,s,t,r));await Promise.all(o),n.removeExtension(Ot)}function dB(e,t={}){let r=new V(e);for(let n of r.json.meshes||[])mB(n,t),r.addRequiredExtension(Ot)}async function AB(e,t,r,n){let o=e.getObjectExtension(t,Ot);if(!o)return;let s=e.getTypedArrayForBufferView(o.bufferView),i=Qt(s.buffer,s.byteOffset),a={...r};delete a["3d-tiles"];let f=await ke(i,Gn,a,n),c=xh(f.attributes);for(let[l,h]of Object.entries(c))if(l in t.attributes){let u=t.attributes[l],d=e.getAccessor(u);d?.min&&d?.max&&(h.min=d.min,h.max=d.max)}t.attributes=c,f.indices&&(t.indices=_a(f.indices)),e.removeObjectExtension(t,Ot),pB(t)}function mB(e,t,r=4,n,o){if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let s=n.DracoWriter.encodeSync({attributes:e}),i=o?.parseSync?.({attributes:e}),a=n._addFauxAttributes(i.attributes),f=n.addBufferView(s);return{primitives:[{attributes:a,mode:r,extensions:{[Ot]:{bufferView:f,attributes:a}}}]}}function pB(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Eh(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var Ca={};de(Ca,{decode:()=>EB,name:()=>gB});var ls="KHR_texture_transform",gB=ls,fs=new w,BB=new X,xB=new X;async function EB(e,t){if(!new V(e).hasExtension(ls)||!t.gltf?.loadBuffers)return;let o=e.json.materials||[];for(let s=0;s<o.length;s++)_B(s,e)}function _B(e,t){let r=t.json.materials?.[e],n=[r?.pbrMetallicRoughness?.baseColorTexture,r?.emissiveTexture,r?.normalTexture,r?.occlusionTexture,r?.pbrMetallicRoughness?.metallicRoughnessTexture],o=[];for(let s of n)s&&s?.extensions?.[ls]&&yB(t,e,s,o)}function yB(e,t,r,n){let o=CB(r,n);if(!o)return;let s=e.json.meshes||[];for(let i of s)for(let a of i.primitives){let f=a.material;Number.isFinite(f)&&t===f&&TB(e,a,o)}}function CB(e,t){let r=e.extensions?.[ls],{texCoord:n=0}=e,{texCoord:o=n}=r;if(!(t.findIndex(([i,a])=>i===n&&a===o)!==-1)){let i=MB(r);return n!==o&&(e.texCoord=o),t.push([n,o]),{originalTexCoord:n,texCoord:o,matrix:i}}return null}function TB(e,t,r){let{originalTexCoord:n,texCoord:o,matrix:s}=r,i=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(i)){let a=e.json.accessors?.[i];if(a&&a.bufferView!==void 0){let f=e.json.bufferViews?.[a.bufferView];if(f){let{arrayBuffer:c,byteOffset:l}=e.buffers[f.buffer],h=(l||0)+(a.byteOffset||0)+(f.byteOffset||0),{ArrayType:u,length:d}=Ur(a,f),A=Wo[a.componentType],m=Yo[a.type],p=f.byteStride||A*m,E=new Float32Array(d);for(let y=0;y<a.count;y++){let T=new u(c,h+y*p,2);fs.set(T[0],T[1],1),fs.transformByMatrix3(s),E.set([fs[0],fs[1]],y*m)}n===o?bB(a,e,E,a.bufferView):wB(o,a,t,e,E)}}}}function bB(e,t,r,n){e.componentType=5126,e.byteOffset=0;let i=(t.json.accessors||[]).reduce((c,l)=>l.bufferView===n?c+1:c,0)>1;t.buffers.push({arrayBuffer:yt(r.buffer),byteOffset:0,byteLength:r.buffer.byteLength});let a=t.buffers.length-1;if(t.json.bufferViews=t.json.bufferViews||[],i){t.json.bufferViews.push({buffer:a,byteLength:r.buffer.byteLength,byteOffset:0}),e.bufferView=t.json.bufferViews.length-1;return}let f=t.json.bufferViews[n];f&&(f.buffer=a,f.byteOffset=0,f.byteLength=r.buffer.byteLength,f.byteStride!==void 0&&delete f.byteStride)}function wB(e,t,r,n,o){n.buffers.push({arrayBuffer:yt(o.buffer),byteOffset:0,byteLength:o.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let s=n.json.bufferViews;s.push({buffer:n.buffers.length-1,byteLength:o.buffer.byteLength,byteOffset:0});let i=n.json.accessors;i&&(i.push({bufferView:s?.length-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=i.length-1)}function MB(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,o=new X().set(1,0,0,0,1,0,t[0],t[1],1),s=BB.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),i=xB.set(n[0],0,0,0,n[1],0,0,0,1);return o.multiplyRight(s).multiplyRight(i)}var Ta={};de(Ta,{decode:()=>SB,encode:()=>RB,name:()=>IB});var qt="KHR_lights_punctual",IB=qt;async function SB(e){let t=new V(e),{json:r}=t,n=t.getExtension(qt);n&&(t.json.lights=n.lights,t.removeExtension(qt));for(let o of r.nodes||[]){let s=t.getObjectExtension(o,qt);s&&(o.light=s.light),t.removeObjectExtension(o,qt)}}async function RB(e){let t=new V(e),{json:r}=t;if(r.lights){let n=t.addExtension(qt);se(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let o=n.node;t.addObjectExtension(o,qt,n)}delete t.json.lights}}var ba={};de(ba,{decode:()=>FB,encode:()=>OB,name:()=>DB});var kn="KHR_materials_unlit",DB=kn;async function FB(e){let t=new V(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,kn);t.removeExtension(kn)}function OB(e){let t=new V(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,kn,{}),t.addExtension(kn))}var wa={};de(wa,{decode:()=>GB,encode:()=>NB,name:()=>LB});var Jn="KHR_techniques_webgl",LB=Jn;async function GB(e){let t=new V(e),{json:r}=t,n=t.getExtension(Jn);if(n){let o=vB(n,t);for(let s of r.materials||[]){let i=t.getObjectExtension(s,Jn);i&&(s.technique=Object.assign({},i,o[i.technique]),s.technique.values=UB(s.technique,t)),t.removeObjectExtension(s,Jn)}t.removeExtension(Jn)}}async function NB(e,t){}function vB(e,t){let{programs:r=[],shaders:n=[],techniques:o=[]}=e,s=new TextDecoder;return n.forEach(i=>{if(Number.isFinite(i.bufferView))i.code=s.decode(t.getTypedArrayForBufferView(i.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(i=>{i.fragmentShader=n[i.fragmentShader],i.vertexShader=n[i.vertexShader]}),o.forEach(i=>{i.program=r[i.program]}),o}function UB(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var _h=[ia,na,Ba,xa,Ea,ya,Ta,ba,wa,Ca,aa];function yh(e,t={},r){let n=_h.filter(o=>Th(o.name,t));for(let o of n)o.preprocess?.(e,t,r)}async function Ch(e,t={},r){let n=_h.filter(o=>Th(o.name,t));for(let o of n)await o.decode?.(e,t,r)}function Th(e,t){let r=t?.gltf?.excludeExtensions||{};return!(e in r&&!r[e])}var Ma="KHR_binary_glTF";function bh(e){let t=new V(e),{json:r}=t;for(let n of r.images||[]){let o=t.getObjectExtension(n,Ma);o&&Object.assign(n,o),t.removeObjectExtension(n,Ma)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(Ma)}var wh={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},HB={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Ia=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),bh(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in wh)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let o in n){let s=n[o];s.id=s.id||o;let i=t[r].length;t[r].push(s),this.idToIndexMap[r][o]=i}}}_convertObjectIdsToArrayIndices(t){for(let r in wh)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:o,material:s}=r;for(let i in n)n[i]=this._convertIdToIndex(n[i],"accessor");o&&(r.indices=this._convertIdToIndex(o,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let o in n){let s=n[o],i=this._convertIdToIndex(s,o);n[o]=i}}_convertIdToIndex(t,r){let n=HB[r];if(n in this.idToIndexMap){let o=this.idToIndexMap[n][t];if(!Number.isFinite(o))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return o}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){for(let r of t.materials){r.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let n=r.values?.tex||r.values?.texture2d_0||r.values?.diffuseTex,o=t.textures.findIndex(s=>s.id===n);o!==-1&&(r.pbrMetallicRoughness.baseColorTexture={index:o})}}};function Mh(e,t={}){return new Ia().normalize(e,t)}async function Ih(e,t,r=0,n,o){return kB(e,t,r,n),Mh(e,{normalize:n?.gltf?.normalize}),yh(e,n,o),n?.gltf?.loadBuffers&&e.json.buffers&&await JB(e,n,o),n?.gltf?.loadImages&&await zB(e,n,o),await Ch(e,n,o),e}function kB(e,t,r,n){if(n.core?.baseUri&&(e.baseUri=n.core?.baseUri),t instanceof ArrayBuffer&&!ph(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=Zs(t);else if(t instanceof ArrayBuffer){let i={};r=gh(i,t,r,n.glb),se(i.type==="glTF",`Invalid GLB magic string ${i.type}`),e._glb=i,e.json=i.json}else se(!1,"GLTF: must be ArrayBuffer or string");let o=e.json.buffers||[];if(e.buffers=new Array(o.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:i}=e._glb;e.buffers[0]={arrayBuffer:i[0].arrayBuffer,byteOffset:i[0].byteOffset,byteLength:i[0].byteLength}}let s=e.json.images||[];e.images=new Array(s.length).fill({})}async function JB(e,t,r){let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:i}=r;se(i);let a=pa(s.uri,t),c=await(await r?.fetch?.(a))?.arrayBuffer?.();e.buffers[o]={arrayBuffer:c,byteOffset:0,byteLength:c.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function zB(e,t,r){let n=QB(e),o=e.json.images||[],s=[];for(let i of n)s.push(VB(e,o[i],i,t,r));return await Promise.all(s)}function QB(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function VB(e,t,r,n,o){let s;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=pa(t.uri,n),{fetch:l}=o;s=await(await l(c)).arrayBuffer(),t.bufferView={data:s}}if(Number.isFinite(t.bufferView)){let c=$l(e.json,e.buffers,t.bufferView);s=Qt(c.buffer,c.byteOffset,c.byteLength)}se(s,"glTF image has no data");let i=n,a={...i,core:{...i?.core,mimeType:t.mimeType},basis:i.basis||{format:ss()}},f=await ke(s,[ea,ua],a,o);f&&f[0]&&(f={compressed:!0,mipmaps:!1,width:f[0].width,height:f[0].height,data:f[0]}),e.images=e.images||[],e.images[r]=f}var $t={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:sh,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:jB,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function jB(e,t={},r){let n={...$t.options,...t};n.gltf={...$t.options.gltf,...n.gltf};let o=t?.glb?.byteOffset||0;return await Ih({},e,o,n,r)}var KB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},XB={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Le={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},ZB={magFilter:Le.TEXTURE_MAG_FILTER,minFilter:Le.TEXTURE_MIN_FILTER,wrapS:Le.TEXTURE_WRAP_S,wrapT:Le.TEXTURE_WRAP_T},YB={[Le.TEXTURE_MAG_FILTER]:Le.LINEAR,[Le.TEXTURE_MIN_FILTER]:Le.NEAREST_MIPMAP_LINEAR,[Le.TEXTURE_WRAP_S]:Le.REPEAT,[Le.TEXTURE_WRAP_T]:Le.REPEAT};function WB(){return{id:"default-sampler",parameters:YB}}function qB(e){return XB[e]}function $B(e){return KB[e]}var Sa=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:o=[],images:s=[]}=t,{baseUri:i=""}=t;return se(n),this.baseUri=i,this.buffers=o,this.images=s,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((o,s)=>this._resolveBufferView(o,s))),t.images&&(n.images=t.images.map((o,s)=>this._resolveImage(o,s))),t.samplers&&(n.samplers=t.samplers.map((o,s)=>this._resolveSampler(o,s))),t.textures&&(n.textures=t.textures.map((o,s)=>this._resolveTexture(o,s))),t.accessors&&(n.accessors=t.accessors.map((o,s)=>this._resolveAccessor(o,s))),t.materials&&(n.materials=t.materials.map((o,s)=>this._resolveMaterial(o,s))),t.meshes&&(n.meshes=t.meshes.map((o,s)=>this._resolveMesh(o,s))),t.nodes&&(n.nodes=t.nodes.map((o,s)=>this._resolveNode(o,s)),n.nodes=n.nodes.map((o,s)=>this._resolveNodeChildren(o))),t.skins&&(n.skins=t.skins.map((o,s)=>this._resolveSkin(o,s))),t.scenes&&(n.scenes=t.scenes.map((o,s)=>this._resolveScene(o,s))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:t?.id||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((o,s)=>{let i=this.getMesh(s);return o.id=i.id,o.primitives=o.primitives.concat(i.primitives),o},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(o=>{let s={...o,attributes:{},indices:void 0,material:void 0},i=o.attributes;for(let a in i)s.attributes[a]=this.getAccessor(i[a]);return o.indices!==void 0&&(s.indices=this.getAccessor(o.indices)),o.material!==void 0&&(s.material=this.getMaterial(o.material)),s})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let o=n.pbrMetallicRoughness;o.baseColorTexture&&(o.baseColorTexture={...o.baseColorTexture},o.baseColorTexture.texture=this.getTexture(o.baseColorTexture.index)),o.metallicRoughnessTexture&&(o.metallicRoughnessTexture={...o.metallicRoughnessTexture},o.metallicRoughnessTexture.texture=this.getTexture(o.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=qB(t.componentType),o=$B(t.type),s=n*o,i={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:o,bytesPerElement:s,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(i.bufferView=this.getBufferView(t.bufferView)),i.bufferView){let a=i.bufferView.buffer,{ArrayType:f,byteLength:c}=Ur(i,i.bufferView),l=(i.bufferView.byteOffset||0)+(i.byteOffset||0)+a.byteOffset,h=Et(a.arrayBuffer,l,c);i.bufferView.byteStride&&(h=this._getValueFromInterleavedBuffer(a,l,i.bufferView.byteStride,i.bytesPerElement,i.count)),i.value=new f(h)}return i}_getValueFromInterleavedBuffer(t,r,n,o,s){let i=new Uint8Array(s*o);for(let a=0;a<s;a++){let f=r+a*n;i.set(new Uint8Array(t.arrayBuffer.slice(f,f+o)),a*o)}return i.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):WB(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let o in n){let s=this._enumSamplerParameter(o);s!==void 0&&(n.parameters[s]=n[o])}return n}_enumSamplerParameter(t){return ZB[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},o=this.images[r];return o&&(n.image=o),n}_resolveBufferView(t,r){let n=t.buffer,o=this.buffers[n].arrayBuffer,s=this.buffers[n].byteOffset||0;return t.byteOffset&&(s+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(o,s,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function zn(e,t){return new Sa().postProcess(e,t)}var hs={URI:0,EMBEDDED:1};function us(e,t,r,n){e.rotateYtoZ=!0;let o=(e.byteOffset||0)+(e.byteLength||0)-r;if(o===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n?.["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Qt(t,r,o),e.gltfByteOffset=0,e.gltfByteLength=o,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function ds(e,t,r,n){let o=r?.["3d-tiles"]||{};if(ex(e,t,r),o.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:s}=n,i=await s(e.gltfUrl,r?.core);e.gltfArrayBuffer=await i.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let s=await ke(e.gltfArrayBuffer,$t,r,n);e.gltf=zn(s),e.gpuMemoryUsageInBytes=Pn(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function ex(e,t,r){switch(t){case hs.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),s=new TextDecoder().decode(n);e.gltfUrl=s.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case hs.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Sh(e,t,r,n,o){r=tx(e,t,r,n,o),await ds(e,hs.EMBEDDED,n,o);let s=e?.gltf?.extensions;return s&&s.CESIUM_RTC&&(e.rtcCenter=s.CESIUM_RTC.center),r}function tx(e,t,r,n,o){r=Dt(e,t,r),r=Nr(e,t,r),r=vr(e,t,r,n),r=us(e,t,r,n);let s=new ze(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=s.getGlobalProperty("RTC_CENTER",H.FLOAT,3),r}async function Rh(e,t,r,n,o){return r=rx(e,t,r,n,o),await ds(e,e.gltfFormat||0,n,o),r}function rx(e,t,r,n,o){if(r=Dt(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=Nr(e,t,r);let s=new DataView(t);if(e.gltfFormat=s.getUint32(r,!0),r+=4,r=vr(e,t,r,n),r=us(e,t,r,n),!e?.header?.featureTableJsonByteLength||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let i=new ze(e.featureTableJson,e.featureTableBinary),a=i.getGlobalProperty("INSTANCES_LENGTH");if(i.featuresLength=a,!Number.isFinite(a))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=i.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=i.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let f=new ut(e.batchTableJson,e.batchTableBinary,a);return nx(e,i,f,a),r}function nx(e,t,r,n){let o=new Array(n),s=new w,i=new w,a=new w,f=new w,c=new X,l=new wt,h=new w,u={},d=new De,A=[],m=[],p=[],E=[];for(let y=0;y<n;y++){let T;if(t.hasProperty("POSITION"))T=t.getProperty("POSITION",H.FLOAT,3,y,s);else if(t.hasProperty("POSITION_QUANTIZED")){T=t.getProperty("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3,y,s);let g=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3);if(!g)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let x=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3);if(!x)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let _=65535;for(let U=0;U<3;U++)T[U]=T[U]/_*x[U]+g[U]}if(!T)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");s.copy(T),u.translation=s,e.normalUp=t.getProperty("NORMAL_UP",H.FLOAT,3,y,A),e.normalRight=t.getProperty("NORMAL_RIGHT",H.FLOAT,3,y,m);let b=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",H.UNSIGNED_SHORT,2,y,A),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",H.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(ct.WGS84.eastNorthUpToFixedFrame(s,d),d.getRotationMatrix3(c)):c.identity()}b&&(f.copy(i).cross(a).normalize(),c.setColumn(0,i),c.setColumn(1,a),c.setColumn(2,f)),l.fromMatrix3(c),u.rotation=l,h.set(1,1,1);let C=t.getProperty("SCALE",H.FLOAT,1,y,p);Number.isFinite(C)&&h.multiplyByScalar(C);let M=t.getProperty("SCALE_NON_UNIFORM",H.FLOAT,3,y,A);M&&h.scale(M),u.scale=h;let I=t.getProperty("BATCH_ID",H.UNSIGNED_SHORT,1,y,E);I===void 0&&(I=y);let O=new De().fromQuaternion(u.rotation);d.identity(),d.translate(u.translation),d.multiplyRight(O),d.scale(u.scale);let B=d.clone();o[y]={modelMatrix:B,batchId:I}}e.instances=o}async function Dh(e,t,r,n,o,s){r=Dt(e,t,r);let i=new DataView(t);for(e.tilesLength=i.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let a={shape:"tile3d"};e.tiles.push(a),r=await s(t,r,n,o,a)}return r}async function Fh(e,t,r,n){if(e.rotateYtoZ=!0,e.gltfUpAxis=r?.["3d-tiles"]?.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r?.["3d-tiles"]?.loadGLTF){if(!n)return t.byteLength;let o=await ke(t,$t,r,n);e.gltf=zn(o),e.gpuMemoryUsageInBytes=Pn(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Ra(e,t=0,r,n,o={shape:"tile3d"}){switch(o.byteOffset=t,o.type=xl(e,t),o.type){case _e.COMPOSITE:return await Dh(o,e,t,r,n,Ra);case _e.BATCHED_3D_MODEL:return await Sh(o,e,t,r,n);case _e.GLTF:return await Fh(o,e,r,n);case _e.INSTANCED_3D_MODEL:return await Rh(o,e,t,r,n);case _e.POINT_CLOUD:return await kl(o,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${o.type}`)}}async function Da(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let s=Oh(e.slice(8,16)),i=new Uint8Array(e,24,s),f=new TextDecoder("utf8").decode(i),c=JSON.parse(f),l=Oh(e.slice(16,24)),h=new ArrayBuffer(0);if(l&&(h=e.slice(24+s)),await As(c,c.tileAvailability,h,r),Array.isArray(c.contentAvailability))for(let u of c.contentAvailability)await As(c,u,h,r);else await As(c,c.contentAvailability,h,r);return await As(c,c.childSubtreeAvailability,h,r),c}async function As(e,t,r,n){let o=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof o!="number")return;let s=e.bufferViews[o],i=e.buffers[s.buffer];if(!n?.baseUrl)throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(i.uri){let f=`${n?.baseUrl||""}/${i.uri}`,l=await(await n.fetch(f)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,s.byteOffset,s.byteLength);return}let a=e.buffers.slice(0,s.buffer).reduce((f,c)=>f+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(a,a+i.byteLength),s.byteOffset,s.byteLength)}function Oh(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var jr={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Or,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Da,options:{}};var tu=xr(dn(),1);var Wh=xr(dn(),1);var Ge=null;try{Ge=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Z(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Z.prototype.__isLong__;Object.defineProperty(Z.prototype,"__isLong__",{value:!0});function Ae(e){return(e&&e.__isLong__)===!0}function Lh(e){var t=Math.clz32(e&-e);return e?31-t:t}Z.isLong=Ae;var Gh={},Nh={};function er(e,t){var r,n,o;return t?(e>>>=0,(o=0<=e&&e<256)&&(n=Nh[e],n)?n:(r=Q(e,0,!0),o&&(Nh[e]=r),r)):(e|=0,(o=-128<=e&&e<128)&&(n=Gh[e],n)?n:(r=Q(e,e<0?-1:0,!1),o&&(Gh[e]=r),r))}Z.fromInt=er;function Ne(e,t){if(isNaN(e))return t?dt:Qe;if(t){if(e<0)return dt;if(e>=Hh)return zh}else{if(e<=-Uh)return Ce;if(e+1>=Uh)return Jh}return e<0?Ne(-e,t).neg():Q(e%Xr|0,e/Xr|0,t)}Z.fromNumber=Ne;function Q(e,t,r){return new Z(e,t,r)}Z.fromBits=Q;var ms=Math.pow;function Oa(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?dt:Qe;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return Oa(e.substring(1),t,r).neg();for(var o=Ne(ms(r,8)),s=Qe,i=0;i<e.length;i+=8){var a=Math.min(8,e.length-i),f=parseInt(e.substring(i,i+a),r);if(a<8){var c=Ne(ms(r,a));s=s.mul(c).add(Ne(f))}else s=s.mul(o),s=s.add(Ne(f))}return s.unsigned=t,s}Z.fromString=Oa;function ve(e,t){return typeof e=="number"?Ne(e,t):typeof e=="string"?Oa(e,t):Q(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Z.fromValue=ve;var vh=1<<16,ox=1<<24,Xr=vh*vh,Hh=Xr*Xr,Uh=Hh/2,Ph=er(ox),Qe=er(0);Z.ZERO=Qe;var dt=er(0,!0);Z.UZERO=dt;var Kr=er(1);Z.ONE=Kr;var kh=er(1,!0);Z.UONE=kh;var Fa=er(-1);Z.NEG_ONE=Fa;var Jh=Q(-1,2147483647,!1);Z.MAX_VALUE=Jh;var zh=Q(-1,-1,!0);Z.MAX_UNSIGNED_VALUE=zh;var Ce=Q(0,-2147483648,!1);Z.MIN_VALUE=Ce;var L=Z.prototype;L.toInt=function(){return this.unsigned?this.low>>>0:this.low};L.toNumber=function(){return this.unsigned?(this.high>>>0)*Xr+(this.low>>>0):this.high*Xr+(this.low>>>0)};L.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Ce)){var r=Ne(t),n=this.div(r),o=n.mul(r).sub(this);return n.toString(t)+o.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var s=Ne(ms(t,6),this.unsigned),i=this,a="";;){var f=i.div(s),c=i.sub(f.mul(s)).toInt()>>>0,l=c.toString(t);if(i=f,i.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};L.getHighBits=function(){return this.high};L.getHighBitsUnsigned=function(){return this.high>>>0};L.getLowBits=function(){return this.low};L.getLowBitsUnsigned=function(){return this.low>>>0};L.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ce)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};L.isSafeInteger=function(){var t=this.high>>21;return t?this.unsigned?!1:t===-1&&!(this.low===0&&this.high===-2097152):!0};L.isZero=function(){return this.high===0&&this.low===0};L.eqz=L.isZero;L.isNegative=function(){return!this.unsigned&&this.high<0};L.isPositive=function(){return this.unsigned||this.high>=0};L.isOdd=function(){return(this.low&1)===1};L.isEven=function(){return(this.low&1)===0};L.equals=function(t){return Ae(t)||(t=ve(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};L.eq=L.equals;L.notEquals=function(t){return!this.eq(t)};L.neq=L.notEquals;L.ne=L.notEquals;L.lessThan=function(t){return this.comp(t)<0};L.lt=L.lessThan;L.lessThanOrEqual=function(t){return this.comp(t)<=0};L.lte=L.lessThanOrEqual;L.le=L.lessThanOrEqual;L.greaterThan=function(t){return this.comp(t)>0};L.gt=L.greaterThan;L.greaterThanOrEqual=function(t){return this.comp(t)>=0};L.gte=L.greaterThanOrEqual;L.ge=L.greaterThanOrEqual;L.compare=function(t){if(Ae(t)||(t=ve(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};L.comp=L.compare;L.negate=function(){return!this.unsigned&&this.eq(Ce)?Ce:this.not().add(Kr)};L.neg=L.negate;L.add=function(t){Ae(t)||(t=ve(t));var r=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,f=t.low>>>16,c=t.low&65535,l=0,h=0,u=0,d=0;return d+=s+c,u+=d>>>16,d&=65535,u+=o+f,h+=u>>>16,u&=65535,h+=n+a,l+=h>>>16,h&=65535,l+=r+i,l&=65535,Q(u<<16|d,l<<16|h,this.unsigned)};L.subtract=function(t){return Ae(t)||(t=ve(t)),this.add(t.neg())};L.sub=L.subtract;L.multiply=function(t){if(this.isZero())return this;if(Ae(t)||(t=ve(t)),Ge){var r=Ge.mul(this.low,this.high,t.low,t.high);return Q(r,Ge.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?dt:Qe;if(this.eq(Ce))return t.isOdd()?Ce:Qe;if(t.eq(Ce))return this.isOdd()?Ce:Qe;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(Ph)&&t.lt(Ph))return Ne(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,f=t.high&65535,c=t.low>>>16,l=t.low&65535,h=0,u=0,d=0,A=0;return A+=i*l,d+=A>>>16,A&=65535,d+=s*l,u+=d>>>16,d&=65535,d+=i*c,u+=d>>>16,d&=65535,u+=o*l,h+=u>>>16,u&=65535,u+=s*c,h+=u>>>16,u&=65535,u+=i*f,h+=u>>>16,u&=65535,h+=n*l+o*c+s*f+i*a,h&=65535,Q(d<<16|A,h<<16|u,this.unsigned)};L.mul=L.multiply;L.divide=function(t){if(Ae(t)||(t=ve(t)),t.isZero())throw Error("division by zero");if(Ge){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ge.div_u:Ge.div_s)(this.low,this.high,t.low,t.high);return Q(r,Ge.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?dt:Qe;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return dt;if(t.gt(this.shru(1)))return kh;s=dt}else{if(this.eq(Ce)){if(t.eq(Kr)||t.eq(Fa))return Ce;if(t.eq(Ce))return Kr;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(Qe)?t.isNegative()?Kr:Fa:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(Ce))return this.unsigned?dt:Qe;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=Qe}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),f=a<=48?1:ms(2,a-48),c=Ne(n),l=c.mul(t);l.isNegative()||l.gt(o);)n-=f,c=Ne(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=Kr),s=s.add(c),o=o.sub(l)}return s};L.div=L.divide;L.modulo=function(t){if(Ae(t)||(t=ve(t)),Ge){var r=(this.unsigned?Ge.rem_u:Ge.rem_s)(this.low,this.high,t.low,t.high);return Q(r,Ge.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};L.mod=L.modulo;L.rem=L.modulo;L.not=function(){return Q(~this.low,~this.high,this.unsigned)};L.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};L.clz=L.countLeadingZeros;L.countTrailingZeros=function(){return this.low?Lh(this.low):Lh(this.high)+32};L.ctz=L.countTrailingZeros;L.and=function(t){return Ae(t)||(t=ve(t)),Q(this.low&t.low,this.high&t.high,this.unsigned)};L.or=function(t){return Ae(t)||(t=ve(t)),Q(this.low|t.low,this.high|t.high,this.unsigned)};L.xor=function(t){return Ae(t)||(t=ve(t)),Q(this.low^t.low,this.high^t.high,this.unsigned)};L.shiftLeft=function(t){return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):Q(0,this.low<<t-32,this.unsigned)};L.shl=L.shiftLeft;L.shiftRight=function(t){return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):Q(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};L.shr=L.shiftRight;L.shiftRightUnsigned=function(t){return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?Q(this.high,0,this.unsigned):Q(this.high>>>t-32,0,this.unsigned)};L.shru=L.shiftRightUnsigned;L.shr_u=L.shiftRightUnsigned;L.rotateLeft=function(t){var r;return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,Q(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};L.rotl=L.rotateLeft;L.rotateRight=function(t){var r;return Ae(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,Q(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};L.rotr=L.rotateRight;L.toSigned=function(){return this.unsigned?Q(this.low,this.high,!1):this};L.toUnsigned=function(){return this.unsigned?this:Q(this.low,this.high,!0)};L.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};L.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};L.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Z.fromBytes=function(t,r,n){return n?Z.fromBytesLE(t,r):Z.fromBytesBE(t,r)};Z.fromBytesLE=function(t,r){return new Z(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Z.fromBytesBE=function(t,r){return new Z(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};typeof BigInt=="function"&&(Z.fromBigInt=function(t,r){var n=Number(BigInt.asIntN(32,t)),o=Number(BigInt.asIntN(32,t>>BigInt(32)));return Q(n,o,r)},Z.fromValue=function(t,r){return typeof t=="bigint"?Z.fromBigInt(t,r):ve(t,r)},L.toBigInt=function(){var t=BigInt(this.low>>>0),r=BigInt(this.unsigned?this.high>>>0:this.high);return r<<BigInt(32)|t});var Zr=Z;var sx=16;function Qn(e){e==="X"&&(e="");let t=e.padEnd(sx,"0");return Zr.fromString(t,!0,16)}function La(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let s=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-s.length).join("0")+s}function Ga(e,t){let r=ix(e).shiftRightUnsigned(2);return e.add(Zr.fromNumber(2*t+1-4).multiply(r))}function ix(e){return e.and(e.not().add(1))}var ax=3,cx=30,fx=2*cx+1,Qh=180/Math.PI;function jh(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],o=n.length,s=0,i=[0,0];for(let a=o-1;a>=0;a--){s=o-a;let f=n[a],c=0,l=0;f==="1"?l=1:f==="2"?(c=1,l=1):f==="3"&&(c=1);let h=Math.pow(2,s-1);lx(h,i,c,l),i[0]+=h*c,i[1]+=h*l}if(r%2===1){let a=i[0];i[0]=i[1],i[1]=a}return{face:r,ij:i,level:s}}function Kh(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<ax+fx;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),o=t.substring(3,r),s=o.length/2,i=Zr.fromString(n,!0,2).toString(10),a="";if(s!==0)for(a=Zr.fromString(o,!0,2).toString(4);a.length<s;)a="0"+a;return`${i}/${a}`}function Na(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Vh(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function va(e){return[Vh(e[0]),Vh(e[1])]}function Ua(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function Pa([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Qh,n*Qh]}function lx(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let o=t[0];t[0]=t[1],t[1]=o}}function Xh(e){let t=Na(e.ij,e.level,[.5,.5]),r=va(t),n=Ua(e.face,r);return Pa(n)}var hx=100;function Ha(e){let{face:t,ij:r,level:n}=e,o=[[0,0],[0,1],[1,1],[1,0],[0,0]],s=Math.max(1,Math.ceil(hx*Math.pow(2,-n))),i=new Float64Array(4*s*2+2),a=0,f=0;for(let c=0;c<4;c++){let l=o[c].slice(0),h=o[c+1],u=(h[0]-l[0])/s,d=(h[1]-l[1])/s;for(let A=0;A<s;A++){l[0]+=u,l[1]+=d;let m=Na(r,n,l),p=va(m),E=Ua(t,p),y=Pa(E);Math.abs(y[1])>89.999&&(y[0]=f);let T=y[0]-f;y[0]+=T>180?-360:T<-180?360:0,i[a++]=y[0],i[a++]=y[1],f=y[0]}}return i[a++]=i[0],i[a++]=i[1],i}function Yr(e){let t=ux(e);return jh(t)}function ux(e){if(e.indexOf("/")>0)return e;let t=Qn(e);return Kh(t)}function ka(e){let t=Yr(e);return Xh(t)}function Yh(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let o=0;o<4;o++){let s=`${e.face}/${o}`,i=Yr(s),a=Ha(i);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}t=Zh(r)}else{let r=Ha(e);t=Zh(r)}return t}function Zh(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,o)=>n-o),r.sort((n,o)=>n-o),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function Ja(e,t){let r=t?.minimumHeight||0,n=t?.maximumHeight||0,o=Yr(e),s=Yh(o),i=s.west,a=s.south,f=s.east,c=s.north,l=[];return l.push(new w(i,c,r)),l.push(new w(f,c,r)),l.push(new w(f,a,r)),l.push(new w(i,a,r)),l.push(new w(i,c,n)),l.push(new w(f,c,n)),l.push(new w(f,a,n)),l.push(new w(i,a,n)),l}function ps(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=Ja(t,r),o=ka(t),s=o[0],i=o[1],a=ct.WGS84.cartographicToCartesian([s,i,r.maximumHeight]),f=new w(a[0],a[1],a[2]);n.push(f);let c=Pi(n);return[...c.center,...c.halfAxes]}var dx=4,Ax=8,mx={QUADTREE:dx,OCTREE:Ax};function px(e,t,r){if(e?.box){let n=Qn(e.s2VolumeInfo.token),o=Ga(n,t),s=La(o),i={...e.s2VolumeInfo};switch(i.token=s,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,h=l/2,u=c.minimumHeight+l/2;c.minimumHeight=u-h,c.maximumHeight=u+h;break;default:break}return{box:ps(i),s2VolumeInfo:i}}}async function Qa(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:o=0,implicitOptions:s,loaderOptions:i,s2VolumeBox:a}=e,{subdivisionScheme:f,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:h,subtreesUriTemplate:u,basePath:d}=s,A={children:[],lodMetricValue:0,contentUrl:""};if(!l)return Vs.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),A;let m=n.localLevel+1,p=r.level+m;if(p>l)return A;let E=mx[f],y=Math.log2(E),T=o&1,b=o>>1&1,C=o>>2&1,M=tr(n.localX,T,1),I=tr(n.localY,b,1),O=tr(n.localZ,C,1),B=tr(r.x,M,m),g=tr(r.y,I,m),x=tr(r.z,O,m),_=tr(n.mortonIndex,o,y),U=m===c&&za(t.childSubtreeAvailability,_),v,P,G,ee;if(U){let st=`${d}/${u}`,hn=gs(st,p,B,g,x);v=await(0,Wh.load)(hn,jr,i),ee=0,P={level:p,x:B,y:g,z:x},G={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else v=t,ee=(E**m-1)/(E-1)+_,P=r,G={mortonIndex:_,localLevel:m,localX:M,localY:I,localZ:O};if(!za(v.tileAvailability,ee))return A;za(v.contentAvailability,ee)&&(A.contentUrl=gs(h,p,B,g,x));for(let st=0;st<E;st++){let hn=px(a,st,f),Br=await Qa({subtree:v,subtreeData:P,parentData:G,childIndex:st,implicitOptions:s,loaderOptions:i,s2VolumeBox:hn});(Br.contentUrl||Br.children.length)&&A.children.push(Br)}return A.contentUrl||A.children.length?gx(A,{level:p,x:B,y:g,z:x},s,a):A}function za(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&Vs.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?Ex(t,r.explicitBitstream):!1}function gx(e,t,r,n){let{basePath:o,refine:s,getRefine:i,lodMetricType:a,getTileType:f,rootLodMetricValue:c,rootBoundingVolume:l}=r,h=e.contentUrl&&e.contentUrl.replace(`${o}/`,""),u=c/2**t.level,d=n?.box?{box:n.box}:l,A=Bx(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:h},id:e.contentUrl,refine:i(s),type:f(e),lodMetricType:a,lodMetricValue:u,geometricError:u,transform:e.transform,boundingVolume:A}}function Bx(e,t,r){if(e.region){let{level:n,x:o,y:s,z:i}=t,[a,f,c,l,h,u]=e.region,d=2**n,A=(c-a)/d,[m,p]=[a+A*o,a+A*(o+1)],E=(l-f)/d,[y,T]=[f+E*s,f+E*(s+1)],b,C;if(r==="OCTREE"){let M=(u-h)/d;[b,C]=[h+M*i,h+M*(i+1)]}else[b,C]=[h,u];return{region:[m,y,p,T,b,C]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function tr(e,t,r){return(e<<r)+t}function gs(e,t,r,n,o){let s=xx({level:t,x:r,y:n,z:o});return e.replace(/{level}|{x}|{y}|{z}/gi,i=>s[i])}function xx(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function Ex(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function ja(e,t=""){if(!t)return St.EMPTY;let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return St.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return St.SCENEGRAPH;default:return n||St.EMPTY}}function Ka(e){switch(e){case"REPLACE":case"replace":return Fr.REPLACE;case"ADD":case"add":return Fr.ADD;default:return e}}function Va(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return wr.resolve(t,e)}function qh(e,t){if(!e)return null;let r;if(e.content){let o=e.content.uri||e.content?.url;typeof o<"u"&&(r=Va(o,t))}return{...e,id:r,contentUrl:r,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:ja(e,r),refine:Ka(e.refine)}}async function ru(e,t,r){let n=null,o=eu(e.root);o&&e.root?n=await $h(e.root,e,t,o,r):n=qh(e.root,t);let s=[];for(s.push(n);s.length>0;){let i=s.pop()||{},a=i.children||[],f=[];for(let c of a){let l=eu(c),h;l?h=await $h(c,e,t,l,r):h=qh(c,t),h&&(f.push(h),s.push(h))}i.children=f}return n}async function $h(e,t,r,n,o){let{subdivisionScheme:s,maximumLevel:i,availableLevels:a,subtreeLevels:f,subtrees:{uri:c}}=n,l=gs(c,0,0,0,0),h=Va(l,r),u=await(0,tu.load)(h,jr,o),d=e.content?.uri,A=d?Va(d,r):"",m=t?.root?.refine,p=e.geometricError,E=e.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];if(E){let C={box:ps(E),s2VolumeInfo:E};e.boundingVolume=C}let y=e.boundingVolume,T={contentUrlTemplate:A,subtreesUriTemplate:c,subdivisionScheme:s,subtreeLevels:f,maximumLevel:Number.isFinite(a)?a-1:i,refine:m,basePath:r,lodMetricType:ht.GEOMETRIC_ERROR,rootLodMetricValue:p,rootBoundingVolume:y,getTileType:ja,getRefine:Ka};return await _x(e,r,u,T,o)}async function _x(e,t,r,n,o){if(!e)return null;let{children:s,contentUrl:i}=await Qa({subtree:r,implicitOptions:n,loaderOptions:o}),a,f=null;return i&&(a=i,f={uri:i.replace(`${t}/`,"")}),{...e,id:a,contentUrl:a,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:ja(e,a),refine:Ka(e.refine),content:f||e.content,children:s}}function eu(e){return e?.extensions?.["3DTILES_implicit_tiling"]||e?.implicitTiling}var rr={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Or,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:yx,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function yx(e,t={},r){let n=t["3d-tiles"]||{},o;return n.isTileset==="auto"?o=r?.url&&r.url.indexOf(".json")!==-1:o=n.isTileset,o?Cx(e,t,r):Tx(e,t,r)}async function Cx(e,t,r){let n=JSON.parse(new TextDecoder().decode(e)),o=r?.url||"",s=bx(o),i=await ru(n,s,t||{});return{...n,shape:"tileset3d",loader:rr,url:o,queryString:r?.queryString||"",basePath:s,root:i||n.root,type:Fn.TILES3D,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:n.root?.geometricError||0}}async function Tx(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Ra(e,0,t,r,n.content),n.content}function bx(e){return wr.dirname(e)}var Bs=xr(dn(),1);var nu="https://api.cesium.com/v1/assets";async function xs(e,t){if(!t){let s=await wx(e);for(let i of s.items)i.type==="3DTILES"&&(t=i.id)}let r=await Mx(e,t),n=r.type,o=r.options?.url||r.url;return z(n==="3DTILES"&&o),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function wx(e){z(e);let t=nu,r={Authorization:`Bearer ${e}`},n=await(0,Bs.fetchFile)(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function Mx(e,t){z(e,t);let r={Authorization:`Bearer ${e}`},n=`${nu}/${t}`,o=await(0,Bs.fetchFile)(`${n}`,{headers:r});if(!o.ok)throw new Error(o.statusText);let s=await o.json();if(o=await(0,Bs.fetchFile)(`${n}/endpoint`,{headers:r}),!o.ok)throw new Error(o.statusText);let i=await o.json();return s={...s,...i},s}async function Ix(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let o=e.match(/\/([0-9]+)\/tileset.json/);n=o&&o[1]}return xs(r,n)}var Xa={...rr,id:"cesium-ion",name:"Cesium Ion",preload:Ix,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=Xa,rr.parse(e,t,r)),options:{"cesium-ion":{...rr.options["3d-tiles"],accessToken:null}}};function Vn(e){return typeof e=="bigint"?e:BigInt(e)}function su(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function ou(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function ie(e,t,r){let n=Vn(t),s=Vn(r)-n;if(s<0)throw new Error("Invalid range requested");return await e.read(n,su(s))}async function or(e,t,r){let n=await ie(e,t,r);return new DataView(n)}async function iu(e,t){return(await or(e,t,Vn(t)+2n)).getUint16(0,!0)}async function Za(e,t){return(await or(e,t,Vn(t)+4n)).getUint32(0,!0)}async function jn(e,t){return(await or(e,t,Vn(t)+8n)).getBigUint64(0,!0)}async function Kn(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if(t?.bigsize!==void 0)return t.bigsize;if(t?.size!==void 0)return BigInt(t.size)}return 0n}var nr=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=su(t),o=r?n+r:this.size,s=ou(n,this.size),i=ou(o,this.size),f=Math.max(i,s)-s;return f<=0?new ArrayBuffer(0):Et(this.handle.buffer,s,f)}};var Sx=1024,Xn=async(e,t)=>{let r=await Kn(e),n=new Uint8Array(await ie(e,r-3n,r+1n)),o=[n[3],n[2],n[1],void 0],s=-1,i=r-4n;do{let a=i;i-=BigInt(Sx),i=i>=0n?i:0n;let f=new Uint8Array(await ie(e,i,a));for(let c=f.length-1;c>-1;c--)if(o[3]=o[2],o[2]=o[1],o[1]=o[0],o[0]=f[c],o.every((l,h)=>l===t[h])){s=c;break}}while(s===-1&&i>0n);return i+BigInt(s)};var au=new Uint8Array([80,75,5,6]),cu=new Uint8Array([80,75,6,7]),fu=new Uint8Array([80,75,6,6]),Rx=8n;var Dx=12n,Fx=16n;var Ox=8n,Lx=24n;var Gx=40n,Nx=48n;var lu=async e=>{let t=await Xn(e,au),r=BigInt(await iu(e,t+Rx)),n=BigInt(await Za(e,t+Dx)),o=BigInt(await Za(e,t+Fx)),s=t-20n,i=0n,a=await ie(e,s,s+4n);if(xt(a,cu.buffer)){i=await jn(e,s+Ox);let f=await ie(e,i,i+4n);if(!xt(f,fu.buffer))throw new Error("zip64 EoCD not found");r=await jn(e,i+Lx),n=await jn(e,i+Gx),o=await jn(e,i+Nx)}else s=0n;return{cdRecordsNumber:r,cdStartOffset:o,cdByteSize:n,offsets:{zip64EoCDOffset:i,zip64EoCDLocatorOffset:s,zipEoCDOffset:t}}};var sD=[{offset:0,size:4,default:new DataView(au.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];var iD=[{offset:0,size:4,default:new DataView(cu.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],aD=[{offset:0,size:4,default:new DataView(fu.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var vx=20,Ux=24,Px=28,Hx=30,kx=32,Jx=42,Es=46n,Yn=new Uint8Array([80,75,1,2]),Zn=async(e,t)=>{let r=await Kn(t);if(e>=r)return null;let n=await or(t,e,e+Es),o=n.buffer.slice(0,4);if(!xt(o,Yn.buffer))return null;let s=BigInt(n.getUint32(vx,!0)),i=BigInt(n.getUint32(Ux,!0)),a=n.getUint16(Hx,!0),f=BigInt(n.getUint16(kx,!0)),c=n.getUint16(Px,!0),l=await ie(t,e+Es,e+Es+BigInt(c+a)),h=l.slice(0,c),u=new TextDecoder().decode(h),d=e+Es+BigInt(c),A=n.getUint32(Jx,!0),m=BigInt(A),p=new DataView(l.slice(c,l.byteLength)),E={uncompressedSize:i,compressedSize:s,localHeaderOffset:m,startDisk:f},y=zx(E,p);return{...E,...y,extraFieldLength:a,fileNameLength:c,fileName:u,extraOffset:d}};async function*Wr(e){let{cdStartOffset:t,cdByteSize:r}=await lu(e),n=new nr(new DataView(await ie(e,t,t+r))),o=await Zn(0n,n);for(;o;)yield o,o=await Zn(o.extraOffset+BigInt(o.extraFieldLength),n)}var hu=(...e)=>e[0]+e[1]*16,zx=(e,t)=>{let r=Qx(e),n={};if(r.length>0){let o=r.reduce((a,f)=>a+f.length,0),s=new Uint8Array(t.buffer).findIndex((a,f,c)=>hu(c[f],c[f+1])===1&&hu(c[f+2],c[f+3])===o),i=0;for(let a of r){let f=i;n[a.name]=t.getBigUint64(s+4+f,!0),i=f+a.length}}return n},Qx=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};var uD=[{offset:0,size:4,default:new DataView(Yn.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var Vx=8,jx=18,Kx=22,Xx=26,Zx=28,_s=30n,Ya=new Uint8Array([80,75,3,4]),sr=async(e,t)=>{let r=await or(t,e,e+_s),n=r.buffer.slice(0,4);if(!xt(n,Ya.buffer))return null;let o=r.getUint16(Xx,!0),s=r.getUint16(Zx,!0),i=await ie(t,e+_s,e+_s+BigInt(o+s)),a=i.slice(0,o),f=new DataView(i.slice(o,i.byteLength)),c=new TextDecoder().decode(a).split("\\").join("/"),l=e+_s+BigInt(o+s),h=r.getUint16(Vx,!0),u=BigInt(r.getUint32(jx,!0)),d=BigInt(r.getUint32(Kx,!0)),A=4;return d===BigInt(4294967295)&&(d=f.getBigUint64(A,!0),A+=8),u===BigInt(4294967295)&&(u=f.getBigUint64(A,!0),A+=8),l===BigInt(4294967295)&&(l=f.getBigUint64(A,!0)),{fileNameLength:o,fileName:c,extraFieldLength:s,fileDataOffset:l,compressedSize:u,compressionMethod:h}};var pD=[{offset:0,size:4,default:new DataView(Ya.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];var ys=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){let n=[];for await(let i of t)n.push(i),yield i;let o=await this.concatenate(n),s=await this.hash(o,r);this.options.crypto?.onEnd?.({hash:s})}async concatenate(t){return await Bn(t)}};function uu(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let o=0;o<n.length;o++)typeof n[o]>"u"?t+="=":t+=Yx(n[o])}return t}function Yx(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function du(e,t){switch(t){case"hex":return e;case"base64":return Wx(e);default:throw new Error(t)}}function Wx(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return uu(r)||""}var Cs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Au=nE("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"),Wa=typeof WebAssembly<"u"&&Au?Au.buffer:!1,$e=cE(),qa=240*16*16,mu=Math.floor(qa*16*1.066666667),qx=268435456-65536,$x="Parameter must be ArrayBuffer, ArrayBufferView or string",eE="Parameter exceeds max size of 255.9 Mbytes";Wa||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function $a(e){var t,r,n,o,s,i,a,f,c,l;let h=rE(),u=tE(),d={},A=new Date().getTime();return d.then=function(y){return a=y,p(),d},d.catch=function(y){return f=y,d},i=aE(e),i||E(new TypeError($x)),i&&(s=i.length,Wa&&s>mu?s>qx?E(new Error(eE)):(t=new WebAssembly.Memory({initial:s>32e6?s>64e6?s>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),o={mem:t,log:console.log},n={imports:o},WebAssembly.instantiate(Wa,n).then(m)):p(h(i))),d;function m(y){p(u(i,y.instance.exports,r))}function p(y){var T=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof a=="function"?Boolean(T)&&(a(T,l-A),a=f=null):Boolean(y)&&(c=y)}function E(y){typeof f=="function"&&f(y)}}function tE(){var e,t,r,n,o,s,i,a,f,c,l,h,u,d=function(A){var m,p,E,y,T,b,C,M,I,O,B,g,x,_,U,v,P,G,ee,Be,W,st,hn=new Date().getTime(),Br=0,S=1732584193,R=-271733879,D=-1732584194,F=271733878,te=0,un=A.length*8,po;for(po=u0(A,u),u[un>>>5]|=128<<un%32,u[(un+64>>>9<<4)+14]=un,po=(un+64>>>9<<4)+15,W=u;te<po;)po>te+mu?(n(S),s(R),a(D),c(F),t(qa),te=te+qa*16,S=r(),R=o(),D=i(),F=f(),Br++):(P=S,G=R,ee=D,Be=F,m=W[te+0]>>>0,p=W[te+1]>>>0,E=W[te+2]>>>0,y=W[te+3]>>>0,T=W[te+4]>>>0,b=W[te+5]>>>0,C=W[te+6]>>>0,M=W[te+7]>>>0,I=W[te+8]>>>0,O=W[te+9]>>>0,B=W[te+10]>>>0,g=W[te+11]>>>0,x=W[te+12]>>>0,_=W[te+13]>>>0,U=W[te+14]>>>0,v=W[te+15]>>>0,S=N(7,25,S+(R&D|~R&F)+m-680876936)+R,F=N(12,20,F+(S&R|~S&D)+p-389564586)+S,D=N(17,15,D+(F&S|~F&R)+E+606105819)+F,R=N(22,10,R+(D&F|~D&S)+y-1044525330)+D,S=N(7,25,S+(R&D|~R&F)+T-176418897)+R,F=N(12,20,F+(S&R|~S&D)+b+1200080426)+S,D=N(17,15,D+(F&S|~F&R)+C-1473231341)+F,R=N(22,10,R+(D&F|~D&S)+M-45705983)+D,S=N(7,25,S+(R&D|~R&F)+I+1770035416)+R,F=N(12,20,F+(S&R|~S&D)+O-1958414417)+S,D=N(17,15,D+(F&S|~F&R)+B-42063)+F,R=N(22,10,R+(D&F|~D&S)+g-1990404162)+D,S=N(7,25,S+(R&D|~R&F)+x+1804603682)+R,F=N(12,20,F+(S&R|~S&D)+_-40341101)+S,D=N(17,15,D+(F&S|~F&R)+U-1502002290)+F,R=N(22,10,R+(D&F|~D&S)+v+1236535329)+D,S=N(5,27,S+(R&F|D&~F)+p-165796510)+R,F=N(9,23,F+(S&D|R&~D)+C-1069501632)+S,D=N(14,18,D+(F&R|S&~R)+g+643717713)+F,R=N(20,12,R+(D&S|F&~S)+m-373897302)+D,S=N(5,27,S+(R&F|D&~F)+b-701558691)+R,F=N(9,23,F+(S&D|R&~D)+B+38016083)+S,D=N(14,18,D+(F&R|S&~R)+v-660478335)+F,R=N(20,12,R+(D&S|F&~S)+T-405537848)+D,S=N(5,27,S+(R&F|D&~F)+O+568446438)+R,F=N(9,23,F+(S&D|R&~D)+U-1019803690)+S,D=N(14,18,D+(F&R|S&~R)+y-187363961)+F,R=N(20,12,R+(D&S|F&~S)+I+1163531501)+D,S=N(5,27,S+(R&F|D&~F)+_-1444681467)+R,F=N(9,23,F+(S&D|R&~D)+E-51403784)+S,D=N(14,18,D+(F&R|S&~R)+M+1735328473)+F,R=N(20,12,R+(D&S|F&~S)+x-1926607734)+D,S=N(4,28,S+(R^D^F)+b-378558)+R,F=N(11,21,F+(S^R^D)+I-2022574463)+S,D=N(16,16,D+(F^S^R)+g+1839030562)+F,R=N(23,9,R+(D^F^S)+U-35309556)+D,S=N(4,28,S+(R^D^F)+p-1530992060)+R,F=N(11,21,F+(S^R^D)+T+1272893353)+S,D=N(16,16,D+(F^S^R)+M-155497632)+F,R=N(23,9,R+(D^F^S)+B-1094730640)+D,S=N(4,28,S+(R^D^F)+_+681279174)+R,F=N(11,21,F+(S^R^D)+m-358537222)+S,D=N(16,16,D+(F^S^R)+y-722521979)+F,R=N(23,9,R+(D^F^S)+C+76029189)+D,S=N(4,28,S+(R^D^F)+O-640364487)+R,F=N(11,21,F+(S^R^D)+x-421815835)+S,D=N(16,16,D+(F^S^R)+v+530742520)+F,R=N(23,9,R+(D^F^S)+E-995338651)+D,S=N(6,26,S+(D^(R|~F))+m-198630844)+R,F=N(10,22,F+(R^(S|~D))+M+1126891415)+S,D=N(15,17,D+(S^(F|~R))+U-1416354905)+F,R=N(21,11,R+(F^(D|~S))+b-57434055)+D,S=N(6,26,S+(D^(R|~F))+x+1700485571)+R,F=N(10,22,F+(R^(S|~D))+y-1894986606)+S,D=N(15,17,D+(S^(F|~R))+B-1051523)+F,R=N(21,11,R+(F^(D|~S))+p-2054922799)+D,S=N(6,26,S+(D^(R|~F))+I+1873313359)+R,F=N(10,22,F+(R^(S|~D))+v-30611744)+S,D=N(15,17,D+(S^(F|~R))+C-1560198380)+F,R=N(21,11,R+(F^(D|~S))+_+1309151649)+D,S=N(6,26,S+(D^(R|~F))+T-145523070)+R,F=N(10,22,F+(R^(S|~D))+g-1120210379)+S,D=N(15,17,D+(S^(F|~R))+E+718787259)+F,R=N(21,11,R+(F^(D|~S))+O-343485551)+D,te=te+16,S=S+P>>>0,R=R+G>>>0,D=D+ee>>>0,F=F+Be>>>0);return $e.endian([S,R,D,F]);function N(me,go,Ke){return Ke<<me|Ke>>>go}function u0(me,go){for(var Ke=-1,ks=Math.floor((me.length-1)/4),xe=0,Uc,Pc,Hc,kc;ks-8>Ke++;)xe=Ke<<2,go[Ke]=me[xe+0]|me[xe+1]<<8|me[xe+2]<<16|me[xe+3]<<24;for(Ke--;ks>Ke++;)xe=Ke<<2,Uc=typeof me[xe+0]>"u"?0:me[xe+0],Pc=typeof me[xe+1]>"u"?0:me[xe+1],Hc=typeof me[xe+2]>"u"?0:me[xe+2],kc=typeof me[xe+3]>"u"?0:me[xe+3],go[Ke]=Uc|Pc<<8|Hc<<16|kc<<24;return ks+1}};return function(A,m,p,E){var y;return t=m.loops,e=m.loop,r=m.getA,o=m.getB,i=m.getC,f=m.getD,l=m.getX,n=m.setA,s=m.setB,a=m.setC,c=m.setD,h=m.setX,u=p,y=$e.wordsToBytes(d(A)),E&&E.asBytes?y:$e.bytesconvertNumberToHex(y)}}function rE(){var e=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,A,m,p,E,y,T,b,C,M,I,O=new Date().getTime(),B=1732584193,g=-271733879,x=-1732584194,_=271733878,U=t.length*8;I=$e.bytesToWords(t);for(var v=0;v<I.length;v++)I[v]=(I[v]<<8|I[v]>>>24)&16711935|(I[v]<<24|I[v]>>>8)&4278255360;I[U>>>5]|=128<<U%32,I[(U+64>>>9<<4)+14]=U;for(var P=0;P<I.length;P+=16)T=B,b=g,C=x,M=_,n=I[P+0]>>>0,o=I[P+1]>>>0,s=I[P+2]>>>0,i=I[P+3]>>>0,a=I[P+4]>>>0,f=I[P+5]>>>0,c=I[P+6]>>>0,l=I[P+7]>>>0,h=I[P+8]>>>0,u=I[P+9]>>>0,d=I[P+10]>>>0,A=I[P+11]>>>0,m=I[P+12]>>>0,p=I[P+13]>>>0,E=I[P+14]>>>0,y=I[P+15]>>>0,B=G(7,25,B+(g&x|~g&_)+n-680876936)+g,_=G(12,20,_+(B&g|~B&x)+o-389564586)+B,x=G(17,15,x+(_&B|~_&g)+s+606105819)+_,g=G(22,10,g+(x&_|~x&B)+i-1044525330)+x,B=G(7,25,B+(g&x|~g&_)+a-176418897)+g,_=G(12,20,_+(B&g|~B&x)+f+1200080426)+B,x=G(17,15,x+(_&B|~_&g)+c-1473231341)+_,g=G(22,10,g+(x&_|~x&B)+l-45705983)+x,B=G(7,25,B+(g&x|~g&_)+h+1770035416)+g,_=G(12,20,_+(B&g|~B&x)+u-1958414417)+B,x=G(17,15,x+(_&B|~_&g)+d-42063)+_,g=G(22,10,g+(x&_|~x&B)+A-1990404162)+x,B=G(7,25,B+(g&x|~g&_)+m+1804603682)+g,_=G(12,20,_+(B&g|~B&x)+p-40341101)+B,x=G(17,15,x+(_&B|~_&g)+E-1502002290)+_,g=G(22,10,g+(x&_|~x&B)+y+1236535329)+x,B=G(5,27,B+(g&_|x&~_)+o-165796510)+g,_=G(9,23,_+(B&x|g&~x)+c-1069501632)+B,x=G(14,18,x+(_&g|B&~g)+A+643717713)+_,g=G(20,12,g+(x&B|_&~B)+n-373897302)+x,B=G(5,27,B+(g&_|x&~_)+f-701558691)+g,_=G(9,23,_+(B&x|g&~x)+d+38016083)+B,x=G(14,18,x+(_&g|B&~g)+y-660478335)+_,g=G(20,12,g+(x&B|_&~B)+a-405537848)+x,B=G(5,27,B+(g&_|x&~_)+u+568446438)+g,_=G(9,23,_+(B&x|g&~x)+E-1019803690)+B,x=G(14,18,x+(_&g|B&~g)+i-187363961)+_,g=G(20,12,g+(x&B|_&~B)+h+1163531501)+x,B=G(5,27,B+(g&_|x&~_)+p-1444681467)+g,_=G(9,23,_+(B&x|g&~x)+s-51403784)+B,x=G(14,18,x+(_&g|B&~g)+l+1735328473)+_,g=G(20,12,g+(x&B|_&~B)+m-1926607734)+x,B=G(4,28,B+(g^x^_)+f-378558)+g,_=G(11,21,_+(B^g^x)+h-2022574463)+B,x=G(16,16,x+(_^B^g)+A+1839030562)+_,g=G(23,9,g+(x^_^B)+E-35309556)+x,B=G(4,28,B+(g^x^_)+o-1530992060)+g,_=G(11,21,_+(B^g^x)+a+1272893353)+B,x=G(16,16,x+(_^B^g)+l-155497632)+_,g=G(23,9,g+(x^_^B)+d-1094730640)+x,B=G(4,28,B+(g^x^_)+p+681279174)+g,_=G(11,21,_+(B^g^x)+n-358537222)+B,x=G(16,16,x+(_^B^g)+i-722521979)+_,g=G(23,9,g+(x^_^B)+c+76029189)+x,B=G(4,28,B+(g^x^_)+u-640364487)+g,_=G(11,21,_+(B^g^x)+m-421815835)+B,x=G(16,16,x+(_^B^g)+y+530742520)+_,g=G(23,9,g+(x^_^B)+s-995338651)+x,B=G(6,26,B+(x^(g|~_))+n-198630844)+g,_=G(10,22,_+(g^(B|~x))+l+1126891415)+B,x=G(15,17,x+(B^(_|~g))+E-1416354905)+_,g=G(21,11,g+(_^(x|~B))+f-57434055)+x,B=G(6,26,B+(x^(g|~_))+m+1700485571)+g,_=G(10,22,_+(g^(B|~x))+i-1894986606)+B,x=G(15,17,x+(B^(_|~g))+d-1051523)+_,g=G(21,11,g+(_^(x|~B))+o-2054922799)+x,B=G(6,26,B+(x^(g|~_))+h+1873313359)+g,_=G(10,22,_+(g^(B|~x))+y-30611744)+B,x=G(15,17,x+(B^(_|~g))+c-1560198380)+_,g=G(21,11,g+(_^(x|~B))+p+1309151649)+x,B=G(6,26,B+(x^(g|~_))+a-145523070)+g,_=G(10,22,_+(g^(B|~x))+A-1120210379)+B,x=G(15,17,x+(B^(_|~g))+s+718787259)+_,g=G(21,11,g+(_^(x|~B))+u-343485551)+x,B=B+T>>>0,g=g+b>>>0,x=x+C>>>0,_=_+M>>>0;return $e.endian([B,g,x,_]);function G(ee,Be,W){return W<<ee|W>>>Be}};return function(t,r){var n=$e.wordsToBytes(e(t,r)),o=r&&r.asBytes?n:$e.bytesconvertNumberToHex(n);return o}}function nE(e){try{return oE(e)}catch{return null}}function oE(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?iE(atob(t)):sE(t)}function sE(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),o=0,s=0,i,a,f,c;s<e.length;){if(i=Cs.indexOf(e.charAt(s++)),a=Cs.indexOf(e.charAt(s++)),f=Cs.indexOf(e.charAt(s++)),c=Cs.indexOf(e.charAt(s++)),i<0||a<0||f<0||c<0)throw new TypeError("Invalid base64 input");n[o++]=i<<2|a>>4,f<64&&o<r&&(n[o++]=(a&15)<<4|f>>2),c<64&&o<r&&(n[o++]=(f&3)<<6|c)}return n}function iE(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function aE(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function cE(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return $e.rotl(t,8)&16711935|$e.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=$e.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,o=0;n<t.length;n++,o+=8)r[o>>>5]|=t[n]<<24-o%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var ir=class extends ys{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let o=await new Promise((s,i)=>$a(t).then(s).catch(i));return du(o,r)}};var qr=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){mn(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Bn(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var Wn=class extends qr{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var mr=xr(r0(),1),Bt=xr(n0(),1),pr=class extends qr{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await br(Bt.default.gzip)(t):await br(Bt.default.deflate)(t);return _t(r)}return this.compressSync(t)}async decompress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await br(Bt.default.gunzip)(t):await br(Bt.default.inflate)(t);return _t(r)}return this.decompressSync(t)}compressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gzipSync(t):Bt.default.deflateSync(t);return _t(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.deflateRaw:mr.default.deflate;return _t(o(n,r).buffer)}decompressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gunzipSync(t):Bt.default.inflateSync(t);return _t(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.inflateRaw:mr.default.inflate;return _t(o(n,r).buffer)}async*compressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let i of r){let a=new Uint8Array(i);if(!t.push(a,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),o=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var t2={0:async e=>e,8:async e=>await new pr({raw:!0}).decompress(e)},Hs=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,Ee)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new yn(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new En(t):t instanceof gr?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Wr(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let o=await this.getCDFileHeader(t),s=await sr(o.localHeaderOffset,this.file);if(!s)throw new Error("Local file header has not been found in the zip archive`");let i=t2[s.compressionMethod.toString()];if(!i)throw Error("Only Deflation compression is supported");let a=await ie(this.file,s.fileDataOffset,s.fileDataOffset+s.compressedSize);r=await i(a)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Wr(this.file),n=null;for await(let o of r)if(o.fileName===t){n=o;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var gr=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Hs(this.file).fetch(t)).arrayBuffer()}};function Lc(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let o=t.getBigUint64(n+16,!0),s=r2(e,n,16);r[s]=o}return r}function r2(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function Gc(e){let t=Wr(e);return n2(t)}async function n2(e){let t=new ir,r=new TextEncoder,n={};for await(let o of e){let s=o.fileName.split("\\").join("/").toLocaleLowerCase(),i=r.encode(s).buffer,a=await t.hash(i,"hex");n[a]=o.localHeaderOffset}return n}var o2={0:e=>new Wn().decompress(e),8:e=>new pr({raw:!0}).decompress(e)},ln=class extends gr{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,o=await new ir().hash(n,"hex"),s=this.hashTable[o];if(s===void 0)return null;let i=await sr(s,this.file);if(!i)return null;let a=await ie(this.file,i.fileDataOffset,i.fileDataOffset+i.compressedSize),f=o2[i.compressionMethod];if(!f)throw Error("Only Deflation compression is supported");r=await f(a)}else r=await this.getFileWithoutHash(t);return r}};var o0=async(e,t)=>{let r=await Xn(e,Yn),n=await Zn(r,e),o;if(n?.fileName!=="@3dtilesIndex1@")o=await Gc(e),t?.("3tz doesnt contain hash file, hash info has been composed according to zip archive headers");else{let s=await sr(n.localHeaderOffset,e);if(!s)throw new Error("corrupted 3tz zip archive");let i=s.fileDataOffset,a=await ie(e,i,i+s.compressedSize);o=Lc(a)}return new ln(e,o)};var s2="4.4.0-alpha.15",s0={dataType:null,batchType:null,name:"3tz",id:"3tz",module:"3d-tiles",version:s2,mimeTypes:["application/octet-stream","application/vnd.maxar.archive.3tz+zip"],parse:i2,extensions:["3tz"],options:{}};async function i2(e,t={}){return(await o0(new nr(new DataView(e)))).getFile(t["3d-tiles-archive"]?.path??"")}function Ht(e,t,r){if(!t)return r+12;let{magic:o,version:s=1,byteLength:i=12}=e;return z(Array.isArray(o)&&Number.isFinite(s)&&Number.isFinite(i)),t.setUint8(r+0,o[0]),t.setUint8(r+1,o[1]),t.setUint8(r+2,o[2]),t.setUint8(r+3,o[3]),t.setUint32(r+4,s,!0),t.setUint32(r+8,i,!0),r+=12,r}function kt(e,t,r){e&&e.setUint32(t+8,r,!0)}function i0(e,t,r,n,o){e={magic:Rt.COMPOSITE,tiles:[],...e};let s=r;r+=Ht(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let i=0;i<e.tiles.length;++i)r+=o(e.tiles[i],t,r,n);return kt(t,s,r-s),r}function a0(e,t,r,n){let{featuresLength:o=0,batchTable:s}=e,a=JSON.stringify({BATCH_LENGTH:o}),f=s?JSON.stringify(s):"",c=be(a.length,8),l=f?be(f.length,8):0;e={magic:Rt.BATCHED_MODEL,...e};let h=r;r=Ht(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=wo(t,r,a,8),s&&(r=wo(t,r,f,8));let u=e.gltfEncoded;return u&&(r=gn(t,r,u,u.byteLength)),kt(t,h,r-h),r}function c0(e,t,r,n){let{featuresLength:o=1,gltfFormat:s=1,gltfUri:i=""}=e,a=i.length,f={INSTANCES_LENGTH:o,POSITION:new Array(o*3).fill(0)},c=JSON.stringify(f),l=c.length;e={magic:Rt.INSTANCED_MODEL,...e};let h=r;return r=Ht(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,s,!0)),r+=20,r+=Tr(t,r,c,l),r+=Tr(t,r,i,a),kt(t,h,r-h),r}var a2={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function f0(e,t,r,n){let{featureTableJson:o=a2}=e,s=JSON.stringify(o);s=Ws(s,4);let{featureTableJsonByteLength:i=s.length}=e,a=new ArrayBuffer(12),f=a.byteLength;e={magic:Rt.POINT_CLOUD,...e};let c=r;return r+=Ht(e,t,0),t&&(t.setUint32(r+0,i,!0),t.setUint32(r+4,f,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=Tr(t,r,s,i),r+=gn(t,r,a,f),kt(t,c,r-c),r}function vc(e,t){let r=Nc(e,null,0,t),n=new ArrayBuffer(r),o=new DataView(n);return Nc(e,o,0,t),n}function Nc(e,t,r,n){switch(z(typeof e.type=="string"),e.type){case _e.COMPOSITE:return i0(e,t,r,n,Nc);case _e.POINT_CLOUD:return f0(e,t,r,n);case _e.BATCHED_3D_MODEL:return a0(e,t,r,n);case _e.INSTANCED_3D_MODEL:return c0(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var h0={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Or,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>l0(e,t),encodeSync:l0};function l0(e,t){return vc(e,t)}return B0(mo);})();
|
|
8
8
|
/*! Bundled license information:
|
|
9
9
|
|
|
10
10
|
long/index.js:
|