>>=v,p-=v),p<15&&(m+=k[r++]<>>24,m>>>=v,p-=v,v=g>>>16&255,!(16&v)){if(0==(64&v)){g=f[(65535&g)+(m&(1<s){e.msg="invalid distance too far back",S.mode=30;break e}if(m>>>=v,p-=v,v=i-n,N>v){if(v=N-v,v>l&&S.sane){e.msg="invalid distance too far back",S.mode=30;break e}if(O=0,w=_,0===d){if(O+=c-v,v2;)x[i++]=w[O++],x[i++]=w[O++],x[i++]=w[O++],y-=3;y&&(x[i++]=w[O++],y>1&&(x[i++]=w[O++]))}else{O=i-N;do{x[i++]=x[O++],x[i++]=x[O++],x[i++]=x[O++],y-=3}while(y>2);y&&(x[i++]=x[O++],y>1&&(x[i++]=x[O++]))}break}}break}}while(r>3,r-=y,p-=y<<3,m&=(1<{const c=s.bits;let l,d,_,m,p,u,f=0,h=0,b=0,g=0,v=0,y=0,N=0,O=0,w=0,k=0,x=null,S=0;const j=new Uint16Array(16),M=new Uint16Array(16);let P,A,L,C=null,B=0;for(f=0;f<=15;f++)j[f]=0;for(h=0;h=1&&0===j[g];g--);if(v>g&&(v=g),0===g)return i[n++]=20971520,i[n++]=20971520,s.bits=1,0;for(b=1;b0&&(0===e||1!==g))return-1;for(M[1]=0,f=1;f<15;f++)M[f+1]=M[f]+j[f];for(h=0;h852||2===e&&w>592)return 1;for(;;){P=f-N,a[h]u?(A=C[B+a[h]],L=x[S+a[h]]):(A=96,L=0),l=1<>N)+d]=P<<24|A<<16|L|0}while(0!==d);for(l=1<>=1;if(0!==l?(k&=l-1,k+=l):k=0,h++,0==--j[f]){if(f===g)break;f=t[r+a[h]]}if(f>v&&(k&m)!==_){for(0===N&&(N=v),p+=b,y=f-N,O=1<852||2===e&&w>592)return 1;_=k&m,i[_]=v<<24|y<<16|p-n|0}}return 0!==k&&(i[p+k]=f-N<<24|64<<16|0),s.bits=v,0};const{Z_FINISH:No,Z_BLOCK:Oo,Z_TREES:wo,Z_OK:ko,Z_STREAM_END:xo,Z_NEED_DICT:So,Z_STREAM_ERROR:jo,Z_DATA_ERROR:Mo,Z_MEM_ERROR:Po,Z_BUF_ERROR:Ao,Z_DEFLATED:Lo}=ir,Co=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Bo(){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 zo=e=>{if(!e||!e.state)return jo;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,ko},To=e=>{if(!e||!e.state)return jo;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,zo(e)},Ro=(e,t)=>{let r;if(!e||!e.state)return jo;const o=e.state;return t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?jo:(null!==o.window&&o.wbits!==t&&(o.window=null),o.wrap=r,o.wbits=t,To(e))},Io=(e,t)=>{if(!e)return jo;const r=new Bo;e.state=r,r.window=null;const o=Ro(e,t);return o!==ko&&(e.state=null),o};let Do,Eo,Fo=!0;const $o=e=>{if(Fo){Do=new Int32Array(512),Eo=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(yo(1,e.lens,0,288,Do,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;yo(2,e.lens,0,32,Eo,0,e.work,{bits:5}),Fo=!1}e.lencode=Do,e.lenbits=9,e.distcode=Eo,e.distbits=5},qo=(e,t,r,o)=>{let i;const n=e.state;return null===n.window&&(n.wsize=1<=n.wsize?(n.window.set(t.subarray(r-n.wsize,r),0),n.wnext=0,n.whave=n.wsize):(i=n.wsize-n.wnext,i>o&&(i=o),n.window.set(t.subarray(r-o,r-o+i),n.wnext),(o-=i)?(n.window.set(t.subarray(r-o,r),0),n.wnext=o,n.whave=n.wsize):(n.wnext+=i,n.wnext===n.wsize&&(n.wnext=0),n.whaveIo(e,15),inflateInit2:Io,inflate:(e,t)=>{let r,o,i,n,a,s,c,l,d,_,m,p,u,f,h,b,g,v,y,N,O,w,k=0;const x=new Uint8Array(4);let S,j;const M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return jo;r=e.state,12===r.mode&&(r.mode=13),a=e.next_out,i=e.output,c=e.avail_out,n=e.next_in,o=e.input,s=e.avail_in,l=r.hold,d=r.bits,_=s,m=c,w=ko;e:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;d<16;){if(0===s)break e;s--,l+=o[n++]<>>8&255,r.check=rr(r.check,x,2,0),l=0,d=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",r.mode=30;break}if((15&l)!==Lo){e.msg="unknown compression method",r.mode=30;break}if(l>>>=4,d-=4,O=8+(15&l),0===r.wbits)r.wbits=O;else if(O>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(x[0]=255&l,x[1]=l>>>8&255,r.check=rr(r.check,x,2,0)),l=0,d=0,r.mode=3;case 3:for(;d<32;){if(0===s)break e;s--,l+=o[n++]<>>8&255,x[2]=l>>>16&255,x[3]=l>>>24&255,r.check=rr(r.check,x,4,0)),l=0,d=0,r.mode=4;case 4:for(;d<16;){if(0===s)break e;s--,l+=o[n++]<>8),512&r.flags&&(x[0]=255&l,x[1]=l>>>8&255,r.check=rr(r.check,x,2,0)),l=0,d=0,r.mode=5;case 5:if(1024&r.flags){for(;d<16;){if(0===s)break e;s--,l+=o[n++]<>>8&255,r.check=rr(r.check,x,2,0)),l=0,d=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(p=r.length,p>s&&(p=s),p&&(r.head&&(O=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(o.subarray(n,n+p),O)),512&r.flags&&(r.check=rr(r.check,o,p,n)),s-=p,n+=p,r.length-=p),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===s)break e;p=0;do{O=o[n+p++],r.head&&O&&r.length<65536&&(r.head.name+=String.fromCharCode(O))}while(O&&p>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;d<32;){if(0===s)break e;s--,l+=o[n++]<>>=7&d,d-=7&d,r.mode=27;break}for(;d<3;){if(0===s)break e;s--,l+=o[n++]<>>=1,d-=1,3&l){case 0:r.mode=14;break;case 1:if($o(r),r.mode=20,t===wo){l>>>=2,d-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===s)break e;s--,l+=o[n++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&l,l=0,d=0,r.mode=15,t===wo)break e;case 15:r.mode=16;case 16:if(p=r.length,p){if(p>s&&(p=s),p>c&&(p=c),0===p)break e;i.set(o.subarray(n,n+p),a),s-=p,n+=p,c-=p,a+=p,r.length-=p;break}r.mode=12;break;case 17:for(;d<14;){if(0===s)break e;s--,l+=o[n++]<>>=5,d-=5,r.ndist=1+(31&l),l>>>=5,d-=5,r.ncode=4+(15&l),l>>>=4,d-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have>>=3,d-=3}for(;r.have<19;)r.lens[M[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},w=yo(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,w){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>24,b=k>>>16&255,g=65535&k,!(h<=d);){if(0===s)break e;s--,l+=o[n++]<>>=h,d-=h,r.lens[r.have++]=g;else{if(16===g){for(j=h+2;d>>=h,d-=h,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}O=r.lens[r.have-1],p=3+(3&l),l>>>=2,d-=2}else if(17===g){for(j=h+3;d>>=h,d-=h,O=0,p=3+(7&l),l>>>=3,d-=3}else{for(j=h+7;d>>=h,d-=h,O=0,p=11+(127&l),l>>>=7,d-=7}if(r.have+p>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;p--;)r.lens[r.have++]=O}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},w=yo(1,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,w){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},w=yo(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,w){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,t===wo)break e;case 20:r.mode=21;case 21:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=n,e.avail_in=s,r.hold=l,r.bits=d,fo(e,m),a=e.next_out,i=e.output,c=e.avail_out,n=e.next_in,o=e.input,s=e.avail_in,l=r.hold,d=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;k=r.lencode[l&(1<>>24,b=k>>>16&255,g=65535&k,!(h<=d);){if(0===s)break e;s--,l+=o[n++]<>v)],h=k>>>24,b=k>>>16&255,g=65535&k,!(v+h<=d);){if(0===s)break e;s--,l+=o[n++]<>>=v,d-=v,r.back+=v}if(l>>>=h,d-=h,r.back+=h,r.length=g,0===b){r.mode=26;break}if(32&b){r.back=-1,r.mode=12;break}if(64&b){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&b,r.mode=22;case 22:if(r.extra){for(j=r.extra;d>>=r.extra,d-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;k=r.distcode[l&(1<>>24,b=k>>>16&255,g=65535&k,!(h<=d);){if(0===s)break e;s--,l+=o[n++]<>v)],h=k>>>24,b=k>>>16&255,g=65535&k,!(v+h<=d);){if(0===s)break e;s--,l+=o[n++]<>>=v,d-=v,r.back+=v}if(l>>>=h,d-=h,r.back+=h,64&b){e.msg="invalid distance code",r.mode=30;break}r.offset=g,r.extra=15&b,r.mode=24;case 24:if(r.extra){for(j=r.extra;d>>=r.extra,d-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===c)break e;if(p=m-c,r.offset>p){if(p=r.offset-p,p>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p>r.wnext?(p-=r.wnext,u=r.wsize-p):u=r.wnext-p,p>r.length&&(p=r.length),f=r.window}else f=i,u=a-r.offset,p=r.length;p>c&&(p=c),c-=p,r.length-=p;do{i[a++]=f[u++]}while(--p);0===r.length&&(r.mode=21);break;case 26:if(0===c)break e;i[a++]=r.length,c--,r.mode=21;break;case 27:if(r.wrap){for(;d<32;){if(0===s)break e;s--,l|=o[n++]<{if(!e||!e.state)return jo;let t=e.state;return t.window&&(t.window=null),e.state=null,ko},inflateGetHeader:(e,t)=>{if(!e||!e.state)return jo;const r=e.state;return 0==(2&r.wrap)?jo:(r.head=t,t.done=!1,ko)},inflateSetDictionary:(e,t)=>{const r=t.length;let o,i,n;return e&&e.state?(o=e.state,0!==o.wrap&&11!==o.mode?jo:11===o.mode&&(i=1,i=er(i,t,r,0),i!==o.check)?Mo:(n=qo(e,t,r,r),n?(o.mode=31,Po):(o.havedict=1,ko))):jo},inflateInfo:"pako inflate (from Nodeca project)"};var Ho=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 Zo=Object.prototype.toString,{Z_NO_FLUSH:Wo,Z_FINISH:Go,Z_OK:Vo,Z_STREAM_END:Xo,Z_NEED_DICT:Yo,Z_STREAM_ERROR:Jo,Z_DATA_ERROR:Ko,Z_MEM_ERROR:Qo}=ir;function ei(e){this.options=Xr({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new ro,this.strm.avail_out=0;let r=Uo.inflateInit2(this.strm,t.windowBits);if(r!==Vo)throw new Error(or[r]);if(this.header=new Ho,Uo.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Qr(t.dictionary):"[object ArrayBuffer]"===Zo.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=Uo.inflateSetDictionary(this.strm,t.dictionary),r!==Vo)))throw new Error(or[r])}var ti,ri;ei.prototype.push=function(e,t){const r=this.strm,o=this.options.chunkSize,i=this.options.dictionary;let n,a,s;if(this.ended)return!1;for(a=t===~~t?t:!0===t?Go:Wo,"[object ArrayBuffer]"===Zo.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(o),r.next_out=0,r.avail_out=o),n=Uo.inflate(r,a),n===Yo&&i&&(n=Uo.inflateSetDictionary(r,i),n===Vo?n=Uo.inflate(r,a):n===Ko&&(n=Yo));r.avail_in>0&&n===Xo&&r.state.wrap>0&&0!==e[r.next_in];)Uo.inflateReset(r),n=Uo.inflate(r,a);switch(n){case Jo:case Ko:case Yo:case Qo:return this.onEnd(n),this.ended=!0,!1}if(s=r.avail_out,r.next_out&&(0===r.avail_out||n===Xo))if("string"===this.options.to){let e=to(r.output,r.next_out),t=r.next_out-e,i=eo(r.output,e);r.next_out=t,r.avail_out=o-t,t&&r.output.set(r.output.subarray(e,e+t),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(n!==Vo||0!==s){if(n===Xo)return n=Uo.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},ei.prototype.onData=function(e){this.chunks.push(e)},ei.prototype.onEnd=function(e){e===Vo&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Yr(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},(ri=ti||(ti={})).UP="up",ri.DOWN="down",ri.NORTH="north",ri.EAST="east",ri.SOUTH="south",ri.WEST="west";const oi={[ti.UP]:[0,1,0],[ti.DOWN]:[0,-1,0],[ti.NORTH]:[0,0,-1],[ti.EAST]:[1,0,0],[ti.SOUTH]:[0,0,1],[ti.WEST]:[-1,0,0]};var ii,ni,ai,si,ci,li,di,_i,mi,pi,ui,fi,hi;function bi(e,t,r){if(!e[t])throw new Error(`Missing ${t} tag`);if(e[t].type!==r)throw new Error(`Expected ${t} to be of type ${r}, but found ${e[t].type}`);return e[t].value}!function(e){e.ALL=[e.UP,e.DOWN,e.NORTH,e.EAST,e.SOUTH,e.WEST],e.normal=function(e){return oi[e]}}(ti||(ti={})),function(e){e.create=function(e,t,r){return[e,t,r]},e.offset=function(e,t,r,o){return[e[0]+t,e[1]+r,e[2]+o]},e.towards=function(t,r){return e.offset(t,...ti.normal(r))}}(ii||(ii={}));class gi{constructor(e,t={}){this.name=e,this.properties=t}getName(){return this.name}getProperties(){return this.properties}getProperty(e){return this.properties[e]}isFluid(){return"minecraft:water"===this.name||"minecraft:lava"===this.name}equals(e){return this.name===e.name&&Object.keys(this.properties).every((t=>e.properties[t]===this.properties[t]))}toString(){return 0===Object.keys(this.properties).length?this.name:`${this.name}[${Object.entries(this.properties).map((([e,t])=>e+"="+t)).join(",")}]`}static fromNbt(e){const t=bi(e.value,"Name","string"),r=function(e,t){try{return e()}catch(r){return t}}((()=>bi(e.value,"Properties","compound")),{}),o=Object.keys(r).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t]:bi(r,t,"string")})),{});return new gi(t,o)}static fromJson(e){var t,r;const o=null!==(t=ai.readObject(e))&&void 0!==t?t:{},i=null!==(r=ai.readString(o.Name))&&void 0!==r?r:"minecraft:stone",n=ai.readMap(o.Properties,(e=>{var t;return null!==(t=ai.readString(e))&&void 0!==t?t:""}));return new gi(i,n)}}gi.AIR=new gi("minecraft:air");class vi{constructor(e){this.minY=e,this.storage=Array(vi.SIZE),this.palette=[gi.AIR]}get minBlockY(){return this.minY<<4}index(e,t,r){return(e<<8)+(t<<4)+r}getBlockState(e,t,r){var o;const i=this.storage[this.index(e,t,r)];return null!==(o=this.palette[i])&&void 0!==o?o:gi.AIR}setBlockState(e,t,r,o){let i=this.palette.findIndex((e=>e.equals(o)));-1===i&&(i=this.palette.length,this.palette.push(o)),this.storage[this.index(e,t,r)]=i}}vi.WIDTH=16,vi.SIZE=vi.WIDTH*vi.WIDTH*vi.WIDTH;class yi{constructor(e,t,r){this.minY=e,this.height=t,this.pos=r,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(e){return(e>>4)-this.minSection}getBlockState(e){var t;const[r,o,i]=e,n=this.sections[this.getSectionIndex(o)];return null!==(t=null==n?void 0:n.getBlockState(15&r,15&o,15&i))&&void 0!==t?t:gi.AIR}setBlockState(e,t){const[r,o,i]=e,n=this.getSectionIndex(o);let a=this.sections[n];if(null===a){if(t.equals(gi.AIR))return;a=this.getOrCreateSection(n)}a.setBlockState(15&r,15&o,15&i,t)}getOrCreateSection(e){return null==this.sections[e]&&(this.sections[e]=new vi(this.minSection+e)),this.sections[e]}}function Ni(e){return e*e}function Oi(e,t,r){return t+e*(r-t)}function wi(e,t,r,o,i,n){return Oi(t,Oi(e,r,o),Oi(e,i,n))}function ki(e,t,r){return r<0?e:r>1?t:Oi(r,e,t)}function xi(e){return e*e*e*(e*(6*e-15)+10)}!function(e){e.create=function(e,t){return[e,t]},e.fromBlockPos=function(e){return[e[0]>>4,e[2]>>4]},e.fromLong=function(e){return[4294967295&Number(e),Number(e>>BigInt(32))]},e.minBlockX=function(e){return e[0]<<4},e.minBlockZ=function(e){return e[1]<<4},e.maxBlockX=function(e){return e[0]<<19},e.maxBlockZ=function(e){return e[1]<<19}}(ni||(ni={})),function(e){function t(e){return"object"==typeof e&&null!==e?e:void 0}e.readNumber=function(e){return"number"==typeof e?e:void 0},e.readInt=function(e){return"number"==typeof e?Math.floor(e):void 0},e.readString=function(e){return"string"==typeof e?e:void 0},e.readBoolean=function(e){return"boolean"==typeof e?e:void 0},e.readObject=t,e.readArray=function(e,t){if(Array.isArray(e))return e.map((e=>t(e)))},e.readMap=function(e,r){var o;const i=null!==(o=t(e))&&void 0!==o?o:{};return Object.fromEntries(Object.entries(i).map((([e,t])=>[e,r(t)])))},e.compose=function(e,t,r){const o=t(e);return o?r(o):void 0}}(ai||(ai={}));class Si{constructor(e){this.xo=256*e.nextDouble(),this.yo=256*e.nextDouble(),this.zo=256*e.nextDouble(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let t=0;t<256;t+=1){const r=e.nextInt(256-t),o=this.p[t];this.p[t]=this.p[t+r],this.p[t+r]=o}}sample2D(e,t){let r,o,i;const n=(e+t)*Si.F2,a=Math.floor(e+n),s=e-(a-(r=(a+(o=Math.floor(t+n)))*Si.G2));let c,l;s>(i=t-(o-r))?(c=1,l=0):(c=0,l=1);const d=s-c+Si.G2,_=i-l+Si.G2,m=s-1+2*Si.G2,p=i-1+2*Si.G2,u=255&a,f=255&o,h=this.P(u+this.P(f))%12,b=this.P(u+c+this.P(f+l))%12,g=this.P(u+1+this.P(f+1))%12;return 70*(this.getCornerNoise3D(h,s,i,0,.5)+this.getCornerNoise3D(b,d,_,0,.5)+this.getCornerNoise3D(g,m,p,0,.5))}sample(e,t,r){const o=.3333333333333333*(e+t+r),i=Math.floor(e+o),n=Math.floor(t+o),a=Math.floor(r+o),s=.16666666666666666*(i+n+a),c=e-(i-s),l=t-(n-s),d=r-(a-s);let _,m,p,u,f,h;c>=l?l>=d?(_=1,m=0,p=0,u=1,f=1,h=0):c>=d?(_=1,m=0,p=0,u=1,f=0,h=1):(_=0,m=0,p=1,u=1,f=0,h=1):l127?t-256:t;for(let t=0;t<256;t+=1){const r=e.nextInt(256-t),o=this.p[t];this.p[t]=this.p[t+r],this.p[t+r]=o}}sample(e,t,r,o=0,i=0){const n=e+this.xo,a=t+this.yo,s=r+this.zo,c=Math.floor(n),l=Math.floor(a),d=Math.floor(s),_=n-c,m=a-l,p=s-d;let u=0;if(0!==o){const e=i>=0&&i=0;o-=1)o0&&(s=this.maxLimitNoise.getOctaveNoise(m))&&(_+=s.sample(p,u,f,a,t*a)/l),l/=2}return ki(d/512,_/512,c)}}class Ai{constructor(e,{firstOctave:t,amplitudes:r}){this.first=new Mi(e,t,r),this.second=new Mi(e,t,r);let o=1/0,i=-1/0;for(let a=0;a{var t;return null!==(t=ai.readNumber(e))&&void 0!==t?t:0})))&&void 0!==o?o:[]}};class Li{constructor(e){this.seed=BigInt(0),this.setSeed(e)}fork(){return new Li(this.nextLong())}setSeed(e){this.seed=e^Li.MULTIPLIER&Li.MODULUS_MASK}advance(){this.seed=this.seed*Li.MULTIPLIER+Li.INCREMENT&Li.MODULUS_MASK}consume(e){for(let t=0;t