0x18b75119…b783sent to0x381233d5…7acd·#19,594,909·view on Etherscan
[0,()=>{console.log("Artist 33. Rudxane -- platform 0");let{abs:$,ceil:e,floor:_,sin:r,sqrt:i,max:c,min:n,cos:a}=Math;colorPick=pick_color(colorSets=[{cBg:[.8118,.1255,.1451,1],cF:[.0667,.098,.1529,1],cH:[[.8275,.7099,.345,1]],cR:.85,w:1},{cBg:[.1334,.1412,.1804,1],cF:[.6784,.149,.1608,1],cH:[[.1373,.302,.3608,1]],cR:.85,w:1.1},{cBg:[0,0,0,1],cF:[.9,.9,.9,1],cH:[[1,1,1,1]],cR:.85,w:1.2},{cBg:[.1412,.2078,.1804,1],cF:[.8314,.2157,.0235,1],cH:[[.349,.4706,.4196,1]],cR:.75,w:.9},{cBg:[1,1,1,1],cF:[0,0,0,1],cH:[[.2,.2,.2,1],[.4,.4,.4,1]],cR:.3,w:1.5},{cBg:[0,0,0,1],cF:[1,1,1,1],cH:[[.8,.8,.8,1],[.6,.6,.6,1]],cR:.3,w:2},{cBg:[.1098,.0941,.1176,1],cF:[.9255,.9569,.9608,1],cH:[[.5608,.7176,.7373,1]],cR:.5,w:1.15},{cBg:[.0706,.098,.1922,1],cF:[.9255,.9569,.9608,1],cH:[[.7412,.0745,.2353,1]],cR:.7,w:1},{cBg:[.7059,.0784,.0863,1],cF:[1,.6902,.2275,1],cH:[[.4588,.0706,.0745,1]],cR:.7,w:.85},{cBg:[.2156,.2156,.2156,1],cF:[.8118,.0941,.1686,1],cH:[[.9569,.8745,.5137,1]],cR:.7,w:1},{cBg:[.302,0,.4902,1],cF:[1,1,1,1],cH:[[.9608,.9608,.9608,1]],cR:.7,w:1},{cBg:[.95,.95,.92,1],cF:[.0157,.149,.4,1],cH:[[.7843,.1137,.2078,1]],cR:.7,w:1}]);let width,height,xc=_(50*R.random_dec())+40,yc=_(xc/.5625),cBg=colorPick.cBg,cF=colorPick.cF,cH=colorPick.cH,cR=colorPick.cR,ns=1e5*R.random_dec(),nrx=.5+3*R.random_dec(),nry=.5+3*R.random_dec(),nScale=15,gS=.1+R.random_dec()/6,pl=20,gridSizeX=_(10*R.random_dec())+4,gridSizeY=_(10*R.random_dec())+4,animationDuration=15,smudge=.25*R.random_dec()+.1,borderWidth=[.75,1,1.5,2][_(4*R.random_dec())],lineRep=_(6*R.random_dec())+2,sketchRate=20,hSketchRate=sketchRate,doodleMap=[...Array(10)].map(($,e)=>e),grid=[],start=_(10*R.random_dec()),scl,cvs,ctx,gl,verShader,fragShader,bufferShader,vBuf,pShader,pBuffer,img,fBufs,fBufId=0,uC=0;function init(){for(let $ in document.body.style.background="#111111",(rr=document.createElement("canvas")).id="ref",document.body.append(rr),(gl=(cvs=document.getElementsByTagName("canvas")[0]).getContext("webgl2")).clearColor(0,0,0,1),vBuf=gBuffer(),pShader=cProgram(verShader,fragShader),pBuffer=cProgram(verShader,bufferShader),scl=1,""!=window.location.hash&&(scl=parseInt(window.location.hash.replace("#",""))),www=(ww=window.innerWidth)<.5625*(wh=window.innerHeight)?ww:wh/16*9,whh=ww<.5625*wh?ww/9*16:wh,width=Math.max(900,(ww<.5625*wh?ww:wh/16*9)*scl),height=Math.max(1600,(ww<.5625*wh?ww/9*16:wh)*scl),cvs.width=width,cvs.height=height,cvs.style.width="56.25vh",cvs.style.height="100vh",noise.seed(1e4*R.random_dec()),gGrid(),fBufs)gl.deleteFramebuffer($.buf),gl.deleteTexture($.texture);let e=gBase(width,height);img=gTexture(width,height,e),(fBufs=[]).push(cFBuffer(width,height,e)),fBufs.push(cFBuffer(width,height,null)),fBufId=0,run()}function run(){p=uPixels(),gl.deleteTexture(img),img=uTexture(width,height,p),uC+=1,rVisual(),rBuffer(),uC<grid.length*(pl+animationDuration)?setTimeout(()=>{document.title="Finale ("+_(uC/(grid.length*(pl+animationDuration))*100)+"%)",requestAnimationFrame(run)},16):(document.title="Finale",ref&&ref.remove())}function sProgram($){gl.useProgram($),$.vertexPosAttrib=gl.getAttribLocation($,"pos"),gl.enableVertexAttribArray($.vertexPosAttrib),gl.bindBuffer(gl.ARRAY_BUFFER,vBuf),gl.vertexAttribPointer($.vertexPosAttrib,3,gl.FLOAT,!1,0,0)}function rVisual(){let $=fBufId,e=fBufId^=1;dirx=grid[_((uC-1)/(pl+animationDuration))].dx,diry=grid[_((uC-1)/(pl+animationDuration))].dy,dirv=grid[_((uC-1)/(pl+animationDuration))].dirv,dir=grid[_((uC-1)/(pl+animationDuration))].dir,sProgram(pShader),gl.bindFramebuffer(gl.FRAMEBUFFER,fBufs[e].buf),gl.viewport(0,0,width,height),gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT),gl.activeTexture(gl.TEXTURE0+$),gl.bindTexture(gl.TEXTURE_2D,fBufs[$].tex),gl.activeTexture(gl.TEXTURE2),gl.bindTexture(gl.TEXTURE_2D,img),gl.uniform1i(gl.getUniformLocation(pShader,"buf"),$),gl.uniform1i(gl.getUniformLocation(pShader,"img"),2),gl.uniform1f(gl.getUniformLocation(pShader,"dirx"),dirx+Math.sin(uC/dirv)*dir),gl.uniform1f(gl.getUniformLocation(pShader,"diry"),diry+Math.cos(uC/dirv)*dir),gl.uniform1f(gl.getUniformLocation(pShader,"frame"),uC),bg=cBg,grid[_((uC-1)/(pl+animationDuration))].t>.5&&(t=grid[_((uC-1)/(pl+animationDuration))].t/20-.025,bg=[cBg[0]+t,cBg[1]+t,cBg[2]+t,1]),coll=grid[_((uC-1)/(pl+animationDuration))].c,gl.uniform4fv(gl.getUniformLocation(pShader,"cBg"),bg),gl.uniform4fv(gl.getUniformLocation(pShader,"cF"),coll),gl.drawArrays(gl.TRIANGLE_STRIP,0,4)}function rBuffer(){sProgram(pBuffer),gl.bindFramebuffer(gl.FRAMEBUFFER,null),gl.viewport(0,0,cvs.width,cvs.height),gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT),gl.activeTexture(gl.TEXTURE0),gl.bindTexture(gl.TEXTURE_2D,fBufs[fBufId].tex),gl.uniform1i(gl.getUniformLocation(pBuffer,"buffer"),0),gl.drawArrays(gl.TRIANGLE_STRIP,0,4)}function cProgram($,e){let _=gl.createProgram(),r=cShader(decodeURIComponent("%23version 300 es%0A")+$,gl.VERTEX_SHADER),i=cShader(decodeURIComponent("%23version 300 es%0Aprecision highp float;")+e,gl.FRAGMENT_SHADER);return gl.attachShader(_,r),gl.attachShader(_,i),gl.linkProgram(_),_}function cShader($,e){let _=gl.createShader(e);return gl.shaderSource(_,$),gl.compileShader(_),_}function cFBuffer($,e,_){let r=gl.createFramebuffer(),i=gTexture($,e,_);return gl.bindFramebuffer(gl.FRAMEBUFFER,r),gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,i,0),{buf:r,tex:i}}function gTexture($,e,_){let r=gl.createTexture();return gl.bindTexture(gl.TEXTURE_2D,r),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE),gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,$,e,0,gl.RGBA,gl.UNSIGNED_BYTE,_),r}function uTexture($,e,_){let r=gl.createTexture();return gl.bindTexture(gl.TEXTURE_2D,r),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE),gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,$,e,0,gl.RGBA,gl.UNSIGNED_BYTE,_),r}function gBuffer($){let e=gl.createBuffer();return gl.bindBuffer(gl.ARRAY_BUFFER,e),gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,1,0,-1,-1,0,1,1,0,1,-1,0]),gl.STATIC_DRAW),e}function uPixels($,r){if(ref=document.getElementById("ref"),ctx.clearRect(0,0,width,height),ctx.beginPath(),ctx.rect(0,0,width,height),ctx.fillStyle="black",ctx.fill(),ctx.closePath(),x1=(g=grid[_(uC/(pl+animationDuration))]).x*width,y1=g.y*height,wi=g.w*width,he=g.h*height,(fR=c(0,(frameRotate=uC/(pl+animationDuration)*(pl+animationDuration)-_(uC/(pl+animationDuration))*(pl+animationDuration))-(pl-1)))>0&&(yRC=e(yc/animationDuration)),uC/(pl+animationDuration)*(pl+animationDuration)-_(uC/(pl+animationDuration))*(pl+animationDuration)>pl-1){if(x1=0,y1=0,wi=width,he=height,wii=width/xc,hee=height/yc,g.t>-1)for(let i=0;i<yc;i++)for(let n=0;n<xc;n++)i>=(fR-1)*yRC&&i<fR*yRC&&g.polys.map($=>{inside([x1+n*wii,y1+i*hee],$)&&dScrawl(x1+n*wii+wii/4,y1+i*hee+hee/4,wii,hee,doodleMap[_(g.t*doodleMap.length)],"#ff0000",lineRep,n,i)})}else g.polys.map($=>{ctx.beginPath(),$.map($=>{ctx.lineTo($[0]*width,$[1]*height)}),ctx.fillStyle="#00ff00",ctx.fill(),ctx.closePath()});return ref}function gBase($,e){(ref=document.getElementById("ref")).width=width,ref.height=height,ref.style.display="none",(ctx=ref.getContext("2d")).beginPath(),ctx.rect(0,0,width,height),ctx.fillStyle="rgb("+_(255*cBg[0])+","+_(255*cBg[1])+","+_(255*cBg[2])+")",ctx.fill(),ctx.closePath(),x1=0,y1=0,wi=width,he=height,wii=width/xc,hee=height/yc,type=doodleMap[_(R.random_dec()*doodleMap.length)];for(let r=0;r<xc;r++)for(let i=0;i<yc;i++)dScrawl(x1+r*wii+wii/4,y1+i*hee+hee/4,wii,hee,doodleMap[start],"rgb("+_(255*cF[0])+","+_(255*cF[1])+","+_(255*cF[2])+")",lineRep,r,i);return ref}function sc($){return width/1500*$}function dScrawl($,e,r,i,c=0,n,a=1,l=0,o=0){modulo=o*xc+l;for(let f=0;f<a;f++)ctx.beginPath(),noii=noise.simplex2($/width/nrx,e/height/nry)*sc(nScale),bv=1-2*gS,letterMap={a:[[0,1,0],[0,0,0],[1,0,0],[1,1,0],[0,.35,1],[1,.35,0]],b:[[0,0,0],[.8,0,0],[1,.2,0],[.8,.4,0],[0,.4,0],[.8,.4,0],[1,.7,0],[.8,1,0],[0,1,0],[0,0,0]],c:[[1,0,0],[0,0,0],[0,1,0],[1,1,0]],d:[[0,0,0],[.8,0,0],[1,.2,0],[1,.8,0],[.8,1,0],[0,1,0],[0,0,0]],e:[[1,0,0],[0,0,0],[0,1,0],[1,1,0],[0,.5,1],[.7,.5,0]],g:[[1,0,0],[0,0,0],[0,1,0],[1,1,0],[1,.5,0],[.5,.5,0]],h:[[0,0,0],[0,1,0],[0,.5,1],[1,.5,0],[1,0,1],[1,1,0]],i:[[.5,0,0],[.5,1,0],[.3,0,1],[.7,0,0],[.3,1,1],[.7,1,0]],l:[[0,0,0],[0,1,0],[1,1,0]],m:[[0,1,0],[0,0,0],[.5,.3,0],[1,0,0],[1,1,0]],n:[[0,1,0],[0,0,0],[1,1,0],[1,0,0]],o:[...Array(_(20*Math.PI))].map(($,e)=>[Math.cos(e/10)/2+.5,Math.sin(e/10)/2+.5,0]),p:[[0,1,0],[0,0,0],[1,0,0],[1,.4,0],[0,.4,0]],r:[[0,1,0],[0,0,0],[.8,0,0],[1,.15,0],[.8,.3,0],[0,.3,0],[.2,.3,0],[1,1,0]],s:[[1,0,0],[0,0,0],[0,.5,0],[1,.5,0],[1,1,0],[0,1,0]],t:[[0,0,0],[1,0,0],[.5,0,0],[.5,1,0]],u:[[0,0,0],[0,1,0],[1,1,0],[1,0,0]],v:[[0,0,0],[.5,1,0],[1,0,0]],w:[[0,0,0],[.3,1,0],[.5,.5,0],[.7,1,0],[1,0,0]],y:[[.5,1,0],[.5,.35,0],[0,0,0],[.5,.35,0],[1,0,0]],z:[[0,0,0],[1,0,0],[0,1,0],[1,1,0]],k:[[0,1,0],[0,0,0],[1,0,1],[0,.5,0],[1,1,0]],x:[[0,0,0],[1,1,0],[0,1,1],[1,0,0]]," ":[]},0===c&&(modu=modulo%(lett="venice").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),1===c&&(modu=modulo%(lett="newyork").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),2===c&&(modu=modulo%(lett="berlin").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),3===c&&(modu=modulo%(lett="london").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),4===c&&(modu=modulo%(lett="mexicocity").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),5===c&&(modu=modulo%(lett="tokyo").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),6===c&&(modu=modulo%(lett="buenosaires").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),7===c&&(modu=modulo%(lett="paris").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),8===c&&(modu=modulo%(lett="venezia").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),9===c&&(modu=modulo%(lett="brightmoments").length,sBase=letterMap[lett[modu]].map(_=>({x:$+bv*r*_[0],y:e+bv*i*_[1],d:_[2]}))),sBase.map(($,e)=>{0===(d=$.d?$.d:0)?ctx.lineTo($.x+noise.simplex3($.x/width*100,$.y/height*100,f/4)*r/sketchRate-r/hSketchRate,$.y+noise.simplex3($.x/width*100,$.y/height*100,4*f)*i/sketchRate-i/hSketchRate):ctx.moveTo($.x+noise.simplex3($.x/width*100,$.y/height*100,f/4)*r/sketchRate-r/hSketchRate,$.y+noise.simplex3($.x/width*100,$.y/height*100,4*f)*i/sketchRate-i/hSketchRate)}),ctx.strokeStyle=n,ctx.lineWidth=sc(borderWidth),ctx.stroke(),ctx.closePath()}function inside($,e){for(var _=$[0],r=$[1],i=!1,c=0,n=e.length-1;c<e.length;n=c++){var a=e[c][0]*width,l=e[c][1]*height,o=e[n][0]*width,f=e[n][1]*height;l>r!=f>r&&_<(o-a)*(r-l)/(f-l)+a&&(i=!i)}return i}function gGrid(){for(let $=0;$<_(8*R.random_dec())+3;$++)padding=0,div=1,len=_(8*R.random_dec())+2,grid.push({t:R.random_dec()>.9?-1:R.random_dec(),s:R.random_dec()/div/2,dx:2*R.random_dec()-1,dy:2*R.random_dec()-1,dir:R.random_dec()>5?1:-1,dirv:50*R.random_dec()+5,c:R.random_dec()>cR?cH[_(R.random_dec()*cH.length)]:cF,polys:[...Array(len)].map(($,e)=>(bor=R.random_dec()>.5,hh=1/(2*len+1),comp=R.random_dec()>.6?.05*R.random_dec()-.025:0,ccomp2=R.random_dec()>.85&&0===padding?.0125*R.random_dec()-.00625:0,R.random_dec()>.95)?[]:[[e*hh*2+(bor>0?hh:0)+comp-ccomp2,padding],[e*hh*2+(bor>0?hh:0)+hh+comp-ccomp2,padding],[e*hh*2+(bor>0?hh:0)+hh+comp+ccomp2,1-padding],[e*hh*2+(bor>0?hh:0)+comp+ccomp2,1-padding],])});for(let e=0;e<_(10)+5;e++)padding=0,div=1,len=_(R.random_dec()*((gridSizeX+gridSizeY)/2))+2,ang=0,mosa=_(10*R.random_dec())+2,grid.push({t:R.random_dec()>.75?-1:R.random_dec(),s:R.random_dec()/div,dx:2*R.random_dec()-1,dy:2*R.random_dec()-1,dir:R.random_dec()>5?1:-1,dirv:50*R.random_dec()+5,c:R.random_dec()>cR?cH[_(R.random_dec()*cH.length)]:cF,polys:[...Array(gridSizeX*gridSizeY)].map(($,e)=>(sy=_(e/gridSizeX)/gridSizeY,sx=e%gridSizeX/gridSizeX,gw=1/gridSizeX,gh=1/gridSizeY,(e+1)%mosa!=0||R.random_dec()>.9)?[]:[[sx,sy],[sx+gw,sy],[sx+gw,sy+gh],[sx,sy+gh]])});(grid=grid.sort(($,e)=>$.s-e.s))[grid.length-1].c=cF}function getRotatedCoords($,e,_,r,i){let c=Math.PI/180*i,n=Math.cos(c),a=Math.sin(c);return[n*(_-$)+a*(r-e)+$,n*(r-e)-a*(_-$)+e]}function pick_color($){let e,_=[];for(e=0;e<$.length;e++)_[e]=$[e].w+(_[e-1]||0);let r=R.random_dec()*_[_.length-1];for(e=0;e<_.length&&!(_[e]>r);e++);return $[e]}verShader="in vec3 pos;out vec2 vUv;void main(){gl_Position=vec4(pos,1.);vUv=(pos.xy+1.)/2.;}",fragShader=`uniform sampler2D buf,img;uniform float dirx,diry,frame;uniform vec4 cBg,cF;in vec2 vUv;out vec4 col;vec3 random3(vec3 c) {float j = 4096.0*sin(dot(c,vec3(17.0, 59.4, 15.0)));vec3 r;r.z = fract(512.0*j);j *= .125;r.x = fract(512.0*j);j *= .125;r.y = fract(512.0*j);return r-0.5;}const float F3 = 0.3333333;const float G3 = 0.1666667;float sim3(vec3 p) {vec3 s = floor(p + dot(p, vec3(F3)));vec3 x = p - s + dot(s, vec3(G3));vec3 e = step(vec3(0.0), x - x.yzx);vec3 i1 = e*(1.0 - e.zxy);vec3 i2 = 1.0 - e.zxy*(1.0 - e);vec3 x1 = x - i1 + G3;vec3 x2 = x - i2 + 2.0*G3;vec3 x3 = x - 1.0 + 3.0*G3;vec4 w, d;w.x = dot(x, x);w.y = dot(x1, x1);w.z = dot(x2, x2);w.w = dot(x3, x3);w = max(0.6 - w, 0.0);d.x = dot(random3(s), x);d.y = dot(random3(s + i1), x1);d.z = dot(random3(s + i2), x2);d.w = dot(random3(s + 1.0), x3);w *= w;w *= w;d *= w;return dot(d, vec4(52.0));}void main(){vec4 ref = texture(img,vUv);vec4 buffer = texture(buf,vUv);float rnd = sim3(vec3((vUv.x+frame/100.)*500.,(vUv.y-frame/100.)*500.,${ns}));col = buffer;vec4 bgColor = mix(buffer,cBg,.25+rnd/2.);vec4 textureBG = mix(cBg,vec4(vec3(cBg.rgb-vec3(sim3(vec3((vUv.x+frame/1000.)*500.,(vUv.y-frame/1000.)*500.,${ns}))/4.)),1.),sim3(vec3((vUv.x+frame/1000.)*50000.,(vUv.y-frame/1000.)/4.,${ns})));if(ref.g>.0) {col = mix(textureBG,buffer,sim3(vec3((vUv.x+frame/100.)*5.,(vUv.y-frame/100.)*5.,${ns}))/1.);if(rnd<${smudge}) {col = mix(texture(buf,vec2(vUv.x+.005*dirx,vUv.y+.005*diry)),textureBG,rnd/4.);}}if(ref.r>.0) {col = mix(cBg,cF,ref.r);}}`,bufferShader="uniform sampler2D buffer;in vec2 vUv;out vec4 col;void main(){col=texture(buffer,vec2(vUv.x,1.-vUv.y));}",window.onload=init,function($){var e=$.noise={};function r($,e,_){this.x=$,this.y=e,this.z=_}r.prototype.dot2=function($,e){return this.x*$+this.y*e},r.prototype.dot3=function($,e,_){return this.x*$+this.y*e+this.z*_};var c=[new r(1,1,0),new r(-1,1,0),new r(1,-1,0),new r(-1,-1,0),new r(1,0,1),new r(-1,0,1),new r(1,0,-1),new r(-1,0,-1),new r(0,1,1),new r(0,-1,1),new r(0,1,-1),new r(0,-1,-1)],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],a=Array(512),l=Array(512);e.seed=function($){$>0&&$<1&&($*=65536),($=_($))<256&&($|=$<<8);for(var e,r=0;r<256;r++)e=1&r?n[r]^255&$:n[r]^$>>8&255,a[r]=a[r+256]=e,l[r]=l[r+256]=c[e%12]},e.seed(0);var o=.5*(i(3)-1),f=(3-i(3))/6,h=1/3,u=1/6;e.simplex2=function($,e){var r,i,c,n,h,u=($+e)*o,m=_($+u),x=_(e+u),s=(m+x)*f,v=$-m+s,T=e-x+s;v>T?(n=1,h=0):(n=0,h=1);var E=v-n+f,B=T-h+f,w=v-1+2*f,y=T-1+2*f,S=l[(m&=255)+a[x&=255]],F=l[m+n+a[x+h]],U=l[m+1+a[x+1]],b=.5-v*v-T*T;b<0?r=0:(b*=b,r=b*b*S.dot2(v,T));var D=.5-E*E-B*B;D<0?i=0:(D*=D,i=D*D*F.dot2(E,B));var A=.5-w*w-y*y;return A<0?c=0:(A*=A,c=A*A*U.dot2(w,y)),70*(r+i+c)},e.simplex3=function($,e,r){var i,c,n,o,f,m,x,s,v,T,E=($+e+r)*h,B=_($+E),w=_(e+E),y=_(r+E),S=(B+w+y)*u,F=$-B+S,U=e-w+S,b=r-y+S;F>=U?U>=b?(f=1,m=0,x=0,s=1,v=1,T=0):F>=b?(f=1,m=0,x=0,s=1,v=0,T=1):(f=0,m=0,x=1,s=1,v=0,T=1):U<b?(f=0,m=0,x=1,s=0,v=1,T=1):F<b?(f=0,m=1,x=0,s=0,v=1,T=1):(f=0,m=1,x=0,s=1,v=1,T=0);var D=F-f+u,A=U-m+u,P=b-x+u,X=F-s+2*u,C=U-v+2*u,I=b-T+2*u,G=F-1+3*u,H=U-1+3*u,L=b-1+3*u,z=l[(B&=255)+a[(w&=255)+a[y&=255]]],k=l[B+f+a[w+m+a[y+x]]],M=l[B+s+a[w+v+a[y+T]]],N=l[B+1+a[w+1+a[y+1]]],O=.6-F*F-U*U-b*b;O<0?i=0:(O*=O,i=O*O*z.dot3(F,U,b));var Y=.6-D*D-A*A-P*P;Y<0?c=0:(Y*=Y,c=Y*Y*k.dot3(D,A,P));var W=.6-X*X-C*C-I*I;W<0?n=0:(W*=W,n=W*W*M.dot3(X,C,I));var j=.6-G*G-H*H-L*L;return j<0?o=0:(j*=j,o=j*j*N.dot3(G,H,L)),32*(i+c+n+o)}}(this);
}],