f=1E3,l=1/60,m=[],n=Math.random,q=Math.abs;b.style.textAlign="center";c.width=480;c.height=360;function r(){h=["pink","orange","red","cyan"][Math.floor(4*n())],d=2*n()-1,e=35+10*n(),g=-25.5-2.5*n();return{e:h,d:d,a:e,b:g,x:0,y:0,c:0}}function s(h,d,e){g=0.0523*d+0.9986*e;return{x:500*h/(g+f)+245.5,y:500*(0.9986*d-0.0523*e)/(g+f)+185.5}}setInterval(function(){for(h in m){d=m[h];d.x+=d.d*l;d.y+=d.a*l;d.c+=d.b*l;d.a+=40*l;if(-0.2501<=d.y){d.y=-0.25;e=0.975*d.b,g=0.975*d.d,k=-0.6*d.a;q(g)<=0.15+1E-4&&(g=0);q(e)<=0.15+1E-4&&(e=0);2.0001>=q(k)&&(k=0);d.d=g;d.a=k;d.b=e}-47>d.c&&(d.a=0,d.b=-d.b)}for(j in m)if(1E-4>=q(m[j].d*m[j].d+m[j].a*m[j].a+m[j].b*m[j].b)){m.splice(j,1);break}5>m.length&&0.97<n()&&m.push(r());m.sort(function(d,e){return e.c-d.c});a.fillStyle="black";a.fillRect(0,0,480,360);for(t in m){h=m[t];var e=20*h.x,g=20*h.y,k=20*h.c,p=s(e-5,g-5,k);j=p.x;d=p.y;e=(s(e+5,g+5,k).x-p.x)/2;a.fillStyle=h.e;a.beginPath();a.arc(j+e,d+e,e,0,6.28);a.closePath();a.fill()}},1E3*l);
Zj0xRTMsbD0xLzYwLG09W10sbj1NYXRoLnJhbmRvbSxxPU1hdGguYWJzO2Iuc3R5bGUudGV4dEFsaWduPSJjZW50ZXIiO2Mud2lkdGg9NDgwO2MuaGVpZ2h0PTM2MDtmdW5jdGlvbiByKCl7aD1bInBpbmsiLCJvcmFuZ2UiLCJyZWQiLCJjeWFuIl1bTWF0aC5mbG9vcig0Km4oKSldLGQ9MipuKCktMSxlPTM1KzEwKm4oKSxnPS0yNS41LTIuNSpuKCk7cmV0dXJue2U6aCxkOmQsYTplLGI6Zyx4OjAseTowLGM6MH19ZnVuY3Rpb24gcyhoLGQsZSl7Zz0wLjA1MjMqZCswLjk5ODYqZTtyZXR1cm57eDo1MDAqaC8oZytmKSsyNDUuNSx5OjUwMCooMC45OTg2KmQtMC4wNTIzKmUpLyhnK2YpKzE4NS41fX1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2ZvcihoIGluIG0pe2Q9bVtoXTtkLngrPWQuZCpsO2QueSs9ZC5hKmw7ZC5jKz1kLmIqbDtkLmErPTQwKmw7aWYoLTAuMjUwMTw9ZC55KXtkLnk9LTAuMjU7ZT0wLjk3NSpkLmIsZz0wLjk3NSpkLmQsaz0tMC42KmQuYTtxKGcpPD0wLjE1KzFFLTQmJihnPTApO3EoZSk8PTAuMTUrMUUtNCYmKGU9MCk7Mi4wMDAxPj1xKGspJiYoaz0wKTtkLmQ9ZztkLmE9aztkLmI9ZX0tNDc+ZC5jJiYoZC5hPTAsZC5iPS1kLmIpfWZvcihqIGluIG0paWYoMUUtND49cShtW2pdLmQqbVtqXS5kK21bal0uYSptW2pdLmErbVtqXS5iKm1bal0uYikpe20uc3BsaWNlKGosMSk7YnJlYWt9NT5tLmxlbmd0aCYmMC45NzxuKCkmJm0ucHVzaChyKCkpO20uc29ydChmdW5jdGlvbihkLGUpe3JldHVybiBlLmMtZC5jfSk7YS5maWxsU3R5bGU9ImJsYWNrIjthLmZpbGxSZWN0KDAsMCw0ODAsMzYwKTtmb3IodCBpbiBtKXtoPW1bdF07dmFyIGU9MjAqaC54LGc9MjAqaC55LGs9MjAqaC5jLHA9cyhlLTUsZy01LGspO2o9cC54O2Q9cC55O2U9KHMoZSs1LGcrNSxrKS54LXAueCkvMjthLmZpbGxTdHlsZT1oLmU7YS5iZWdpblBhdGgoKTthLmFyYyhqK2UsZCtlLGUsMCw2LjI4KTthLmNsb3NlUGF0aCgpO2EuZmlsbCgpfX0sMUUzKmwpOw==
Original source not submitted