@woosh/meep-engine 2.113.1 → 2.113.2

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.
@@ -1 +1 @@
1
- function t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([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]),i=new Uint8Array([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]),n=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),r=new Array(576);t(r);const s=new Array(60);t(s);const o=new Array(512);t(o);const h=new Array(256);t(h);const l=new Array(29);t(l);const d=new Array(30);function c(t,e,i,n,a){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=a,this.has_stree=t&&t.length}let f,u,_;function p(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const w=t=>t<256?o[t]:o[256+(t>>>7)],g=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},b=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,g(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)},m=(t,e,i)=>{b(t,i[2*e],i[2*e+1])},y=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},k=(t,e,i)=>{const n=new Array(16);let a,r,s=0;for(a=1;a<=15;a++)n[a]=s=s+i[a-1]<<1;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=y(n[e]++,e))}},v=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},x=t=>{t.bi_valid>8?g(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},A=(t,e,i,n)=>{const a=2*e,r=2*i;return t[a]<t[r]||t[a]===t[r]&&n[e]<=n[i]},E=(t,e,i)=>{const n=t.heap[i];let a=i<<1;for(;a<=t.heap_len&&(a<t.heap_len&&A(e,t.heap[a+1],t.heap[a],t.depth)&&a++,!A(e,n,t.heap[a],t.depth));)t.heap[i]=t.heap[a],i=a,a<<=1;t.heap[i]=n},U=(t,n,a)=>{let r,s,o,c,f=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*f]<<8|t.pending_buf[t.d_buf+2*f+1],s=t.pending_buf[t.l_buf+f],f++,0===r?m(t,s,n):(o=h[s],m(t,o+256+1,n),c=e[o],0!==c&&(s-=l[o],b(t,s,c)),r--,o=w(r),m(t,o,a),c=i[o],0!==c&&(r-=d[o],b(t,r,c)))}while(f<t.last_lit);m(t,256,n)},I=(t,e)=>{const i=e.dyn_tree,n=e.stat_desc.static_tree,a=e.stat_desc.has_stree,r=e.stat_desc.elems;let s,o,h,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<r;s++)0!==i[2*s]?(t.heap[++t.heap_len]=l=s,t.depth[s]=0):i[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=l<2?++l:0,i[2*h]=1,t.depth[h]=0,t.opt_len--,a&&(t.static_len-=n[2*h+1]);for(e.max_code=l,s=t.heap_len>>1;s>=1;s--)E(t,i,s);h=r;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],E(t,i,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,i[2*h]=i[2*s]+i[2*o],t.depth[h]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,i[2*s+1]=i[2*o+1]=h,t.heap[1]=h++,E(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,a=e.stat_desc.static_tree,r=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let l,d,c,f,u,_,p=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(i[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)d=t.heap[l],f=i[2*i[2*d+1]+1]+1,f>h&&(f=h,p++),i[2*d+1]=f,d>n||(t.bl_count[f]++,u=0,d>=o&&(u=s[d-o]),_=i[2*d],t.opt_len+=_*(f+u),r&&(t.static_len+=_*(a[2*d+1]+u)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(d=t.bl_count[f];0!==d;)c=t.heap[--l],c>n||(i[2*c+1]!==f&&(t.opt_len+=(f-i[2*c+1])*i[2*c],i[2*c+1]=f),d--)}})(t,e),k(i,l,t.bl_count)},z=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)a=s,s=e[2*(n+1)+1],++o<h&&a===s||(o<l?t.bl_tree[2*a]+=o:0!==a?(a!==r&&t.bl_tree[2*a]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4))},S=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),n=0;n<=i;n++)if(a=s,s=e[2*(n+1)+1],!(++o<h&&a===s)){if(o<l)do{m(t,a,t.bl_tree)}while(0!=--o);else 0!==a?(a!==r&&(m(t,a,t.bl_tree),o--),m(t,16,t.bl_tree),b(t,o-3,2)):o<=10?(m(t,17,t.bl_tree),b(t,o-3,3)):(m(t,18,t.bl_tree),b(t,o-11,7));o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4)}};let T=!1;const C=(t,e,i,n)=>{b(t,0+(n?1:0),3),((t,e,i,n)=>{x(t),g(t,i),g(t,~i),t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i})(t,e,i)};var R={_tr_init:t=>{T||((()=>{let t,a,p,w,g;const b=new Array(16);for(p=0,w=0;w<28;w++)for(l[w]=p,t=0;t<1<<e[w];t++)h[p++]=w;for(h[p-1]=w,g=0,w=0;w<16;w++)for(d[w]=g,t=0;t<1<<i[w];t++)o[g++]=w;for(g>>=7;w<30;w++)for(d[w]=g<<7,t=0;t<1<<i[w]-7;t++)o[256+g++]=w;for(a=0;a<=15;a++)b[a]=0;for(t=0;t<=143;)r[2*t+1]=8,t++,b[8]++;for(;t<=255;)r[2*t+1]=9,t++,b[9]++;for(;t<=279;)r[2*t+1]=7,t++,b[7]++;for(;t<=287;)r[2*t+1]=8,t++,b[8]++;for(k(r,287,b),t=0;t<30;t++)s[2*t+1]=5,s[2*t]=y(t,5);f=new c(r,e,257,286,15),u=new c(s,i,0,30,15),_=new c(new Array(0),n,0,19,7)})(),T=!0),t.l_desc=new p(t.dyn_ltree,f),t.d_desc=new p(t.dyn_dtree,u),t.bl_desc=new p(t.bl_tree,_),t.bi_buf=0,t.bi_valid=0,v(t)},_tr_stored_block:C,_tr_flush_block:(t,e,i,n)=>{let o,h,l=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),I(t,t.l_desc),I(t,t.d_desc),l=(t=>{let e;for(z(t,t.dyn_ltree,t.l_desc.max_code),z(t,t.dyn_dtree,t.d_desc.max_code),I(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*a[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,h=t.static_len+3+7>>>3,h<=o&&(o=h)):o=h=i+5,i+4<=o&&-1!==e?C(t,e,i,n):4===t.strategy||h===o?(b(t,2+(n?1:0),3),U(t,r,s)):(b(t,4+(n?1:0),3),((t,e,i,n)=>{let r;for(b(t,e-257,5),b(t,i-1,5),b(t,n-4,4),r=0;r<n;r++)b(t,t.bl_tree[2*a[r]+1],3);S(t,t.dyn_ltree,e-1),S(t,t.dyn_dtree,i-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,l+1),U(t,t.dyn_ltree,t.dyn_dtree)),v(t),n&&x(t)},_tr_tally:(t,e,i)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(h[i]+256+1)]++,t.dyn_dtree[2*w(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{b(t,2,3),m(t,256,r),(t=>{16===t.bi_valid?(g(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}},F=(t,e,i,n)=>{let a=65535&t|0,r=t>>>16&65535|0,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{a=a+e[n++]|0,r=r+a|0}while(--s);a%=65521,r%=65521}return a|r<<16|0};const B=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var N=(t,e,i,n)=>{const a=B,r=n+i;t^=-1;for(let i=n;i<r;i++)t=t>>>8^a[255&(t^e[i])];return-1^t},D={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"},Z={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_MEM_ERROR:-4,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};const{_tr_init:L,_tr_stored_block:O,_tr_flush_block:V,_tr_tally:$,_tr_align:M}=R,{Z_NO_FLUSH:H,Z_PARTIAL_FLUSH:P,Z_FULL_FLUSH:j,Z_FINISH:G,Z_BLOCK:K,Z_OK:X,Z_STREAM_END:Y,Z_STREAM_ERROR:q,Z_DATA_ERROR:W,Z_BUF_ERROR:J,Z_DEFAULT_COMPRESSION:Q,Z_FILTERED:tt,Z_HUFFMAN_ONLY:et,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:at,Z_UNKNOWN:rt,Z_DEFLATED:st}=Z,ot=258,ht=262,lt=103,dt=113,ct=666,ft=(t,e)=>(t.msg=D[e],e),ut=t=>(t<<1)-(t>4?9:0),_t=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let pt=(t,e,i)=>(e<<t.hash_shift^i)&t.hash_mask;const wt=t=>{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},gt=(t,e)=>{V(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,wt(t.strm)},bt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},yt=(t,e,i,n)=>{let a=t.avail_in;return a>n&&(a=n),0===a?0:(t.avail_in-=a,e.set(t.input.subarray(t.next_in,t.next_in+a),i),1===t.state.wrap?t.adler=F(t.adler,e,a,i):2===t.state.wrap&&(t.adler=N(t.adler,e,a,i)),t.next_in+=a,t.total_in+=a,a)},kt=(t,e)=>{let i,n,a=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,l=t.window,d=t.w_mask,c=t.prev,f=t.strstart+ot;let u=l[r+s-1],_=l[r+s];t.prev_length>=t.good_match&&(a>>=2),o>t.lookahead&&(o=t.lookahead);do{if(i=e,l[i+s]===_&&l[i+s-1]===u&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do{}while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(n=ot-(f-r),r=f-ot,n>s){if(t.match_start=e,s=n,n>=o)break;u=l[r+s-1],_=l[r+s]}}}while((e=c[e&d])>h&&0!=--a);return s<=t.lookahead?s:t.lookahead},vt=t=>{const e=t.w_size;let i,n,a,r,s;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ht)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,i=n;do{a=t.head[--i],t.head[i]=a>=e?a-e:0}while(--n);n=e,i=n;do{a=t.prev[--i],t.prev[i]=a>=e?a-e:0}while(--n);r+=e}if(0===t.strm.avail_in)break;if(n=yt(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=pt(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=pt(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<ht&&0!==t.strm.avail_in)},xt=(t,e)=>{let i,n;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i)),t.match_length>=3)if(n=$(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=pt(t,t.ins_h,t.window[t.strstart+1]);else n=$(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2},At=(t,e)=>{let i,n,a;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i),t.match_length<=5&&(t.strategy===tt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){a=t.strstart+t.lookahead-3,n=$(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=a&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(gt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=$(t,0,t.window[t.strstart-1]),n&&gt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=$(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2};function Et(t,e,i,n,a){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=a}const Ut=[new Et(0,0,0,0,((t,e)=>{let i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(vt(t),0===t.lookahead&&e===H)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const n=t.block_start+i;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,gt(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-ht&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(gt(t,!1),t.strm.avail_out),1)})),new Et(4,4,8,4,xt),new Et(4,5,16,8,xt),new Et(4,6,32,32,xt),new Et(4,4,16,16,At),new Et(8,16,32,32,At),new Et(8,16,128,128,At),new Et(8,32,128,256,At),new Et(32,128,258,1024,At),new Et(32,258,258,4096,At)];function It(){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=st,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 Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),_t(this.dyn_ltree),_t(this.dyn_dtree),_t(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),_t(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),_t(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}const zt=t=>{if(!t||!t.state)return ft(t,q);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:dt,t.adler=2===e.wrap?0:1,e.last_flush=H,L(e),X},St=t=>{const e=zt(t);var i;return e===X&&((i=t.state).window_size=2*i.w_size,_t(i.head),i.max_lazy_match=Ut[i.level].max_lazy,i.good_match=Ut[i.level].good_length,i.nice_match=Ut[i.level].nice_length,i.max_chain_length=Ut[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},Tt=(t,e,i,n,a,r)=>{if(!t)return q;let s=1;if(e===Q&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),a<1||a>9||i!==st||n<8||n>15||e<0||e>9||r<0||r>nt)return ft(t,q);8===n&&(n=9);const o=new It;return t.state=o,o.strm=t,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=a+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<a+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=r,o.method=i,St(t)};var Ct={deflateInit:(t,e)=>Tt(t,e,st,15,8,at),deflateInit2:Tt,deflateReset:St,deflateResetKeep:zt,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?q:(t.state.gzhead=e,X):q,deflate:(t,e)=>{let i,n;if(!t||!t.state||e>K||e<0)return t?ft(t,q):q;const a=t.state;if(!t.output||!t.input&&0!==t.avail_in||a.status===ct&&e!==G)return ft(t,0===t.avail_out?J:q);a.strm=t;const r=a.last_flush;if(a.last_flush=e,42===a.status)if(2===a.wrap)t.adler=0,bt(a,31),bt(a,139),bt(a,8),a.gzhead?(bt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),bt(a,255&a.gzhead.time),bt(a,a.gzhead.time>>8&255),bt(a,a.gzhead.time>>16&255),bt(a,a.gzhead.time>>24&255),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(bt(a,255&a.gzhead.extra.length),bt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=N(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69):(bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,3),a.status=dt);else{let e=st+(a.w_bits-8<<4)<<8,i=-1;i=a.strategy>=et||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,a.status=dt,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1}if(69===a.status)if(a.gzhead.extra){for(i=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending!==a.pending_buf_size));)bt(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=73)}else a.status=73;if(73===a.status)if(a.gzhead.name){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.gzindex=0,a.status=91)}else a.status=91;if(91===a.status)if(a.gzhead.comment){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.status=lt)}else a.status=lt;if(a.status===lt&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&wt(t),a.pending+2<=a.pending_buf_size&&(bt(a,255&t.adler),bt(a,t.adler>>8&255),t.adler=0,a.status=dt)):a.status=dt),0!==a.pending){if(wt(t),0===t.avail_out)return a.last_flush=-1,X}else if(0===t.avail_in&&ut(e)<=ut(r)&&e!==G)return ft(t,J);if(a.status===ct&&0!==t.avail_in)return ft(t,J);if(0!==t.avail_in||0!==a.lookahead||e!==H&&a.status!==ct){let i=a.strategy===et?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(vt(t),0===t.lookahead)){if(e===H)return 1;break}if(t.match_length=0,i=$(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let i,n,a,r;const s=t.window;for(;;){if(t.lookahead<=ot){if(vt(t),t.lookahead<=ot&&e===H)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=t.strstart-1,n=s[a],n===s[++a]&&n===s[++a]&&n===s[++a])){r=t.strstart+ot;do{}while(n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&a<r);t.match_length=ot-(r-a),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=$(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=$(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):Ut[a.level].func(a,e);if(3!==i&&4!==i||(a.status=ct),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),X;if(2===i&&(e===P?M(a):e!==K&&(O(a,0,0,!1),e===j&&(_t(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),wt(t),0===t.avail_out))return a.last_flush=-1,X}return e!==G?X:a.wrap<=0?Y:(2===a.wrap?(bt(a,255&t.adler),bt(a,t.adler>>8&255),bt(a,t.adler>>16&255),bt(a,t.adler>>24&255),bt(a,255&t.total_in),bt(a,t.total_in>>8&255),bt(a,t.total_in>>16&255),bt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),wt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?X:Y)},deflateEnd:t=>{if(!t||!t.state)return q;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==lt&&e!==dt&&e!==ct?ft(t,q):(t.state=null,e===dt?ft(t,W):X)},deflateSetDictionary:(t,e)=>{let i=e.length;if(!t||!t.state)return q;const n=t.state,a=n.wrap;if(2===a||1===a&&42!==n.status||n.lookahead)return q;if(1===a&&(t.adler=F(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===a&&(_t(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const r=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,vt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=pt(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,vt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=r,n.wrap=a,X},deflateInfo:"pako deflate (from Nodeca project)"};const Rt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Ft={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Rt(i,e)&&(t[e]=i[e])}}return t},flattenChunks:t=>{let e=0;for(let i=0,n=t.length;i<n;i++)e+=t[i].length;const i=new Uint8Array(e);for(let e=0,n=0,a=t.length;e<a;e++){let a=t[e];i.set(a,n),n+=a.length}return i}};let Bt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Bt=!1}const Nt=new Uint8Array(256);for(let t=0;t<256;t++)Nt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Nt[254]=Nt[254]=1;var Dt={string2buf:t=>{let e,i,n,a,r,s=t.length,o=0;for(a=0;a<s;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),o+=i<128?1:i<2048?2:i<65536?3:4;for(e=new Uint8Array(o),r=0,a=0;r<o;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),i<128?e[r++]=i:i<2048?(e[r++]=192|i>>>6,e[r++]=128|63&i):i<65536?(e[r++]=224|i>>>12,e[r++]=128|i>>>6&63,e[r++]=128|63&i):(e[r++]=240|i>>>18,e[r++]=128|i>>>12&63,e[r++]=128|i>>>6&63,e[r++]=128|63&i);return e},buf2string:(t,e)=>{let i,n;const a=e||t.length,r=new Array(2*a);for(n=0,i=0;i<a;){let e=t[i++];if(e<128){r[n++]=e;continue}let s=Nt[e];if(s>4)r[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<a;)e=e<<6|63&t[i++],s--;s>1?r[n++]=65533:e<65536?r[n++]=e:(e-=65536,r[n++]=55296|e>>10&1023,r[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Bt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return i})(r,n)},utf8border:(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+Nt[t[i]]>e?i:e}},Zt=function(){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};const Lt=Object.prototype.toString,{Z_NO_FLUSH:Ot,Z_SYNC_FLUSH:Vt,Z_FULL_FLUSH:$t,Z_FINISH:Mt,Z_OK:Ht,Z_STREAM_END:Pt,Z_DEFAULT_COMPRESSION:jt,Z_DEFAULT_STRATEGY:Gt,Z_DEFLATED:Kt}=Z;function Xt(t){this.options=Ft.assign({level:jt,method:Kt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Gt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=Ct.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Ht)throw new Error(D[i]);if(e.header&&Ct.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Dt.string2buf(e.dictionary):"[object ArrayBuffer]"===Lt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=Ct.deflateSetDictionary(this.strm,t),i!==Ht)throw new Error(D[i]);this._dict_set=!0}}function Yt(t,e){const i=new Xt(e);if(i.push(t,!0),i.err)throw i.msg||D[i.err];return i.result}Xt.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let a,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Mt:Ot,"string"==typeof t?i.input=Dt.string2buf(t):"[object ArrayBuffer]"===Lt.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(r===Vt||r===$t)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(a=Ct.deflate(i,r),a===Pt)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),a=Ct.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Ht;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},Xt.prototype.onData=function(t){this.chunks.push(t)},Xt.prototype.onEnd=function(t){t===Ht&&(this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var qt={Deflate:Xt,deflate:Yt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Yt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Yt(t,e)},constants:Z},Wt=function(t,e){let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,A,E;const U=t.state;i=t.next_in,A=t.input,n=i+(t.avail_in-5),a=t.next_out,E=t.output,r=a-(e-t.avail_out),s=a+(t.avail_out-257),o=U.dmax,h=U.wsize,l=U.whave,d=U.wnext,c=U.window,f=U.hold,u=U.bits,_=U.lencode,p=U.distcode,w=(1<<U.lenbits)-1,g=(1<<U.distbits)-1;t:do{u<15&&(f+=A[i++]<<u,u+=8,f+=A[i++]<<u,u+=8),b=_[f&w];e:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,0===m)E[a++]=65535&b;else{if(!(16&m)){if(0==(64&m)){b=_[(65535&b)+(f&(1<<m)-1)];continue e}if(32&m){U.mode=12;break t}t.msg="invalid literal/length code",U.mode=30;break t}y=65535&b,m&=15,m&&(u<m&&(f+=A[i++]<<u,u+=8),y+=f&(1<<m)-1,f>>>=m,u-=m),u<15&&(f+=A[i++]<<u,u+=8,f+=A[i++]<<u,u+=8),b=p[f&g];i:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,!(16&m)){if(0==(64&m)){b=p[(65535&b)+(f&(1<<m)-1)];continue i}t.msg="invalid distance code",U.mode=30;break t}if(k=65535&b,m&=15,u<m&&(f+=A[i++]<<u,u+=8,u<m&&(f+=A[i++]<<u,u+=8)),k+=f&(1<<m)-1,k>o){t.msg="invalid distance too far back",U.mode=30;break t}if(f>>>=m,u-=m,m=a-r,k>m){if(m=k-m,m>l&&U.sane){t.msg="invalid distance too far back",U.mode=30;break t}if(v=0,x=c,0===d){if(v+=h-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}else if(d<m){if(v+=h+d-m,m-=d,m<y){y-=m;do{E[a++]=c[v++]}while(--m);if(v=0,d<y){m=d,y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}}else if(v+=d-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}for(;y>2;)E[a++]=x[v++],E[a++]=x[v++],E[a++]=x[v++],y-=3;y&&(E[a++]=x[v++],y>1&&(E[a++]=x[v++]))}else{v=a-k;do{E[a++]=E[v++],E[a++]=E[v++],E[a++]=E[v++],y-=3}while(y>2);y&&(E[a++]=E[v++],y>1&&(E[a++]=E[v++]))}break}}break}}while(i<n&&a<s);y=u>>3,i-=y,u-=y<<3,f&=(1<<u)-1,t.next_in=i,t.next_out=a,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=a<s?s-a+257:257-(a-s),U.hold=f,U.bits=u};const Jt=new Uint16Array([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]),Qt=new Uint8Array([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]),te=new Uint16Array([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]),ee=new Uint8Array([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]);var ie=(t,e,i,n,a,r,s,o)=>{const h=o.bits;let l,d,c,f,u,_,p=0,w=0,g=0,b=0,m=0,y=0,k=0,v=0,x=0,A=0,E=null,U=0;const I=new Uint16Array(16),z=new Uint16Array(16);let S,T,C,R=null,F=0;for(p=0;p<=15;p++)I[p]=0;for(w=0;w<n;w++)I[e[i+w]]++;for(m=h,b=15;b>=1&&0===I[b];b--);if(m>b&&(m=b),0===b)return a[r++]=20971520,a[r++]=20971520,o.bits=1,0;for(g=1;g<b&&0===I[g];g++);for(m<g&&(m=g),v=1,p=1;p<=15;p++)if(v<<=1,v-=I[p],v<0)return-1;if(v>0&&(0===t||1!==b))return-1;for(z[1]=0,p=1;p<15;p++)z[p+1]=z[p]+I[p];for(w=0;w<n;w++)0!==e[i+w]&&(s[z[e[i+w]]++]=w);if(0===t?(E=R=s,_=19):1===t?(E=Jt,U-=257,R=Qt,F-=257,_=256):(E=te,R=ee,_=-1),A=0,w=0,p=g,u=r,y=m,k=0,c=-1,x=1<<m,f=x-1,1===t&&x>852||2===t&&x>592)return 1;for(;;){S=p-k,s[w]<_?(T=0,C=s[w]):s[w]>_?(T=R[F+s[w]],C=E[U+s[w]]):(T=96,C=0),l=1<<p-k,d=1<<y,g=d;do{d-=l,a[u+(A>>k)+d]=S<<24|T<<16|C|0}while(0!==d);for(l=1<<p-1;A&l;)l>>=1;if(0!==l?(A&=l-1,A+=l):A=0,w++,0==--I[p]){if(p===b)break;p=e[i+s[w]]}if(p>m&&(A&f)!==c){for(0===k&&(k=m),u+=g,y=p-k,v=1<<y;y+k<b&&(v-=I[y+k],!(v<=0));)y++,v<<=1;if(x+=1<<y,1===t&&x>852||2===t&&x>592)return 1;c=A&f,a[c]=m<<24|y<<16|u-r|0}}return 0!==A&&(a[u+A]=p-k<<24|64<<16|0),o.bits=m,0};const{Z_FINISH:ne,Z_BLOCK:ae,Z_TREES:re,Z_OK:se,Z_STREAM_END:oe,Z_NEED_DICT:he,Z_STREAM_ERROR:le,Z_DATA_ERROR:de,Z_MEM_ERROR:ce,Z_BUF_ERROR:fe,Z_DEFLATED:ue}=Z,_e=12,pe=30,we=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){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 Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const be=t=>{if(!t||!t.state)return le;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,se},me=t=>{if(!t||!t.state)return le;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,be(t)},ye=(t,e)=>{let i;if(!t||!t.state)return le;const n=t.state;return e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?le:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,me(t))},ke=(t,e)=>{if(!t)return le;const i=new ge;t.state=i,i.window=null;const n=ye(t,e);return n!==se&&(t.state=null),n};let ve,xe,Ae=!0;const Ee=t=>{if(Ae){ve=new Int32Array(512),xe=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ie(1,t.lens,0,288,ve,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ie(2,t.lens,0,32,xe,0,t.work,{bits:5}),Ae=!1}t.lencode=ve,t.lenbits=9,t.distcode=xe,t.distbits=5},Ue=(t,e,i,n)=>{let a;const r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),n>=r.wsize?(r.window.set(e.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,a>n&&(a=n),r.window.set(e.subarray(i-n,i-n+a),r.wnext),(n-=a)?(r.window.set(e.subarray(i-n,i),0),r.wnext=n,r.whave=r.wsize):(r.wnext+=a,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=a))),0};var Ie={inflateReset:me,inflateReset2:ye,inflateResetKeep:be,inflateInit:t=>ke(t,15),inflateInit2:ke,inflate:(t,e)=>{let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,A=0;const E=new Uint8Array(4);let U,I;const z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return le;i=t.state,i.mode===_e&&(i.mode=13),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,c=o,f=h,x=se;t:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(2&i.wrap&&35615===l){i.check=0,E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0),l=0,d=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",i.mode=pe;break}if((15&l)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(l>>>=4,d-=4,v=8+(15&l),0===i.wbits)i.wbits=v;else if(v>i.wbits){t.msg="invalid window size",i.mode=pe;break}i.dmax=1<<i.wbits,t.adler=i.check=1,i.mode=512&l?10:_e,l=0,d=0;break;case 2:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.flags=l,(255&i.flags)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(57344&i.flags){t.msg="unknown header flags set",i.mode=pe;break}i.head&&(i.head.text=l>>8&1),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0)),l=0,d=0,i.mode=3;case 3:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.time=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,E[2]=l>>>16&255,E[3]=l>>>24&255,i.check=N(i.check,E,4,0)),l=0,d=0,i.mode=4;case 4:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.xflags=255&l,i.head.os=l>>8),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0)),l=0,d=0,i.mode=5;case 5:if(1024&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length=l,i.head&&(i.head.extra_len=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0)),l=0,d=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(u=i.length,u>o&&(u=o),u&&(i.head&&(v=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(r,r+u),v)),512&i.flags&&(i.check=N(i.check,n,u,r)),o-=u,r+=u,i.length-=u),i.length))break t;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.name+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=N(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.comment+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=N(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(65535&i.check)){t.msg="header crc mismatch",i.mode=pe;break}l=0,d=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=_e;break;case 10:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}t.adler=i.check=we(l),l=0,d=0,i.mode=11;case 11:if(0===i.havedict)return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,he;t.adler=i.check=1,i.mode=_e;case _e:if(e===ae||e===re)break t;case 13:if(i.last){l>>>=7&d,d-=7&d,i.mode=27;break}for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}switch(i.last=1&l,l>>>=1,d-=1,3&l){case 0:i.mode=14;break;case 1:if(Ee(i),i.mode=20,e===re){l>>>=2,d-=2;break t}break;case 2:i.mode=17;break;case 3:t.msg="invalid block type",i.mode=pe}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if((65535&l)!=(l>>>16^65535)){t.msg="invalid stored block lengths",i.mode=pe;break}if(i.length=65535&l,l=0,d=0,i.mode=15,e===re)break t;case 15:i.mode=16;case 16:if(u=i.length,u){if(u>o&&(u=o),u>h&&(u=h),0===u)break t;a.set(n.subarray(r,r+u),s),o-=u,r+=u,h-=u,s+=u,i.length-=u;break}i.mode=_e;break;case 17:for(;d<14;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.nlen=257+(31&l),l>>>=5,d-=5,i.ndist=1+(31&l),l>>>=5,d-=5,i.ncode=4+(15&l),l>>>=4,d-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=pe;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.lens[z[i.have++]]=7&l,l>>>=3,d-=3}for(;i.have<19;)i.lens[z[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,U={bits:i.lenbits},x=ie(0,i.lens,0,19,i.lencode,0,i.work,U),i.lenbits=U.bits,x){t.msg="invalid code lengths set",i.mode=pe;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;A=i.lencode[l&(1<<i.lenbits)-1],w=A>>>24,g=A>>>16&255,b=65535&A,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(b<16)l>>>=w,d-=w,i.lens[i.have++]=b;else{if(16===b){for(I=w+2;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l>>>=w,d-=w,0===i.have){t.msg="invalid bit length repeat",i.mode=pe;break}v=i.lens[i.have-1],u=3+(3&l),l>>>=2,d-=2}else if(17===b){for(I=w+3;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=3+(7&l),l>>>=3,d-=3}else{for(I=w+7;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=11+(127&l),l>>>=7,d-=7}if(i.have+u>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=pe;break}for(;u--;)i.lens[i.have++]=v}}if(i.mode===pe)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=pe;break}if(i.lenbits=9,U={bits:i.lenbits},x=ie(1,i.lens,0,i.nlen,i.lencode,0,i.work,U),i.lenbits=U.bits,x){t.msg="invalid literal/lengths set",i.mode=pe;break}if(i.distbits=6,i.distcode=i.distdyn,U={bits:i.distbits},x=ie(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,U),i.distbits=U.bits,x){t.msg="invalid distances set",i.mode=pe;break}if(i.mode=20,e===re)break t;case 20:i.mode=21;case 21:if(o>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,Wt(t,f),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,i.mode===_e&&(i.back=-1);break}for(i.back=0;A=i.lencode[l&(1<<i.lenbits)-1],w=A>>>24,g=A>>>16&255,b=65535&A,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(g&&0==(240&g)){for(m=w,y=g,k=b;A=i.lencode[k+((l&(1<<m+y)-1)>>m)],w=A>>>24,g=A>>>16&255,b=65535&A,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,i.length=b,0===g){i.mode=26;break}if(32&g){i.back=-1,i.mode=_e;break}if(64&g){t.msg="invalid literal/length code",i.mode=pe;break}i.extra=15&g,i.mode=22;case 22:if(i.extra){for(I=i.extra;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;A=i.distcode[l&(1<<i.distbits)-1],w=A>>>24,g=A>>>16&255,b=65535&A,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(0==(240&g)){for(m=w,y=g,k=b;A=i.distcode[k+((l&(1<<m+y)-1)>>m)],w=A>>>24,g=A>>>16&255,b=65535&A,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,64&g){t.msg="invalid distance code",i.mode=pe;break}i.offset=b,i.extra=15&g,i.mode=24;case 24:if(i.extra){for(I=i.extra;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.offset+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=pe;break}i.mode=25;case 25:if(0===h)break t;if(u=f-h,i.offset>u){if(u=i.offset-u,u>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=pe;break}u>i.wnext?(u-=i.wnext,_=i.wsize-u):_=i.wnext-u,u>i.length&&(u=i.length),p=i.window}else p=a,_=s-i.offset,u=i.length;u>h&&(u=h),h-=u,i.length-=u;do{a[s++]=p[_++]}while(--u);0===i.length&&(i.mode=21);break;case 26:if(0===h)break t;a[s++]=i.length,h--,i.mode=21;break;case 27:if(i.wrap){for(;d<32;){if(0===o)break t;o--,l|=n[r++]<<d,d+=8}if(f-=h,t.total_out+=f,i.total+=f,f&&(t.adler=i.check=i.flags?N(i.check,a,f,s-f):F(i.check,a,f,s-f)),f=h,(i.flags?l:we(l))!==i.check){t.msg="incorrect data check",i.mode=pe;break}l=0,d=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(4294967295&i.total)){t.msg="incorrect length check",i.mode=pe;break}l=0,d=0}i.mode=29;case 29:x=oe;break t;case pe:x=de;break t;case 31:return ce;default:return le}return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,(i.wsize||f!==t.avail_out&&i.mode<pe&&(i.mode<27||e!==ne))&&Ue(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,i.total+=f,i.wrap&&f&&(t.adler=i.check=i.flags?N(i.check,a,f,t.next_out-f):F(i.check,a,f,t.next_out-f)),t.data_type=i.bits+(i.last?64:0)+(i.mode===_e?128:0)+(20===i.mode||15===i.mode?256:0),(0===c&&0===f||e===ne)&&x===se&&(x=fe),x},inflateEnd:t=>{if(!t||!t.state)return le;let e=t.state;return e.window&&(e.window=null),t.state=null,se},inflateGetHeader:(t,e)=>{if(!t||!t.state)return le;const i=t.state;return 0==(2&i.wrap)?le:(i.head=e,e.done=!1,se)},inflateSetDictionary:(t,e)=>{const i=e.length;let n,a,r;return t&&t.state?(n=t.state,0!==n.wrap&&11!==n.mode?le:11===n.mode&&(a=1,a=F(a,e,i,0),a!==n.check)?de:(r=Ue(t,e,i,i),r?(n.mode=31,ce):(n.havedict=1,se))):le},inflateInfo:"pako inflate (from Nodeca project)"},ze=function(){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};const Se=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Ce,Z_OK:Re,Z_STREAM_END:Fe,Z_NEED_DICT:Be,Z_STREAM_ERROR:Ne,Z_DATA_ERROR:De,Z_MEM_ERROR:Ze}=Z;function Le(t){this.options=Ft.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=Ie.inflateInit2(this.strm,e.windowBits);if(i!==Re)throw new Error(D[i]);if(this.header=new ze,Ie.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Dt.string2buf(e.dictionary):"[object ArrayBuffer]"===Se.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=Ie.inflateSetDictionary(this.strm,e.dictionary),i!==Re)))throw new Error(D[i])}function Oe(t,e){const i=new Le(e);if(i.push(t),i.err)throw i.msg||D[i.err];return i.result}Le.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize,a=this.options.dictionary;let r,s,o;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Ce:Te,"[object ArrayBuffer]"===Se.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),r=Ie.inflate(i,s),r===Be&&a&&(r=Ie.inflateSetDictionary(i,a),r===Re?r=Ie.inflate(i,s):r===De&&(r=Be));i.avail_in>0&&r===Fe&&i.state.wrap>0&&0!==t[i.next_in];)Ie.inflateReset(i),r=Ie.inflate(i,s);switch(r){case Ne:case De:case Be:case Ze:return this.onEnd(r),this.ended=!0,!1}if(o=i.avail_out,i.next_out&&(0===i.avail_out||r===Fe))if("string"===this.options.to){let t=Dt.utf8border(i.output,i.next_out),e=i.next_out-t,a=Dt.buf2string(i.output,t);i.next_out=e,i.avail_out=n-e,e&&i.output.set(i.output.subarray(t,t+e),0),this.onData(a)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(r!==Re||0!==o){if(r===Fe)return r=Ie.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Le.prototype.onData=function(t){this.chunks.push(t)},Le.prototype.onEnd=function(t){t===Re&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ve={Inflate:Le,inflate:Oe,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Oe(t,e)},ungzip:Oe,constants:Z};const{Deflate:$e,deflate:Me,deflateRaw:He,gzip:Pe}=qt,{Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Xe}=Ve;var Ye={Deflate:$e,deflate:Me,deflateRaw:He,gzip:Pe,Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Xe,constants:Z};function qe(t,e){const i=t.length;if(i!==e.length)return!1;for(let n=0;n<i;n++)if(t[n]!==e[n])return!1;return!0}class We{appendDescriptionOf(t){throw new Error("Not Implemented")}appendList(t,e,i,n){throw new Error("Not Implemented")}appendText(t){throw new Error("Not Implemented")}appendValue(t){throw new Error("Not Implemented")}appendValueList(t,e,i,n){throw new Error("Not Implemented")}}class Je{describeTo(t){throw new Error("Not Implemented")}}class Qe extends Je{value;constructor(t){super(),this.value=t}describeTo(t){t.appendValue(this.value)}}class ti{#t;constructor(t){this.#t=t}*[Symbol.iterator](){for(const t of this.#t)yield new Qe(t)}}class ei extends We{appendDescriptionOf(t){return t.describeTo(this),this}#e(t){this.appendText('"'),this.appendText(t),this.appendText('"')}appendValue(t){return null==t?this.appendText("null"):void 0===t?this.appendText("undefined"):"string"==typeof t?this.#e(t):"number"==typeof t?this.appendText(function(t){return String(t)}(t)):Array.isArray(t)?this.appendValueList("[",", ","]",t):(this.appendText("<"),this.appendText(function(t){try{return String(t)}catch(t){return"VALUE@0"}}(t)),this.appendText(">")),this}appendValueList(t,e,i,n){return this.appendList(t,e,i,new ti(n)),this}appendList(t,e,i,n){let a=!1;this.appendText(t);const r=n[Symbol.iterator]();for(let t=r.next();!0!==t.done;t=r.next())a&&this.appendText(e),this.appendDescriptionOf(t.value),a=!0;return this.appendText(i),this}}class ii extends ei{value="";appendText(t){return this.value+=t,this}}function ni(t,e){if(!t)throw new Error(e||"AssertionError")}function ai(t,e,i,n,a){let r,s,o;for(o=0;o<a;o++)r=e+o,s=n+o,i[s]=t[r]}ni.enum=function(t,e,i="value"){for(let i in e)if(e[i]===t)return;throw new Error(`${i}(=${t}) is not a valid enumerable value, valid values are: [${Object.values(e).join(", ")}]`)},ni.notEqual=function(t,e,i){ni(t!==e,i)},ni.notOk=function(t,e){ni(!t,e)},ni.equal=function(t,e,i){if(t!==e){const n=`${t} !== ${e}`;throw new Error(void 0!==i&&""!==i?`${i}. ${n}`:n)}},ni.logicalyEqual=function(t,e,i){},ni.ok=ni,ni.greaterThan=function(t,e,i){if(!(t>e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} > ${e}.`,new Error(n)}},ni.greaterThanOrEqual=function(t,e,i){if(!(t>=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} >= ${e}.`,new Error(n)}},ni.lessThan=function(t,e,i){if(!(t<e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} < ${e}.`,new Error(n)}},ni.lessThanOrEqual=function(t,e,i){if(!(t<=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} <= ${e}.`,new Error(n)}},ni.typeOf=function(t,e,i="value"){const n=typeof t;if(n!==e)throw new Error(`expected ${i} to be ${e}, instead was '${n}'(=${t})`)},ni.arrayHas=function(t,e,i="Array does not contain the item"){},ni.arrayHasNo=function(t,e,i="Array contains the item"){},ni.arrayEqual=function(t,e,i="Arrays are not equal"){if(!qe(t,e))throw new Error(i)},ni.isInstanceOf=function(t,e,i="value",n=e.name){},ni.isNumber=function(t,e="value"){const i=typeof t;if("number"!==i)throw new Error(`expected ${e} to be a number, instead was '${i}'(=${t})`)},ni.isString=function(t,e="value"){const i=typeof t;if("string"!==i)throw new Error(`expected ${e} to be a string, instead was '${i}'(=${t})`)},ni.isBoolean=function(t,e="value"){const i=typeof t;if("boolean"!==i)throw new Error(`expected ${e} to be a boolean, instead was '${i}'(=${t})`)},ni.isFunction=function(t,e="value"){const i=typeof t;if("function"!==i)throw new Error(`expected ${e} to be a function, instead was '${i}'(=${t})`)},ni.isObject=function(t,e="value"){const i=typeof t;if("object"!==i)throw new Error(`expected ${e} to be an object, instead was '${i}'(=${t})`)},ni.isInteger=function(t,e="value"){if(!Number.isInteger(t))throw new Error(`${e} must be an integer, instead was ${t}`)},ni.isNonNegativeInteger=function(t,e="value"){if(t<0)throw new Error(`${e} must be >= 0, instead was ${t}`)},ni.isArray=function(t,e="value"){if(!Array.isArray(t))throw new Error(`expected ${e} to be an array, instead was something else (typeof ='${typeof t}')`)},ni.isArrayLike=function(t,e="value"){if(!(Array.isArray(t)||(i=t,i instanceof Int8Array||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int16Array||i instanceof Uint16Array||i instanceof Int32Array||i instanceof Uint32Array||i instanceof Float32Array||i instanceof Float64Array)))throw new Error(`expected ${e} to be an array-like structure, instead was something else (typeof ='${typeof t}')`);var i},ni.defined=function(t,e="value"){if(void 0===t)throw new Error(`${e} is undefined`)},ni.isNull=function(t,e){if(null!==t)throw new Error(`${e} is NOT null`)},ni.notNull=function(t,e="value"){if(null===t)throw new Error(`${e} is null`)},ni.notNaN=function(t,e="value"){if(Number.isNaN(t))throw new Error(`${e} must be a valid number, instead was NaN`)},ni.isFiniteNumber=function(t,e="value"){if(!Number.isFinite(t))throw new Error(`${e} must be a finite number, instead was ${t}`)},ni.that=function(t,e,i){if(i.matches(t))return;const n=new ii;throw n.appendText(`Expected ${e} to be `),i.describeTo(n),n.appendText(" instead "),i.describeMismatch(t,n),new Error(n.value)};const ri=!1,si=!0;class oi{endianness=si;position=0;length=0;capacity=1024;data=new ArrayBuffer(1024);dataView=new DataView(this.data);__data_uint8=new Uint8Array(this.data);__growFactor=1.1;get raw_bytes(){return this.__data_uint8}fromArrayBuffer(t){this.data=t,this.dataView=new DataView(t),this.__data_uint8=new Uint8Array(t),this.capacity=t.byteLength,this.length=this.capacity,this.position=0}trim(){return this.setCapacity(this.position),this}setCapacity(t){if(t<this.position)throw new Error(`Attempting to set capacity(=${t}) below current position(=${this.position})`);const e=this.__data_uint8,i=new Uint8Array(t);!function(t,e){const i=e.length;i>=t.length?e.set(t,0):ai(t,0,e,0,i)}(e,i),this.data=i.buffer,this.__data_uint8=i,this.dataView=new DataView(this.data),this.capacity=t}ensureCapacity(t){const e=this.capacity;if(e>=t)return;const i=Math.ceil(Math.max(t,e*this.__growFactor,e+1024));this.setCapacity(i)}readFloat32(){const t=this.dataView.getFloat32(this.position,this.endianness);return this.position+=4,t}readFloat64(){const t=this.dataView.getFloat64(this.position,this.endianness);return this.position+=8,t}readInt8(){const t=this.dataView.getInt8(this.position);return this.position+=1,t}readInt16(){const t=this.dataView.getInt16(this.position,this.endianness);return this.position+=2,t}readInt32(){const t=this.dataView.getInt32(this.position,this.endianness);return this.position+=4,t}readUint8(){const t=this.dataView.getUint8(this.position);return this.position+=1,t}readUint16(){const t=this.dataView.getUint16(this.position,this.endianness);return this.position+=2,t}readUint16LE(){const t=this.dataView.getUint16(this.position,si);return this.position+=2,t}readUint16BE(){const t=this.dataView.getUint16(this.position,ri);return this.position+=2,t}readUint24(){return this.endianness===ri?this.readUint24BE():this.readUint24LE()}readUint24LE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,t|e<<8|i<<16}readUint24BE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,i|e<<8|t<<16}readUint32(){const t=this.dataView.getUint32(this.position,this.endianness);return this.position+=4,t}readUint32LE(){const t=this.dataView.getUint32(this.position,si);return this.position+=4,t}readUint32BE(){const t=this.dataView.getUint32(this.position,ri);return this.position+=4,t}readUint8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint8()}readUint16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint16()}readUint32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint32()}readInt8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt8()}readInt16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt16()}readInt32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt32()}readFloat32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat32()}readFloat64Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat64()}writeFloat32Array(t,e,i){for(let n=0;n<i;n++)this.writeFloat32(t[n+e])}writeFloat32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setFloat32(this.position,t,this.endianness),this.position=e}writeFloat64(t){const e=this.position+8;this.ensureCapacity(e),this.dataView.setFloat64(this.position,t,this.endianness),this.position=e}writeInt8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setInt8(this.position,t),this.position=e}writeInt16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setInt16(this.position,t,this.endianness),this.position=e}writeInt32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setInt32(this.position,t,this.endianness),this.position=e}writeUint8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setUint8(this.position,t),this.position=e}writeUint8Array(t,e,i){for(let n=0;n<i;n++)this.writeUint8(t[e+n])}writeUint16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,this.endianness),this.position=e}writeUint16BE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,ri),this.position=e}writeUint16LE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,si),this.position=e}writeUint16Array(t,e,i){for(let n=0;n<i;n++)this.writeUint16(t[e+n])}writeUint24(t){this.endianness===ri?this.writeUint24BE(t):this.writeUint24LE(t)}writeUint24BE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,a),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,i),this.position=e}writeUint24LE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,i),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,a),this.position=e}writeUintVar(t){let e=!0;for(;e||0!==t;){e=!1;let i=127&t;(t>>=7)>0&&(i|=128),this.writeUint8(i)}}readUintVar(){let t=!0,e=0,i=0;for(;t;){let n=this.readUint8();t=0!=(128&n),e|=(127&n)<<i,i+=7}return e}writeUint32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,this.endianness),this.position=e}writeUint32BE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,ri),this.position=e}writeUint32LE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,si),this.position=e}writeUint32Array(t,e,i){for(let n=0;n<i;n++)this.writeUint32(t[e+n])}writeBytes(t,e,i){const n=e+i,a=this.position,r=a+i;if(this.ensureCapacity(r),0===e&&t.length===i)this.__data_uint8.set(t,a);else if("function"==typeof t.subarray)this.__data_uint8.set(t.subarray(e,n),a);else for(let n=0;n<i;n++)this.__data_uint8[a+n]=t[e+n];this.position=r}readBytes(t,e,i){const n=this.position,a=n+i,r=this.__data_uint8;i<128?ai(r,n,t,e,i):t.set(r.subarray(n,a),e),this.position=a}writeUTF8String(t){if(null===t)return void this.writeUint32(4294967295);if(void 0===t)return void this.writeUint32(4294967294);let e=0;const i=t.length;if(i>=4294967294)throw new Error("String is too long");this.writeUint32(i);let n=this.position;const a=Math.max(32,i+(i>>1)+7);this.ensureCapacity(a+n);let r=this.__data_uint8,s=this.capacity;for(;e<i;){let a=t.charCodeAt(e++);if(a>=55296&&a<=56319){if(e<i){const i=t.charCodeAt(e);56320==(64512&i)&&(++e,a=((1023&a)<<10)+(1023&i)+65536)}if(a>=55296&&a<=56319)continue}if(n+4>s&&(this.ensureCapacity(n+4),s=this.capacity,r=this.__data_uint8),0!=(4294967168&a)){if(0==(4294965248&a))r[n++]=a>>6&31|192;else if(0==(4294901760&a))r[n++]=a>>12&15|224,r[n++]=a>>6&63|128;else{if(0!=(4292870144&a))continue;r[n++]=a>>18&7|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128}r[n++]=63&a|128}else r[n++]=a}this.position=n}readUTF8String(){const t=this.readUint32();if(4294967295===t)return null;if(4294967294===t)return;const e=this.__data_uint8;let i="",n=this.position,a=0;for(;n<this.capacity&&a<t;){const t=e[n++];let r;if(0===t)break;0==(128&t)?r=t:192==(224&t)?r=(31&t)<<6|63&e[n++]:224==(240&t)?r=(31&t)<<12|(63&e[n++])<<6|63&e[n++]:240==(248&t)&&(r=(7&t)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++],r>65535&&(r-=65536,i+=String.fromCharCode(r>>>10&1023|55296),a++,r=56320|1023&r)),a++,i+=String.fromCharCode(r)}return this.position=n,i}writeASCIIString(t){const e=t.length,i=this.position,n=i+e;this.ensureCapacity(n);for(let n=0;n<e;n++){const e=t.charCodeAt(n);if(e>255)throw new Error(`Character ${String.fromCharCode(e)} can't be represented by a US-ASCII byte.`);this.__data_uint8[i+n]=e}this.position=n}readASCIICharacters(t,e=!1){let i="";for(let n=0;n<t;n++){const t=this.readUint8();if(e&&0===t)break;i+=String.fromCharCode(t)}return i}static fromArrayBuffer(t){const e=new oi;return e.fromArrayBuffer(t),e}static copyUTF8String(t,e){const i=t.readUTF8String();return e.writeUTF8String(i),i}static copyUintVar(t,e){const i=t.readUintVar();return e.writeUintVar(i),i}static copyUint8(t,e){const i=t.readUint8();return e.writeUint8(i),i}static copyUint16(t,e){const i=t.readUint16();return e.writeUint16(i),i}static copyUint32(t,e){const i=t.readUint32();return e.writeUint32(i),i}static copyFloat32(t,e){const i=t.readFloat32();return e.writeFloat32(i),i}static copyFloat64(t,e){const i=t.readFloat64();return e.writeFloat64(i),i}static copyBytes(t,e,i){const n=new Uint8Array(i);return t.readBytes(n,0,i),e.writeBytes(n,0,i),n}}oi.prototype.isBinaryBuffer=!0;const hi=new Uint32Array(256);for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=3988292384^e>>>1:e>>>=1;hi[t]=e}class li{width=0;height=0;bitDepth=0;colorType=0;compressionMethod=0;filterMethod=0;interlaceMethod=0;colors=0;alpha=!1;pixelBits=0;palette=null;pixels=null;trns=null;text={};getWidth(){return this.width}setWidth(t){this.width=t}getHeight(){return this.height}setHeight(t){this.height=t}getBitDepth(){return this.bitDepth}setBitDepth(t){if(-1===[1,2,4,8,16].indexOf(t))throw new Error("invalid bith depth "+t);this.bitDepth=t}getColorType(){return this.colorType}setColorType(t){let e=0,i=!1;switch(t){case 0:case 3:e=1;break;case 2:e=3;break;case 4:e=2,i=!0;break;case 6:e=4,i=!0;break;default:throw new Error("invalid color type")}this.colors=e,this.alpha=i,this.colorType=t}getCompressionMethod(){return this.compressionMethod}setCompressionMethod(t){if(0!==t)throw new Error("invalid compression method "+t);this.compressionMethod=t}getFilterMethod(){return this.filterMethod}setFilterMethod(t){if(0!==t)throw new Error("invalid filter method "+t);this.filterMethod=t}getInterlaceMethod(){return this.interlaceMethod}setInterlaceMethod(t){if(0!==t&&1!==t)throw new Error("invalid interlace method "+t);this.interlaceMethod=t}setTRNS(t){this.trns=t}setPalette(t){if(t.length%3!=0)throw new Error("incorrect PLTE chunk length");if(t.length>3*Math.pow(2,this.bitDepth))throw new Error("palette has more colors than 2^bitdepth");this.palette=t}getPalette(){return this.palette}getPixel(t,e,i,n){const a=this.pixels;if(!a)throw new Error("pixel data is empty");if(i>=this.width||n>=this.height)throw new Error("x,y position out of bound");const r=this.colors*this.bitDepth/8*(n*this.width+i);let s,o,h,l;switch(this.colorType){case 0:s=a[r],o=s,h=s,l=255;break;case 2:s=a[r],o=a[r+1],h=a[r+2],l=255;break;case 3:l=255,null!=this.trns&&(l=this.trns[a[r]]);const t=3*a[r],e=this.palette;s=e[t],o=e[t+1],h=e[t+2];break;case 4:s=a[r],o=s,h=s,l=a[r+1];break;case 6:s=a[r],o=a[r+1],h=a[r+2],l=a[r+3];break;default:throw new Error("Unsupported color type")}t[e+0]=s,t[e+1]=o,t[e+2]=h,t[e+3]=l}getRGBA8Array_fromRGB(t){const e=this.height,i=this.width*e,n=this.pixels;for(let e=0;e<i;e++){const i=3*e,a=i+e;t[a]=n[i],t[a+1]=n[i+1],t[a+2]=n[i+2],t[a+3]=255}}getRGBA8Array_generic(t){const e=this.height,i=this.width;for(let n=0;n<e;n++){const e=n*i;for(let a=0;a<i;a++){const i=4*(e+a);this.getPixel(t,i,a,n)}}}getRGBA8Array(){if(6===this.colorType)return this.pixels;const t=this.height,e=this.width,i=new Uint8Array(e*t*4);return 2===this.colorType?this.getRGBA8Array_fromRGB(i):this.getRGBA8Array_generic(i),i}getUint8Data_case3(){const t=this.width*this.height;let e;const i=this.trns;e=null!==i?4:3;const n=new Uint8Array(t*e),a=this.pixels,r=this.palette,s=this.colors*Math.ceil(this.bitDepth/8);for(let i=0;i<t;i++){const t=i*e,o=3*a[i*s];n[t]=r[o],n[t+1]=r[o+1],n[t+2]=r[o+2]}if(null!==i){const e=i.length;for(let r=0;r<t;r++){const t=a[r*s];n[4*r+3]=t>=e?255:i[t]}}return{data:n,itemSize:e}}getUint8Data(){let t,e=0;switch(this.colorType){case 0:t=this.pixels,e=1;break;case 2:t=this.pixels,e=3;break;case 3:const i=this.getUint8Data_case3();t=i.data,e=i.itemSize;break;case 4:t=this.pixels,e=2;break;case 6:t=this.pixels,e=4;break;default:throw new Error("Unsupported color type")}return{data:t,itemSize:e}}}const di=[137,80,78,71,13,10,26,10];function ci(t){const e=new Ye.Inflate;if(e.push(t),e.err)throw new Error(e.err);return e.result.buffer}function fi(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function ui(t,e){return t[e]}function _i(t){this.i=0,this.bytes=new Uint8Array(t),this.png=new li,this.dataChunks=[],this.buffer=new oi,this.buffer.fromArrayBuffer(t),this.crc_enabled=!1,this.header=new Uint8Array(8)}_i.prototype.readBytes=function(t){const e=new Uint8Array(t);return this.buffer.readBytes(e,0,t),e},_i.prototype.decodeHeader=function(){if(0!==this.i)throw new Error("file pointer should be at 0 to read the header");const t=this.buffer,e=this.header;if(t.readBytes(e,0,8),!qe(e,di))throw new Error("invalid PNGReader file (bad signature)")},_i.prototype.decodeChunk=function(){const t=this.buffer,e=t.readUint32();if(e<0)throw new Error("Bad chunk length "+(4294967295&e));const i=t.position,n=t.readASCIICharacters(4),a=this.readBytes(e);switch(t.readUint32(),this.crc_enabled&&function(t,e,i,n){let a=4294967295;const r=i+n;for(let t=i;t<r;t++){const i=255&(a^e[t]);a=hi[i]^a>>>8}}(0,t.raw_bytes,i,e+4),n){case"IHDR":this.decodeIHDR(a);break;case"PLTE":this.decodePLTE(a);break;case"IDAT":this.decodeIDAT(a);break;case"tRNS":this.decodeTRNS(a);break;case"IEND":this.decodeIEND(a);break;case"sRGB":this.decodesRGB(a);break;case"tIME":this.decodetIME(a);break;case"zTXt":this.decodezTXt(a);break;case"iTXt":this.decodeiTXt(a)}return n},_i.prototype.decodesRGB=function(t){ui(t,0)},_i.prototype.decodetIME=function(t){ui(t,0),ui(t,1),ui(t,2),ui(t,3),ui(t,4),ui(t,5),ui(t,6)},_i.prototype.decodeiTXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(79,!0),n=e.readUint8();e.readUint8();const a=e.readASCIICharacters(Infinity,!0),r=e.readASCIICharacters(Infinity,!0),s=e.data.length-e.position;let o;if(0===n)o=e.readASCIICharacters(s);else{if(1!==n)throw new Error(`Invalid compression flag value '${n}'`);{const t=ci(new Uint8Array(e.data,e.position,s));e.fromArrayBuffer(t),o=e.readASCIICharacters(t.byteLength)}}return{keyword:i,language_tag:a,translated_keyword:r,text:o}},_i.prototype.decodezTXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(79,!0),n=e.readUint8();let a;if(0!==n)throw new Error(`Unsupported compression method '${n}'`);{const i=ci(new Uint8Array(t.buffer,e.position));e.fromArrayBuffer(i),a=e.readASCIICharacters(i.length)}return{keyword:i,text:a}},_i.prototype.decodetEXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),n=e.readASCIICharacters(i.length-1,!1);this.png.text[i]=n},_i.prototype.decodeiEXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0);if(e.readUint8(),e.readUint8(),e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),e.readUTF8String(),0!==e.readUint8())throw new Error("Expected Null Separator after Translated keyword");const n=e.readUTF8String();this.png.text[i]=n},_i.prototype.decodeIHDR=function(t){const e=this.png;e.setWidth(fi(t,0)),e.setHeight(fi(t,4)),e.setBitDepth(ui(t,8)),e.setColorType(ui(t,9)),e.setCompressionMethod(ui(t,10)),e.setFilterMethod(ui(t,11)),e.setInterlaceMethod(ui(t,12))},_i.prototype.decodePLTE=function(t){this.png.setPalette(t)},_i.prototype.decodeIDAT=function(t){this.dataChunks.push(t)},_i.prototype.decodeTRNS=function(t){this.png.setTRNS(t)},_i.prototype.decodeIEND=function(){},_i.prototype.decodePixels=function(){const t=this.png,e=new Ye.Inflate,i=this.dataChunks,n=i.length;for(let t=0;t<n;t++)if(e.push(i[t]),e.err)throw new Error(e.err);const a=e.result;0===t.getInterlaceMethod()?this.interlaceNone(a):this.interlaceAdam7(a)},_i.prototype.interlaceNone=function(t){const e=this.png,i=e.bitDepth,n=e.colors*i/8,a=e.width,r=e.height,s=Math.ceil(n*a),o=Math.ceil(n)*a,h=new Uint8Array(o*r);let l=0;const d=t.length;for(let e=0;e<d;e+=s+1){const a=e+1,r=ui(t,e);switch(r){case 0:if(1===i)for(let e=0;e<o;e++){const i=t[(e>>>4)+a]>>>(7&e)&1;h[l+e]=i}else if(2===i)for(let e=0;e<o;e++){const i=t[(e>>>2)+a]>>>((3&~e)<<1)&3;h[l+e]=i}else if(4===i)for(let e=0;e<o;e++){const i=t[(e>>>1)+a]>>>((1&~e)<<2)&15;h[l+e]=i}else{if(8!==i)throw new Error(`unsupported bit depth ${i}`);for(let e=0;e<o;e++)h[l+e]=t[e+a]}break;case 1:this.unFilterSub(t,a,h,n,l,s);break;case 2:this.unFilterUp(t,a,h,n,l,s);break;case 3:this.unFilterAverage(t,a,h,n,l,s);break;case 4:this.unFilterPaeth(t,a,h,n,l,s);break;default:throw new Error(`unknown filtered scanline type '${r}'`)}l+=o}e.pixels=h},_i.prototype.interlaceAdam7=function(t){throw new Error("Adam7 interlacing is not implemented yet")},_i.prototype.unFilterSub=function(t,e,i,n,a,r){let s=0;for(;s<n;s++)i[a+s]=t[s+e];for(;s<r;s++){const r=a+s;i[r]=t[s+e]+i[r-n]&255}},_i.prototype.unFilterUp=function(t,e,i,n,a,r){let s,o,h=0;if(a-r<0)for(;h<r;h++)i[a+h]=t[h+e];else for(;h<r;h++)s=t[h+e],o=i[a+h-r],i[a+h]=s+o&255},_i.prototype.unFilterAverage=function(t,e,i,n,a,r){let s,o,h,l=0;if(a-r<0){for(;l<n;l++)i[a+l]=t[l+e];for(;l<r;l++){const r=a+l;i[r]=t[l+e]+(i[r-n]>>1)&255}}else{for(;l<n;l++){const n=a+l;i[n]=t[l+e]+(i[n-r]>>1)&255}for(;l<r;l++){s=t[l+e];const d=a+l;o=i[d-n],h=i[d-r],i[d]=s+(o+h>>1)&255}}},_i.prototype.unFilterPaeth=function(t,e,i,n,a,r){let s,o,h,l,d,c,f,u,_,p=0;if(a-r<0){for(;p<n;p++)i[a+p]=t[p+e];for(;p<r;p++)i[a+p]=t[p+e]+i[a+p-n]&255}else{const w=a-r;for(;p<n;p++)i[a+p]=t[p+e]+i[w+p]&255;for(;p<r;p++){s=t[p+e];const w=a+p;l=i[w-r-n],h=i[w-r],o=i[w-n],d=o+h-l,c=Math.abs(d-o),f=Math.abs(d-h),u=Math.abs(d-l),_=c<=f&&c<=u?o:f<=u?h:l,i[w]=s+_&255}}},_i.prototype.parse=function(){for(this.decodeHeader();"IEND"!==this.decodeChunk(););return this.decodePixels(),this.png},self.Lib={decode:async function(t,e="png"){if(!(t instanceof ArrayBuffer))throw new Error(".data argument must be an ArrayBuffer, instead was something else");if("png"===e.toLowerCase())return await async function(t){return new Promise(((e,i)=>{const n=new _i(t).parse(),a=n.getUint8Data(),r=n.getWidth(),s=n.getHeight();e({data:a.data.buffer,width:r,height:s,itemSize:a.itemSize,bitDepth:8})}))}(t);throw new Error("Unsupported type")}};
1
+ function t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([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]),i=new Uint8Array([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]),n=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),r=new Array(576);t(r);const s=new Array(60);t(s);const o=new Array(512);t(o);const h=new Array(256);t(h);const l=new Array(29);t(l);const d=new Array(30);function c(t,e,i,n,a){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=a,this.has_stree=t&&t.length}let f,u,_;function p(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const w=t=>t<256?o[t]:o[256+(t>>>7)],g=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},b=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,g(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)},m=(t,e,i)=>{b(t,i[2*e],i[2*e+1])},y=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},k=(t,e,i)=>{const n=new Array(16);let a,r,s=0;for(a=1;a<=15;a++)n[a]=s=s+i[a-1]<<1;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=y(n[e]++,e))}},v=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},x=t=>{t.bi_valid>8?g(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},A=(t,e,i,n)=>{const a=2*e,r=2*i;return t[a]<t[r]||t[a]===t[r]&&n[e]<=n[i]},E=(t,e,i)=>{const n=t.heap[i];let a=i<<1;for(;a<=t.heap_len&&(a<t.heap_len&&A(e,t.heap[a+1],t.heap[a],t.depth)&&a++,!A(e,n,t.heap[a],t.depth));)t.heap[i]=t.heap[a],i=a,a<<=1;t.heap[i]=n},U=(t,n,a)=>{let r,s,o,c,f=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*f]<<8|t.pending_buf[t.d_buf+2*f+1],s=t.pending_buf[t.l_buf+f],f++,0===r?m(t,s,n):(o=h[s],m(t,o+256+1,n),c=e[o],0!==c&&(s-=l[o],b(t,s,c)),r--,o=w(r),m(t,o,a),c=i[o],0!==c&&(r-=d[o],b(t,r,c)))}while(f<t.last_lit);m(t,256,n)},I=(t,e)=>{const i=e.dyn_tree,n=e.stat_desc.static_tree,a=e.stat_desc.has_stree,r=e.stat_desc.elems;let s,o,h,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<r;s++)0!==i[2*s]?(t.heap[++t.heap_len]=l=s,t.depth[s]=0):i[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=l<2?++l:0,i[2*h]=1,t.depth[h]=0,t.opt_len--,a&&(t.static_len-=n[2*h+1]);for(e.max_code=l,s=t.heap_len>>1;s>=1;s--)E(t,i,s);h=r;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],E(t,i,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,i[2*h]=i[2*s]+i[2*o],t.depth[h]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,i[2*s+1]=i[2*o+1]=h,t.heap[1]=h++,E(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,a=e.stat_desc.static_tree,r=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let l,d,c,f,u,_,p=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(i[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)d=t.heap[l],f=i[2*i[2*d+1]+1]+1,f>h&&(f=h,p++),i[2*d+1]=f,d>n||(t.bl_count[f]++,u=0,d>=o&&(u=s[d-o]),_=i[2*d],t.opt_len+=_*(f+u),r&&(t.static_len+=_*(a[2*d+1]+u)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(d=t.bl_count[f];0!==d;)c=t.heap[--l],c>n||(i[2*c+1]!==f&&(t.opt_len+=(f-i[2*c+1])*i[2*c],i[2*c+1]=f),d--)}})(t,e),k(i,l,t.bl_count)},z=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)a=s,s=e[2*(n+1)+1],++o<h&&a===s||(o<l?t.bl_tree[2*a]+=o:0!==a?(a!==r&&t.bl_tree[2*a]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4))},S=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),n=0;n<=i;n++)if(a=s,s=e[2*(n+1)+1],!(++o<h&&a===s)){if(o<l)do{m(t,a,t.bl_tree)}while(0!=--o);else 0!==a?(a!==r&&(m(t,a,t.bl_tree),o--),m(t,16,t.bl_tree),b(t,o-3,2)):o<=10?(m(t,17,t.bl_tree),b(t,o-3,3)):(m(t,18,t.bl_tree),b(t,o-11,7));o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4)}};let T=!1;const C=(t,e,i,n)=>{b(t,0+(n?1:0),3),((t,e,i,n)=>{x(t),g(t,i),g(t,~i),t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i})(t,e,i)};var R={_tr_init:t=>{T||((()=>{let t,a,p,w,g;const b=new Array(16);for(p=0,w=0;w<28;w++)for(l[w]=p,t=0;t<1<<e[w];t++)h[p++]=w;for(h[p-1]=w,g=0,w=0;w<16;w++)for(d[w]=g,t=0;t<1<<i[w];t++)o[g++]=w;for(g>>=7;w<30;w++)for(d[w]=g<<7,t=0;t<1<<i[w]-7;t++)o[256+g++]=w;for(a=0;a<=15;a++)b[a]=0;for(t=0;t<=143;)r[2*t+1]=8,t++,b[8]++;for(;t<=255;)r[2*t+1]=9,t++,b[9]++;for(;t<=279;)r[2*t+1]=7,t++,b[7]++;for(;t<=287;)r[2*t+1]=8,t++,b[8]++;for(k(r,287,b),t=0;t<30;t++)s[2*t+1]=5,s[2*t]=y(t,5);f=new c(r,e,257,286,15),u=new c(s,i,0,30,15),_=new c(new Array(0),n,0,19,7)})(),T=!0),t.l_desc=new p(t.dyn_ltree,f),t.d_desc=new p(t.dyn_dtree,u),t.bl_desc=new p(t.bl_tree,_),t.bi_buf=0,t.bi_valid=0,v(t)},_tr_stored_block:C,_tr_flush_block:(t,e,i,n)=>{let o,h,l=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),I(t,t.l_desc),I(t,t.d_desc),l=(t=>{let e;for(z(t,t.dyn_ltree,t.l_desc.max_code),z(t,t.dyn_dtree,t.d_desc.max_code),I(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*a[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,h=t.static_len+3+7>>>3,h<=o&&(o=h)):o=h=i+5,i+4<=o&&-1!==e?C(t,e,i,n):4===t.strategy||h===o?(b(t,2+(n?1:0),3),U(t,r,s)):(b(t,4+(n?1:0),3),((t,e,i,n)=>{let r;for(b(t,e-257,5),b(t,i-1,5),b(t,n-4,4),r=0;r<n;r++)b(t,t.bl_tree[2*a[r]+1],3);S(t,t.dyn_ltree,e-1),S(t,t.dyn_dtree,i-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,l+1),U(t,t.dyn_ltree,t.dyn_dtree)),v(t),n&&x(t)},_tr_tally:(t,e,i)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(h[i]+256+1)]++,t.dyn_dtree[2*w(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{b(t,2,3),m(t,256,r),(t=>{16===t.bi_valid?(g(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}},F=(t,e,i,n)=>{let a=65535&t|0,r=t>>>16&65535|0,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{a=a+e[n++]|0,r=r+a|0}while(--s);a%=65521,r%=65521}return a|r<<16|0};const B=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var N=(t,e,i,n)=>{const a=B,r=n+i;t^=-1;for(let i=n;i<r;i++)t=t>>>8^a[255&(t^e[i])];return-1^t},D={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"},Z={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_MEM_ERROR:-4,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};const{_tr_init:L,_tr_stored_block:O,_tr_flush_block:V,_tr_tally:$,_tr_align:M}=R,{Z_NO_FLUSH:H,Z_PARTIAL_FLUSH:P,Z_FULL_FLUSH:j,Z_FINISH:G,Z_BLOCK:K,Z_OK:X,Z_STREAM_END:Y,Z_STREAM_ERROR:q,Z_DATA_ERROR:W,Z_BUF_ERROR:J,Z_DEFAULT_COMPRESSION:Q,Z_FILTERED:tt,Z_HUFFMAN_ONLY:et,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:at,Z_UNKNOWN:rt,Z_DEFLATED:st}=Z,ot=258,ht=262,lt=103,dt=113,ct=666,ft=(t,e)=>(t.msg=D[e],e),ut=t=>(t<<1)-(t>4?9:0),_t=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let pt=(t,e,i)=>(e<<t.hash_shift^i)&t.hash_mask;const wt=t=>{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},gt=(t,e)=>{V(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,wt(t.strm)},bt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},yt=(t,e,i,n)=>{let a=t.avail_in;return a>n&&(a=n),0===a?0:(t.avail_in-=a,e.set(t.input.subarray(t.next_in,t.next_in+a),i),1===t.state.wrap?t.adler=F(t.adler,e,a,i):2===t.state.wrap&&(t.adler=N(t.adler,e,a,i)),t.next_in+=a,t.total_in+=a,a)},kt=(t,e)=>{let i,n,a=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,l=t.window,d=t.w_mask,c=t.prev,f=t.strstart+ot;let u=l[r+s-1],_=l[r+s];t.prev_length>=t.good_match&&(a>>=2),o>t.lookahead&&(o=t.lookahead);do{if(i=e,l[i+s]===_&&l[i+s-1]===u&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do{}while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(n=ot-(f-r),r=f-ot,n>s){if(t.match_start=e,s=n,n>=o)break;u=l[r+s-1],_=l[r+s]}}}while((e=c[e&d])>h&&0!=--a);return s<=t.lookahead?s:t.lookahead},vt=t=>{const e=t.w_size;let i,n,a,r,s;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ht)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,i=n;do{a=t.head[--i],t.head[i]=a>=e?a-e:0}while(--n);n=e,i=n;do{a=t.prev[--i],t.prev[i]=a>=e?a-e:0}while(--n);r+=e}if(0===t.strm.avail_in)break;if(n=yt(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=pt(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=pt(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<ht&&0!==t.strm.avail_in)},xt=(t,e)=>{let i,n;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i)),t.match_length>=3)if(n=$(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=pt(t,t.ins_h,t.window[t.strstart+1]);else n=$(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2},At=(t,e)=>{let i,n,a;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i),t.match_length<=5&&(t.strategy===tt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){a=t.strstart+t.lookahead-3,n=$(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=a&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(gt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=$(t,0,t.window[t.strstart-1]),n&&gt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=$(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2};function Et(t,e,i,n,a){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=a}const Ut=[new Et(0,0,0,0,((t,e)=>{let i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(vt(t),0===t.lookahead&&e===H)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const n=t.block_start+i;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,gt(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-ht&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(gt(t,!1),t.strm.avail_out),1)})),new Et(4,4,8,4,xt),new Et(4,5,16,8,xt),new Et(4,6,32,32,xt),new Et(4,4,16,16,At),new Et(8,16,32,32,At),new Et(8,16,128,128,At),new Et(8,32,128,256,At),new Et(32,128,258,1024,At),new Et(32,258,258,4096,At)];function It(){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=st,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 Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),_t(this.dyn_ltree),_t(this.dyn_dtree),_t(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),_t(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),_t(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}const zt=t=>{if(!t||!t.state)return ft(t,q);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:dt,t.adler=2===e.wrap?0:1,e.last_flush=H,L(e),X},St=t=>{const e=zt(t);var i;return e===X&&((i=t.state).window_size=2*i.w_size,_t(i.head),i.max_lazy_match=Ut[i.level].max_lazy,i.good_match=Ut[i.level].good_length,i.nice_match=Ut[i.level].nice_length,i.max_chain_length=Ut[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},Tt=(t,e,i,n,a,r)=>{if(!t)return q;let s=1;if(e===Q&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),a<1||a>9||i!==st||n<8||n>15||e<0||e>9||r<0||r>nt)return ft(t,q);8===n&&(n=9);const o=new It;return t.state=o,o.strm=t,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=a+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<a+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=r,o.method=i,St(t)};var Ct={deflateInit:(t,e)=>Tt(t,e,st,15,8,at),deflateInit2:Tt,deflateReset:St,deflateResetKeep:zt,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?q:(t.state.gzhead=e,X):q,deflate:(t,e)=>{let i,n;if(!t||!t.state||e>K||e<0)return t?ft(t,q):q;const a=t.state;if(!t.output||!t.input&&0!==t.avail_in||a.status===ct&&e!==G)return ft(t,0===t.avail_out?J:q);a.strm=t;const r=a.last_flush;if(a.last_flush=e,42===a.status)if(2===a.wrap)t.adler=0,bt(a,31),bt(a,139),bt(a,8),a.gzhead?(bt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),bt(a,255&a.gzhead.time),bt(a,a.gzhead.time>>8&255),bt(a,a.gzhead.time>>16&255),bt(a,a.gzhead.time>>24&255),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(bt(a,255&a.gzhead.extra.length),bt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=N(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69):(bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,3),a.status=dt);else{let e=st+(a.w_bits-8<<4)<<8,i=-1;i=a.strategy>=et||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,a.status=dt,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1}if(69===a.status)if(a.gzhead.extra){for(i=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending!==a.pending_buf_size));)bt(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=73)}else a.status=73;if(73===a.status)if(a.gzhead.name){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.gzindex=0,a.status=91)}else a.status=91;if(91===a.status)if(a.gzhead.comment){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.status=lt)}else a.status=lt;if(a.status===lt&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&wt(t),a.pending+2<=a.pending_buf_size&&(bt(a,255&t.adler),bt(a,t.adler>>8&255),t.adler=0,a.status=dt)):a.status=dt),0!==a.pending){if(wt(t),0===t.avail_out)return a.last_flush=-1,X}else if(0===t.avail_in&&ut(e)<=ut(r)&&e!==G)return ft(t,J);if(a.status===ct&&0!==t.avail_in)return ft(t,J);if(0!==t.avail_in||0!==a.lookahead||e!==H&&a.status!==ct){let i=a.strategy===et?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(vt(t),0===t.lookahead)){if(e===H)return 1;break}if(t.match_length=0,i=$(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let i,n,a,r;const s=t.window;for(;;){if(t.lookahead<=ot){if(vt(t),t.lookahead<=ot&&e===H)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=t.strstart-1,n=s[a],n===s[++a]&&n===s[++a]&&n===s[++a])){r=t.strstart+ot;do{}while(n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&a<r);t.match_length=ot-(r-a),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=$(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=$(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):Ut[a.level].func(a,e);if(3!==i&&4!==i||(a.status=ct),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),X;if(2===i&&(e===P?M(a):e!==K&&(O(a,0,0,!1),e===j&&(_t(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),wt(t),0===t.avail_out))return a.last_flush=-1,X}return e!==G?X:a.wrap<=0?Y:(2===a.wrap?(bt(a,255&t.adler),bt(a,t.adler>>8&255),bt(a,t.adler>>16&255),bt(a,t.adler>>24&255),bt(a,255&t.total_in),bt(a,t.total_in>>8&255),bt(a,t.total_in>>16&255),bt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),wt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?X:Y)},deflateEnd:t=>{if(!t||!t.state)return q;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==lt&&e!==dt&&e!==ct?ft(t,q):(t.state=null,e===dt?ft(t,W):X)},deflateSetDictionary:(t,e)=>{let i=e.length;if(!t||!t.state)return q;const n=t.state,a=n.wrap;if(2===a||1===a&&42!==n.status||n.lookahead)return q;if(1===a&&(t.adler=F(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===a&&(_t(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const r=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,vt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=pt(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,vt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=r,n.wrap=a,X},deflateInfo:"pako deflate (from Nodeca project)"};const Rt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Ft={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Rt(i,e)&&(t[e]=i[e])}}return t},flattenChunks:t=>{let e=0;for(let i=0,n=t.length;i<n;i++)e+=t[i].length;const i=new Uint8Array(e);for(let e=0,n=0,a=t.length;e<a;e++){let a=t[e];i.set(a,n),n+=a.length}return i}};let Bt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Bt=!1}const Nt=new Uint8Array(256);for(let t=0;t<256;t++)Nt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Nt[254]=Nt[254]=1;var Dt={string2buf:t=>{let e,i,n,a,r,s=t.length,o=0;for(a=0;a<s;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),o+=i<128?1:i<2048?2:i<65536?3:4;for(e=new Uint8Array(o),r=0,a=0;r<o;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),i<128?e[r++]=i:i<2048?(e[r++]=192|i>>>6,e[r++]=128|63&i):i<65536?(e[r++]=224|i>>>12,e[r++]=128|i>>>6&63,e[r++]=128|63&i):(e[r++]=240|i>>>18,e[r++]=128|i>>>12&63,e[r++]=128|i>>>6&63,e[r++]=128|63&i);return e},buf2string:(t,e)=>{let i,n;const a=e||t.length,r=new Array(2*a);for(n=0,i=0;i<a;){let e=t[i++];if(e<128){r[n++]=e;continue}let s=Nt[e];if(s>4)r[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<a;)e=e<<6|63&t[i++],s--;s>1?r[n++]=65533:e<65536?r[n++]=e:(e-=65536,r[n++]=55296|e>>10&1023,r[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Bt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return i})(r,n)},utf8border:(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+Nt[t[i]]>e?i:e}},Zt=function(){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};const Lt=Object.prototype.toString,{Z_NO_FLUSH:Ot,Z_SYNC_FLUSH:Vt,Z_FULL_FLUSH:$t,Z_FINISH:Mt,Z_OK:Ht,Z_STREAM_END:Pt,Z_DEFAULT_COMPRESSION:jt,Z_DEFAULT_STRATEGY:Gt,Z_DEFLATED:Kt}=Z;function Xt(t){this.options=Ft.assign({level:jt,method:Kt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Gt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=Ct.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Ht)throw new Error(D[i]);if(e.header&&Ct.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Dt.string2buf(e.dictionary):"[object ArrayBuffer]"===Lt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=Ct.deflateSetDictionary(this.strm,t),i!==Ht)throw new Error(D[i]);this._dict_set=!0}}function Yt(t,e){const i=new Xt(e);if(i.push(t,!0),i.err)throw i.msg||D[i.err];return i.result}Xt.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let a,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Mt:Ot,"string"==typeof t?i.input=Dt.string2buf(t):"[object ArrayBuffer]"===Lt.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(r===Vt||r===$t)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(a=Ct.deflate(i,r),a===Pt)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),a=Ct.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Ht;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},Xt.prototype.onData=function(t){this.chunks.push(t)},Xt.prototype.onEnd=function(t){t===Ht&&(this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var qt={Deflate:Xt,deflate:Yt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Yt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Yt(t,e)},constants:Z},Wt=function(t,e){let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,A,E;const U=t.state;i=t.next_in,A=t.input,n=i+(t.avail_in-5),a=t.next_out,E=t.output,r=a-(e-t.avail_out),s=a+(t.avail_out-257),o=U.dmax,h=U.wsize,l=U.whave,d=U.wnext,c=U.window,f=U.hold,u=U.bits,_=U.lencode,p=U.distcode,w=(1<<U.lenbits)-1,g=(1<<U.distbits)-1;t:do{u<15&&(f+=A[i++]<<u,u+=8,f+=A[i++]<<u,u+=8),b=_[f&w];e:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,0===m)E[a++]=65535&b;else{if(!(16&m)){if(0==(64&m)){b=_[(65535&b)+(f&(1<<m)-1)];continue e}if(32&m){U.mode=12;break t}t.msg="invalid literal/length code",U.mode=30;break t}y=65535&b,m&=15,m&&(u<m&&(f+=A[i++]<<u,u+=8),y+=f&(1<<m)-1,f>>>=m,u-=m),u<15&&(f+=A[i++]<<u,u+=8,f+=A[i++]<<u,u+=8),b=p[f&g];i:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,!(16&m)){if(0==(64&m)){b=p[(65535&b)+(f&(1<<m)-1)];continue i}t.msg="invalid distance code",U.mode=30;break t}if(k=65535&b,m&=15,u<m&&(f+=A[i++]<<u,u+=8,u<m&&(f+=A[i++]<<u,u+=8)),k+=f&(1<<m)-1,k>o){t.msg="invalid distance too far back",U.mode=30;break t}if(f>>>=m,u-=m,m=a-r,k>m){if(m=k-m,m>l&&U.sane){t.msg="invalid distance too far back",U.mode=30;break t}if(v=0,x=c,0===d){if(v+=h-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}else if(d<m){if(v+=h+d-m,m-=d,m<y){y-=m;do{E[a++]=c[v++]}while(--m);if(v=0,d<y){m=d,y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}}else if(v+=d-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}for(;y>2;)E[a++]=x[v++],E[a++]=x[v++],E[a++]=x[v++],y-=3;y&&(E[a++]=x[v++],y>1&&(E[a++]=x[v++]))}else{v=a-k;do{E[a++]=E[v++],E[a++]=E[v++],E[a++]=E[v++],y-=3}while(y>2);y&&(E[a++]=E[v++],y>1&&(E[a++]=E[v++]))}break}}break}}while(i<n&&a<s);y=u>>3,i-=y,u-=y<<3,f&=(1<<u)-1,t.next_in=i,t.next_out=a,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=a<s?s-a+257:257-(a-s),U.hold=f,U.bits=u};const Jt=new Uint16Array([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]),Qt=new Uint8Array([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]),te=new Uint16Array([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]),ee=new Uint8Array([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]);var ie=(t,e,i,n,a,r,s,o)=>{const h=o.bits;let l,d,c,f,u,_,p=0,w=0,g=0,b=0,m=0,y=0,k=0,v=0,x=0,A=0,E=null,U=0;const I=new Uint16Array(16),z=new Uint16Array(16);let S,T,C,R=null,F=0;for(p=0;p<=15;p++)I[p]=0;for(w=0;w<n;w++)I[e[i+w]]++;for(m=h,b=15;b>=1&&0===I[b];b--);if(m>b&&(m=b),0===b)return a[r++]=20971520,a[r++]=20971520,o.bits=1,0;for(g=1;g<b&&0===I[g];g++);for(m<g&&(m=g),v=1,p=1;p<=15;p++)if(v<<=1,v-=I[p],v<0)return-1;if(v>0&&(0===t||1!==b))return-1;for(z[1]=0,p=1;p<15;p++)z[p+1]=z[p]+I[p];for(w=0;w<n;w++)0!==e[i+w]&&(s[z[e[i+w]]++]=w);if(0===t?(E=R=s,_=19):1===t?(E=Jt,U-=257,R=Qt,F-=257,_=256):(E=te,R=ee,_=-1),A=0,w=0,p=g,u=r,y=m,k=0,c=-1,x=1<<m,f=x-1,1===t&&x>852||2===t&&x>592)return 1;for(;;){S=p-k,s[w]<_?(T=0,C=s[w]):s[w]>_?(T=R[F+s[w]],C=E[U+s[w]]):(T=96,C=0),l=1<<p-k,d=1<<y,g=d;do{d-=l,a[u+(A>>k)+d]=S<<24|T<<16|C|0}while(0!==d);for(l=1<<p-1;A&l;)l>>=1;if(0!==l?(A&=l-1,A+=l):A=0,w++,0==--I[p]){if(p===b)break;p=e[i+s[w]]}if(p>m&&(A&f)!==c){for(0===k&&(k=m),u+=g,y=p-k,v=1<<y;y+k<b&&(v-=I[y+k],!(v<=0));)y++,v<<=1;if(x+=1<<y,1===t&&x>852||2===t&&x>592)return 1;c=A&f,a[c]=m<<24|y<<16|u-r|0}}return 0!==A&&(a[u+A]=p-k<<24|64<<16|0),o.bits=m,0};const{Z_FINISH:ne,Z_BLOCK:ae,Z_TREES:re,Z_OK:se,Z_STREAM_END:oe,Z_NEED_DICT:he,Z_STREAM_ERROR:le,Z_DATA_ERROR:de,Z_MEM_ERROR:ce,Z_BUF_ERROR:fe,Z_DEFLATED:ue}=Z,_e=12,pe=30,we=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){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 Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const be=t=>{if(!t||!t.state)return le;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,se},me=t=>{if(!t||!t.state)return le;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,be(t)},ye=(t,e)=>{let i;if(!t||!t.state)return le;const n=t.state;return e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?le:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,me(t))},ke=(t,e)=>{if(!t)return le;const i=new ge;t.state=i,i.window=null;const n=ye(t,e);return n!==se&&(t.state=null),n};let ve,xe,Ae=!0;const Ee=t=>{if(Ae){ve=new Int32Array(512),xe=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ie(1,t.lens,0,288,ve,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ie(2,t.lens,0,32,xe,0,t.work,{bits:5}),Ae=!1}t.lencode=ve,t.lenbits=9,t.distcode=xe,t.distbits=5},Ue=(t,e,i,n)=>{let a;const r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),n>=r.wsize?(r.window.set(e.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,a>n&&(a=n),r.window.set(e.subarray(i-n,i-n+a),r.wnext),(n-=a)?(r.window.set(e.subarray(i-n,i),0),r.wnext=n,r.whave=r.wsize):(r.wnext+=a,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=a))),0};var Ie={inflateReset:me,inflateReset2:ye,inflateResetKeep:be,inflateInit:t=>ke(t,15),inflateInit2:ke,inflate:(t,e)=>{let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,A=0;const E=new Uint8Array(4);let U,I;const z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return le;i=t.state,i.mode===_e&&(i.mode=13),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,c=o,f=h,x=se;t:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(2&i.wrap&&35615===l){i.check=0,E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0),l=0,d=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",i.mode=pe;break}if((15&l)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(l>>>=4,d-=4,v=8+(15&l),0===i.wbits)i.wbits=v;else if(v>i.wbits){t.msg="invalid window size",i.mode=pe;break}i.dmax=1<<i.wbits,t.adler=i.check=1,i.mode=512&l?10:_e,l=0,d=0;break;case 2:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.flags=l,(255&i.flags)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(57344&i.flags){t.msg="unknown header flags set",i.mode=pe;break}i.head&&(i.head.text=l>>8&1),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0)),l=0,d=0,i.mode=3;case 3:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.time=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,E[2]=l>>>16&255,E[3]=l>>>24&255,i.check=N(i.check,E,4,0)),l=0,d=0,i.mode=4;case 4:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.xflags=255&l,i.head.os=l>>8),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0)),l=0,d=0,i.mode=5;case 5:if(1024&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length=l,i.head&&(i.head.extra_len=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=N(i.check,E,2,0)),l=0,d=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(u=i.length,u>o&&(u=o),u&&(i.head&&(v=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(r,r+u),v)),512&i.flags&&(i.check=N(i.check,n,u,r)),o-=u,r+=u,i.length-=u),i.length))break t;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.name+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=N(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.comment+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=N(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(65535&i.check)){t.msg="header crc mismatch",i.mode=pe;break}l=0,d=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=_e;break;case 10:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}t.adler=i.check=we(l),l=0,d=0,i.mode=11;case 11:if(0===i.havedict)return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,he;t.adler=i.check=1,i.mode=_e;case _e:if(e===ae||e===re)break t;case 13:if(i.last){l>>>=7&d,d-=7&d,i.mode=27;break}for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}switch(i.last=1&l,l>>>=1,d-=1,3&l){case 0:i.mode=14;break;case 1:if(Ee(i),i.mode=20,e===re){l>>>=2,d-=2;break t}break;case 2:i.mode=17;break;case 3:t.msg="invalid block type",i.mode=pe}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if((65535&l)!=(l>>>16^65535)){t.msg="invalid stored block lengths",i.mode=pe;break}if(i.length=65535&l,l=0,d=0,i.mode=15,e===re)break t;case 15:i.mode=16;case 16:if(u=i.length,u){if(u>o&&(u=o),u>h&&(u=h),0===u)break t;a.set(n.subarray(r,r+u),s),o-=u,r+=u,h-=u,s+=u,i.length-=u;break}i.mode=_e;break;case 17:for(;d<14;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.nlen=257+(31&l),l>>>=5,d-=5,i.ndist=1+(31&l),l>>>=5,d-=5,i.ncode=4+(15&l),l>>>=4,d-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=pe;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.lens[z[i.have++]]=7&l,l>>>=3,d-=3}for(;i.have<19;)i.lens[z[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,U={bits:i.lenbits},x=ie(0,i.lens,0,19,i.lencode,0,i.work,U),i.lenbits=U.bits,x){t.msg="invalid code lengths set",i.mode=pe;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;A=i.lencode[l&(1<<i.lenbits)-1],w=A>>>24,g=A>>>16&255,b=65535&A,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(b<16)l>>>=w,d-=w,i.lens[i.have++]=b;else{if(16===b){for(I=w+2;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l>>>=w,d-=w,0===i.have){t.msg="invalid bit length repeat",i.mode=pe;break}v=i.lens[i.have-1],u=3+(3&l),l>>>=2,d-=2}else if(17===b){for(I=w+3;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=3+(7&l),l>>>=3,d-=3}else{for(I=w+7;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=11+(127&l),l>>>=7,d-=7}if(i.have+u>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=pe;break}for(;u--;)i.lens[i.have++]=v}}if(i.mode===pe)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=pe;break}if(i.lenbits=9,U={bits:i.lenbits},x=ie(1,i.lens,0,i.nlen,i.lencode,0,i.work,U),i.lenbits=U.bits,x){t.msg="invalid literal/lengths set",i.mode=pe;break}if(i.distbits=6,i.distcode=i.distdyn,U={bits:i.distbits},x=ie(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,U),i.distbits=U.bits,x){t.msg="invalid distances set",i.mode=pe;break}if(i.mode=20,e===re)break t;case 20:i.mode=21;case 21:if(o>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,Wt(t,f),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,i.mode===_e&&(i.back=-1);break}for(i.back=0;A=i.lencode[l&(1<<i.lenbits)-1],w=A>>>24,g=A>>>16&255,b=65535&A,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(g&&0==(240&g)){for(m=w,y=g,k=b;A=i.lencode[k+((l&(1<<m+y)-1)>>m)],w=A>>>24,g=A>>>16&255,b=65535&A,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,i.length=b,0===g){i.mode=26;break}if(32&g){i.back=-1,i.mode=_e;break}if(64&g){t.msg="invalid literal/length code",i.mode=pe;break}i.extra=15&g,i.mode=22;case 22:if(i.extra){for(I=i.extra;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;A=i.distcode[l&(1<<i.distbits)-1],w=A>>>24,g=A>>>16&255,b=65535&A,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(0==(240&g)){for(m=w,y=g,k=b;A=i.distcode[k+((l&(1<<m+y)-1)>>m)],w=A>>>24,g=A>>>16&255,b=65535&A,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,64&g){t.msg="invalid distance code",i.mode=pe;break}i.offset=b,i.extra=15&g,i.mode=24;case 24:if(i.extra){for(I=i.extra;d<I;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.offset+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=pe;break}i.mode=25;case 25:if(0===h)break t;if(u=f-h,i.offset>u){if(u=i.offset-u,u>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=pe;break}u>i.wnext?(u-=i.wnext,_=i.wsize-u):_=i.wnext-u,u>i.length&&(u=i.length),p=i.window}else p=a,_=s-i.offset,u=i.length;u>h&&(u=h),h-=u,i.length-=u;do{a[s++]=p[_++]}while(--u);0===i.length&&(i.mode=21);break;case 26:if(0===h)break t;a[s++]=i.length,h--,i.mode=21;break;case 27:if(i.wrap){for(;d<32;){if(0===o)break t;o--,l|=n[r++]<<d,d+=8}if(f-=h,t.total_out+=f,i.total+=f,f&&(t.adler=i.check=i.flags?N(i.check,a,f,s-f):F(i.check,a,f,s-f)),f=h,(i.flags?l:we(l))!==i.check){t.msg="incorrect data check",i.mode=pe;break}l=0,d=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(4294967295&i.total)){t.msg="incorrect length check",i.mode=pe;break}l=0,d=0}i.mode=29;case 29:x=oe;break t;case pe:x=de;break t;case 31:return ce;default:return le}return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,(i.wsize||f!==t.avail_out&&i.mode<pe&&(i.mode<27||e!==ne))&&Ue(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,i.total+=f,i.wrap&&f&&(t.adler=i.check=i.flags?N(i.check,a,f,t.next_out-f):F(i.check,a,f,t.next_out-f)),t.data_type=i.bits+(i.last?64:0)+(i.mode===_e?128:0)+(20===i.mode||15===i.mode?256:0),(0===c&&0===f||e===ne)&&x===se&&(x=fe),x},inflateEnd:t=>{if(!t||!t.state)return le;let e=t.state;return e.window&&(e.window=null),t.state=null,se},inflateGetHeader:(t,e)=>{if(!t||!t.state)return le;const i=t.state;return 0==(2&i.wrap)?le:(i.head=e,e.done=!1,se)},inflateSetDictionary:(t,e)=>{const i=e.length;let n,a,r;return t&&t.state?(n=t.state,0!==n.wrap&&11!==n.mode?le:11===n.mode&&(a=1,a=F(a,e,i,0),a!==n.check)?de:(r=Ue(t,e,i,i),r?(n.mode=31,ce):(n.havedict=1,se))):le},inflateInfo:"pako inflate (from Nodeca project)"},ze=function(){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};const Se=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Ce,Z_OK:Re,Z_STREAM_END:Fe,Z_NEED_DICT:Be,Z_STREAM_ERROR:Ne,Z_DATA_ERROR:De,Z_MEM_ERROR:Ze}=Z;function Le(t){this.options=Ft.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=Ie.inflateInit2(this.strm,e.windowBits);if(i!==Re)throw new Error(D[i]);if(this.header=new ze,Ie.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Dt.string2buf(e.dictionary):"[object ArrayBuffer]"===Se.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=Ie.inflateSetDictionary(this.strm,e.dictionary),i!==Re)))throw new Error(D[i])}function Oe(t,e){const i=new Le(e);if(i.push(t),i.err)throw i.msg||D[i.err];return i.result}Le.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize,a=this.options.dictionary;let r,s,o;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Ce:Te,"[object ArrayBuffer]"===Se.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),r=Ie.inflate(i,s),r===Be&&a&&(r=Ie.inflateSetDictionary(i,a),r===Re?r=Ie.inflate(i,s):r===De&&(r=Be));i.avail_in>0&&r===Fe&&i.state.wrap>0&&0!==t[i.next_in];)Ie.inflateReset(i),r=Ie.inflate(i,s);switch(r){case Ne:case De:case Be:case Ze:return this.onEnd(r),this.ended=!0,!1}if(o=i.avail_out,i.next_out&&(0===i.avail_out||r===Fe))if("string"===this.options.to){let t=Dt.utf8border(i.output,i.next_out),e=i.next_out-t,a=Dt.buf2string(i.output,t);i.next_out=e,i.avail_out=n-e,e&&i.output.set(i.output.subarray(t,t+e),0),this.onData(a)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(r!==Re||0!==o){if(r===Fe)return r=Ie.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Le.prototype.onData=function(t){this.chunks.push(t)},Le.prototype.onEnd=function(t){t===Re&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ve={Inflate:Le,inflate:Oe,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Oe(t,e)},ungzip:Oe,constants:Z};const{Deflate:$e,deflate:Me,deflateRaw:He,gzip:Pe}=qt,{Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Xe}=Ve;var Ye={Deflate:$e,deflate:Me,deflateRaw:He,gzip:Pe,Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Xe,constants:Z};function qe(t,e){const i=t.length;if(i!==e.length)return!1;for(let n=0;n<i;n++)if(t[n]!==e[n])return!1;return!0}class We{appendDescriptionOf(t){throw new Error("Not Implemented")}appendList(t,e,i,n){throw new Error("Not Implemented")}appendText(t){throw new Error("Not Implemented")}appendValue(t){throw new Error("Not Implemented")}appendValueList(t,e,i,n){throw new Error("Not Implemented")}}class Je{describeTo(t){throw new Error("Not Implemented")}}class Qe extends Je{value;constructor(t){super(),this.value=t}describeTo(t){t.appendValue(this.value)}}class ti{#t;constructor(t){this.#t=t}*[Symbol.iterator](){for(const t of this.#t)yield new Qe(t)}}class ei extends We{appendDescriptionOf(t){return t.describeTo(this),this}#e(t){this.appendText('"'),this.appendText(t),this.appendText('"')}appendValue(t){return null==t?this.appendText("null"):void 0===t?this.appendText("undefined"):"string"==typeof t?this.#e(t):"number"==typeof t?this.appendText(function(t){return String(t)}(t)):Array.isArray(t)?this.appendValueList("[",", ","]",t):(this.appendText("<"),this.appendText(function(t){try{return String(t)}catch(t){return"VALUE@0"}}(t)),this.appendText(">")),this}appendValueList(t,e,i,n){return this.appendList(t,e,i,new ti(n)),this}appendList(t,e,i,n){let a=!1;this.appendText(t);const r=n[Symbol.iterator]();for(let t=r.next();!0!==t.done;t=r.next())a&&this.appendText(e),this.appendDescriptionOf(t.value),a=!0;return this.appendText(i),this}}class ii extends ei{value="";appendText(t){return this.value+=t,this}}function ni(t,e){if(!t)throw new Error(e||"AssertionError")}function ai(t,e,i,n,a){let r,s,o;for(o=0;o<a;o++)r=e+o,s=n+o,i[s]=t[r]}ni.enum=function(t,e,i="value"){for(let i in e)if(e[i]===t)return;throw new Error(`${i}(=${t}) is not a valid enumerable value, valid values are: [${Object.values(e).join(", ")}]`)},ni.notEqual=function(t,e,i){ni(t!==e,i)},ni.notOk=function(t,e){ni(!t,e)},ni.equal=function(t,e,i){if(t!==e){const n=`${t} !== ${e}`;throw new Error(void 0!==i&&""!==i?`${i}. ${n}`:n)}},ni.logicalyEqual=function(t,e,i){},ni.ok=ni,ni.greaterThan=function(t,e,i){if(!(t>e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} > ${e}.`,new Error(n)}},ni.greaterThanOrEqual=function(t,e,i){if(!(t>=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} >= ${e}.`,new Error(n)}},ni.lessThan=function(t,e,i){if(!(t<e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} < ${e}.`,new Error(n)}},ni.lessThanOrEqual=function(t,e,i){if(!(t<=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} <= ${e}.`,new Error(n)}},ni.typeOf=function(t,e,i="value"){const n=typeof t;if(n!==e)throw new Error(`expected ${i} to be ${e}, instead was '${n}'(=${t})`)},ni.arrayHas=function(t,e,i="Array does not contain the item"){},ni.arrayHasNo=function(t,e,i="Array contains the item"){},ni.arrayEqual=function(t,e,i="Arrays are not equal"){if(!qe(t,e))throw new Error(i)},ni.isInstanceOf=function(t,e,i="value",n=e.name){},ni.isNumber=function(t,e="value"){const i=typeof t;if("number"!==i)throw new Error(`expected ${e} to be a number, instead was '${i}'(=${t})`)},ni.isString=function(t,e="value"){const i=typeof t;if("string"!==i)throw new Error(`expected ${e} to be a string, instead was '${i}'(=${t})`)},ni.isBoolean=function(t,e="value"){const i=typeof t;if("boolean"!==i)throw new Error(`expected ${e} to be a boolean, instead was '${i}'(=${t})`)},ni.isFunction=function(t,e="value"){const i=typeof t;if("function"!==i)throw new Error(`expected ${e} to be a function, instead was '${i}'(=${t})`)},ni.isObject=function(t,e="value"){const i=typeof t;if("object"!==i)throw new Error(`expected ${e} to be an object, instead was '${i}'(=${t})`)},ni.isInteger=function(t,e="value"){if(!Number.isInteger(t))throw new Error(`${e} must be an integer, instead was ${t}`)},ni.isNonNegativeInteger=function(t,e="value"){if(t<0)throw new Error(`${e} must be >= 0, instead was ${t}`)},ni.isArray=function(t,e="value"){if(!Array.isArray(t))throw new Error(`expected ${e} to be an array, instead was something else (typeof ='${typeof t}')`)},ni.isArrayLike=function(t,e="value"){if(!(Array.isArray(t)||(i=t,i instanceof Int8Array||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int16Array||i instanceof Uint16Array||i instanceof Int32Array||i instanceof Uint32Array||i instanceof Float32Array||i instanceof Float64Array)))throw new Error(`expected ${e} to be an array-like structure, instead was something else (typeof ='${typeof t}')`);var i},ni.defined=function(t,e="value"){if(void 0===t)throw new Error(`${e} is undefined`)},ni.isNull=function(t,e){if(null!==t)throw new Error(`${e} is NOT null`)},ni.notNull=function(t,e="value"){if(null===t)throw new Error(`${e} is null`)},ni.notNaN=function(t,e="value"){if(Number.isNaN(t))throw new Error(`${e} must be a valid number, instead was NaN`)},ni.isFiniteNumber=function(t,e="value"){if(!Number.isFinite(t))throw new Error(`${e} must be a finite number, instead was ${t}`)},ni.that=function(t,e,i){if(i.matches(t))return;const n=new ii;throw n.appendText(`Expected ${e} to be `),i.describeTo(n),n.appendText(" instead "),i.describeMismatch(t,n),new Error(n.value)};const ri=!1,si=!0;class oi{endianness=si;position=0;length=0;capacity=1024;data=new ArrayBuffer(1024);dataView=new DataView(this.data);__data_uint8=new Uint8Array(this.data);__growFactor=1.1;get raw_bytes(){return this.__data_uint8}fromArrayBuffer(t){this.data=t,this.dataView=new DataView(t),this.__data_uint8=new Uint8Array(t),this.capacity=t.byteLength,this.length=this.capacity,this.position=0}trim(){return this.setCapacity(this.position),this}setCapacity(t){if(t<this.position)throw new Error(`Attempting to set capacity(=${t}) below current position(=${this.position})`);const e=this.__data_uint8,i=new Uint8Array(t);!function(t,e){const i=e.length;i>=t.length?e.set(t,0):ai(t,0,e,0,i)}(e,i),this.data=i.buffer,this.__data_uint8=i,this.dataView=new DataView(this.data),this.capacity=t}ensureCapacity(t){const e=this.capacity;if(e>=t)return;const i=Math.ceil(Math.max(t,e*this.__growFactor,e+1024));this.setCapacity(i)}readFloat32(){const t=this.dataView.getFloat32(this.position,this.endianness);return this.position+=4,t}readFloat64(){const t=this.dataView.getFloat64(this.position,this.endianness);return this.position+=8,t}readInt8(){const t=this.dataView.getInt8(this.position);return this.position+=1,t}readInt16(){const t=this.dataView.getInt16(this.position,this.endianness);return this.position+=2,t}readInt32(){const t=this.dataView.getInt32(this.position,this.endianness);return this.position+=4,t}readUint8(){const t=this.dataView.getUint8(this.position);return this.position+=1,t}readUint16(){const t=this.dataView.getUint16(this.position,this.endianness);return this.position+=2,t}readUint16LE(){const t=this.dataView.getUint16(this.position,si);return this.position+=2,t}readUint16BE(){const t=this.dataView.getUint16(this.position,ri);return this.position+=2,t}readUint24(){return this.endianness===ri?this.readUint24BE():this.readUint24LE()}readUint24LE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,t|e<<8|i<<16}readUint24BE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,i|e<<8|t<<16}readUint32(){const t=this.dataView.getUint32(this.position,this.endianness);return this.position+=4,t}readUint32LE(){const t=this.dataView.getUint32(this.position,si);return this.position+=4,t}readUint32BE(){const t=this.dataView.getUint32(this.position,ri);return this.position+=4,t}readUint8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint8()}readUint16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint16()}readUint32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint32()}readInt8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt8()}readInt16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt16()}readInt32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt32()}readFloat32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat32()}readFloat64Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat64()}writeFloat32Array(t,e,i){for(let n=0;n<i;n++)this.writeFloat32(t[n+e])}writeFloat32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setFloat32(this.position,t,this.endianness),this.position=e}writeFloat64(t){const e=this.position+8;this.ensureCapacity(e),this.dataView.setFloat64(this.position,t,this.endianness),this.position=e}writeInt8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setInt8(this.position,t),this.position=e}writeInt16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setInt16(this.position,t,this.endianness),this.position=e}writeInt32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setInt32(this.position,t,this.endianness),this.position=e}writeUint8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setUint8(this.position,t),this.position=e}writeUint8Array(t,e,i){for(let n=0;n<i;n++)this.writeUint8(t[e+n])}writeUint16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,this.endianness),this.position=e}writeUint16BE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,ri),this.position=e}writeUint16LE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,si),this.position=e}writeUint16Array(t,e,i){for(let n=0;n<i;n++)this.writeUint16(t[e+n])}writeUint24(t){this.endianness===ri?this.writeUint24BE(t):this.writeUint24LE(t)}writeUint24BE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,a),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,i),this.position=e}writeUint24LE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,i),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,a),this.position=e}writeUintVar(t){let e=!0;for(;e||0!==t;){e=!1;let i=127&t;(t>>=7)>0&&(i|=128),this.writeUint8(i)}}readUintVar(){let t=!0,e=0,i=0;for(;t;){let n=this.readUint8();t=0!=(128&n),e|=(127&n)<<i,i+=7}return e}writeUint32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,this.endianness),this.position=e}writeUint32BE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,ri),this.position=e}writeUint32LE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,si),this.position=e}writeUint32Array(t,e,i){for(let n=0;n<i;n++)this.writeUint32(t[e+n])}writeBytes(t,e,i){const n=e+i,a=this.position,r=a+i;if(this.ensureCapacity(r),0===e&&t.length===i)this.__data_uint8.set(t,a);else if("function"==typeof t.subarray)this.__data_uint8.set(t.subarray(e,n),a);else for(let n=0;n<i;n++)this.__data_uint8[a+n]=t[e+n];this.position=r}readBytes(t,e,i){const n=this.position,a=n+i,r=this.__data_uint8;i<128?ai(r,n,t,e,i):t.set(r.subarray(n,a),e),this.position=a}writeUTF8String(t){if(null===t)return void this.writeUint32(4294967295);if(void 0===t)return void this.writeUint32(4294967294);let e=0;const i=t.length;if(i>=4294967294)throw new Error("String is too long");this.writeUint32(i);let n=this.position;const a=Math.max(32,i+(i>>1)+7);this.ensureCapacity(a+n);let r=this.__data_uint8,s=this.capacity;for(;e<i;){let a=t.charCodeAt(e++);if(a>=55296&&a<=56319){if(e<i){const i=t.charCodeAt(e);56320==(64512&i)&&(++e,a=((1023&a)<<10)+(1023&i)+65536)}if(a>=55296&&a<=56319)continue}if(n+4>s&&(this.ensureCapacity(n+4),s=this.capacity,r=this.__data_uint8),0!=(4294967168&a)){if(0==(4294965248&a))r[n++]=a>>6&31|192;else if(0==(4294901760&a))r[n++]=a>>12&15|224,r[n++]=a>>6&63|128;else{if(0!=(4292870144&a))continue;r[n++]=a>>18&7|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128}r[n++]=63&a|128}else r[n++]=a}this.position=n}readUTF8String(){const t=this.readUint32();if(4294967295===t)return null;if(4294967294===t)return;const e=this.__data_uint8;let i="",n=this.position,a=0;for(;n<this.capacity&&a<t;){const t=e[n++];let r;if(0===t)break;0==(128&t)?r=t:192==(224&t)?r=(31&t)<<6|63&e[n++]:224==(240&t)?r=(31&t)<<12|(63&e[n++])<<6|63&e[n++]:240==(248&t)&&(r=(7&t)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++],r>65535&&(r-=65536,i+=String.fromCharCode(r>>>10&1023|55296),a++,r=56320|1023&r)),a++,i+=String.fromCharCode(r)}return this.position=n,i}writeASCIIString(t){const e=t.length,i=this.position,n=i+e;this.ensureCapacity(n);for(let n=0;n<e;n++){const e=t.charCodeAt(n);if(e>255)throw new Error(`Character ${String.fromCharCode(e)} can't be represented by a US-ASCII byte.`);this.__data_uint8[i+n]=e}this.position=n}readASCIICharacters(t,e=!1){let i="";for(let n=0;n<t;n++){const t=this.readUint8();if(e&&0===t)break;i+=String.fromCharCode(t)}return i}static fromEndianness(t){const e=new oi;return e.endianness=t,e}static fromArrayBuffer(t){const e=new oi;return e.fromArrayBuffer(t),e}static copyUTF8String(t,e){const i=t.readUTF8String();return e.writeUTF8String(i),i}static copyUintVar(t,e){const i=t.readUintVar();return e.writeUintVar(i),i}static copyUint8(t,e){const i=t.readUint8();return e.writeUint8(i),i}static copyUint16(t,e){const i=t.readUint16();return e.writeUint16(i),i}static copyUint32(t,e){const i=t.readUint32();return e.writeUint32(i),i}static copyFloat32(t,e){const i=t.readFloat32();return e.writeFloat32(i),i}static copyFloat64(t,e){const i=t.readFloat64();return e.writeFloat64(i),i}static copyBytes(t,e,i){const n=new Uint8Array(i);return t.readBytes(n,0,i),e.writeBytes(n,0,i),n}}oi.prototype.isBinaryBuffer=!0;const hi=new Uint32Array(256);for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=3988292384^e>>>1:e>>>=1;hi[t]=e}class li{width=0;height=0;bitDepth=0;colorType=0;compressionMethod=0;filterMethod=0;interlaceMethod=0;colors=0;alpha=!1;pixelBits=0;palette=null;pixels=null;trns=null;text={};getWidth(){return this.width}setWidth(t){this.width=t}getHeight(){return this.height}setHeight(t){this.height=t}getBitDepth(){return this.bitDepth}setBitDepth(t){if(-1===[1,2,4,8,16].indexOf(t))throw new Error("invalid bith depth "+t);this.bitDepth=t}getColorType(){return this.colorType}setColorType(t){let e=0,i=!1;switch(t){case 0:case 3:e=1;break;case 2:e=3;break;case 4:e=2,i=!0;break;case 6:e=4,i=!0;break;default:throw new Error("invalid color type")}this.colors=e,this.alpha=i,this.colorType=t}getCompressionMethod(){return this.compressionMethod}setCompressionMethod(t){if(0!==t)throw new Error("invalid compression method "+t);this.compressionMethod=t}getFilterMethod(){return this.filterMethod}setFilterMethod(t){if(0!==t)throw new Error("invalid filter method "+t);this.filterMethod=t}getInterlaceMethod(){return this.interlaceMethod}setInterlaceMethod(t){if(0!==t&&1!==t)throw new Error("invalid interlace method "+t);this.interlaceMethod=t}setTRNS(t){this.trns=t}setPalette(t){if(t.length%3!=0)throw new Error("incorrect PLTE chunk length");if(t.length>3*Math.pow(2,this.bitDepth))throw new Error("palette has more colors than 2^bitdepth");this.palette=t}getPalette(){return this.palette}getPixel(t,e,i,n){const a=this.pixels;if(!a)throw new Error("pixel data is empty");if(i>=this.width||n>=this.height)throw new Error("x,y position out of bound");const r=this.colors*this.bitDepth/8*(n*this.width+i);let s,o,h,l;switch(this.colorType){case 0:s=a[r],o=s,h=s,l=255;break;case 2:s=a[r],o=a[r+1],h=a[r+2],l=255;break;case 3:l=255,null!=this.trns&&(l=this.trns[a[r]]);const t=3*a[r],e=this.palette;s=e[t],o=e[t+1],h=e[t+2];break;case 4:s=a[r],o=s,h=s,l=a[r+1];break;case 6:s=a[r],o=a[r+1],h=a[r+2],l=a[r+3];break;default:throw new Error("Unsupported color type")}t[e+0]=s,t[e+1]=o,t[e+2]=h,t[e+3]=l}getRGBA8Array_fromRGB(t){const e=this.height,i=this.width*e,n=this.pixels;for(let e=0;e<i;e++){const i=3*e,a=i+e;t[a]=n[i],t[a+1]=n[i+1],t[a+2]=n[i+2],t[a+3]=255}}getRGBA8Array_generic(t){const e=this.height,i=this.width;for(let n=0;n<e;n++){const e=n*i;for(let a=0;a<i;a++){const i=4*(e+a);this.getPixel(t,i,a,n)}}}getRGBA8Array(){if(6===this.colorType)return this.pixels;const t=this.height,e=this.width,i=new Uint8Array(e*t*4);return 2===this.colorType?this.getRGBA8Array_fromRGB(i):this.getRGBA8Array_generic(i),i}getUint8Data_case3(){const t=this.width*this.height;let e;const i=this.trns;e=null!==i?4:3;const n=new Uint8Array(t*e),a=this.pixels,r=this.palette,s=this.colors*Math.ceil(this.bitDepth/8);for(let i=0;i<t;i++){const t=i*e,o=3*a[i*s];n[t]=r[o],n[t+1]=r[o+1],n[t+2]=r[o+2]}if(null!==i){const e=i.length;for(let r=0;r<t;r++){const t=a[r*s];n[4*r+3]=t>=e?255:i[t]}}return{data:n,itemSize:e}}getUint8Data(){let t,e=0;switch(this.colorType){case 0:t=this.pixels,e=1;break;case 2:t=this.pixels,e=3;break;case 3:const i=this.getUint8Data_case3();t=i.data,e=i.itemSize;break;case 4:t=this.pixels,e=2;break;case 6:t=this.pixels,e=4;break;default:throw new Error("Unsupported color type")}return{data:t,itemSize:e}}}const di=[137,80,78,71,13,10,26,10];function ci(t){const e=new Ye.Inflate;if(e.push(t),e.err)throw new Error(e.err);return e.result.buffer}function fi(t,e){return t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3]}function ui(t,e){return t[e]}function _i(t){this.i=0,this.bytes=new Uint8Array(t),this.png=new li,this.dataChunks=[],this.buffer=new oi,this.buffer.fromArrayBuffer(t),this.crc_enabled=!1,this.header=new Uint8Array(8)}_i.prototype.readBytes=function(t){const e=new Uint8Array(t);return this.buffer.readBytes(e,0,t),e},_i.prototype.decodeHeader=function(){if(0!==this.i)throw new Error("file pointer should be at 0 to read the header");const t=this.buffer,e=this.header;if(t.readBytes(e,0,8),!qe(e,di))throw new Error("invalid PNGReader file (bad signature)")},_i.prototype.decodeChunk=function(){const t=this.buffer,e=t.readUint32();if(e<0)throw new Error("Bad chunk length "+(4294967295&e));const i=t.position,n=t.readASCIICharacters(4),a=this.readBytes(e);switch(t.readUint32(),this.crc_enabled&&function(t,e,i,n){let a=4294967295;const r=i+n;for(let t=i;t<r;t++){const i=255&(a^e[t]);a=hi[i]^a>>>8}}(0,t.raw_bytes,i,e+4),n){case"IHDR":this.decodeIHDR(a);break;case"PLTE":this.decodePLTE(a);break;case"IDAT":this.decodeIDAT(a);break;case"tRNS":this.decodeTRNS(a);break;case"IEND":this.decodeIEND(a);break;case"sRGB":this.decodesRGB(a);break;case"tIME":this.decodetIME(a);break;case"zTXt":this.decodezTXt(a);break;case"iTXt":this.decodeiTXt(a)}return n},_i.prototype.decodesRGB=function(t){ui(t,0)},_i.prototype.decodetIME=function(t){ui(t,0),ui(t,1),ui(t,2),ui(t,3),ui(t,4),ui(t,5),ui(t,6)},_i.prototype.decodeiTXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(79,!0),n=e.readUint8();e.readUint8();const a=e.readASCIICharacters(Infinity,!0),r=e.readASCIICharacters(Infinity,!0),s=e.data.length-e.position;let o;if(0===n)o=e.readASCIICharacters(s);else{if(1!==n)throw new Error(`Invalid compression flag value '${n}'`);{const t=ci(new Uint8Array(e.data,e.position,s));e.fromArrayBuffer(t),o=e.readASCIICharacters(t.byteLength)}}return{keyword:i,language_tag:a,translated_keyword:r,text:o}},_i.prototype.decodezTXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(79,!0),n=e.readUint8();let a;if(0!==n)throw new Error(`Unsupported compression method '${n}'`);{const i=ci(new Uint8Array(t.buffer,e.position));e.fromArrayBuffer(i),a=e.readASCIICharacters(i.length)}return{keyword:i,text:a}},_i.prototype.decodetEXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),n=e.readASCIICharacters(i.length-1,!1);this.png.text[i]=n},_i.prototype.decodeiEXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0);if(e.readUint8(),e.readUint8(),e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),e.readUTF8String(),0!==e.readUint8())throw new Error("Expected Null Separator after Translated keyword");const n=e.readUTF8String();this.png.text[i]=n},_i.prototype.decodeIHDR=function(t){const e=this.png;e.setWidth(fi(t,0)),e.setHeight(fi(t,4)),e.setBitDepth(ui(t,8)),e.setColorType(ui(t,9)),e.setCompressionMethod(ui(t,10)),e.setFilterMethod(ui(t,11)),e.setInterlaceMethod(ui(t,12))},_i.prototype.decodePLTE=function(t){this.png.setPalette(t)},_i.prototype.decodeIDAT=function(t){this.dataChunks.push(t)},_i.prototype.decodeTRNS=function(t){this.png.setTRNS(t)},_i.prototype.decodeIEND=function(){},_i.prototype.decodePixels=function(){const t=this.png,e=new Ye.Inflate,i=this.dataChunks,n=i.length;for(let t=0;t<n;t++)if(e.push(i[t]),e.err)throw new Error(e.err);const a=e.result;0===t.getInterlaceMethod()?this.interlaceNone(a):this.interlaceAdam7(a)},_i.prototype.interlaceNone=function(t){const e=this.png,i=e.bitDepth,n=e.colors*i/8,a=e.width,r=e.height,s=Math.ceil(n*a),o=Math.ceil(n)*a,h=new Uint8Array(o*r);let l=0;const d=t.length;for(let e=0;e<d;e+=s+1){const a=e+1,r=ui(t,e);switch(r){case 0:if(1===i)for(let e=0;e<o;e++){const i=t[(e>>>4)+a]>>>(7&e)&1;h[l+e]=i}else if(2===i)for(let e=0;e<o;e++){const i=t[(e>>>2)+a]>>>((3&~e)<<1)&3;h[l+e]=i}else if(4===i)for(let e=0;e<o;e++){const i=t[(e>>>1)+a]>>>((1&~e)<<2)&15;h[l+e]=i}else{if(8!==i)throw new Error(`unsupported bit depth ${i}`);for(let e=0;e<o;e++)h[l+e]=t[e+a]}break;case 1:this.unFilterSub(t,a,h,n,l,s);break;case 2:this.unFilterUp(t,a,h,n,l,s);break;case 3:this.unFilterAverage(t,a,h,n,l,s);break;case 4:this.unFilterPaeth(t,a,h,n,l,s);break;default:throw new Error(`unknown filtered scanline type '${r}'`)}l+=o}e.pixels=h},_i.prototype.interlaceAdam7=function(t){throw new Error("Adam7 interlacing is not implemented yet")},_i.prototype.unFilterSub=function(t,e,i,n,a,r){let s=0;for(;s<n;s++)i[a+s]=t[s+e];for(;s<r;s++){const r=a+s;i[r]=t[s+e]+i[r-n]&255}},_i.prototype.unFilterUp=function(t,e,i,n,a,r){let s,o,h=0;if(a-r<0)for(;h<r;h++)i[a+h]=t[h+e];else for(;h<r;h++)s=t[h+e],o=i[a+h-r],i[a+h]=s+o&255},_i.prototype.unFilterAverage=function(t,e,i,n,a,r){let s,o,h,l=0;if(a-r<0){for(;l<n;l++)i[a+l]=t[l+e];for(;l<r;l++){const r=a+l;i[r]=t[l+e]+(i[r-n]>>1)&255}}else{for(;l<n;l++){const n=a+l;i[n]=t[l+e]+(i[n-r]>>1)&255}for(;l<r;l++){s=t[l+e];const d=a+l;o=i[d-n],h=i[d-r],i[d]=s+(o+h>>1)&255}}},_i.prototype.unFilterPaeth=function(t,e,i,n,a,r){let s,o,h,l,d,c,f,u,_,p=0;if(a-r<0){for(;p<n;p++)i[a+p]=t[p+e];for(;p<r;p++)i[a+p]=t[p+e]+i[a+p-n]&255}else{const w=a-r;for(;p<n;p++)i[a+p]=t[p+e]+i[w+p]&255;for(;p<r;p++){s=t[p+e];const w=a+p;l=i[w-r-n],h=i[w-r],o=i[w-n],d=o+h-l,c=Math.abs(d-o),f=Math.abs(d-h),u=Math.abs(d-l),_=c<=f&&c<=u?o:f<=u?h:l,i[w]=s+_&255}}},_i.prototype.parse=function(){for(this.decodeHeader();"IEND"!==this.decodeChunk(););return this.decodePixels(),this.png},self.Lib={decode:async function(t,e="png"){if(!(t instanceof ArrayBuffer))throw new Error(".data argument must be an ArrayBuffer, instead was something else");if("png"===e.toLowerCase())return await async function(t){return new Promise(((e,i)=>{const n=new _i(t).parse(),a=n.getUint8Data(),r=n.getWidth(),s=n.getHeight();e({data:a.data.buffer,width:r,height:s,itemSize:a.itemSize,bitDepth:8})}))}(t);throw new Error("Unsupported type")}};
package/build/meep.cjs CHANGED
@@ -53059,7 +53059,7 @@ class BVH {
53059
53059
  * @readonly
53060
53060
  * @type {Uint32Array|{pointer:number}}
53061
53061
  */
53062
- const SCRATCH_UINT32_TRAVERSAL_STACK = new Uint32Array(781250);
53062
+ const SCRATCH_UINT32_TRAVERSAL_STACK = new Uint32Array(781250); // size is fairly arbitrary
53063
53063
 
53064
53064
  /**
53065
53065
  * Pointer used to track current top of the stack, make sure to unwind once your traversal is done
@@ -84987,7 +84987,7 @@ class Deque {
84987
84987
  /**
84988
84988
  * Using static array allocator to preserve data locality.
84989
84989
  * Initialization via "[]" would give us a dynamically sized array,
84990
- * but it would have unpredictable locality as array may or may not have it's elements stored next to each other in memory
84990
+ * but it would have unpredictable locality as array may or may not have its elements stored next to each other in memory
84991
84991
  * @type {T[]}
84992
84992
  * @private
84993
84993
  */
@@ -85076,9 +85076,11 @@ class Deque {
85076
85076
  const length = this.#data.length;
85077
85077
 
85078
85078
  if (UINT32_MAX === length) {
85079
+ // array is already as big as it can get
85079
85080
  throw new Error('Maximum array size exceeded');
85080
85081
  }
85081
85082
 
85083
+ // double existing length
85082
85084
  let new_length = length * 2;
85083
85085
 
85084
85086
  if (new_length > UINT32_MAX) {
@@ -85133,6 +85135,7 @@ class Deque {
85133
85135
  }
85134
85136
 
85135
85137
  /**
85138
+ * Number of elements in the collection
85136
85139
  * @returns {number}
85137
85140
  */
85138
85141
  size() {
@@ -53057,7 +53057,7 @@ class BVH {
53057
53057
  * @readonly
53058
53058
  * @type {Uint32Array|{pointer:number}}
53059
53059
  */
53060
- const SCRATCH_UINT32_TRAVERSAL_STACK = new Uint32Array(781250);
53060
+ const SCRATCH_UINT32_TRAVERSAL_STACK = new Uint32Array(781250); // size is fairly arbitrary
53061
53061
 
53062
53062
  /**
53063
53063
  * Pointer used to track current top of the stack, make sure to unwind once your traversal is done
@@ -84985,7 +84985,7 @@ class Deque {
84985
84985
  /**
84986
84986
  * Using static array allocator to preserve data locality.
84987
84987
  * Initialization via "[]" would give us a dynamically sized array,
84988
- * but it would have unpredictable locality as array may or may not have it's elements stored next to each other in memory
84988
+ * but it would have unpredictable locality as array may or may not have its elements stored next to each other in memory
84989
84989
  * @type {T[]}
84990
84990
  * @private
84991
84991
  */
@@ -85074,9 +85074,11 @@ class Deque {
85074
85074
  const length = this.#data.length;
85075
85075
 
85076
85076
  if (UINT32_MAX === length) {
85077
+ // array is already as big as it can get
85077
85078
  throw new Error('Maximum array size exceeded');
85078
85079
  }
85079
85080
 
85081
+ // double existing length
85080
85082
  let new_length = length * 2;
85081
85083
 
85082
85084
  if (new_length > UINT32_MAX) {
@@ -85131,6 +85133,7 @@ class Deque {
85131
85133
  }
85132
85134
 
85133
85135
  /**
85136
+ * Number of elements in the collection
85134
85137
  * @returns {number}
85135
85138
  */
85136
85139
  size() {
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.113.1",
8
+ "version": "2.113.2",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -3,6 +3,12 @@
3
3
  * Mostly useful for serialization/deserialization tasks
4
4
  */
5
5
  export class BinaryBuffer {
6
+ /**
7
+ *
8
+ * @param {EndianType} type
9
+ * @return {BinaryBuffer}
10
+ */
11
+ static fromEndianness(type: EndianType): BinaryBuffer;
6
12
  /**
7
13
  *
8
14
  * @param {ArrayBuffer} v
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryBuffer.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/BinaryBuffer.js"],"names":[],"mappings":"AA4BA;;;GAGG;AACH;IA88BI;;;;OAIG;IACH,0BAHW,WAAW,GACV,YAAY,CAQvB;IAED;;;;;OAKG;IACH,8BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,2BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,yBAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,2BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,2BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,yBAJW,YAAY,UACZ,YAAY,UACZ,MAAM,cAUhB;IAzkCD;;;OAGG;IACH,YAFU,UAAU,GAAC,OAAO,CAES;IAErC;;;OAGG;IACH,UAFU,MAAM,CAEH;IAEb;;;;OAIG;IACH,QAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,UAFU,MAAM,CAEgB;IAEhC;;;;OAIG;IACH,aAA6C;IAE7C;;;;OAIG;IACH,iBAAmC;IAEnC;;;;OAIG;IACH,qBAAyC;IAEzC;;;;OAIG;IACH,qBAAmB;IAEnB;;;OAGG;IACH,4BAEC;IAED;;OAEG;IACH,sBAFW,WAAW,QAcrB;IAED;;;OAGG;IACH,QAFa,YAAY,CAMxB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAoBhB;IAED;;;OAGG;IACH,6BAFW,MAAM,QAgBhB;IAED,sBAMC;IAED,sBAMC;IAED,mBAMC;IAED,oBAMC;IAED;;;OAGG;IACH,aAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,aAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,cAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,cAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAUlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAUlB;IAED;;;OAGG;IACH,cAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;;;OAKG;IACH,4BAFW,UAAU,sBAFV,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,6BAFW,WAAW,sBAFX,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,6BAFW,WAAW,GAAC,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,sBAFtC,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,2BAFW,SAAS,sBAFT,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,4BAFW,UAAU,sBAFV,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,4BAFW,UAAU,sBAFV,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,8BAFW,YAAY,GAAC,MAAM,EAAE,sBAFrB,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,8BAFW,YAAY,sBAFZ,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,0BAFW,YAAY,GAAC,MAAM,EAAE,iBAFrB,MAAM,UACN,MAAM,QAOhB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,wBAJW,UAAU,GAAC,MAAM,EAAE,iBACnB,MAAM,UACN,MAAM,QAMhB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,yBAJW,WAAW,GAAC,MAAM,EAAE,iBACpB,MAAM,UACN,MAAM,QAMhB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAgBhB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAgBhB;IAED;;;;OAIG;IACH,oBAFW,MAAM,QAsBhB;IAED;;;OAGG;IACH,eAFa,MAAM,CAqBlB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,yBAJW,WAAW,GAAC,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,iBACtC,MAAM,UACN,MAAM,QAMhB;IAED;;;;;OAKG;IACH,kBAJW,UAAU,GAAC,iBAAiB,iBAC5B,MAAM,UACN,MAAM,QAgChB;IAED;;;;;OAKG;IACH,uBAJW,UAAU,sBACV,MAAM,UACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,sCAgFC;IAED;;;;OAIG;IACH,yBAkEC;IAED;;;OAGG;IACH,yBAFW,MAAM,QAqBhB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,oBACN,OAAO,GACL,MAAM,CAgBlB;IAkIL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;CANpC;2BArmC0B,iBAAiB"}
1
+ {"version":3,"file":"BinaryBuffer.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/BinaryBuffer.js"],"names":[],"mappings":"AA4BA;;;GAGG;AACH;IA88BI;;;;OAIG;IACH,4BAHW,UAAU,GACT,YAAY,CAUvB;IAED;;;;OAIG;IACH,0BAHW,WAAW,GACV,YAAY,CAQvB;IAED;;;;;OAKG;IACH,8BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,2BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,yBAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,2BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,2BAJW,YAAY,UACZ,YAAY,GACV,MAAM,CAQlB;IAED;;;;;OAKG;IACH,yBAJW,YAAY,UACZ,YAAY,UACZ,MAAM,cAUhB;IAxlCD;;;OAGG;IACH,YAFU,UAAU,GAAC,OAAO,CAES;IAErC;;;OAGG;IACH,UAFU,MAAM,CAEH;IAEb;;;;OAIG;IACH,QAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,UAFU,MAAM,CAEgB;IAEhC;;;;OAIG;IACH,aAA6C;IAE7C;;;;OAIG;IACH,iBAAmC;IAEnC;;;;OAIG;IACH,qBAAyC;IAEzC;;;;OAIG;IACH,qBAAmB;IAEnB;;;OAGG;IACH,4BAEC;IAED;;OAEG;IACH,sBAFW,WAAW,QAcrB;IAED;;;OAGG;IACH,QAFa,YAAY,CAMxB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAoBhB;IAED;;;OAGG;IACH,6BAFW,MAAM,QAgBhB;IAED,sBAMC;IAED,sBAMC;IAED,mBAMC;IAED,oBAMC;IAED;;;OAGG;IACH,aAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,aAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,cAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,cAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAUlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAUlB;IAED;;;OAGG;IACH,cAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAQlB;IAED;;;;;OAKG;IACH,4BAFW,UAAU,sBAFV,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,6BAFW,WAAW,sBAFX,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,6BAFW,WAAW,GAAC,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,sBAFtC,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,2BAFW,SAAS,sBAFT,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,4BAFW,UAAU,sBAFV,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,4BAFW,UAAU,sBAFV,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,8BAFW,YAAY,GAAC,MAAM,EAAE,sBAFrB,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,8BAFW,YAAY,sBAFZ,MAAM,UACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,0BAFW,YAAY,GAAC,MAAM,EAAE,iBAFrB,MAAM,UACN,MAAM,QAOhB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,wBAJW,UAAU,GAAC,MAAM,EAAE,iBACnB,MAAM,UACN,MAAM,QAMhB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,yBAJW,WAAW,GAAC,MAAM,EAAE,iBACpB,MAAM,UACN,MAAM,QAMhB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAgBhB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAgBhB;IAED;;;;OAIG;IACH,oBAFW,MAAM,QAsBhB;IAED;;;OAGG;IACH,eAFa,MAAM,CAqBlB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,yBAJW,WAAW,GAAC,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,iBACtC,MAAM,UACN,MAAM,QAMhB;IAED;;;;;OAKG;IACH,kBAJW,UAAU,GAAC,iBAAiB,iBAC5B,MAAM,UACN,MAAM,QAgChB;IAED;;;;;OAKG;IACH,uBAJW,UAAU,sBACV,MAAM,UACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,sCAgFC;IAED;;;;OAIG;IACH,yBAkEC;IAED;;;OAGG;IACH,yBAFW,MAAM,QAqBhB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,oBACN,OAAO,GACL,MAAM,CAgBlB;IAiJL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;CANpC;2BApnC0B,iBAAiB"}
@@ -1004,6 +1004,21 @@ export class BinaryBuffer {
1004
1004
  return result;
1005
1005
  }
1006
1006
 
1007
+ /**
1008
+ *
1009
+ * @param {EndianType} type
1010
+ * @return {BinaryBuffer}
1011
+ */
1012
+ static fromEndianness(type) {
1013
+ assert.enum(type, EndianType, 'type');
1014
+
1015
+ const r = new BinaryBuffer();
1016
+
1017
+ r.endianness = type;
1018
+
1019
+ return r;
1020
+ }
1021
+
1007
1022
  /**
1008
1023
  *
1009
1024
  * @param {ArrayBuffer} v
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * *
3
+ * Provides stable indices, mainly useful for serialization where other data is subject to change
3
4
  */
4
5
  export type DataTypeIndices = number;
5
6
  export namespace DataTypeIndices {
@@ -1 +1 @@
1
- {"version":3,"file":"DataTypeIndices.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/type/DataTypeIndices.js"],"names":[],"mappings":";;;8BAIU,MAAM"}
1
+ {"version":3,"file":"DataTypeIndices.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/type/DataTypeIndices.js"],"names":[],"mappings":";;;;8BAKU,MAAM"}
@@ -1,7 +1,8 @@
1
1
  import { BinaryDataType } from "./BinaryDataType.js";
2
2
 
3
3
  /***
4
- *
4
+ * Provides stable indices, mainly useful for serialization where other data is subject to change
5
+ * @readonly
5
6
  * @enum {number}
6
7
  */
7
8
  export const DataTypeIndices = {
@@ -1,4 +1,7 @@
1
1
  /**
2
+ * Space-efficient probabilistic data structure that allows testing whether a key is included in the set or not
3
+ * Provides definite "not in set" answer and a probabilistic "is in set" answer, certainty probability of which can be controlled
4
+ * @see https://en.wikipedia.org/wiki/Cuckoo_filter
2
5
  * @description Inspired by MGunlogson's CuckooFilter4J library
3
6
  */
4
7
  export class CuckooFilter {
@@ -1 +1 @@
1
- {"version":3,"file":"CuckooFilter.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/CuckooFilter.js"],"names":[],"mappings":"AAqDA;;GAEG;AACH;IACI;;;;OAIG;IACH,+BAHW,MAAM,EA2ChB;IA5BG;;;OAGG;IACH,cAFU,MAAM,CAEgC;IAChD,sBAA8D;IAE9D;;;OAGG;IACH,cAFU,MAAM,CAE8C;IAE9D;;;OAGG;IACH,MAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,SAFU,MAAM,CAEA;IAEhB,yBAA4B;IAC5B,qBAAqB;IACrB,uBAAuB;IAG3B,oBAEC;IAED;;;;;;OAMG;IACH,uBAEC;IAED;;;;;;;;;OASG;IACH,mBAkBC;IAED;;;;;;OAMG;IACH,yBASC;IAED;;;;;;OAMG;IACH,0BAUC;IAED;;;;;OAKG;IACH,oBAIC;IAED;;;;;;OAMG;IACH,2BAUC;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,MAAM,CAelB;IAED;;;;;;OAMG;IACH,0BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;;;OAQG;IACH,wBAsBC;IAED;;;;;;;OAOG;IACH,gCAaC;IAED;;;;;OAKG;IACH,yCASC;IAED;;;;;;;;;;OAUG;IACH,mCAIC;IAED;;;;;OAKG;IACH,gCAWC;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAJW,MAAM,GACJ,OAAO,CA8CnB;IAED,+BAcC;IAED;;;;;;;OAOG;IACH,sBAMC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAJW,MAAM,GACJ,OAAO,CA6BnB;IAGD;;;;;;OAMG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;CACJ;uBA5gBsB,qBAAqB"}
1
+ {"version":3,"file":"CuckooFilter.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/CuckooFilter.js"],"names":[],"mappings":"AAqDA;;;;;GAKG;AACH;IACI;;;;OAIG;IACH,+BAHW,MAAM,EA2ChB;IA5BG;;;OAGG;IACH,cAFU,MAAM,CAEgC;IAChD,sBAA8D;IAE9D;;;OAGG;IACH,cAFU,MAAM,CAE8C;IAE9D;;;OAGG;IACH,MAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,SAFU,MAAM,CAEA;IAEhB,yBAA4B;IAC5B,qBAAqB;IACrB,uBAAuB;IAG3B,oBAEC;IAED;;;;;;OAMG;IACH,uBAEC;IAED;;;;;;;;;OASG;IACH,mBAkBC;IAED;;;;;;OAMG;IACH,yBASC;IAED;;;;;;OAMG;IACH,0BAUC;IAED;;;;;OAKG;IACH,oBAIC;IAED;;;;;;OAMG;IACH,2BAUC;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,MAAM,CAelB;IAED;;;;;;OAMG;IACH,0BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;;;OAQG;IACH,wBAsBC;IAED;;;;;;;OAOG;IACH,gCAaC;IAED;;;;;OAKG;IACH,yCASC;IAED;;;;;;;;;;OAUG;IACH,mCAIC;IAED;;;;;OAKG;IACH,gCAWC;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAJW,MAAM,GACJ,OAAO,CA8CnB;IAED,+BAcC;IAED;;;;;;;OAOG;IACH,sBAMC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAJW,MAAM,GACJ,OAAO,CA6BnB;IAGD;;;;;;OAMG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;CACJ;uBA/gBsB,qBAAqB"}
@@ -52,6 +52,9 @@ function createMaskFromBitCount(count) {
52
52
  }
53
53
 
54
54
  /**
55
+ * Space-efficient probabilistic data structure that allows testing whether a key is included in the set or not
56
+ * Provides definite "not in set" answer and a probabilistic "is in set" answer, certainty probability of which can be controlled
57
+ * @see https://en.wikipedia.org/wiki/Cuckoo_filter
55
58
  * @description Inspired by MGunlogson's CuckooFilter4J library
56
59
  */
57
60
  export class CuckooFilter {
@@ -454,10 +457,10 @@ export class CuckooFilter {
454
457
  */
455
458
  __checkVictim(i1, i2, tag) {
456
459
  return this.__victim_tag === tag
457
- && (
458
- this.__victim_index === i1
459
- || this.__victim_index === i2
460
- );
460
+ && (
461
+ this.__victim_index === i1
462
+ || this.__victim_index === i2
463
+ );
461
464
  }
462
465
 
463
466
  /**
@@ -520,7 +523,7 @@ export class CuckooFilter {
520
523
  const i2 = this.__compute_alt_bucket_index(i1, tag);
521
524
 
522
525
  return this.__findTag(i1, i2, tag)
523
- || (this.__victim_exists && this.__victim_tag === tag && (this.__victim_index === i1 || this.__victim_index === i2)) //check the victim
526
+ || (this.__victim_exists && this.__victim_tag === tag && (this.__victim_index === i1 || this.__victim_index === i2)) //check the victim
524
527
  ;
525
528
  }
526
529
  }
@@ -4,7 +4,7 @@
4
4
  * @readonly
5
5
  * @type {Uint32Array|{pointer:number}}
6
6
  */
7
- export const SCRATCH_UINT32_TRAVERSAL_STACK = new Uint32Array(781250);
7
+ export const SCRATCH_UINT32_TRAVERSAL_STACK = new Uint32Array(781250); // size is fairly arbitrary
8
8
 
9
9
  /**
10
10
  * Pointer used to track current top of the stack, make sure to unwind once your traversal is done
@@ -1 +1 @@
1
- {"version":3,"file":"Deque.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/queue/Deque.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IA8BI;;;OAGG;IACH,uBAFW,MAAM,EAUhB;IAqFD;;;OAGG;IACH,WAFY,OAAO,CAIlB;IAED,cAeC;IAED;;OAEG;IACH,QAFa,MAAM,CAalB;IA+CD;;;;OAIG;IACH,UAHW,CAAC,GACC,OAAO,CAYnB;IA4BD;;;;OAIG;IACH,WAFa,OAAO,CAInB;IAED;;;OAGG;IACH,YAFW,CAAC,QAOX;IAED;;;OAGG;IACH,eAFa,CAAC,GAAC,SAAS,CAQvB;IAED;;;OAGG;IACH,YAFa,CAAC,GAAC,SAAS,CAIvB;IAED;;;OAGG;IACH,WAFW,CAAC,QAOX;IAED;;;OAGG;IACH,cAFa,CAAC,CASb;IAGD;;;OAGG;IACH,WAFa,CAAC,GAAC,SAAS,CAKvB;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,CAAC,GAAC,SAAS,CAmBvB;IAED;;;;;OAKG;IACH,iBAJW,CAAC,EAAE,kBACH,MAAM,GACJ,CAAC,EAAE,CAUf;IAoBL,gBAAoB;IACpB,uBAAoB;IACpB,eAAmB;IAEnB;;OAEG;IACH,sBAAmB;IAzBf;;;OAGG;IACH,qBAFa,UAAU,CAAC,EAAC,IAAI,CAAC,CAS7B;;CACJ"}
1
+ {"version":3,"file":"Deque.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/queue/Deque.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IA8BI;;;OAGG;IACH,uBAFW,MAAM,EAUhB;IAuFD;;;OAGG;IACH,WAFY,OAAO,CAIlB;IAED,cAeC;IAED;;;OAGG;IACH,QAFa,MAAM,CAalB;IA+CD;;;;OAIG;IACH,UAHW,CAAC,GACC,OAAO,CAYnB;IA4BD;;;;OAIG;IACH,WAFa,OAAO,CAInB;IAED;;;OAGG;IACH,YAFW,CAAC,QAOX;IAED;;;OAGG;IACH,eAFa,CAAC,GAAC,SAAS,CAQvB;IAED;;;OAGG;IACH,YAFa,CAAC,GAAC,SAAS,CAIvB;IAED;;;OAGG;IACH,WAFW,CAAC,QAOX;IAED;;;OAGG;IACH,cAFa,CAAC,CASb;IAGD;;;OAGG;IACH,WAFa,CAAC,GAAC,SAAS,CAKvB;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,CAAC,GAAC,SAAS,CAmBvB;IAED;;;;;OAKG;IACH,iBAJW,CAAC,EAAE,kBACH,MAAM,GACJ,CAAC,EAAE,CAUf;IAoBL,gBAAoB;IACpB,uBAAoB;IACpB,eAAmB;IAEnB;;OAEG;IACH,sBAAmB;IAzBf;;;OAGG;IACH,qBAFa,UAAU,CAAC,EAAC,IAAI,CAAC,CAS7B;;CACJ"}
@@ -21,7 +21,7 @@ export class Deque {
21
21
  /**
22
22
  * Using static array allocator to preserve data locality.
23
23
  * Initialization via "[]" would give us a dynamically sized array,
24
- * but it would have unpredictable locality as array may or may not have it's elements stored next to each other in memory
24
+ * but it would have unpredictable locality as array may or may not have its elements stored next to each other in memory
25
25
  * @type {T[]}
26
26
  * @private
27
27
  */
@@ -112,9 +112,11 @@ export class Deque {
112
112
  const length = this.#data.length;
113
113
 
114
114
  if (UINT32_MAX === length) {
115
+ // array is already as big as it can get
115
116
  throw new Error('Maximum array size exceeded');
116
117
  }
117
118
 
119
+ // double existing length
118
120
  let new_length = length * 2;
119
121
 
120
122
  if (new_length > UINT32_MAX) {
@@ -169,6 +171,7 @@ export class Deque {
169
171
  }
170
172
 
171
173
  /**
174
+ * Number of elements in the collection
172
175
  * @returns {number}
173
176
  */
174
177
  size() {
@@ -13,10 +13,10 @@ export class RowFirstTableSpec {
13
13
  /**
14
14
  *
15
15
  * @param {BinaryDataType[]} types
16
- * @param {EndianType} [endianType]
16
+ * @param {EndianType} [endianness]
17
17
  * @constructor
18
18
  */
19
- constructor(types: BinaryDataType[], endianType?: EndianType);
19
+ constructor(types: BinaryDataType[], endianness?: EndianType);
20
20
  /**
21
21
  * @readonly
22
22
  * @type {BinaryDataType[]}
@@ -1 +1 @@
1
- {"version":3,"file":"RowFirstTableSpec.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/table/RowFirstTableSpec.js"],"names":[],"mappings":"AA+HA;;;GAGG;AACH;IAwGI;;;;;OAKG;IACH,kBAJW,cAAc,EAAE,eAChB,UAAU,GACR,iBAAiB,CAmB7B;IA9HD;;;;;OAKG;IACH,mBAJW,cAAc,EAAE,eAChB,UAAU,EAiEpB;IAzDG;;;OAGG;IACH,gBAFU,cAAc,EAAE,CAER;IAElB;;;OAGG;IACH,qBAFU,UAAU,CAEQ;IAE5B;;;OAGG;IACH,wBAFU,WAAW,CAEyB;IAc9C;;;OAGG;IACH,yBAFU,MAAM,CAEgB;IAEhC;;;OAGG;IACH,+BAFmB,QAAQ,QAAE,MAAM,QAAE,MAAM,EAAE,KAAG,IAAI,CAEA;IAEpD;;;OAGG;IACH,gCAFmB,QAAQ,QAAE,MAAM,QAAE,MAAM,EAAE,KAAG,IAAI,CAEC;IAIrD,mBAAsC;IACtC,mBAAsC;IAQ1C;;;OAGG;IACH,kBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,QAFY,MAAM,CAQjB;IAED;;;;OAIG;IACH,cAHW,iBAAiB,GACf,OAAO,CAQnB;IA4BL;;;OAGG;IACH,8BAFU,OAAO,CAE8B;CAN9C;+BA3P8B,qCAAqC;2BADzC,4BAA4B"}
1
+ {"version":3,"file":"RowFirstTableSpec.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/table/RowFirstTableSpec.js"],"names":[],"mappings":"AA+HA;;;GAGG;AACH;IA4GI;;;;;OAKG;IACH,kBAJW,cAAc,EAAE,eAChB,UAAU,GACR,iBAAiB,CAmB7B;IAlID;;;;;OAKG;IACH,mBAJW,cAAc,EAAE,eAChB,UAAU,EAqEpB;IA5DG;;;OAGG;IACH,gBAFU,cAAc,EAAE,CAER;IAElB;;;OAGG;IACH,qBAFU,UAAU,CAEQ;IAE5B;;;OAGG;IACH,wBAFU,WAAW,CAEyB;IAiB9C;;;OAGG;IACH,yBAFU,MAAM,CAEgB;IAEhC;;;OAGG;IACH,+BAFmB,QAAQ,QAAE,MAAM,QAAE,MAAM,EAAE,KAAG,IAAI,CAEA;IAEpD;;;OAGG;IACH,gCAFmB,QAAQ,QAAE,MAAM,QAAE,MAAM,EAAE,KAAG,IAAI,CAEC;IAIrD,mBAAsC;IACtC,mBAAsC;IAQ1C;;;OAGG;IACH,kBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,QAFY,MAAM,CAQjB;IAED;;;;OAIG;IACH,cAHW,iBAAiB,GACf,OAAO,CAQnB;IA4BL;;;OAGG;IACH,8BAFU,OAAO,CAE8B;CAN9C;+BA/P8B,qCAAqC;2BADzC,4BAA4B"}
@@ -133,11 +133,12 @@ export class RowFirstTableSpec {
133
133
  /**
134
134
  *
135
135
  * @param {BinaryDataType[]} types
136
- * @param {EndianType} [endianType]
136
+ * @param {EndianType} [endianness]
137
137
  * @constructor
138
138
  */
139
- constructor(types, endianType = EndianType.BigEndian) {
139
+ constructor(types, endianness = EndianType.BigEndian) {
140
140
  assert.isArray(types, 'types');
141
+ assert.enum(endianness, EndianType, 'endianness');
141
142
 
142
143
  const numTypes = types.length;
143
144
 
@@ -151,7 +152,7 @@ export class RowFirstTableSpec {
151
152
  * @readonly
152
153
  * @type {EndianType}
153
154
  */
154
- this.endianType = endianType;
155
+ this.endianType = endianness;
155
156
 
156
157
  /**
157
158
  * @readonly
@@ -163,6 +164,9 @@ export class RowFirstTableSpec {
163
164
 
164
165
  for (let index = 0; index < numTypes; index++) {
165
166
  const type = types[index];
167
+
168
+ assert.enum(type, BinaryDataType, `type[${index}]`);
169
+
166
170
  this.columnOffsets[index] = byteOffset;
167
171
 
168
172
  const columnByteSize = DataTypeByteSizes[type];
@@ -181,13 +185,13 @@ export class RowFirstTableSpec {
181
185
  * @readonly
182
186
  * @type {function(DataView, number, number[]): void}
183
187
  */
184
- this.readRowMethod = genRowReader(types, endianType);
188
+ this.readRowMethod = genRowReader(types, endianness);
185
189
 
186
190
  /**
187
191
  * @readonly
188
192
  * @type {function(DataView, number, number[]): void}
189
193
  */
190
- this.writeRowMethod = genRowWriter(types, endianType);
194
+ this.writeRowMethod = genRowWriter(types, endianness);
191
195
 
192
196
 
193
197
  //generate cell readers/writers
@@ -195,8 +199,8 @@ export class RowFirstTableSpec {
195
199
  this.cellReaders = new Array(numTypes);
196
200
 
197
201
  for (let i = 0; i < numTypes; i++) {
198
- this.cellReaders[i] = compileDataViewValueReader(types[i], this.columnOffsets[i], endianType);
199
- this.cellWriters[i] = compileDataViewValueWriter(types[i], this.columnOffsets[i], endianType);
202
+ this.cellReaders[i] = compileDataViewValueReader(types[i], this.columnOffsets[i], endianness);
203
+ this.cellWriters[i] = compileDataViewValueWriter(types[i], this.columnOffsets[i], endianness);
200
204
  }
201
205
  }
202
206