memoscan
← all memos

Memo 0x5bb877f3…5a8e27 on Ethereum

(()=>{"use strict";let e=(e,n,r)=>Math.min(Math.max(e,n),r),n=(n,r,t,a,s,i=!1)=>{let o=(n-r)/(t-r)*(s-a)+a;return i?e(o,a,s):o};function r(e,n,r){let t=n/2,a=Math.round(e/t*r);return Math.min(r,Math.max(0,a))}function t(e,t,a,s){if(!e)return 0;let i=e.context.sampleRate,o=e.frequencyBinCount,m=r(a,i,o),u=r(s,i,o),c=u-m,d=0;for(;m<u;m++)d+=t[m];let p=e.minDecibels,l=e.maxDecibels,V=0!==c&&isFinite(d)?d/c:p;return n(V,p,l,0,1,!0)}String.prototype.INC=function(e,n){return this.replaceAll(`#include<${e}>\n`,n)},Number.prototype.F=function(){return this.toFixed(10)};let a,s=new class{constructor(){this.useA=!1;let e=function(e){let n=parseInt(e.substr(0,8),16),r=parseInt(e.substr(8,8),16),t=parseInt(e.substr(16,8),16),a=parseInt(e.substr(24,8),16);return function(){n|=0,r|=0,t|=0,a|=0;let e=(n+r|0)+a|0;return a=a+1|0,n=r^r>>>9,r=t+(t<<3)|0,t=t<<21|t>>>11,t=t+e|0,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substr(2,32)),this.prngB=new e(tokenData.hash.substr(34,32));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}dec(e=1){return this.useA=!this.useA,(this.useA?this.prngA():this.prngB())*e}num(e,n){return e+(n-e)*this.dec()}int(e,n){return Math.floor(this.num(e,n+1))}lim(e=1){return this.map(this.dec(),0,1,-e,e)}choice(e){return e[this.int(0,e.length-1)]}map(e,n,r,t,a){return(e-n)/(r-n)*(a-t)+t}hash(){let e="0x";for(let n=0;n<64;n++)e+=Math.floor(16*this.dec()).toString(16);return e}min(e){return Math.min(...e)}max(e){return Math.max(...e)}pn(e,n){let r=this.num(e,n);return this.dec()<.5?r:-r}},i=s.dec()<.35?0:s.dec()<.275?2:1,o={samples:new Array(8).fill(0),colors:Array.from(new Array(15),((r,t)=>e(t%3?(t-1)%3?s.num(.2,.7):s.num(.125,.625):s.num(.175,.715),n(t,0,14,.125,.3),1))),randoms:Array.from(new Array(3),(e=>s.dec())),A:{wave:s.int(0,2),form:s.int(0,3)},B:{wave:i,form:1===i?s.dec()<.45?0:s.int(1,3):s.int(0,3)}},m=window,u=document,c=u.body,d=new URLSearchParams(m.location.search),p=/\bHeadlessChrome/.test(navigator.userAgent),l=d.get("static"),V=-(parseInt(d.get("minDb"))||120),F=-(parseInt(d.get("maxDb"))||6),x=1e3*parseInt(d.get("time"))||0,S=parseFloat(d.get("quality")),h=-1!=navigator.userAgent.indexOf("Chrome"),M=-1!=navigator.userAgent.indexOf("Firefox")&&!h,f=S?e(parseFloat(S),.25,4):l?4:p?2:1,R="#version 300 es\n#define U uniform\n#define F float\n#define I int\nprecision highp I;\nprecision highp F;\n#define V2 vec2\n#define V3 vec3\n#define V4 vec4\n#define MX mix\n#define PW pow\n#define MA max\n#define MN min\n#define MD mod\n#define FL floor\n#define DT dot\n#define LN length\n#define TX texture\n#define S2D sampler2D\n#define NOR normalize\n#define CLM clamp\n#define DST distance\n#define CL01(T) CLM((T),0.,1.)\n#define SS01(T) smoothstep(0.,1.,T)\n#define SSCL01(T) CL01(SS01(T))\nF MPV(F n,F a,F b,F x,F y){return ((n-a)/(b-a))*(y-x)+x;}F MPS(F n,F x,F y){return MPV(n,-1.,1.,x,y);}F MPR(F n,F v){return ((n)/(1.))*(v-(-v))+(-v);}\n",y=new class{v=R+"in V3 aPs;in V2 aTc;out V2 vTc;void main(){gl_Position=V4(aPs,1.);vTc=aTc;}";d=R+"U F uTm;U V2 uRs;U F uSm[7];U S2D uWv;U V3 uCl[5];U F uRn[3];in V2 vTc;out V4 o0;struct SDF {F d;V2 m;V4 w;V2 p;I s;};V4 prm(V4 x){return MD(((x*34.)+1.)*x,289.);}V4 tis(V4 r){return 1.79284291400159-.85373472095314*r;}F sns(V3 v){const V2 C=V2(1./6.,1./3.);const V4 D=V4(0.,.5,1.,2.);V3 i=FL(v+DT(v,C.yyy));V3 x0=v-i+DT(i,C.xxx);V3 g=step(x0.yzx,x0.xyz);V3 l=1.-g;V3 i1=MN(g.xyz,l.zxy);V3 i2=MA(g.xyz,l.zxy);V3 x1=x0-i1+1.*C.xxx;V3 x2=x0-i2+2.*C.xxx;V3 x3=x0-1.+3.*C.xxx;i=MD(i,289.);V4 p=prm(prm(prm(i.z+V4(0.,i1.z,i2.z,1.))+i.y+V4(0.,i1.y,i2.y,1.))+i.x+V4(0.,i1.x,i2.x,1.));F n_=1./7.;V3 ns=n_*D.wyz-D.xzx;V4 j=p-49.*FL(p*ns.z*ns.z);V4 x_=FL(j*ns.z);V4 y_=FL(j-7.*x_);V4 x=x_*ns.x+ns.yyyy;V4 y=y_*ns.x+ns.yyyy;V4 h=1.-abs(x)-abs(y);V4 b0=V4(x.xy,y.xy);V4 b1=V4(x.zw,y.zw);V4 s0=FL(b0)*2.+1.;V4 s1=FL(b1)*2.+1.;V4 sh=-step(h,V4(0.));V4 a0=b0.xzyw+s0.xzyw*sh.xxyy;V4 a1=b1.xzyw+s1.xzyw*sh.zzww;V3 p0=V3(a0.xy,h.x);V3 p1=V3(a0.zw,h.y);V3 p2=V3(a1.xy,h.z);V3 p3=V3(a1.zw,h.w);V4 norm=tis(V4(DT(p0,p0),DT(p1,p1),DT(p2,p2),DT(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;V4 m=MA(.6-V4(DT(x0,x0),DT(x1,x1),DT(x2,x2),DT(x3,x3)),0.);m=m*m;return 42.*DT(m*m,V4(DT(p0,x0),DT(p1,x1),DT(p2,x2),DT(p3,x3)));}F fP(V3 p,V4 n){return DT(p,n.xyz)+n.w;}F fS(V3 p,F s){return LN(p)-s;}F fB(V3 p,V3 b){V3 q=abs(p)-b;return LN(MA(q,0.))+MN(MA(q.x,MA(q.y,q.z)),0.);}mat3 rtm(V3 v,F a){v=NOR(v);F s=sin(a);F c=cos(a);F oc=1.-c;return mat3(oc*v.x*v.x+c,oc*v.x*v.y-v.z*s,oc*v.z*v.x+v.y*s,oc*v.x*v.y+v.z*s,oc*v.y*v.y+c,oc*v.y*v.z-v.x*s,oc*v.z*v.x-v.y*s,oc*v.y*v.z+v.x*s,oc*v.z*v.z+c);}V3 oRt(V3 p,V3 v,F a){mat3 m=rtm(v,a);p*=m;return p;}V2 pM2(inout V2 p,V2 s){V2 c=FL((p+s*.5)/s);p=MD(p+s*.5,s)-s*.5;return c;}V2 pMM2(inout V2 p,V2 s){V2 halfsize=s*.5;V2 c=FL((p+halfsize)/s);p=MD(p+halfsize,s)-halfsize;p*=MD(c,V2(2.))*2.-V2(1.);return c;}F pUS(F a,F b,F r,F n){F s=r/n;F u=b-r;return MN(MN(a,b),.5*(u+a+abs((MD(u-a+s,2.*s))-s)));}SDF oUS(SDF a,SDF b,F r,F n,F k){F h=CLM(.5+.5*(b.d-a.d)/k,0.,1.);F d=pUS(a.d,b.d,r,n);V2 m=MX(b.m,a.m,h);V2 p=MX(b.p,a.p,h);return SDF(d,m,V4(0.),p,0);}SDF oIS(SDF a,SDF b,F k){F h=CLM(.5-.5*(b.d-a.d)/k,0.,1.);F d=MX(b.d,a.d,h)+k*h*(1.-h);V2 m=MX(b.m,a.m,h);V2 p=MX(b.p,a.p,h);return SDF(d,m,V4(0.),p,0);}V2 Ma=V2(0.,0.);V2 Mb=V2(0.,1.);V2 Mc=V2(1.,0.);V2 Md=V2(1.,1.);\n#include<A>\n#include<B>\nSDF map(V3 pos){SDF R=A(pos);R=oUS(R,B(pos),.2+.2*uRn[0],1.5+2.5*uRn[1],.5+.2*uRn[2]);V4 m=V4(PW(DST(Ma,R.m),8.),PW(DST(Mb,R.m),8.),PW(DST(Mc,R.m),8.),PW(DST(Md,R.m),8.));F t=m.x+m.y+m.z+m.w;R.w=CL01(m/t);return R;}SDF INT(V3 ro,V3 rd){F t=0.;I s=0;SDF R=SDF(1e10,V2(-1.),V4(0.),V2(0.),0);for (s=0;s<150;s++){R=map(ro+rd*t);R.s=s;if(R.d<.0001){t+=.0001;break;}else if(R.d>1e10){R.m=V2(-1.);R.d=-1.;break;}t+=R.d*.1;}R.d=t;return R;}V3 NRM(V3 p){V2 e=V2(1.,-1.)*.5773*.1;return NOR(e.xyy*map(p+e.xyy).d+e.yyx*map(p+e.yyx).d+e.yxy*map(p+e.yxy).d+e.xxx*map(p+e.xxx).d);}V3 render(V3 ro,V3 rd){V3 C;SDF R=INT(ro,rd);V3 N=V3(0.,1.,0.);V3 L=NOR(V3(1.,.95,.25));if(R.m.x>=0.&&R.m.y>=0.){V3 pos=ro+rd*R.d;N=NRM(pos);C+=.725*MX(uCl[0],uCl[4],R.p[0])*R.w.w;C+=uCl[1]*R.w.x;C+=uCl[2]*R.w.y;C+=uCl[3]*R.w.z;F aoc=1.-(float(R.s)/150.);C=MX(C,C+CL01(PW(aoc,2.)),.2);C=MX(C,C*CL01(PW(aoc,.05)),.2);F NoL=MA(DT(N,L),0.);C*=CLM(PW(NoL,1.2),.5,1.)+.175;C=MX(C,C*1.1,SSCL01(PW(N.y,4.)));C=MX(C,C*1.2,SSCL01(PW(N.y,8.)));C=MX(C,C*.6,SSCL01(PW(MA(N.x,N.z),2.)));C=MX(C,C*.5+(1.-C)*.25+.25*uCl[4],SSCL01(R.p[1]*PW(1.-N.y,.8)));C=CL01(C);}else{C=V3(1.,0.,0.);}return C;}void main(){V2 uv=gl_FragCoord.xy/uRs.xy;V3 cF=NOR(V3(-1.));V3 cR=NOR(cross(cF,V3(0.,-1.,0.)));V3 cU=NOR(cross(cF,cR));F a=uRs.x/uRs.y;F rm=step(1.,a);F o=13.;F vpW=MX(o,o*a,rm);F vpH=MX(vpW/a,o,rm);uv.x=(uv.x*vpW)-vpW*.5;uv.y=(uv.y*vpH)-vpH*.5;V3 rd=cF;V3 ro=-uv.x*cR+uv.y*cU+vpH*.5;o0=V4(render(ro,rd),1.);}";p=R+"U V2 uRs;U S2D uT0;U F uSm[7];U V3 uCl[5];U F uPX;in V2 vTc;out V4 o0;V3 GMA(V3 c,F g){return PW(c,V3(1./g));}V3 RNG(V3 c,F l,F h){return MN(MA(c-V3(l),V3(0.))/(V3(h)-V3(l)),V3(1.));}V3 LVL(V3 c,F l,F g,F h){return GMA(RNG(c,l,h),g);}V3 CON(V3 c,F v){return .5+(1.+v)*(c-.5);}V3 EXP(V3 c,F v){return (1.+v)*c;}F LUM(V3 c){return DT(c,V3(.2126,.7152,.0722));}V3 SAT(V3 c,F v){return MX(V3(LUM(c)),c,1.+v);}V3 SRP(S2D t,V2 uv,F a,F o){V3 c=TX(t,vTc).rgb;V3 b=c;b+=TX(t,uv+V2(0.,.001*o)).rgb;b+=TX(t,uv+V2(.001*o,0.)).rgb;b+=TX(t,uv-V2(0.,.001*o)).rgb;b+=TX(t,uv-V2(.001*o,0.)).rgb;b+=TX(t,uv+V2(.001*o)).rgb/2.;b+=TX(t,uv-V2(.001*o)).rgb/2.;b+=TX(t,uv+V2(.001*o,-.001*o)).rgb/2.;b+=TX(t,uv+V2(-.001*o,.001*o)).rgb/2.;b/=7.;F s=(c-b).r*a;return c+s;}void main(){F kk=SS01(uSm[0]);F dm=SS01(uSm[1]);F sg=SS01(uSm[2]);F wd=SS01(uSm[3]);F sp=SS01(uSm[4]);F cp=SS01(uSm[5]);F me=SS01(uSm[6]);V2 uv=gl_FragCoord.xy/uRs;V3 C=SRP(uT0,vTc,.4,uPX);C=CLM(C,.05,.95);C=MX(C,C*2.,SSCL01(PW(sp,12.)));F q=16.-MPV(PW(MA(sg,wd),16.),0.,1.,0.,16.*.3);C*=q;C=round(C);C/=q;C=EXP(C,.225);C=CON(C,.325);C=SAT(C,.225);C=LVL(C,.05,.825,.925);uv*=1.-uv.yx;F V=uv.x*uv.y*100.;V=PW(V,.275)+.125+MPR(sg,.125);C*=V;F l=LUM(C);if(l>.1){C=EXP(C,.1+MPR(PW(sp,2.),.1));C=CON(C,.1+MPR(PW(cp,2.),.1));C=RNG(C,0.+.05-MPR(MA(sg,wd),-.05),1.+.1+MPR(PW(me,4.),.125));}else{C=MX(C,uCl[4]*.3,.5);}C=CLM(C,.05,.95);o0=V4(C,1.);}";constructor(e,r){let t=(e,n)=>{let r=`vec${n}(`;for(let t=0;t<n;t++)r+=e().F(),t<n-1&&(r+=",");return r+=")",r},a=e=>t(e,3),s=e=>t(e,4),i=n=>e.choice(["sin","cos"]),o=["c.x","c.y","abs(c.x)","abs(c.y)","c.x+c.y","DST(c.x,c.y)","LN(c)"],m=n=>`MD(${e.choice(o)},${n})`,u=n=>`MD(${e.choice(o.slice(0,5))},${n})`,c=n=>`MD(${e.choice(o.slice(2,7))},${n})`,d=(n,r)=>e.choice([`fS(${n},LN(${r})*.5)`,`fB(${n},${r})`]),p=n=>e.choice(["+=","-="]),l=e.num(1,1.5),V=e.num(-.05,.05),F=r=>0===r?e.dec()<.5?"X":"Z":1===r?"LN(V2(X,Z))":2===r?`sns(V3(V2(X,Z)*${n(l,1,2,.3,.5).F()},${e.dec(10).F()}+T*.2))`:`(.5*(sin(X*${e.num(1,3).F()})+cos(Z*${e.num(1,3).F()})))`,x=`F mmx=${e.dec()<.5?e.num(.3,.5).F():e.num(.5,.7).F()};F mx=mmx+MPR(SSCL01(MA(kk,dm)),(mmx>.5 ? 1.-mmx : mmx));mx=MX(mmx,mx,abs(sin(${u("denom.w")})));F d=MX(a,b,mx);denom=${s((()=>e.num(2,9)))};V2 m1=Mb;V2 m2=Mc;if( ${e.dec().F()}<0.){m1=MX(m1,m1+V2(1.,0.),CL01(${c("denom.x")}));m1=MX(m1,m1-V2(0.,1.),CL01(${c("denom.y")}));m2=MX(m2,m2+V2(0.,1.),CL01(${c("denom.z")}));m2=MX(m2,m2-V2(1.,0.),CL01(${c("denom.w")}));}else{m1+=abs(${i()}(${c("denom.x")}))*V2(1.,0.);m1-=abs(${i()}(${c("denom.y")}))*V2(0.,1.);m2+=abs(${i()}(${c("denom.z")}))*V2(0.,1.);m2-=abs(${i()}(${c("denom.w")}))*V2(1.,0.);}V2 m=MX(m1,m2,SSCL01(mx));denom=${s((()=>e.num(2,5)))};F p=SS01(sp);p=MX(p*.2,p,SSCL01(${m("denom.x")}));p=MX(p*.2,p,SSCL01(${m("denom.y")}));p=MX(p*.2,p,SSCL01(${m("denom.z")}));p=MX(p*.2,p,SSCL01(${m("denom.w")}));p=CL01(p);`;["A","B"].forEach(((n,t)=>{let o=r[n],S=`SDF ${n}(in V3 pos){SDF R=SDF(1e10,V2(-1.),V4(0.),V2(0.),0);pos=oRt(pos,V3(0.,1.,0.),6.2831853072*${V.F()});F X=pos.x;F Z=pos.z;F kk=SS01(uSm[0]);F dm=SS01(uSm[1]);F sg=SS01(uSm[2]);F wd=SS01(uSm[3]);F sp=SS01(uSm[4]);F cp=SS01(uSm[5]);F me=SS01(uSm[6]);F T=1.+uTm*.0003+MPR(me,.325);`;if(0===t)S+=`F W=MPR(SS01(TX(uWv,V2(${F(o.form)}*.02,0.)).a),1.35)+(.1+${e.num(0,.1).F()})*sin(${1===o.wave?"2.":"4."}*(T*${o.wave>1?".3":"1."})-${F(o.wave)}*(2.-MPR(SSCL01(me),${e.num(.1,.2).F()}*${l.F()}))*${l.F()}*${e.num(.8,1.6).F()});R=SDF(fP(pos,V4(0.,1.,0.,W+.2)),Ma,V4(0.),V2(SS01(.5+.5*MX(W,me,.6))),0);`;else if(1===t){let n=e.dec()<.5,r=`{F C=${o.form<2?e.num(.8,1).F():e.num(.725,.775).F()};V2 c=pM2(P.xz,V2(C+${e.num(-.2,.2).F()},C+${e.num(-.2,.2).F()})+MPR(sg,.0125));F bounds=fB(P,V3(.5,5.0,.5));P=oRt(P,NOR(${a((()=>e.dec()))}),${e.num(-.2,.2).F()}*6.2831853072);P.x-=amplitude.x*${i()}(period.x*(${u("denom.x")}+t));P.y-=amplitude.y*${i()}(period.y*(${u("denom.y")}+t));P.z-=amplitude.z*${i()}(period.z*(${u("denom.z")}+t));denom=${s((()=>e.num(4,12)))};V3 off=V3(0.,+.1+MPR(MA(dm,kk),.1)*${i()}(period.w*(${u("denom.w")}+t)),0.);V3 sA=${a((()=>e.num(.4,.7)))};sA+=.1+MPR(dm,.1)+MPS(sin(${e.dec(10).F()}+t*period.x),0.,.1)*amplitude.x;V3 pA=P-V3(0.,MPR(MA(kk,cp),.1)*abs(sin(${c("denom.x")})),0.);F a=${d("pA-off","sA")};a=MA(bounds,a);off*=${e.num(.95,1.05).F()};V3 sB=${a((()=>e.num(.4,.7)))};sB-=.1+MPR(sp,.1)+MPS(sin(${e.dec(10).F()}+t*period.y),0.,.1)*amplitude.y;V3 pB=P-V3(0.,MPR(MA(wd,sg),.1)*abs(sin(${c("denom.y")})),0.);F b=${d("pB-off","sB")};b=MA(bounds,b);${x}d-=.08+MPR(cp,.08);r=SDF(d,m,V4(0.),V2(p),0);}`,t=`{V2 xz=V2(abs(pos.x),abs(pos.z));xz.xy=xz.${e.dec()<.5?"xy":"yx"};xz ${p()} t*${e.num(0,2).F()};P.xz=P.${((n=!0)=>n?e.choice(["x","z"]):e.choice(["xz","zx"]))(0)};V2 c=pM2(P.xz,V2(${n?e.num(3,9).F():e.num(1,2).F()},${e.num(.3,.7).F()})+MPR(sg,.0125));${n} ? pMM2(P.xz,V2(${e.num(.6,1.2).F()}+${i()}(t*${e.pn(.6,1.2).F()})*.5,1.)) : c;P=oRt(P,NOR(${a((()=>e.dec()))}),Z*${e.num(.2,.8).F()}+t*${e.pn(3,4).F()});V3 size=${a((()=>e.num(.3,.8)))};size.y=${e.num(.35,.45).F()}+${i()}(${e.dec().F()}+${[e.choice(["xz.x","xz.y"]),"LN(xz)","MN(xz.x,xz.y)","MA(xz.x,xz.y)"][o.form]}*${e.num(.8,1.6).F()}*MPS(sin(period.w+t*.025),.6,1.2))*${e.num(.3,.5).F()};size.x ${p()} amplitude.x*MPS(sin(${e.dec().F()}+t*period.x),0.,.2)+.1+MPR(dm,.1);size.y ${p()} amplitude.y*MPS(sin(${e.dec().F()}+t*period.y),0.,.2)+.1+MPR(kk,.1);size.z ${p()} amplitude.z*MPS(sin(${e.dec().F()}+t*period.z),0.,.2)+.1+MPR(sg,.1);F pY=${i()}((P.z*${e.num(.5,.5).F()}))*.2+MPR(MA(dm,kk),.1);F a=fB(P-V3(0.,pY,0.),size)-MPV((dm+kk)*.5,0.,1.,0.,.4)*sin(${m("denom.y")});F b=a-MPS(wd,0.,.175);${x}r=SDF(d,m,V4(0.),V2(p),0);}`,l=`{t=T*${e.num(.4,.6).F()};r=SDF(1e10,V2(-1.),V4(0.),V2(0.),0);X=abs(pos.x);Z=abs(pos.z);X ${p()} t*${e.num(1.25,2.5).F()};Z ${p()} t*${e.num(1.25,2.5).F()};F posY=.1+MPR(MA(dm,kk),.1);F radius=${e.num(.2,.5).F()}+${i()}(X*${e.num(.4,1.6).F()}+1.+MPR(dm,1.))*${e.num(.1,.3).F()}+${i()}(Z*${e.num(.4,1.6).F()}+1.+MPR(kk,1.))*${e.num(.1,.3).F()};F height=.5+${i()}(LN(V2(X,Z))*.5)*${e.num(.2,.5).F()};F offset=${i()}(LN(V2(X,Z))*${e.num(.4,1.2).F()})*${e.num(.3,.6).F()};radius+=.2+MPR(MA(dm,kk),.2);offset+=.1+MPR(MA(sp,cp),.1);V2 c=pM2(P.xz,V2(${e.num(3,9).F()}+MPR(sg,.075)));P.x+=t*.6*${e.dec()<.5?"1.":"-1."}*${e.num(.8,1.2).F()};P.z+=t*.6*${e.dec()<.5?"1.":"-1."}*${e.num(.8,1.2).F()};c=pM2(P.xz,V2(${e.num(.5,1).F()}+MPR(wd,0.01)));posY+=.1+MPR(cp,.1)*abs(sin(${c("denom.x")}));radius ${p()} .125+MPR(dm,.125)*abs(sin(${c("denom.y")}));offset ${p()} .125+MPR(sg,.125)*abs(sin(${c("denom.z")}));height ${p()} .125+MPR(wd,.125)*abs(sin(${c("denom.w")}));V3 h=V3(${e.num(.3,.6).F()},height*2.,${e.num(.4,.6).F()});F a=${d("P+V3(0.,posY,0.)","h")};F b=${d("P+V3(offset,0.,offset)","V3(radius,radius*1.5,radius)")};${x}d-=.08+MPR(cp,.08);m=MX(m,Md,.3);r=oIS(SDF(a,m,V4(0.),V2(p),0),SDF(b,m,V4(0.),V2(p),0),MPS(sg,0.,.2));}`;S+=`V3 P=pos;F t=1.+.2*uTm*.0003+MPR(me,.325)*.6;SDF r=SDF(1e10,V2(-1.),V4(0.),V2(0.),0);V4 amplitude=${s((()=>e.num(.15,.5)))};V4 period=${s((()=>e.num(3,6)))};V4 denom=${s((()=>e.num(4,12)))};`,0===o.wave?o.form<2?S+=`${r}R=r;`:S+=`${r}SDF a=r;${r}SDF b=r;R=oIS(a,b,MPS(sg,0.,.25));`:S+=`${1===o.wave?t:l}R=r;`}S+="return R;}",this.d=this.d.INC(n,S)}))}}(s,o),v=u.createElement("style");v.innerHTML="*{overflow:hidden;margin:0;background:#000;visibility:hidden;}body{display:flex;justify-content:center;align-items:center}canvas{visibility:visible}}",c.appendChild(v);let $=u.createElement("canvas");c.appendChild($);let C=$.getContext("webgl2",{preserveDrawingBuffer:!0});"drawingBufferColorSpace"in C&&(C.drawingBufferColorSpace="display-p3");let g=C.FRAMEBUFFER,P=C.ARRAY_BUFFER,b=C.ELEMENT_ARRAY_BUFFER,T=C.TEXTURE_2D,A=C.STATIC_DRAW,D=C.UNSIGNED_BYTE,w=C.RGBA,z=C.TEXTURE_MIN_FILTER,L=C.TEXTURE_MAG_FILTER,X=C.TEXTURE_WRAP_S,E=C.TEXTURE_WRAP_T,N=C.CLAMP_TO_EDGE,U=C.NEAREST,k=C.LINEAR,B=C.MIRRORED_REPEAT,W=C.COLOR_ATTACHMENT0,_=e=>C.createBuffer(),I=e=>C.bindVertexArray(e),O=(e,n)=>C.bindBuffer(e,n),q=(e,n,r)=>C.bufferData(e,n,r),G=e=>C.bindFramebuffer(g,e),H=e=>C.bindTexture(T,e),Z=(e,n)=>C.texParameteri(T,e,n),Y=(e,n,r,t,a,s,i)=>C.texImage2D(T,0,e,n,r,t,a,s,i),j=e=>C.activeTexture(C.TEXTURE0),J=(e,n)=>C.uniform1i(e,n),K=(e,n)=>C.uniform1f(e,n),Q=(e,n)=>C.uniform1fv(e,n),ee=(e,n)=>C.uniform2fv(e,n),ne=(e,n)=>C.uniform3fv(e,n),re=e=>C.viewport(0,0,be[0],be[1]),te=e=>C.drawElements(C.TRIANGLES,6,C.UNSIGNED_SHORT,0),ae=e=>C.finish();class se{constructor(e,n,r,t,a,s){C??=e,this.v=n,this.frag=r,this.createProgram(),this.useProgram(),t.forEach((e=>{this[e]=C.getAttribLocation(this.program,e)})),a.forEach((e=>{this[e]=C.getUniformLocation(this.program,e)})),this.vertexArray=C.createVertexArray(),I(this.vertexArray),this.vertexBuffer=_(),O(P,this.vertexBuffer),q(P,new Float32Array([-1,1,0,-1,-1,0,1,-1,0,1,1,0]),A),-1!==this.aPs&&(C.enableVertexAttribArray(this.aPs),C.vertexAttribPointer(this.aPs,3,C.FLOAT,!1,0,0)),s&&(O(P,s),C.enableVertexAttribArray(this.aTc),C.vertexAttribPointer(this.aTc,2,C.FLOAT,!1,0,0)),this.indexBuffer=_(),O(b,this.indexBuffer),q(b,new Uint16Array([0,1,2,0,2,3]),A),I(null),O(P,null),O(b,null)}useProgram(){C.useProgram(this.program)}getUniform(e){return C.getUniform(this.program,e)}createProgram(){return this.vertexShader=this.createShader(C.VERTEX_SHADER,this.v),this.fragmentShader=this.createShader(C.FRAGMENT_SHADER,this.frag),this.program=C.createProgram(),C.attachShader(this.program,this.vertexShader),C.attachShader(this.program,this.fragmentShader),C.linkProgram(this.program),this.program}createShader(e,n){let r=C.createShader(e);return C.shaderSource(r,n),C.compileShader(r),r}}let ie,oe,me,ue,ce,de,pe,le,Ve,Fe=4096,xe=!1,Se=!1,he=[40,180,450,1500,3e3,5e3,1e4],Me=u.createElement("audio"),fe=C.createTexture(),Re=new Uint8Array(Array.from(new Array(1024),(e=>127)));H(fe),Y(w,256,1,0,w,D,Re),Z(z,k),Z(L,k),Z(X,B),Z(E,B);let ye=[],ve=!0,$e=0,Ce=(e=!1)=>{ye.length>0&&(ge(),e&&(Me.src=ye[$e].url,Me.load()),Me.play(),ve=!1)},ge=e=>{Me.paused||Me.pause()},Pe=e=>{$e+=1,$e>=ye.length&&($e=0),Ce(!0)};m.onkeydown=e=>{let n=e.keyCode;ye.length>0&&(37===n&&($e-=1,$e<0&&($e=ye.length-1),Ce(!0)),39===n&&Pe(),32===n&&(ye.length<=0||(Me.paused?Ce():ge(),ve=Me.paused)))},m.ondragover=e=>e.preventDefault(),m.ondrop=e=>{if(e.preventDefault(),e.stopPropagation(),!ie)return void alert("Click Required");let n=0===ye.length,r=e.dataTransfer.files;if(r.length>0)for(let e=0;e<r.length;e++){let n=r[e];["wav","mpeg","aac","ogg","flac"].some((e=>n.type.includes(e)))&&(ye.some((e=>e.name===n.name))||ye.push({name:n.name,url:URL.createObjectURL(n)}))}ye.length>0&&Me.paused&&n&&Ce(!0)};let be=[m.innerWidth,m.innerHeight],Te=e=>{be=[m.innerWidth,m.innerHeight],$.width=be[0],$.height=be[1],$.style.width=be[0]+"px",$.style.height=be[1]+"px",$.style.imageRendering="pixelated",a=Math.max(1,Math.round(Math.min(be[0],be[1])/(448*f)*4)/4),C.texImage2D(T,0,w,be[0]/a,be[1]/a,0,w,D,null),xe=!0},Ae=C.createTexture();H(Ae),Y(w,be[0]/a,be[1]/a,0,w,D,null),Z(z,U),Z(L,U),Z(X,N),Z(E,N),m.onresize=Te,Te();let De=e=>{Se=u.webkitIsFullScreen||u.mozFullScreen||u.fullscreenElement||!1,$.style.cursor=Se?"none":"auto"};m.addEventListener("fullscreenchange",De,!1),m.addEventListener("webkitfullscreenchange",De,!1),m.addEventListener("mozfullscreenchange",De,!1),m.onclick=async e=>{if(!l&&!ie){ie=new(window.AudioContext||window.webkitAudioContext),de=ie.createAnalyser(),de.fftSize=Fe,de.minDecibels=V,de.maxDecibels=F,pe=new Float32Array(Fe),le=new Float32Array(Fe),Ve=new Float32Array(Fe),navigator.mediaSession.setActionHandler("pause",(()=>{}));let e=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:M,sampleRate:48e3,sampleSize:16,latency:0,volume:1},video:!1});oe=ie.createMediaStreamSource(e),me=ie.createGain(),oe.connect(me),me.connect(de),ue=ie.createMediaElementSource(Me),ce=ie.createGain(),ue.connect(ce),ce.connect(de),ce.connect(ie.destination)}},m.ondblclick=e=>{var n=c;e instanceof HTMLElement&&(n=e),n.requestFullScreen=n.requestFullScreen||n.webkitRequestFullScreen||n.mozRequestFullScreen||function(){return!1},u.cancelFullScreen=u.cancelFullScreen||u.webkitCancelFullScreen||u.mozCancelFullScreen||function(){return!1},Se?u.cancelFullScreen():n.requestFullScreen()};let we=((...e)=>{let n=C.createFramebuffer();G(n);let r=[W];return e.forEach(((e,n,t)=>{C.framebufferTexture2D(g,r[n],T,e,0)})),n})(Ae),ze=new se(C,y.v,y.d,["aPs","aTc"],["uRs","uTm","uSm","uWv","uCl","uRn"]),Le=_();O(P,Le),q(P,new Float32Array([0,1,0,0,1,0,1,1]),A);let Xe,Ee,Ne,Ue,ke,Be,We=new se(C,y.v,y.p,["aPs","aTc"],["uRs","uT0","uSm","uCl","uPX"],Le),_e=0,Ie=e=>{ke=Date.now(),Be&&Ee||(Be=ke,Ee=ke),l?(Ne=0,Ue=0,_e=0):(Ne=ke-Be,Ue=ke-Ee),ie&&(me&&ce&&(me.gain.value=Me.paused?1:0,ce.gain.value=Me.paused?0:1),ye.length>0&&Me.paused&&!ve&&Pe()),(Ne>Xe||l)&&(Be=ke-Ne%Xe,_e+=30*(o.samples[7]??0),l&&!xe||(Oe(),qe(),Ge(),xe=!1)),requestAnimationFrame(Ie)},Oe=r=>{if(!ie)return;de.getFloatFrequencyData(pe),de.getFloatTimeDomainData(Ve);let a=[];for(let e=0;e<le.length;e++){let r=(s=le[e],i=Ve[e],.005,m=Ne,void 0,void 0,void 0,u=s,c=i,(1-(d=1-Math.exp(-.005*m)))*u+d*c);le[e]=r,r=parseInt(n(r,-1,1,0,255)),a.push(r)}var s,i,m,u,c,d;let p=[];for(let e=0;e<a.length;e+=16){let n=0;for(let r=0;r<16;r++)n+=a[e+r];n/=16,p.push([n,n,n,n])}let l=new Uint8Array(p.flat());H(fe),Y(w,256,1,0,w,D,l);let V=0;for(let r=0;r<6;r++){let a=t(de,pe,he[r+0],he[r+1]);a=n(e(a,.15,1),.15,1,0,1),a=Math.pow(a,n(r,0,5,1,.3)),F=a,a=(F/=.5)<1?.5*F*F:-.5*(--F*(F-2)-1),o.samples[r]=a,V+=a}var F;o.samples[6]=V/6,o.samples[7]=Math.pow(n(V,0,5,0,1),1.4)},qe=e=>{re(),C.clear(C.COLOR_BUFFER_BIT|C.DEPTH_BUFFER_BIT),ze.useProgram(C),I(ze.vertexArray),G(we),K(ze.uTm,Ue+_e+x),ee(ze.uRs,[be[0]/a,be[1]/a]),Q(ze.uSm,o.samples),ne(ze.uCl,o.colors),Q(ze.uRn,o.randoms),J(ze.uWv,0),j(),H(fe),C.drawBuffers([W]),te(),ae()},Ge=e=>{re(),We.useProgram(C),G(null),I(We.vertexArray),ee(We.uRs,be),J(We.uT0,0),Q(We.uSm,o.samples),ne(We.uCl,o.colors),K(We.uPX,a),j(),C.bindTexture(T,Ae),te(),ae()};Xe=1e3/(p?30:60),requestAnimationFrame(Ie)})();