var tr=[],t2=[],p1=0.0314,n=256,P='putImageData',S=1,M=Math,R=M.random,F=M.floor,Ms=M.sqrt,X,Y,w=a.width,h=a.height,h3=h*h/9,w3=w*w/9,di=Ms(h*h+w*w),hh=9/di;a.onmousemove=function(e){X=e.clientX;Y=e.clientY};id=c.getImageData(0,0,w,h);iD=id.data;for(i=3;i<iD.length;i=i+4){iD[i]=n;}c[P](id,0,0);function D(x,y,r,g,b){bo=(F(y)*w+F(x))*4;iD[bo]=r;iD[bo+1]=g;iD[bo+2]=b;};j=190;while(j--){Tr={x:w/2,y:h/2,r:F(R()*n),g:F(R()*n),b:F(R()*n),a:j*p1,A:0,s:0.5+(R()*3),p:0};if(j<5){with(Tr){p=1;s=2+(R()*4)};t2.push(Tr)}tr.push(Tr)};function z(c){return((c+(R()*32))%n)}function L(X,Y,x,y){var dx=X-x,dy=Y-y;return Ms(dx*dx+dy*dy)}function Z(X,Y,o,ps){ll=L(X,Y,o.x,o.y)*3;if(ll<di){ps*=1-(ll/di);o.x=X*ps+o.x*(1-ps);o.y=Y*ps+o.y*(1-ps);}};function pt(){for(j in tr){with(tr[j]){D(x,y,0,0,0);x+=M.sin(a)*s;y+=M.cos(a)*s;x=(x+w)%w;y=(y+h)%h;r=z(r);g=z(g);b=z(b);if(R()>0.99){S*=-1;A=R()*p1*3*S;}a+=A;if(!p){Z(X,Y,tr[j],hh*9);for(G in t2){with(t2[G]){Z(x,y,tr[j],hh);}}};if(!p)D(x,y,r,g,b);}}c[P](id,0,0);}setInterval(pt,50);
dmFyIHRyPVtdLHQyPVtdLHAxPTAuMDMxNCxuPTI1NixQPSdwdXRJbWFnZURhdGEnLFM9MSxNPU1hdGgsUj1NLnJhbmRvbSxGPU0uZmxvb3IsTXM9TS5zcXJ0LFgsWSx3PWEud2lkdGgsaD1hLmhlaWdodCxoMz1oKmgvOSx3Mz13KncvOSxkaT1NcyhoKmgrdyp3KSxoaD05L2RpO2Eub25tb3VzZW1vdmU9ZnVuY3Rpb24oZSl7WD1lLmNsaWVudFg7WT1lLmNsaWVudFl9O2lkPWMuZ2V0SW1hZ2VEYXRhKDAsMCx3LGgpO2lEPWlkLmRhdGE7Zm9yKGk9MztpPGlELmxlbmd0aDtpPWkrNCl7aURbaV09bjt9Y1tQXShpZCwwLDApO2Z1bmN0aW9uIEQoeCx5LHIsZyxiKXtibz0oRih5KSp3K0YoeCkpKjQ7aURbYm9dPXI7aURbYm8rMV09ZztpRFtibysyXT1iO307aj0xOTA7d2hpbGUoai0tKXtUcj17eDp3LzIseTpoLzIscjpGKFIoKSpuKSxnOkYoUigpKm4pLGI6RihSKCkqbiksYTpqKnAxLEE6MCxzOjAuNSsoUigpKjMpLHA6MH07aWYoajw1KXt3aXRoKFRyKXtwPTE7cz0yKyhSKCkqNCl9O3QyLnB1c2goVHIpfXRyLnB1c2goVHIpfTtmdW5jdGlvbiB6KGMpe3JldHVybigoYysoUigpKjMyKSklbil9ZnVuY3Rpb24gTChYLFkseCx5KXt2YXIgZHg9WC14LGR5PVkteTtyZXR1cm4gTXMoZHgqZHgrZHkqZHkpfWZ1bmN0aW9uIFooWCxZLG8scHMpe2xsPUwoWCxZLG8ueCxvLnkpKjM7aWYobGw8ZGkpe3BzKj0xLShsbC9kaSk7by54PVgqcHMrby54KigxLXBzKTtvLnk9WSpwcytvLnkqKDEtcHMpO319O2Z1bmN0aW9uIHB0KCl7Zm9yKGogaW4gdHIpe3dpdGgodHJbal0pe0QoeCx5LDAsMCwwKTt4Kz1NLnNpbihhKSpzO3krPU0uY29zKGEpKnM7eD0oeCt3KSV3O3k9KHkraCklaDtyPXoocik7Zz16KGcpO2I9eihiKTtpZihSKCk+MC45OSl7Uyo9LTE7QT1SKCkqcDEqMypTO31hKz1BO2lmKCFwKXtaKFgsWSx0cltqXSxoaCo5KTtmb3IoRyBpbiB0Mil7d2l0aCh0MltHXSl7Wih4LHksdHJbal0saGgpO319fTtpZighcClEKHgseSxyLGcsYik7fX1jW1BdKGlkLDAsMCk7fXNldEludGVydmFsKHB0LDUwKTs=
Original source not submitted