<div style="text-align:center;"></p><canvas id=C></canvas><h1 id=S></h1></div><script>for(_='=>E)EDRect(Q[t]P${O])N4)•C.•on•t(1•).map(••6•(t,•/e-1.5•a[r+1]•&&••(•,1•12•.slice(•=eE•?1:•[e]•100•=[•e,•~~(••t.offset ••mouse•.fill•c•st •),•,u()•let •.reduce((•tDe+t•;for(••{•e=32;•width=•*••height=•*e;•t•new Array(e)•(0•o=(•t,oDe<t•t<o,l•o(-1,••?e:1e6,n=•getC•text("2d"•f•15,99•08,226•14•02],c•]•e in f){c•••oD1<<•o/•-4+o%4*4&f••0)]•o=1;o<5;o++)c•[o]=•lDc•[o-1][l%4*4+3-•l/•N}•i,r=0,a••4•],s=•e3•eE•6*Math.random())•d•],m=0,h=0;•u=fE{•C=a[r];•=C••n.clearQ0,0•e3•e3);•$,p,w•]•h of[•N{h•i=!$•!(w[0]•w[1N•r<•,p=f•i,a[0]=•4•)•t in C){•f=t%•,u=•t/••g=o(3,f,8)•o(3,u,8•y=c[s[r]][m][4*l(u-d[1N+l(f-d[0N],M=CP;y•g||($=!0•w[M]=1•h•p•y••P=1-CP•n•Style=`hsl(Oi?•:0},Oy•r<••0}00%,Og?M?8:4:6}0%)`,n•Qt%•*••t/•)*••e))}}p•r++••S.innerHTML=`Or}/• $Oa•1,r+1•eEe•)%16•16)•,0)-h}`};•move=tE{d• X•• Y•)]•},•down•e.butt•?r•h++,r--•):u(!0•••wheel•{m=(m+(e.deltaY>0•3))%4•}•}';G=/[•-•N-QDE]/.exec(_);)with(_.split(G))_=join(shift());eval(_)</script>