!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.tooloud=t():e.tooloud=t()}(window,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);const n=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],s=[...n,...n];class i{constructor(e=3e3){this._seedValue=i.xorshift(e),this.noise=this.noise.bind(this),this.setSeed=this.setSeed.bind(this)}static xorshift(e){let t=e^e>>12;return t^=t<<25,2*(t^=t>>27)}static lerp(e,t,r){return t+e*(r-t)}static fade(e){return e*e*e*(e*(6*e-15)+10)}static grad(e,t,r,n){var s=15&e,i=s<8?t:r,o=s<4?r:12===s||14===s?t:n;return(0==(1&s)?i:-i)+(0==(2&s)?o:-o)}setSeed(e=3e3){this._seedValue=i.xorshift(e)}noise(e,t,r){let n=e+this._seedValue,o=t+this._seedValue,a=r+this._seedValue;const u=255&Math.floor(n),l=255&Math.floor(o),c=255&Math.floor(a);n-=Math.floor(n),o-=Math.floor(o),a-=Math.floor(a);const f=i.fade(n),d=i.fade(o),h=i.fade(a),b=s[u]+l,p=s[b]+c,x=s[b+1]+c,y=s[u+1]+l,M=s[y]+c,S=s[y+1]+c;return i.lerp(h,i.lerp(d,i.lerp(f,i.grad(s[p],n,o,a),i.grad(s[M],n-1,o,a)),i.lerp(f,i.grad(s[x],n,o-1,a),i.grad(s[S],n-1,o-1,a))),i.lerp(d,i.lerp(f,i.grad(s[p+1],n,o,a-1),i.grad(s[M+1],n-1,o,a-1)),i.lerp(f,i.grad(s[x+1],n,o-1,a-1),i.grad(s[S+1],n-1,o-1,a-1))))}}var o=i;let a,u,l,c,f,d,h=[0,0,0],b=[21,56,50,44,13,19,7,42];class p{constructor(e=3e3){this._seedValue=p.xorshift(e),this.setSeed=this.setSeed.bind(this),this.noise=this.noise.bind(this)}static xorshift(e){let t=e^e>>12;return t^=t<<25,2*(t^=t>>27)}static b2func(e,t){return e>>t&1}static b4func(e,t,r,n){return b[p.b2func(e,n)<<2|p.b2func(t,n)<<1|p.b2func(r,n)]}static K(e){var t=(h[0]+h[1]+h[2])/6,r=c-h[0]+t,n=f-h[1]+t,s=d-h[2]+t,i=.6-r*r-n*n-s*s,o=p.shuffle(a+h[0],u+h[1],l+h[2]);if(h[e]++,i<0)return 0;var b=o>>5&1,x=o>>4&1,y=o>>3&1,M=3&o,S=1===M?r:2===M?n:s,_=1===M?n:2===M?s:r,g=1===M?s:2===M?r:n;return S=b===y?-S:S,_=b===x?-_:_,g=b!==(x^y)?-g:g,8*(i*=i)*i*(S+(0===M?_+g:0===(o>>2&1)?_:g))}static shuffle(e,t,r){return p.b4func(e,t,r,0)+p.b4func(t,r,e,1)+p.b4func(r,e,t,2)+p.b4func(e,t,r,3)+p.b4func(t,r,e,4)+p.b4func(r,e,t,5)+p.b4func(e,t,r,6)+p.b4func(t,r,e,7)}setSeed(e=3e3){this._seedValue=p.xorshift(e)}noise(e,t,r){let n=e+this._seedValue,s=t+this._seedValue,i=r+this._seedValue,o=(n+s+i)/3;a=Math.floor(n+o),u=Math.floor(s+o),l=Math.floor(i+o),c=n-a+(o=(a+u+l)/6),f=s-u+o,d=i-l+o,h[0]=h[1]=h[2]=0;const b=c>=d?c>=f?0:1:f>=d?1:2,x=c>12;return t^=t<<25,2*(t^=t>>27)}static hash(e,t,r){return 16777619*(16777619*(16777619*(2166136261^e)^t)^r)&4294967295}static d(e,t){return[e.x-t.x,e.y-t.y,e.z-t.z]}static EuclideanDistance(e,t){return y.d(e,t).reduce((e,t)=>e+t*t,0)}static ManhattanDistance(e,t){return y.d(e,t).reduce((e,t)=>e+Math.abs(t),0)}static probLookup(e){return(e&=4294967295)<393325350?1:e<1022645910?2:e<1861739990?3:e<2700834071?4:e<3372109335?5:e<3819626178?6:e<4075350088?7:e<4203212043?8:9}static insert(e,t){let r;for(let n=e.length-1;n>=0&&!(t>e[n]);n--)r=e[n],e[n]=t,n+1e<0?0:e>1?1:e)}setSeed(e=3e3){this._seedValue=e}Euclidean(e,t,r){return this.noise({x:e,y:t,z:r},y.EuclideanDistance)}Manhattan(e,t,r){return this.noise({x:e,y:t,z:r},y.ManhattanDistance)}}var M=y;var S=class{static noise(e,t,r,n,s){let i=0,o=1,a=0;for(let u=0;unew o(e)},Simplex:{noise:g.noise,setSeed:g.setSeed,create:e=>new x(e)},Worley:{Euclidean:v.Euclidean,Manhattan:v.Manhattan,setSeed:v.setSeed,create:e=>new M(e)},Fractal:{noise:S.noise}};t.default=V}]).default});