for(_='se qy=z;break;caq~1,OOvz0~N{x:LL3,y:Kif(J=>{`a.__width^^/H"#G&&Fx,E],Dc.fillZZText(Y0)}elqXp.W);V+=33*(vUfor(n.length-n[F(n[0].040*y%6*6.6,),ZStyle=",c.beginPath([Gfff"z36;y--;)etItem("hx=0,vvz2,pts6.6*(y/6>>,OO		1	OlocalStorage.Math.random()*0),40>>var ZRect(_height/as=[O2,0OO0	0Dss=[0	OO0O3	31Dp=L1y:10},n=[K3},K2}D=Oh=g")||r=1;setInterval(e`J^=^,c.textAlign="centerc.font="5em Arialr){x+=vEy+=vy,x<Hx>Hy<zy>zn.map((e,t)`a=t-1Dl=t-2];Jt<1)y%5?G080":Gff0_x+_y+8,8Velq{#080"red"black"][ss[y]];i=0)*(-vy||1VJvx){v=x;i*-vEi=v,xUx>XiUy>0V_x+E_y+i,8,8)}a!=n[0]F_=xF_z=y>hFs),r=t<1_l.E_zl.y)}Vt=20;t--;)redG0a0"][as[t]DWx+t%4*1Wy+8*(t/4>>18V=WxFz=WyWHWzn.push(L1].x-vEy:1].y-vy}),++G000Y+" / "+h,H2,10XY"☠️H2,2)},15d.onkeydown=(e`switch(e.keyCode){caq37:v-N38:-1~39:vN40:1}}V';G=/[-U-ZD-H^-`J-LNO~zq]/.exec(_);)with(_.split(G))_=join(shift());eval(_)
          //Before minifying and RegPacking
var as = [0, 0, 0, 2, 0, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0];
var ss = [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1];
var p = {x: 10, y: 10};
var n = [{x: 3, y: 3}, {x: 3, y: 2}];
var pts = 0;
var vx = 0;
var vy = 1;
var h = localStorage.getItem("h") || 0;
var r = 1;
setInterval(e => {
  a.width = a.width;
  
  c.textAlign = "center";
  c.font = "5em Arial";
  if (r) {
    n[0].x += vx;
    n[0].y += vy;
    if (n[0].x < 0)
      n[0].x = a.width / 40 >> 0;
    if (n[0].x > a.width / 40 >> 0)
      n[0].x = 0;
    if (n[0].y < 0)
      n[0].y = a.height / 40 >> 0;
    if (n[0].y > a.height / 40 >> 0)
      n[0].y = 0;
    n.map((_,i) => {
      var s = n[n.length - i - 1];
      var s2 = n[n.length - i - 2];
      if (i < n.length - 1) {
        for (var x = 36; x--;) {
          c.beginPath();
          c.fillStyle = x % 5 ? "#080" : "#ff0";
          c.fillRect(s.x * 40 + x % 6 * 6.6, s.y * 40 + (x / 6 >> 0) * 6.6, 8, 8);
        }
      }
      else {
        for (var x = 36; x--;) {
          c.beginPath();
          c.fillStyle = ["#fff", "#080", "red", "black"][ss[x]];
          var _x = (x % 6) * 6.6;
          var _y = (x / 6 >> 0) * 6.6 * (-vy || 1);
          if (vx) {
            var tmp = _x;
            _x = _y * -vx;
            _y = tmp;
            _x += (vx > 0) * 33;
          }
          else {
            _y += (vy > 0) * 33;
          }
          c.fillRect(s.x * 40 + _x, s.y * 40 + _y, 8, 8);
        }
      }
      if (s != n[0] && s.x == n[0].x && s.y == n[0].y) {
        if (pts > h) {
          localStorage.setItem("h", pts);
        }
        r = 0;
      }
      if(i < n.length - 1) {
        s.x = s2.x;
        s.y = s2.y;
      }
    });
    for (var i = 20; i--;) {
      c.beginPath();
      c.fillStyle = ["#fff", "red", "#0a0"][as[i]];
      c.fillRect(p.x * 40 + (i % 4) * 10, p.y * 40 + (i / 4 >> 0) * 8, 10, 8);
    }
    if (n[0].x == p.x && n[0].y == p.y) {
      p.x = Math.random() * a.width / 40 >> 0;
      p.y = Math.random() * a.height / 40 >> 0;
      n.push({x: n[n.length - 1].x - vx,
              y: n[n.length - 1].y - vy});
      pts++;
    }
    c.fillStyle = "#000";
    c.fillText(pts + " / " + h, a.width / 2, 100);
  }
  else
    c.fillText("☠️", a.width / 2, a.height / 2);
}, 150);
d.onkeydown = e => {
  switch (e.keyCode) {
    case 37:
      vx = -1;
      vy = 0;
      break;
    case 38:
      vx = 0;
      vy = -1;
      break;
    case 39:
      vx = 1;
      vy = 0;
      break;
    case 40:
      vx = 0;
      vy = 1;
      break;
  }
}