for(_=']*1)+F[cos(F[20,C={}f,g++10ins(F[]=[0c.fill1ema,Rect(varabs200 =0),Style=||)/,0.01&&((),!(M%0)yield B+=)){random:r,,m,x,s,cos}=Math,{width:k,height:e}=a;a.addEventListener("mousedown",=>i=S);function*S{ b,d,,h,j,l,m,o,p,q,s,t,u,w,C,B,E,F,n,v,L,M;for(M=w=o=p;;){if(w||(F=[r,r,r,r].p(x=>6*x-3B= *r,E=g=b=d=u=t,j=m=-(h=l=6f=-w& >w((x,y)=>[yxx3y)])(h=m(h,bj=x(j,bl=m(l,dm=x(m,dt=t||>(f-b)&&>(g-d) ==w&&!t){w;contue}201==w?(q=(j-hs=(m-lj+=q,h-=q,m+=s,l-=s,o=k/(j-hp=e/(m-l"#222"0,0,k,eE=u:(v=o*(b-hL=p*(d-ln=`${0|v},${0|L}`,3>EC[n]?u:C[n]=(E,1)`hsla(${B%360},0%,65%,)`v,L,1,1),[b,ddbb3d)],3<w20>E|| <u)w4<(b)w)}}i=S; R=requestAnitionFrame;R(go=b=>{R(go);for( d;3>d&&30>perfornce.now-b;d)i.next});';G=/[-]/.exec(_);)with(_.split(G))_=join(shift());eval(_)
// this has gotten some compression, sorry, but is what i was editing
var{random:r,abs,min,max,sin,cos}=Math,{width:W,height:H}=a;
a.addEventListener("mousedown",e=>I=S());
function*S(){
var x,y,S,T,X,U,Y,V,dw,dh,dx,dy,F,D,n,N,C,P,A,k,xp,yp,ii;
for(ii=n=dw=dh=0;;){
if(!n){
A=[r(),r(),r(),r()].map(v=>v*6-3)
C=r()*200;
P=T=x=y=D=F=0;
U=V=-(X=Y=1e6);
S=1e-10;
N={};
}
if(n&(n<200)){
((x,y)=>[S,T]=[sin(A[0]*y)+A[2]*cos(A[0]*x),sin(A[1]*x)+A[3]*cos(A[1]*y)])(S,T)
//[S,T]=[sin(A[0]*T)+A[2]*cos(A[0]*S), sin(A[1]*S)+A[3]*cos(A[1]*T)]
X=min(X,x);
U=max(U,x);
Y=min(Y,y);
V=max(V,y);
F=F||(abs(S-x)<0.01&&abs(T-y)<0.01);
}
if(n==200&&!F){n=0;continue}
if(n==201){
dx=((U-X)||10)/10;
dy=((V-Y)||10)/10;
U+=dx;X-=dx;
V+=dy;Y-=dy;
dw = W/(U-X);
dh = H/(V-Y);
c.fillStyle='#222';
c.fillRect(0,0,W,H);
P=D=0;N={};
if(!(++ii%100))yield C+=0.01;
} else {
xp=(dw*(x-X));
yp=(dh*(y-Y));
k=`${xp|0},${yp|0}`;
if(P<1000){
if(!N[k])N[k]=(++P,1);
else++D;
}
c.fillStyle=`hsla(${C%360},100%,65%,0.01)`;
c.fillRect(xp,yp,1,1);
if(!(++ii%100))yield C+=0.01;
}
[x,y]=[sin(A[0]*y)+A[2]*cos(A[0]*x),sin(A[1]*x)+A[3]*cos(A[1]*y)];
if(++n>1000&&(P<20||D>200))n=0;
if(abs(x)>1e4)n=0;
}
}
I=S();
var R=requestAnimationFrame;
R(go=T=>{
R(go);
for(var i=0;i<1000&&(performance.now()-T)<30;++i){
I.next();
}
});