memoscan
← all memos

Memo 0x078239a2…c3796a on Ethereum

[1,()=>{console.log("Artist 9. Marcelo Soria-Rodriguez -- platform 1");const _cFB=function(e){const t=new Framebuffer(this,e),r=this._renderer.resize;return this._renderer.resize=((e,i)=>{r.call(this._renderer,e,i),t.handleResize()}),t};p5.prototype.createFramebuffer=_cFB,p5.Graphics.prototype.createFramebuffer=_cFB,p5.RendererGL.prototype._initContext=function(){try{if(Framebuffer.forceWebGL1||(this.drawingContext=this.canvas.getContext("webgl2",this._pInst._glAttributes)),this.hasWebGL2=!!this.drawingContext,this.drawingContext||(this.drawingContext=this.canvas.getContext("webgl",this._pInst._glAttributes)||this.canvas.getContext("experimental-webgl",this._pInst._glAttributes)),null===this.drawingContext)throw new Error("Error creating webgl context");{const e=this.drawingContext;e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),this._viewport=this.drawingContext.getParameter(this.drawingContext.VIEWPORT)}}catch(e){throw e}};const parentGetTexture=p5.RendererGL.prototype.getTexture;p5.RendererGL.prototype.getTexture=function(e){return e instanceof p5.Texture?e:parentGetTexture.call(this,e)};class RawTextureWrapper extends p5.Texture{constructor(e,t,r,i,s){return super(e,t,r),this.width=i,this.height=s,this}_getTextureDataFromSource(){return this.src}init(e){this._renderer.GL;this.glTex=e,this.glWrapS=this._renderer.textureWrapX,this.glWrapT=this._renderer.textureWrapY,this.setWrapMode(this.glWrapS,this.glWrapT),this.setInterpolation(this.glMinFilter,this.glMagFilter)}update(){return!1}}class FramebufferCamera extends p5.Camera{constructor(e){super(e._renderer),this.fbo=e}_computeCameraDefaultSettings(){super._computeCameraDefaultSettings(),this.defaultAspectRatio=this.fbo.width/this.fbo.height,this.defaultEyeZ=this.fbo.height/2/Math.tan(this.defaultCameraFOV/2),this.defaultCameraNear=.1*this.defaultEyeZ,this.defaultCameraFar=10*this.defaultEyeZ}resize(){this._computeCameraDefaultSettings(),this._setDefaultCamera()}}class Framebuffer{constructor(e,t={}){this.canvas=e,this._renderer=e._renderer;const r=this._renderer.GL,i=t.size;this.autoSized=!i,i&&(this.width=i.width,this.height=i.height,this.density=i.pixelDensity||e.pixelDensity()),this.antialias=t.antialias||!1,this.colorFormat=this.glColorFormat(t.colorFormat),this.depthFormat=this.glDepthFormat(t.depthFormat),"float"!==t.colorFormat&&"float"!==t.depthFormat||(this._renderer.hasWebGL2?r.getExtension("EXT_color_buffer_float"):r.getExtension("OES_texture_float")&&r.getExtension("OES_texture_float_linear")&&r.getExtension("WEBGL_color_buffer_float"))||("float"===t.colorFormat&&(this.colorFormat=this.glColorFormat()),"float"===t.depthFormat&&(this.depthFormat=this.glDepthFormat()));let s="Unable to create a framebuffer";const a=r.createFramebuffer();if(!a)throw new Error(s);if(this.framebuffer=a,this.antialias&&this._renderer.hasWebGL2&&(this.aaFramebuffer=r.createFramebuffer(),!this.aaFramebuffer))throw new Error(s);this.recreateTextures();const n=this._renderer._curCamera;this.cam=this.createCamera(),e.setCamera(n)}createCamera(){const e=new FramebufferCamera(this);return e._computeCameraDefaultSettings(),e._setDefaultCamera(),this._renderer._curCamera=e,e}defaultCamera(){return this.cam}resizeCanvas(e,t){this.autoSized=!1,this.width=e,this.height=t,this.handleResize()}pixelDensity(e){if(!e)return this.density*this.aaDensity;this.autoSized=!1,this.density=e,this.handleResize()}autoSized(e){if(void 0===e)return this.autoSized;this.autoSized=e,this.handleResize()}glColorFormat(e){const t=this._renderer.GL;return"float"===e?t.FLOAT:t.UNSIGNED_BYTE}glDepthFormat(e){const t=this._renderer.GL;return"float"===e?t.FLOAT:t.UNSIGNED_INT}glInternalFormat(e){if(this.antialias&&this._renderer.hasWebGL2)return this.glInternalRenderbufferFormat(e);const t=this._renderer.GL;return this._renderer.hasWebGL2&&this.colorFormat===t.FLOAT?e?t.RGBA16F:t.RGB16F:e?t.RGBA:t.RGB}glInternalRenderbufferFormat(e){const t=this._renderer.GL;if(this.colorFormat===t.FLOAT){if(this._renderer.hasWebGL2)return t.RGBA16F;throw new Error("Antialiased fp values not available in WebGL 1")}return e?t.RGBA4:t.RGB565}glDepthInternalFormat(){const e=this._renderer.GL;return this._renderer.hasWebGL2?e.DEPTH_COMPONENT24:e.DEPTH_COMPONENT}glDepthInternalRenderbufferFormat(){const e=this._renderer.GL;return this._renderer.hasWebGL2?e.DEPTH_COMPONENT24:e.DEPTH_COMPONENT16}glFormat(e){const t=this._renderer.GL;return e?t.RGBA:t.RGB}handleResize(){this.cam.resize();const e=this.cTx,t=this.depthTexture,r=this.colorRenderbuffer,i=this.depthRenderbuffer;this.recreateTextures(),this.deleteTexture(e),this.deleteTexture(t);const s=this._renderer.GL;r&&s.deleteRenderbuffer(r),i&&s.deleteRenderbuffer(i)}updateSize(){this.autoSized&&(this.width=this._renderer.width,this.height=this._renderer.height,this.density=this._renderer._pInst._pixelDensity),this.aaDensity=this.antialias&&!this._renderer.hasWebGL2?2:1}recreateTextures(){const e=this._renderer.GL,t=e.TEXTURE_2D,r=e.CLAMP_TO_EDGE,i=e.TEXTURE_MAG_FILTER,s=e.FRAMEBUFFER,a=e.RENDERBUFFER;this.updateSize();const n=this._renderer._pInst._glAttributes.alpha,h=e.getParameter(e.TEXTURE_BINDING_2D),o=e.getParameter(e.FRAMEBUFFER_BINDING),d=e.createTexture();let c="Unable to create ",u=" texture";if(!d)throw new Error(c+"color"+u);e.bindTexture(t,d),e.texParameteri(t,i,e.LINEAR),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(t,e.TEXTURE_WRAP_S,r),e.texParameteri(t,e.TEXTURE_WRAP_T,r),e.texImage2D(e.TEXTURE_2D,0,this.glInternalFormat(n),this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity,0,this.glFormat(n),this.colorFormat,null);const f=e.createTexture();if(!f)throw new Error(c+"depth"+u);e.bindTexture(t,f),e.texParameteri(t,i,e.NEAREST),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_WRAP_S,r),e.texParameteri(t,e.TEXTURE_WRAP_T,r),e.texImage2D(e.TEXTURE_2D,0,this.glDepthInternalFormat(),this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity,0,e.DEPTH_COMPONENT,this.depthFormat,null),e.bindFramebuffer(s,this.framebuffer),e.framebufferTexture2D(s,e.COLOR_ATTACHMENT0,t,d,0),e.framebufferTexture2D(s,e.DEPTH_ATTACHMENT,t,f,0),this.antialias&&this._renderer.hasWebGL2&&(this.colorRenderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(a,this.colorRenderbuffer),this._renderer.hasWebGL2?e.renderbufferStorageMultisample(a,4,this.glInternalRenderbufferFormat(n),this.width*this.density,this.height*this.density):e.renderbufferStorage(a,Math.min(4,e.getParameter(e.MAX_SAMPLES)),this.glInternalRenderbufferFormat(n),this.width*this.density,this.height*this.density),this.depthRenderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(a,this.depthRenderbuffer),this._renderer.hasWebGL2?e.renderbufferStorageMultisample(a,Math.min(4,e.getParameter(e.MAX_SAMPLES)),this.glDepthInternalRenderbufferFormat(),this.width*this.density,this.height*this.density):e.renderbufferStorage(a,e.getParameter(e.MAX_SAMPLES),this.glDepthInternalRenderbufferFormat(),this.width*this.density,this.height*this.density),e.bindFramebuffer(s,this.aaFramebuffer),e.framebufferRenderbuffer(s,e.COLOR_ATTACHMENT0,a,this.colorRenderbuffer),e.framebufferRenderbuffer(s,e.DEPTH_ATTACHMENT,a,this.depthRenderbuffer));let l="nearest";const m=new RawTextureWrapper(this._renderer,f,{minFilter:l,magFilter:l},this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity);this._renderer.textures.push(m);const z=new RawTextureWrapper(this._renderer,d,{glMinFilter:l,glMagFilter:l},this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity);this._renderer.textures.push(z),e.bindTexture(e.TEXTURE_2D,h),e.bindFramebuffer(s,o),this.depthTexture=f,this.depth=m,this.colorTexture=d,this.color=z}deleteTexture(e){this._renderer.GL.deleteTexture(e);const t=this._renderer.textures.findIndex(t=>t.src===e);-1!==t&&this._renderer.textures.splice(t,1)}draw(e){const t=this._renderer.GL,r=t.getParameter(t.FRAMEBUFFER_BINDING);this.antialias&&this._renderer.hasWebGL2?t.bindFramebuffer(t.FRAMEBUFFER,this.aaFramebuffer):t.bindFramebuffer(t.FRAMEBUFFER,this.framebuffer);const i=t.getParameter(t.VIEWPORT);t.viewport(0,0,this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity);let s=this._renderer._curCamera.cameraMatrix.mat4;if(this.canvas.push(),this.canvas.setCamera(this.cam),this._renderer.uMVMatrix.set(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9],s[10],s[11],s[12],s[13],s[14],s[15]),e(),this.antialias&&this._renderer.hasWebGL2){t.bindFramebuffer(t.READ_FRAMEBUFFER,this.aaFramebuffer),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,this.framebuffer);for(const[e,r]of[[t.COLOR_BUFFER_BIT,t.LINEAR],[t.DEPTH_BUFFER_BIT,t.NEAREST]])t.blitFramebuffer(0,0,this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity,0,0,this.width*this.density*this.aaDensity,this.height*this.density*this.aaDensity,e,r)}t.bindFramebuffer(t.FRAMEBUFFER,r),t.viewport(...i),this.canvas.pop()}remove(){const e=this._renderer.GL;this.deleteTexture(this.cTx),this.deleteTexture(this.depthTexture),e.deleteFramebuffer(this.framebuffer),this.aaFramebuffer&&e.deleteFramebuffer(this.aaFramebuffer),this.depthRenderbuffer&&e.deleteRenderbuffer(this.depthRenderbuffer),this.colorRenderbuffer&&e.deleteRenderbuffer(this.colorRenderbuffer)}}Framebuffer.forceWebGL1=!1;class Renderer{constructor(e=window,t={}){this.target=e,this.fbo=e.createFramebuffer(t),this.shader=e.createShader(this.vert(),this.frag()),this.u="Unimplemented"}vert(){throw new Error(this.u)}frag(){throw new Error(this.u)}draw(e){this.fbo.draw(()=>{this.target.push(),e(),this.target.pop()});const t=this.getUniforms();this.target.push(),this.target.noStroke(),this.target.rectMode(CENTER),this.target.shader(this.shader);for(const e in t)this.shader.setUniform(e,t[e]);this.target.rect(0,0,this.target.width,-this.target.height),this.target.pop()}remove(){this.fbo.remove()}}const superPerspective=p5.Camera.prototype.perspective;p5.Camera.prototype.perspective=function(e,t,r,i){this._near=void 0===r?this.defaultCameraNear:r,this._far=void 0===i?this.defaultCameraFar:i,superPerspective.call(this,e,t,r,i)};let cV,sh,sW,sH,fA,fB,FC,tD=tokenData,z={},fN="ciclos-i",sv="attribute vec3 aPosition;attribute vec2 aTexCoord;varying vec2 vTexCoord;void main() {vTexCoord = aTexCoord;vec4 p4 = vec4(aPosition, 1.0);p4.xy = p4.xy * 2.0 - 1.0;gl_Position = p4;}",sf="precision mediump float;varying vec2 vTexCoord;uniform sampler2D tex0,texQ;uniform float time,rot,rA[50],rB[50],ur[2],v;float rd(vec2 st){return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123);}float md(float x,float y){return x-y*floor(x/y);}vec2 md(vec2 v,float k){return v-k*floor(v/k);}vec2 qM(vec2 a,float k){return vec2(float(int(a.x*k))/k,float(int(a.y*k))/k);}float n0(in vec2 st){vec2 i=floor(st);vec2 f=fract(st);float a=rd(i);float b=rd(i+vec2(1.,.0));float c=rd(i+vec2(.0,1.));float d=rd(i+vec2(1.,1.));vec2 u=f*f*(3.-2.*f);return mix(a,b,u.x)+(c-a)*u.y*(1.-u.x)+(d-b)*u.x*u.y;}float fbm(in vec2 st){float v=.0;float a=.52;for(int i=0;i<3;i++){v+=a*n0(st);st *=2.195*(.5+rA[12]+rA[14]);a *=.5;}return v;}vec3 eB4(sampler2D t,vec2 tUV,vec2 sS,mat3 cM,float h){vec3 o=vec3(.0);float gO[9];gO[0]=h*.663;gO[1]=h*2.479;gO[2]=h*4.462;gO[3]=h*6.446;gO[4]=h*8.429;gO[5]=h*10.413;gO[6]=h*12.397;gO[7]=h*14.381;gO[8]=h*16.365;for(int i=0;i<9;i++){vec2 tCO=vec2(gO[i],-gO[i]*.95)*sS;vec3 c=texture2D(t,tUV+tCO).xyz+texture2D(t,tUV-tCO).xyz;c *=cM[int(float(i)/3.)][int(md(float(i),3.))];o+=c;}return o;}void main(){vec2 uv=vTexCoord;float aR=ur[1]/ur[0];vec2 u=vec2(ur[1]<ur[0] ? 1. : 1./aR,(ur[1]<ur[0] ? aR : 1.));vec2 u2=uv;vec2 ct=.5*u.xy;float r=rB[41];mat2 rM2=mat2(cos(r),-sin(r),sin(r),cos(r));vec2 c2=0.5*vec2(u.x,u.y);u2 *=u;u2=rM2*((u2-c2))+c2;u2 /=u;u2=md(u2+.0001*vec2(rB[10],rB[11])*time,1.);vec3 tQ=texture2D(texQ,vec2(u2.x,1.-u2.y)).xyz;uv+=v*vec2(rB[6],rB[23])*.2*tQ.rg;uv+=-.5+qM(uv,pow(90.*tQ.g*tQ.g,3.));vec3 nT=vec3(fbm(vec2(fbm(2.4*(uv)+time/1e3+1.),fbm(2.2*(uv)+time/1e3+1.))*9.79));r+=md(rB[40]*(.0015+v*2.*tQ.r*tQ.r*.01)*time,3.14);mat2 rM=mat2(cos(r),-sin(r),sin(r),cos(r));uv *=u;uv=rM*((uv-ct))+ct;uv /=u;vec2 uv4=uv;uv4+=(v+.01)*(.01)*nT.rg*(1.+.3*rd(nT.rg));mat3 m3_e1=.90*mat3(3.,.0,.0,.0,-1.,-1.,3.5,-3.,-1.);vec3 tI=eB4(tex0,vec2(uv4.x,1.-uv4.y),vec2(1./ur[0],1./ur[1]),m3_e1,.05+2.*v*(.5-tQ.g)*(.5+.15*nT.r));uv4.x+=.35*rd(uv+(nT.rg));uv4.y+=.35*rd(uv4+(nT.gb));tI=.7*tI+.55*texture2D(tex0,vec2(uv4.x,1.-uv4.y)).xyz;tI *=tI;gl_FragColor=vec4(pow(tI,vec3(1.3)),1.);}";Random=((e=Uint32Array.of(9,7,5,3),t=((t=1)=>t*(t=e[3],e[3]=e[2],e[2]=e[1],t^=t<<11,e[0]^=t^t>>>8^(e[1]=e[0])>>>19,e[0]/2**32)))=>([...tokenData.hash+"ThxBrightMoments"].map(r=>t(e[3]^=r.charCodeAt()*e[0])),{R:t,S:e,random_dec:t,random_num:(e,r)=>e+t(r-e),random_int:(e,r)=>Math.floor(e+t(r-e+1)),random_bool:e=>t()<e,random_choice:e=>e[0|t(e.length)]}));let R=Random();class YY{constructor(){for(let e=0;e<100;e++)this.d();this.A=[],this.B=[];for(let e=0;e<50;e++)this.A.push(this.d()),this.B.push(this.dd())}d(){return R.random_dec()}dd(){return 2*this.d()-1}n(e,t){return R.random_num(e,t)}i(e,t){return R.random_int(e,t)}c(e){return R.random_choice(e)}sgn(){return(-1)**this.c([0,1])}}Y=new YY;class aRect{constructor(e,t,r,i,s){this.a=e,this.b=t,this.c=r,this.d=i,this.m=4*(1+.1*Y.d()),this.cA=cV((this.a.x+this.b.x)*(.5+.2*Y.dd()),this.a.y*(.5+.5*Y.d())),this.cB=cV((this.a.x+this.b.x)*(1.25*Y.sgn()+.25*Y.dd()),(this.a.y+this.c.y)*(.5+.25*Y.dd())),this.rL=s,this.w=Math.abs(this.b.x-this.a.x),this.h=Math.abs(this.c.y-this.a.y),this.cP=cV((this.a.x+this.b.x+this.c.x+this.d.x)/4,(this.a.y+this.b.y+this.c.y+this.d.y)/4),this.ar=this.w*this.h}di(e,t){let r=this.a,i=this.b,s=this.c,a=this.d,n=this.w,h=this.h,o=e.length>1?Y.c(e):e;return t>0?[new aRect(r,i,cV(s.x,r.y+h*o),cV(a.x,i.y+h*o),this.rL+1,1),new aRect(cV(s.x,r.y+h*o),cV(a.x,i.y+h*o),s,a,this.rL+1,1)]:[new aRect(r,cV(r.x+n*o,i.y),s,cV(s.x+n*o,a.y),this.rL+1,1),new aRect(cV(r.x+n*o,i.y),i,cV(s.x+n*o,a.y),a,this.rL+1,1)]}}qt=function(e,t,r,i,s,a=0,n=[.5]){if(0==r)return[e];if(t>r||t>1&&Y.d()<s)return[e];let h=[],o=[];if(1==(o=e.di(n,i)).length)return[e];for(let e=0;e<o.length;e++){let n=[];n=qt(o[e],t+1,r,-i,s,a),h.push(...n)}return h},urlp=function(){let e,t=window.location.search,r=new URLSearchParams(t);for(var i of r.entries())null!=(e=i[0].split("."))&&(z[e]=parseFloat(i[1]))},setup=function(){wW=windowWidth,wH=windowHeight,sW=900,sH=1600,z.pd=pixelDensity();let e=/HeadlessChrome/.test(navigator.userAgent);cV=createVector,urlp(),pixelDensity(z.pd),createCanvas(wW,wH,WEBGL).id("ciclos"),z.S=wH/sH;let t={colorFormat:"float",alpha:!0,premultipliedAlpha:!0};cF=createFramebuffer,fA=cF(t),fB=cF(t),sh=createShader(sv,sf),sAP(),urlp(),FC=frameCount=z.FC,e&&(z.off=5.25*z.T,frameCount+=1e3),frameRate(z.fR),QT(),dL(),console.log("ciclos - i\nPeriods of unified ensemble and others of diversity - both work. Transitions may be confusing, but ultimately both operate in cycles.\n\nPart of the Bright Moments Finale collection.\nOriginal artwork by Marcelo Soria-Rodríguez @msoriaro, 2024. CC BY-NC-SA 4.0\n\nPress any key / click / tap to start audio. Tap again / press m to mute/unmute. Append ?pd=N to generate at pixel density N (increase/decrease resolution). Press v to start/stop video recording (webm). Press s to save the current image.\n")};let mG,aRD,mR,ac=null;aS=function(){ac?mt():(ac=new AudioContext,(mG=ac.createGain()).connect(ac.destination),mG.gain.setValueAtTime(.1/3.7,ac.currentTime),aRD=ac.createMediaStreamDestination(),mG.connect(aRD),z.as=!0,z.m=!1)},au=function(e,t,r,i){for(let s=0;s<t;s++){let t=ac.currentTime,a=ac.createOscillator(),n=ac.createGain();a.type="sine",a.connect(n),n.connect(mG);let h=z.gg*(1/(s+1)),o=z.att*r,d=z.dec*r,c=z.sus*d;n.gain.setValueAtTime(0,t),n.gain.linearRampToValueAtTime(h,t+o),n.gain.linearRampToValueAtTime(.8*h*(1+.1*Y.d()),t+o+d),n.gain.linearRampToValueAtTime(.8*h*(1+.1*Y.d()),t+o+d+c),n.gain.linearRampToValueAtTime(0,t+3*r),a.frequency.setValueAtTime(e+e*int(s/4),t),a.detune.setValueAtTime((1e3*i+5)*Y.dd(),t),a.start(0),a.stop(t+3*r)}},sAP=function(){z.as=!1,z.FC=1,z.fR=30,z.rV=!1,z.nL=Y.i(7,90),z.nLW=Y.n(.1,.9)*sH/z.nL,z.br=new aRect(cV(-sW,-sH),cV(2*sW,-sH),cV(-sW,2*sH),cV(2*sW,2*sH),0,z.tcT),z.pSP=Y.n(.07,.25),z.q1=Y.n(.075,.15),z.q2=Y.c([.15,.25,.33,.5,.66,.75,.85]),z.q=qt(z.br,0,11,Y.sgn(),z.pSP,z.q1,z.q2),z.dLc=[],z.dLswK=[];for(let e=0;e<4*z.nL;e++)z.dLc.push(Y.d()<Y.d()?0:255),z.dLswK.push(.5+Y.d());z.m=!0,z.bn=[0,.25,.167,.125,.1,.083],z.fb=110*(1+Y.i(1,12)/12),z.T=960,z.off=Y.i(0,z.T),z.v=0,z.vp=0,z.att=.025,z.dec=.1,z.sus=.5,z.rel=1-z.att-z.dec-z.sus,z.gg=.5,z.n0=Y.c([5,5,10,20]),z.d0=Y.c([2,3,4]),z.n1=Y.c([20,15]),z.p=[1,1,1,1],z.vq=1,z.df=!0,z.dfn=30*z.T,z.sh={},z.sh.rA=Y.A,z.sh.rB=Y.B,z.sh.rot=3*Y.d(),z.sh.ur=[wW,wH]},shI=function(){shader(sh),z.sh.time=FC,[...Object.keys(z.sh)].map(e=>sh.setUniform(e,z.sh[e]))},QT=function(){fB.draw(()=>{push(),scale(z.S),background(0),translate(-sW/2,-sH/2),noStroke();let e=Y.i(0,255);for(let t=0;t<z.q.length;t++)fill((e+20*t)%255,50+(e+15*t)%200,0),rect(z.q[t].a.x,z.q[t].a.y,z.q[t].w,z.q[t].h);pop()})},dL=function(){fA.draw(()=>{clear(),push(),scale(z.S),background(Y.A[5]<.5?0:255),translate(-sW/2,-sH/2),rotate(.1*FC);for(let e=0;e<4*z.nL;e++)strokeWeight(z.S*z.nLW*z.dLswK[e]),stroke(z.dLc[e]),line(-3*sW+2*e*sW/z.nL,-sH,-3*sW+2*e*sW/z.nL,sH);translate(0,0,1),noStroke();for(let e=0;e<max(1,10*Y.A[6]);e++)fill(e%2==0?0:255),circle(sW/2,sH/2,(1+Y.A[26]+.5*Y.B[27])*sH/(4+e));pop()})},gCSA=function(e,t,r,i,s,a){let n=(FC+a)%e;r*=e,i*=e;let h=0;return n<(t*=e)/2?(z.css=0,h=2*(n/t)**2):n<t?(z.css=0,h=1-.5*(-2*n/t+2)**2):n<t+r?(z.css=1,h=1):n<t+r+i/2?(z.css=2,h=1-.5*(-2*((n-t-r)/i+1)+2)**2):n<t+r+i?(z.css=2,h=2*(-(n-t-r)/i+1)**2):(z.css=n<e-(t+r+i)/2?3:4,h=0),h*s},ap=function(){if(!z.as)return;FC%z.T==0&&(Y.d()<.8&&(z.fb=110+110*Y.c(z.bn)+110*(Y.d()<.2?2:0)),z.d0=Y.c([2,3,4]),Y.d()<.25&&(z.n1=Y.c([20,15])),z.p[0]=Y.d()<.8,z.p[1]=Y.d()<.8,z.p[2]=Y.d()<.8,z.p[3]=Y.d()<.8,Y.d()<.25&&(z.n0=Y.c([5,5,10,20])));let e,t=5;t=z.n0+int(0==z.v||1==z.v?0:Y.i(-8,8)*z.v),z.p[0]&&FC%t==0&&(e=(1+z.v)*(z.fb+z.fb/(1+FC*z.d0%12)),au(e,5,.1,0==z.v||1==z.v?0:z.v)),t=z.n1+int(0==z.v||1==z.v?0:Y.i(-8,8)*z.v),z.p[1]&&FC%t==0&&(e=(1+z.v)*(z.fb+FC/z.n1%2*200),au(e,5,.66,0==z.v||1==z.v?0:z.v)),t=30+int(0==z.v||1==z.v?0:Y.i(-8,8)*z.v),z.p[2]&&FC%t==0&&(e=(1+z.v)*(z.fb+z.fb/Y.i(1,12)),au(e,5,1,0==z.v||1==z.v?0:z.v)),t=5+int(0==z.v||1==z.v?0:Y.i(-8,8)*z.v),z.p[3]&&FC%t==0&&au(z.fb,5,.4,0==z.v||1==z.v?0:z.v)},mRs=function(e){var t=new Blob(e,{type:"video/webm"});const r=URL.createObjectURL(t),i=document.createElement("a");i.style="display:none;",i.href=r;let s=new Date(Date.now());i.download=fN+"_when_"+s.toISOString()+"_id_"+tD.tokenId+"_seed_"+tD.hash+".webm",document.body.appendChild(i),i.click(),setTimeout(()=>{URL.revokeObjectURL(r),document.body.removeChild(i)},0),mt()},sV=function(){if(z.rV)z.rV=!1,mR.stop();else{const e={videoBitsPerSecond:4*z.vq*4*25e5,frameRate:z.fR,mimeType:"video/webm;codecs:vp9"};z.rV=!0;let t=[],r=document.getElementById("ciclos"),i=new MediaStream([r.captureStream(z.fR).getVideoTracks()[0],aRD.stream.getAudioTracks()[0]]);(mR=new MediaRecorder(i,e)).ondataavailable=(e=>{t.push(e.data)}),mR.onstop=(()=>{mRs(t)}),mR.start(5e3)}},draw=function(){FC=frameCount,z.df&&(FC%=z.dfn),z.vp=z.css,z.v=gCSA(z.T,.15,.4,.15,1,z.off),z.sc=z.vp!=z.css,z.a=4==z.css&&!!z.sc,z.a0=3==z.css&&!!z.sc,z.a&&(resetShader(),z.q=qt(z.br,0,Y.i(8,11),Y.sgn(),z.pSP,z.q1,z.q2),QT()),ap(),z.sh.v=z.v,shI(),sh.setUniform("tex0",fA.color),sh.setUniform("texQ",fB.color),rect(0,0,wW,wH)},ss=function(){let e=new Date(Date.now());save((fN+"_FC_"+FC+"_when_"+e.toISOString()+"_id_"+tD.tokenId+"_seed_"+tD.hash).split(":").join("-")+".png")},mt=function(){z.m=!z.m,mG.gain.setValueAtTime(z.m?0:.1/3.7,ac.currentTime)},keyTyped=function(){z.as||aS(),"s"===key?ss():"v"===key?sV():"m"===key&&mt()}; addC = function(){document.body.onclick=aS;} if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", addC); } else { addC(); } }],