-
Notifications
You must be signed in to change notification settings - Fork 453
/
RetroHaunt.html
130 lines (130 loc) · 48.7 KB
/
RetroHaunt.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE html>
<html>
<head>
<title>Retrohaunt</title>
<meta charset="utf-8" />
<script>'use strict';function da(){this.I=function(a){for(var c=0;24>c;c++)this[String.fromCharCode(97+c)]=a[c]||0;.01>this.c&&(this.c=.01);a=this.b+this.c+this.e;.18>a&&(a=.18/a,this.b*=a,this.c*=a,this.e*=a)}}
var ea=new function(){this.A=new da;var a,c,b,d,k,f,l,r,g,h,n,w;this.reset=function(){var p=this.A;d=100/(p.f*p.f+.001);k=100/(p.g*p.g+.001);f=1-p.h*p.h*p.h*.01;l=-p.i*p.i*p.i*1E-6;p.a||(n=.5-p.n/2,w=5E-5*-p.o);r=1+p.l*p.l*(0<p.l?-.9:10);g=0;h=1==p.m?0:(1-p.m)*(1-p.m)*2E4+32};this.L=function(){this.reset();var p=this.A;a=p.b*p.b*1E5;c=p.c*p.c*1E5;b=p.e*p.e*1E5+12;return 3*((a+c+b)/3|0)};this.K=function(p,u){var e=this.A,I=1!=e.s||e.v,E=e.v*e.v*.1,F=1+3E-4*e.w,B=e.s*e.s*e.s*.1,N=1+1E-4*e.t,la=1!=e.s,
T=e.x*e.x,aa=e.g,za=e.q||e.r,Wa=e.r*e.r*e.r*.2,Aa=e.q*e.q*(0>e.q?-1020:1020),Ba=e.p?((1-e.p)*(1-e.p)*2E4|0)+32:0,Xa=e.d,Ca=e.j/2,Ya=e.k*e.k*.01,ma=e.a,na=a,Za=1/a,$a=1/c,ab=1/b;e=5/(1+e.u*e.u*20)*(.01+B);.8<e&&(e=.8);e=1-e;for(var oa=!1,Da=0,U=0,V=0,Ea=0,ba=0,W,X=0,y,J=0,K,pa=0,t,Fa=0,O,Ga=0,ca=Array(1024),Y=Array(32),C=ca.length;C--;)ca[C]=0;for(C=Y.length;C--;)Y[C]=2*Math.random()-1;for(C=0;C<u;C++){if(oa)return C;Ba&&++Fa>=Ba&&(Fa=0,this.reset());h&&++g>=h&&(h=0,d*=r);f+=l;d*=f;d>k&&(d=k,0<aa&&
(oa=!0));y=d;0<Ca&&(Ga+=Ya,y*=1+Math.sin(Ga)*Ca);y|=0;8>y&&(y=8);ma||(n+=w,0>n?n=0:.5<n&&(n=.5));if(++U>na)switch(U=0,++Da){case 1:na=c;break;case 2:na=b}switch(Da){case 0:V=U*Za;break;case 1:V=1+2*(1-U*$a)*Xa;break;case 2:V=1-U*ab;break;case 3:V=0,oa=!0}za&&(Aa+=Wa,K=Aa|0,0>K?K=-K:1023<K&&(K=1023));I&&F&&(E*=F,1E-5>E?E=1E-5:.1<E&&(E=.1));O=0;for(var bb=8;bb--;){J++;if(J>=y&&(J%=y,3==ma))for(W=Y.length;W--;)Y[W]=2*Math.random()-1;switch(ma){case 0:t=J/y<n?.5:-.5;break;case 1:t=1-J/y*2;break;case 2:t=
J/y;t=6.28318531*(.5<t?t-1:t);t=1.27323954*t+.405284735*t*t*(0>t?1:-1);t=.225*((0>t?-1:1)*t*t-t)+t;break;case 3:t=Y[Math.abs(32*J/y|0)]}I&&(W=X,B*=N,0>B?B=0:.1<B&&(B=.1),la?(ba+=(t-X)*B,ba*=e):(X=t,ba=0),X+=ba,Ea+=X-W,t=Ea*=1-E);za&&(ca[pa%1024]=t,t+=ca[(pa-K+1024)%1024],pa++);O+=t}O*=.125*V*T;p[C]=1<=O?32767:-1>=O?-32768:32767*O|0}return u}};
window.jsfxr=function(a){ea.A.I(a);var c=ea.L();a=new Uint8Array(4*((c+1)/2|0)+44);c=2*ea.K(new Uint16Array(a.buffer,44),c);var b=new Uint32Array(a.buffer,0,44);b[0]=1179011410;b[1]=c+36;b[2]=1163280727;b[3]=544501094;b[4]=16;b[5]=65537;b[6]=44100;b[7]=88200;b[8]=1048578;b[9]=1635017060;b[10]=c;c+=44;b=0;for(var d="data:audio/wav;base64,";b<c;b+=3){var k=a[b]<<16|a[b+1]<<8|a[b+2];d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k>>18]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k>>
12&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k>>6&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k&63]}return d};
const fa=a=>{const c=new Map,b=[];let d=0;a.G.map((u,e)=>{const I=a.F[e];let E=0;for(let F=0;F<u.length;F+=4){E+=u[F]/a.rate;const B=u[F+2]+256*e;let N=c.get(B);if(void 0===N){I[5]=.1*Math.sqrt(55E4*Math.pow(2,(u[F+2]-69)/12)/a.D-.1);const la=jsfxr(I);N={next:0,H:Array(a.C).fill(null).map(()=>{const T=new Audio;d++;let aa=!1;T.addEventListener("canplaythrough",()=>{aa||(aa=!0,d--)});T.src=la;return T})};c.set(B,N)}b.push({time:E,B:N,volume:u[F+3]/255})}});b.sort((u,e)=>u.time-e.time);let k,f,l,r,
g=!0,h,n=1;const w=()=>{f=k=0;l=new Date;r=!1;g&&(g=!1,p())},p=()=>{var u=0===d;if(r)g=!0;else{var e=new Date,I=Math.min((e-l)/1E3,.1);l=e;if(u)for(k+=I;k>=b[f].time;)if(u=b[f++],e=u.B.H[u.B.next],u.B.next=(u.B.next+1)%a.C,0<n&&(void 0===document.hidden||!document.hidden)&&(e.volume=u.volume*n,e.play()),f===b.length)if(h)w();else{g=!0;return}setTimeout(p,1)}};return{play:(u=!1)=>{h=u;w()},stop:()=>{r=!0},J:u=>{n=u}}};let ha=!1;
const m=(a,c,b)=>{const d=jsfxr(a),k=Array(c).fill(null).map(()=>{const l=new Audio;l.src=d;return l});let f=0;return()=>{if(!ha){var l=k[f];f=(f+1)%c;l.volume=b;l.paused?l.play():l.currentTime=0}}},ia=[fa({rate:5,D:44100,C:5,F:[null,null,[0,.1,.1,null,.3,.6,null,-.1,null,null,null,null,null,null,null,null,null,null,1,null,null,null,null,.5],null,null,[0,.1,.1,null,.8,.6,null,-.1,null,null,null,null,null,null,null,null,null,null,1,null,null,null,null,.2],null,null,null,null,null,null,null,null,null,
null,null],G:[[],[],[2,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,1,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,2,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,1,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,2,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,1,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,2,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,1,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,2,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,1,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,2,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,1,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,
2,1,55,51,0,1,43,51,1,1,62,51,0,1,55,51,1,1,67,51,0,1,62,51,1,1,62,51,0,1,55,51,2,1,74,51,0,1,65,51,1,1,71,51,0,1,62,51,1,1,55,51,0,1,43,51,1,1,62,51,0,1,55,51,2,1,67,51,0,1,62,51,1,1,62,51,0,1,55,51,1,1,74,51,0,1,65,51,1,1,71,51,0,1,62,51,2,1,55,51,0,1,43,51,1,1,62,51,0,1,55,51,1,1,67,51,0,1,62,51,1,1,62,51,0,1,55,51,2,1,74,51,0,1,65,51,1,1,71,51,0,1,62,51,1,1,55,51,0,1,43,51,1,1,62,51,0,1,55,51,2,1,67,51,0,1,62,51,1,1,62,51,0,1,55,51,1,1,74,51,0,1,65,51,1,1,71,51,0,1,62,51,2,1,48,51,0,1,55,51,1,
1,55,51,0,1,63,51,1,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,2,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,1,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,2,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,1,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,2,1,48,51,0,1,56,51,1,1,63,51,0,1,56,51,1,1,63,51,0,1,72,51,1,1,56,51,0,1,63,51,2,1,75,51,0,1,68,51,1,1,72,51,0,1,63,51,1,1,48,51,0,1,56,51,1,1,63,51,0,1,56,51,2,1,63,51,0,1,72,51,1,1,56,51,0,1,63,51,1,1,75,51,0,1,68,51,1,1,72,51,0,1,63,51,2,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,1,1,
63,51,0,1,72,51,1,1,67,51,0,1,55,51,2,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,1,1,48,51,0,1,55,51,1,1,55,51,0,1,63,51,2,1,63,51,0,1,72,51,1,1,67,51,0,1,55,51,1,1,67,51,0,1,75,51,1,1,72,51,0,1,63,51,2,1,43,51,0,1,55,51,1,1,50,51,0,1,59,51,1,1,55,51,0,1,65,51,1,1,62,51,0,1,43,51,2,1,74,51,0,1,65,51,1,1,71,51,0,1,55,51,1,1,43,51,0,1,55,51,1,1,50,51,0,1,59,51,2,1,55,51,0,1,65,51,1,1,62,51,0,1,43,51,1,1,74,51,0,1,65,51,1,1,71,51,0,1,55,51,2,1,43,51,0,1,55,51,1,1,50,51,0,1,59,51,1,1,55,51,0,1,65,51,1,1,62,
51,0,1,43,51,2,1,74,51,0,1,65,51,1,1,71,51,0,1,55,51,1,1,55,51,0,1,74,51,0,1,79,51,1,1,50,51,0,1,59,51,0,1,74,51,2,1,55,51,0,1,65,51,1,1,62,51,0,1,43,51,1,1,74,51,0,1,65,51,1,1,71,51,0,1,55,51],[],[],[2,7,48,101,0,7,60,85,0,7,72,70,0,7,36,117,12,3,55,101,0,3,43,101,3,7,48,101,0,7,60,85,0,7,72,70,15,7,43,101,0,7,55,85,0,7,67,70,0,7,31,79,30,7,48,101,0,7,60,85,0,7,72,70,0,7,36,117,15,7,48,101,0,7,60,85,0,7,72,70,0,7,36,117,15,7,48,101,0,7,60,85,0,7,72,70,0,7,36,117,15,7,43,101,3,4,55,95,4,7,67,85,4,
4,79,79,4,7,91,71,7,7,103,63],[],[],[],[],[],[],[],[],[],[]]}),fa({rate:256,D:44100,C:5,F:[[0,null,.1,null,.3,.6,null,-.3,null,null,null,null,null,null,null,null,null,null,1,null,null,null,null,.5],null,[0,null,.1,null,.3,.6,null,-.1,null,null,null,null,null,null,null,null,null,null,1,null,null,null,null,.4],null,null,null,null,null,null,null,null,null,null,null,null,null,null],G:[[1536,319,69,161,320,63,64,161,64,255,68,161,256,63,69,161,64,63,68,161,64,319,67,161,320,63,62,161,64,191,66,161,192,
47,64,161,48,47,66,161,48,47,67,161,48,47,68,161,48,255,69,161,256,63,69,161,64,63,64,161,64,255,68,161,256,63,69,161,64,63,68,161,64,255,67,161,256,63,67,161,64,63,62,161,64,191,66,161,192,47,64,161,48,47,66,161,48,47,67,161,48,47,68,161,48,255,69,161,256,63,69,161,64,63,64,161,64,255,68,161,256,63,69,161,64,63,68,161,64,255,67,161,256,63,67,161,64,63,62,161,64,47,64,161],[],[0,47,57,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,72,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,57,161,48,47,
63,161,48,47,64,161,48,47,63,161,48,47,71,161,48,47,63,161,48,47,64,161,48,47,63,161,48,47,57,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,70,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,57,161,48,47,66,161,48,47,67,161,48,47,69,161,48,47,64,161,48,47,65,161,48,47,67,161,48,47,65,161,48,47,57,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,72,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,57,161,48,47,63,161,48,47,64,161,48,47,63,161,48,47,71,161,48,47,63,161,48,47,64,161,48,47,63,161,
48,47,57,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,70,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,57,161,48,47,66,161,48,47,67,161,48,47,69,161,48,47,64,161,48,47,65,161,48,47,67,161,48,47,65,161,48,47,57,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,72,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,57,161,48,47,63,161,48,47,64,161,48,47,63,161,48,47,71,161,48,47,63,161,48,47,64,161,48,47,63,161,48,47,57,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,70,161,48,47,62,161,48,47,64,
161,48,47,62,161,48,47,57,161,48,47,66,161,48,47,67,161,48,47,69,161,48,47,64,161,48,47,65,161,48,47,67,161,48,47,65,161,48,47,57,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,72,161,48,47,64,161,48,47,65,161,48,47,64,161,48,47,57,161,48,47,63,161,48,47,64,161,48,47,63,161,48,47,71,161,48,47,63,161,48,47,64,161,48,47,63,161,48,47,57,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,70,161,48,47,62,161,48,47,64,161,48,47,62,161,48,47,57,161],[],[],[],[],[],[],[],[],[],[],[],[],[]]})];
let q=null,ja=!1,ka=.5;
const ra=(a,c=null)=>{ka=c||ka;q===a&&ja||(null!==q&&qa(),q=a,a.J(ka),ha||(a.play(!0),ja=!0))},qa=(a=!0)=>{null!==q&&(q.stop(),q=a?null:q,ja=!1)},sa=[()=>ra(ia[0],.7),()=>ra(ia[1],.4),()=>qa(),m([3,.47,.23,,.69,.53,,-.18,-.04,,,,,,,,,,1,,,,,.29],1,.75),m([0,.49,.33,,.36,.16,,.1,,,,,,,,,,,1,,,,,.3],1,.75),m([3,,.09,,.3,.74,,-.5,,,,,,,,,,,1,,,.22,,.3],1,.75),m([3,,.2,.6,.06,.1,,.13,,,,,,,,,,,1,,,,,.29],1,.75),m([3,,.23,,.17,.4,,-.4,,,,,,,,,,,1,,,,,.29],1,.75),m([0,,.03,,.3,.2,,.2,,,,,,.44,,,,,1,,,,
,.29],1,.75),m([3,1.5,.31,,.89,.5,,-.12,,,,,,,,,,,1,,,,,.29],1,.75),m([3,,.2,.5,.34,.13,,.2,,,,,,,,,,,1,,,,,.29],1,.75),m([3,,.11,,.2,.42,,-.32,.1,,,,,,,,,,1,,,,,.29],1,.75),m([2,.29,.51,.43,.67,.35,,-.14,,.33,.4,,,.4,,,,,1,,,,,.29],3,.75),m([2,,.11,,.47,.6,,-.44,,,,,,,,,,,1,,,.09,,.29],3,.75),m([3,.9,.23,,.69,.53,,,-.04,,,,,,,,,,1,,,,,.5],1,.2),m([3,,.24,.13,.78,.1,,-.2217,,,,,,,,.7,.27,-.15,1,,,,,.29],1,.2)],v=[64,7,128,128,128,130,130,0,1,161,0,13,124,111,126,110,130,110,132,111,134,114,132,114,
132,121,135,126,128,124,120,126,123,121,123,114,122,114,0,128,112,128,138,138,1,1,160,0,13,125,123,120,123,125,121,126,118,128,119,130,118,131,121,136,123,131,123,130,128,129,130,127,130,126,128,1,9,4,3,128,3,132,2,125,0,128,132,113,128,138,138,1,1,160,0,8,125,129,128,126,129,128,130,132,133,133,135,132,134,136,128,134,1,9,4,2,128,4,138,2,118,0,128,130,122,128,138,138,1,1,160,0,9,126,127,128,126,130,127,131,135,130,136,132,138,126,138,127,136,126,136,1,9,4,2,128,4,118,2,138,0,128,125,122,128,138,
138,1,1,160,0,9,126,127,128,126,130,127,130,135,129,136,131,138,125,138,126,136,125,136,1,9,4,2,128,4,138,2,118,0,128,124,113,136,138,138,1,1,160,0,8,126,128,128,126,129,128,130,132,133,133,135,132,134,136,128,135,1,9,4,2,136,4,125,2,145,0,136,128,128,128,131,131,1,3,0,0,2,128,128,128,132,0,0,0,0,0,0,0,0,0,0,0,15,128,128,128,181,181,6,7,0,0,2,128,128,128,132,0,128,128,128,176,177,6,0,0,0,2,128,128,128,132,0,128,128,128,163,163,6,7,0,0,2,128,128,128,132,0,128,128,128,137,137,3,0,0,0,2,128,128,128,
132,0,128,128,128,148,148,6,7,0,0,2,128,128,128,132,0,128,128,128,138,138,0,0,128,0,4,136,125,136,131,119,131,119,125,1,2,2,11,131,0,131,122,115,120,138,138,6,0,0,0,5,123,125,133,128,141,137,136,138,124,130,0,150,128,128,138,138,0,0,0,0,4,124,124,147,124,147,132,124,132,0,132,140,124,138,138,6,0,0,0,5,120,123,132,126,134,130,122,130,117,125,0,129,152,128,138,138,0,0,0,0,4,123,122,131,122,131,128,123,128,0,118,118,119,130,144,0,7,0,0,4,124,124,132,124,132,132,124,132,0,133,134,155,130,144,6,7,0,0,
4,124,124,132,124,132,128,125,128,0,123,123,119,130,144,6,7,0,0,4,124,124,132,124,132,128,125,128,0,128,114,128,130,144,6,7,0,0,4,124,124,132,124,132,128,125,128,0,137,138,119,130,144,0,7,0,0,4,124,124,132,124,132,132,124,132,0,15,128,128,128,138,138,0,0,0,0,25,124,104,132,104,132,107,136,107,136,109,135,110,135,113,136,114,136,149,120,149,120,146,111,146,111,152,105,152,105,146,104,145,104,141,105,140,120,140,120,114,121,113,121,110,120,109,120,107,124,107,0,125,113,128,138,138,0,0,13,1,4,124,126,
138,126,138,132,124,132,0,145,108,128,138,138,0,7,32,1,8,128,126,130,126,132,124,140,124,142,126,144,126,144,128,128,128,2,7,2,2,145,0,120,8,3,2,108,68,108,0,140,122,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,3,158,37,158,0,98,128,137,128,138,138,3,7,32,0,8,128,126,144,126,144,128,142,128,141,130,131,130,130,128,128,128,0,123,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,10,158,37,158,0,98,125,158,128,138,138,0,7,96,1,5,127,124,129,124,130,
126,128,132,126,126,1,8,3,29,158,37,158,0,98,128,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,15,158,37,158,0,98,130,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,3,158,37,158,0,98,132,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,18,158,37,158,0,98,134,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,6,158,37,157,0,98,127,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,
3,45,158,37,158,0,98,129,158,128,138,138,0,7,96,1,5,127,124,129,124,130,126,128,132,126,126,1,8,3,37,158,37,158,0,98,140,109,128,138,138,0,2,0,0,4,124,122,150,122,150,139,124,139,0,92,156,128,138,138,0,2,54,1,4,124,124,132,124,132,132,124,132,1,13,4,2,127,3,127,2,138,0,127,12,128,128,128,138,138,0,8,0,0,8,105,104,111,104,111,107,169,107,169,149,87,149,87,107,105,107,0,116,117,128,138,138,0,8,13,6,4,124,124,132,124,132,156,124,156,0,128,128,128,138,138,0,7,0,0,19,114,144,127,146,144,144,157,145,169,
146,169,111,156,112,142,113,131,111,117,115,113,113,112,107,170,107,170,149,86,149,86,107,104,107,103,114,103,141,0,132,118,128,138,138,6,7,160,6,11,131,126,135,130,139,127,142,130,146,127,148,130,152,127,146,141,136,146,123,143,130,130,1,9,4,8,128,2,135,10,128,0,128,132,118,128,138,118,6,7,183,6,11,130,126,131,130,135,126,139,129,142,126,146,129,148,126,152,129,146,142,137,145,124,144,2,9,4,8,128,2,121,10,128,0,128,13,5,9,127,2,127,3,138,6,127,0,127,81,138,128,138,138,0,7,177,6,5,128,102,136,118,
128,133,68,133,68,102,2,0,5,7,129,3,118,2,183,8,125,0,128,13,3,2,127,8,127,0,138,143,140,128,138,138,0,7,224,6,5,125,126,127,116,127,128,130,162,125,162,1,1,3,5,48,4,208,0,48,161,115,128,138,138,0,7,96,6,5,127,128,124,97,131,97,129,134,127,141,1,1,5,15,148,26,134,55,127,14,128,0,108,129,115,128,138,138,0,7,224,6,5,126,128,126,97,131,97,129,127,129,141,1,1,4,4,128,2,183,4,73,0,128,127,103,128,138,138,0,8,0,0,4,124,107,168,107,168,132,124,132,0,124,153,128,138,138,0,8,0,0,4,124,124,168,124,168,132,
124,132,0,92,156,128,138,138,0,2,18,0,4,124,124,132,124,132,132,124,132,1,13,3,4,129,6,129,0,127,0,0,0,0,0,11,91,108,128,138,138,0,8,0,0,4,124,124,206,124,206,172,124,172,0,90,128,128,138,138,0,0,0,0,10,124,124,130,124,130,126,128,126,128,129,131,129,131,132,129,132,129,134,124,134,0,140,148,128,138,138,0,3,0,0,44,123,123,126,117,134,115,139,119,143,124,148,126,151,125,154,121,151,106,150,96,142,89,131,91,124,97,114,94,103,93,96,95,91,96,86,100,80,104,75,104,75,84,157,84,157,132,75,132,75,112,78,
112,83,119,86,123,92,125,98,127,104,125,107,119,121,107,132,103,136,99,142,99,143,103,132,110,125,109,117,113,110,119,108,126,108,129,124,129,0,113,128,128,138,138,0,3,0,0,10,124,124,127,121,133,121,138,123,138,126,131,132,127,138,120,137,116,134,115,130,0,159,140,128,138,138,0,7,198,0,6,127,125,129,125,131,127,130,129,126,129,125,127,3,10,5,10,138,2,138,2,135,1,145,0,138,11,5,10,138,2,138,2,144,1,136,0,138,12,5,10,138,2,129,1,123,2,157,0,138,128,128,128,131,132,5,2,0,0,8,125,125,127,127,129,125,
130,127,133,124,130,128,129,126,127,128,0,119,117,128,138,138,0,7,198,0,6,127,125,129,125,131,127,130,129,126,129,125,127,3,10,5,10,138,2,138,2,135,1,145,0,138,11,5,10,138,2,138,2,144,1,136,0,138,12,5,10,138,2,129,1,123,2,157,0,138,101,141,128,138,138,0,7,198,0,6,127,125,129,125,131,127,130,129,126,129,125,127,3,10,5,10,138,2,138,2,135,1,145,0,138,11,5,10,138,2,138,2,144,1,136,0,138,12,5,10,138,2,129,1,123,2,157,0,138,128,128,128,131,132,7,2,0,0,8,125,125,127,127,129,125,130,127,133,124,130,128,129,
126,127,128,0,128,128,128,131,132,8,2,0,0,8,125,125,127,127,129,125,130,127,133,124,130,128,129,126,127,128,0,92,156,128,138,138,0,2,152,0,4,124,124,132,124,132,132,124,132,1,13,4,12,127,1,127,2,138,0,127,5,128,128,128,138,138,0,8,0,0,4,169,104,169,152,87,152,87,104,0,127,159,128,138,138,0,7,217,0,14,86,124,95,122,102,122,109,122,116,123,123,122,130,121,138,122,148,123,156,122,162,121,172,124,172,172,86,172,2,8,3,70,159,10,118,0,159,13,5,10,127,2,127,2,138,66,127,0,127,126,111,128,138,138,0,7,64,
0,6,122,124,130,123,137,124,137,126,130,128,122,126,0,152,138,128,138,138,0,0,0,0,2,124,124,124,132,2,7,11,80,152,20,153,60,109,10,109,70,138,10,138,15,162,5,162,50,148,10,148,0,132,8,10,80,138,20,138,60,128,10,128,70,136,10,136,70,124,10,124,60,133,0,112,113,109,128,138,138,0,3,0,0,28,103,124,136,124,136,130,133,130,131,132,129,130,113,130,111,132,109,130,105,130,105,168,180,168,180,162,181,162,181,154,180,154,180,130,176,130,174,132,172,130,156,130,154,132,152,130,149,130,149,124,183,124,183,170,
103,170,0,7,128,128,128,138,138,0,8,0,0,8,90,107,166,107,166,124,169,124,169,132,166,132,166,149,90,149,0,128,128,128,138,138,0,7,0,0,37,85,146,94,147,104,145,108,127,117,118,111,128,107,145,120,147,132,135,141,122,147,120,141,126,127,145,145,144,153,142,161,135,166,132,166,149,84,149,84,107,166,107,166,124,159,124,151,130,144,135,154,125,159,114,149,111,135,113,123,128,117,139,120,128,128,112,118,110,106,111,98,109,85,111,0,129,140,128,138,138,5,7,128,0,11,131,126,135,130,139,127,142,130,145,127,
147,130,151,127,147,140,139,146,125,142,130,130,1,9,4,8,128,2,135,10,128,0,128,129,140,128,138,117,5,7,151,0,10,130,130,135,126,139,129,142,126,145,129,147,126,151,129,147,140,139,146,125,142,2,9,4,8,128,2,121,10,128,0,128,13,5,9,127,2,127,1,138,8,127,0,127,62,117,128,138,138,0,7,128,0,5,66,124,130,124,133,139,128,154,66,154,1,0,5,6,128,4,119,2,183,8,125,0,128,77,144,125,138,138,0,7,198,0,9,51,136,81,136,101,140,120,136,138,139,118,138,100,142,80,138,65,138,2,12,2,10,138,0,138,9,3,10,125,10,131,0,
125,76,109,131,138,138,0,7,198,0,9,43,116,81,115,101,119,120,115,138,118,118,117,100,121,80,117,65,117,2,12,2,10,138,0,138,9,3,10,131,10,125,0,131,0,0,0,0,0,0,13,128,128,128,138,138,0,0,0,0,22,87,137,95,137,95,107,156,107,156,134,114,134,114,137,159,137,159,126,161,124,169,124,169,132,166,132,166,149,106,149,106,122,148,122,148,119,103,119,103,143,101,145,87,145,0,116,122,128,138,138,0,7,128,0,4,128,128,130,128,130,140,128,140,1,7,3,20,116,20,145,0,115,116,107,128,138,138,0,7,128,0,4,128,128,130,
128,130,140,128,140,1,7,3,20,116,20,145,0,116,145,137,128,138,138,0,7,128,0,4,128,128,130,128,130,140,128,140,1,7,3,20,145,20,115,0,145,145,122,128,138,138,0,7,128,0,4,128,128,130,128,130,140,128,140,1,7,3,20,145,20,115,0,145,128,128,128,138,138,2,0,128,0,4,128,128,130,128,130,133,128,133,1,8,3,10,128,10,135,0,128,115,137,128,138,138,0,7,128,0,4,128,128,130,128,130,140,128,140,1,7,3,20,115,20,145,0,115,145,107,128,138,138,0,7,128,0,4,128,128,130,128,130,140,128,140,1,7,3,20,145,20,114,0,145,128,128,
128,138,138,3,0,128,0,4,128,128,130,128,130,133,128,133,1,8,3,10,128,10,135,0,128,128,135,128,138,138,8,0,128,0,4,128,128,130,128,130,133,128,133,1,8,3,10,135,10,128,0,135,128,135,128,138,138,5,0,128,0,4,128,128,130,128,130,133,128,133,1,8,3,10,135,10,128,0,135,128,135,128,138,138,7,0,128,0,4,128,128,130,128,130,133,128,133,1,8,3,10,135,10,128,0,135,128,128,128,138,138,4,0,128,0,4,128,128,130,128,130,133,128,133,1,8,3,10,128,10,135,0,128,9,128,128,128,138,138,0,0,0,0,6,90,124,166,124,169,124,169,
132,166,132,90,132,0,129,113,128,138,138,0,0,0,0,5,122,120,168,119,168,134,129,134,122,122,0,157,107,128,138,138,0,2,160,7,16,117,128,121,125,120,120,125,121,128,117,131,121,136,120,135,125,139,128,135,131,136,136,131,135,128,139,125,135,120,136,121,131,1,2,2,10,138,0,138,138,107,133,138,138,0,2,160,7,16,117,128,121,125,120,120,125,121,128,117,131,121,136,120,135,125,139,128,135,131,136,136,131,135,128,139,125,135,120,136,121,131,1,2,2,10,118,0,118,156,128,128,138,138,0,2,32,7,4,127,122,132,122,132,
134,127,134,1,1,2,20,128,0,140,143,128,128,138,138,0,0,11,7,4,125,124,131,124,131,132,125,132,0,142,124,128,138,138,0,1,0,0,4,132,131,132,133,126,133,126,131,0,143,127,119,133,138,0,1,54,7,4,127,124,129,124,129,129,127,129,2,2,2,8,143,0,143,13,4,2,127,2,127,2,138,0,127,93,156,128,138,138,0,2,18,0,4,124,124,132,124,132,132,124,132,1,13,2,5,129,0,129,0,11,128,127,128,138,138,0,0,0,0,12,90,133,107,128,126,126,144,128,158,130,169,130,169,138,157,137,142,134,125,132,108,134,90,140,0,93,105,128,138,138,
0,7,0,0,17,122,127,204,127,198,138,193,129,187,143,180,131,175,137,170,129,164,139,160,130,152,141,145,130,141,140,136,128,130,140,128,132,122,141,0,159,145,128,138,138,0,2,128,0,4,121,121,135,121,135,132,121,132,1,9,4,10,128,10,129,10,127,0,128,128,125,128,138,138,3,1,0,0,7,128,126,130,128,129,128,129,130,127,130,127,128,126,128,0,133,129,146,138,138,3,1,0,0,7,128,126,130,128,129,128,129,130,127,130,127,128,126,128,0,123,129,110,138,138,3,1,0,0,7,128,126,130,128,129,128,129,130,127,130,127,128,126,
128,0,128,130,164,138,138,3,1,0,0,7,128,126,130,128,129,128,129,130,127,130,127,128,126,128,0,165,133,146,138,138,0,1,0,0,7,128,126,130,128,129,128,129,130,127,130,127,128,126,128,0,92,148,110,136,135,0,1,0,0,8,128,126,133,126,130,128,133,130,128,130,130,129,129,128,130,127,0,96,148,110,134,133,0,1,0,0,6,129,126,133,126,133,128,136,131,127,131,129,128,0,92,156,128,138,138,0,2,158,0,4,124,124,132,124,132,132,124,132,1,13,5,20,127,3,127,3,138,44,127,0,127,14,124,150,128,138,138,0,7,128,0,41,125,104,
127,102,130,102,132,104,139,108,138,110,144,112,146,111,148,103,147,100,148,96,148,100,150,96,150,99,152,97,150,102,147,113,145,116,143,114,135,113,132,115,128,116,124,116,118,114,121,112,119,106,118,104,120,103,123,98,122,97,124,92,123,96,127,92,125,95,129,94,126,96,123,102,123,104,122,105,122,109,124,109,2,11,3,56,138,2,138,0,128,0,4,3,131,2,125,1,130,0,126,131,114,128,137,153,1,7,0,0,9,127,129,132,128,134,129,130,131,130,132,128,132,127,131,122,130,123,129,0,132,132,128,138,138,2,7,0,0,4,125,129,
127,129,128,130,126,130,0,190,128,128,138,138,0,0,26,0,9,121,120,135,118,139,120,145,123,154,124,151,129,149,135,110,129,112,125,4,7,4,30,190,12,191,12,146,0,130,8,6,29,128,21,120,3,109,3,101,1,100,0,146,9,3,57,128,1,128,0,126,13,4,56,127,2,127,2,138,0,127,141,116,133,138,138,4,0,0,0,10,121,126,120,93,138,89,145,126,145,130,141,129,133,132,125,132,121,131,118,130,0,128,150,128,128,128,0,7,0,0,4,87,82,169,82,169,130,87,130,2,10,3,57,128,1,128,0,138,11,3,57,128,2,128,0,138,113,94,126,147,148,6,3,64,
0,6,124,124,132,124,129,126,129,132,127,132,127,126,0,127,95,129,144,148,6,3,64,0,12,124,124,126,124,127,127,130,127,130,124,132,123,133,132,131,132,130,129,127,130,127,132,124,132,0,148,95,130,148,152,6,3,64,0,9,124,124,129,124,126,126,129,128,126,129,126,130,130,131,129,132,124,132,0,115,116,127,146,151,6,3,64,0,9,124,124,129,124,126,126,129,128,126,129,126,130,130,131,129,132,124,132,0,130,116,128,150,153,6,3,64,0,8,124,124,128,129,128,124,130,125,130,131,126,129,126,132,124,132,0,146,117,129,
150,151,6,3,64,0,6,124,124,128,124,130,127,130,130,129,132,124,132,0,127,130,128,138,138,12,7,0,0,4,127,124,128,124,129,128,127,128,0,92,156,128,138,138,0,2,18,0,4,124,124,132,124,132,132,124,132,1,13,2,10,129,0,129,54,128,128,128,138,138,0,0,128,0,4,124,124,132,124,132,132,124,132,1,2,4,29,133,11,130,15,123,0,133,128,128,128,138,138,0,8,0,0,4,90,107,166,107,166,149,90,149,0,128,128,128,138,138,0,0,192,0,10,128,107,129,113,130,115,129,116,130,126,128,128,126,126,127,116,126,115,127,113,1,2,2,10,228,
0,228,128,128,146,138,138,0,0,192,0,10,128,112,129,116,130,118,129,119,130,125,128,128,126,125,127,119,126,118,127,116,1,2,2,10,141,0,141,132,123,128,138,138,3,8,0,0,4,124,121,125,130,124,131,123,130,0,132,123,128,138,138,4,8,0,0,4,124,124,125,130,124,131,123,130,0,128,128,128,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,137,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,146,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,155,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,
92,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,101,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,110,138,138,0,0,64,0,3,127,107,129,107,128,112,0,136,120,124,118,138,21,7,128,0,6,117,125,119,127,129,126,128,129,119,129,117,131,1,9,3,10,124,10,138,0,123,128,128,118,138,138,0,0,64,0,3,127,107,129,107,128,112,0,128,128,128,138,138,0,4,192,0,8,106,124,110,123,114,124,115,128,114,132,110,133,106,132,105,128,1,2,2,10,138,0,139,128,125,128,128,128,0,1,138,0,2,128,128,128,131,2,10,6,160,128,
1,128,19,255,1,255,29,128,0,128,11,6,160,128,1,128,19,255,1,255,29,128,0,128,118,120,132,138,138,21,7,128,0,6,117,125,119,127,129,126,128,129,119,129,117,131,1,9,3,10,132,5,118,0,133,126,129,128,138,138,18,8,0,0,3,121,127,129,126,129,127,0,127,129,128,138,138,14,8,0,0,3,121,127,129,126,129,127,0,127,128,126,131,131,0,7,192,0,15,113,117,120,114,122,109,124,105,128,103,132,105,134,110,135,114,142,117,135,125,130,119,128,120,126,120,124,119,119,125,4,9,3,10,126,10,132,0,126,7,3,10,127,10,129,0,127,3,
2,10,129,0,129,4,2,10,129,0,129,128,110,128,138,138,21,8,0,0,7,125,125,128,124,131,125,132,132,129,134,126,134,123,132,0,117,128,139,138,138,18,7,128,0,14,115,125,117,127,126,127,128,125,128,131,126,129,117,129,116,130,111,132,115,129,114,127,110,125,114,126,112,122,1,9,3,10,139,10,130,0,139,124,129,128,138,138,23,8,0,0,3,121,127,131,126,130,127,0,128,128,128,138,138,22,7,128,0,3,125,126,127,129,125,128,1,9,3,10,128,10,132,0,128,128,128,128,118,138,22,7,128,0,3,125,126,127,129,125,128,1,9,3,10,128,
10,124,0,128,128,128,128,138,138,21,7,0,0,12,124,120,126,121,128,121,130,120,133,124,132,127,129,125,128,129,127,129,126,125,122,127,121,124,0,128,130,130,138,138,27,7,128,0,6,124,127,127,128,128,128,131,127,128,130,127,130,1,9,3,10,130,10,127,0,130,128,131,131,138,138,28,7,128,0,6,125,127,127,128,128,128,130,127,128,130,127,130,1,9,3,10,131,10,125,0,131,128,131,131,138,138,29,7,128,0,6,126,127,127,128,128,128,129,127,128,130,127,130,1,9,3,10,131,10,125,0,131,117,128,139,138,138,14,7,128,0,14,115,
125,117,127,126,127,128,125,128,131,126,129,117,129,116,130,111,132,115,129,114,127,110,125,114,126,112,122,1,9,3,10,139,5,126,0,139,124,129,128,138,138,31,8,0,0,3,121,127,131,126,130,127,0,128,124,128,129,129,27,7,0,0,2,128,128,128,130,2,10,4,130,129,1,129,29,255,0,255,11,4,130,129,1,129,29,255,0,255,128,128,128,133,158,1,7,0,0,2,128,152,128,155,1,11,3,20,158,40,158,0,128,128,128,121,133,158,1,7,0,0,2,128,152,128,155,1,11,3,25,158,40,158,0,128,128,128,115,133,158,1,7,0,0,2,128,152,128,155,1,11,3,
20,158,40,158,0,128,128,128,100,133,158,1,7,0,0,2,128,152,128,155,1,11,3,20,158,40,158,0,128,128,128,163,133,158,1,7,0,0,2,128,152,128,155,1,11,3,25,158,40,158,0,128,128,128,154,133,158,1,7,0,0,2,128,152,128,155,1,11,3,20,158,40,158,0,128,128,128,140,133,158,1,7,0,0,2,128,152,128,155,1,11,3,20,158,40,158,0,128,128,128,125,133,158,1,7,0,0,2,128,152,128,155,1,11,3,5,158,40,158,0,128,128,128,95,133,158,1,7,0,0,2,128,152,128,155,1,11,3,5,158,40,158,0,128,128,128,149,133,158,1,7,0,0,2,128,152,128,155,
1,11,3,5,158,40,158,0,128,128,128,111,133,158,1,7,0,0,2,128,152,128,155,1,11,3,5,158,40,158,0,128,128,128,136,133,158,1,7,0,0,2,128,152,128,155,1,11,3,0,158,40,158,0,128,92,103,128,138,138,0,2,0,0,4,124,130,204,130,204,132,124,132,0,92,147,128,138,138,0,2,0,0,4,124,130,204,130,204,132,124,132,0,92,145,128,138,138,0,2,0,0,4,124,90,126,90,126,132,124,132,0,170,145,128,138,138,0,2,0,0,4,124,90,126,90,126,132,124,132,0,86,128,128,138,138,0,7,8,0,6,124,124,130,124,132,127,132,129,130,132,124,132,1,12,
2,10,134,0,134,136,128,128,138,128,50,7,211,0,8,123,127,136,127,187,127,205,126,205,129,192,128,154,128,123,129,2,11,5,10,128,2,128,7,136,1,136,0,128,13,6,10,127,2,127,4,132,1,132,3,127,0,127,128,103,146,138,138,0,7,7,0,6,124,124,130,124,132,127,132,129,130,132,124,132,1,12,2,10,134,0,134,128,128,128,138,128,52,7,192,0,8,123,127,136,127,187,127,205,126,205,129,192,128,154,128,123,129,1,11,5,10,128,2,128,7,136,1,136,0,128,92,156,128,138,138,0,2,17,0,4,124,124,132,124,132,132,124,132,1,13,2,10,129,
0,129,4,92,109,128,138,138,0,7,0,0,4,123,123,205,123,205,171,123,171,0,128,128,128,138,138,0,0,64,0,8,121,127,122,115,134,115,135,127,132,127,132,153,124,153,124,127,0,128,121,128,138,138,0,1,74,0,4,124,124,132,124,132,132,124,132,0,128,122,128,138,138,0,3,64,0,10,123,122,133,122,133,132,131,132,131,126,130,124,126,124,125,126,125,132,123,132,0,13,128,128,128,138,138,0,0,0,0,7,150,147,132,147,132,149,124,149,124,147,90,147,90,108,0,90,104,128,138,138,0,7,0,0,13,125,128,207,128,207,176,180,176,180,
171,174,163,165,160,153,165,143,162,134,164,128,164,128,160,125,160,0,128,109,128,138,138,0,0,64,0,4,124,121,132,121,132,136,123,133,0,102,138,128,130,138,0,0,223,0,4,132,131,132,125,124,125,124,131,2,10,5,10,130,4,130,15,143,16,130,0,130,13,5,10,127,2,127,2,138,31,127,0,127,103,134,131,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,12,130,4,130,15,143,14,130,0,130,105,132,138,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,14,130,4,130,15,143,12,130,0,130,109,129,138,130,138,
0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,16,130,4,130,15,143,10,130,0,130,112,127,142,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,18,130,4,130,15,143,8,130,0,130,117,125,142,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,20,130,4,130,15,143,6,130,0,130,120,123,138,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,22,130,4,130,15,143,4,130,0,130,123,120,135,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,5,24,130,4,130,15,143,2,130,0,130,126,116,
133,130,138,0,0,192,0,4,132,131,132,125,124,125,124,131,1,10,4,26,130,4,130,15,143,0,130,92,156,128,138,138,0,2,18,0,4,124,124,132,124,132,132,124,132,1,13,2,10,129,0,129,19,128,128,128,138,138,0,0,0,0,24,124,104,132,104,132,108,148,125,169,125,169,131,153,131,151,133,148,133,132,148,132,152,124,152,124,148,108,133,104,133,102,131,87,131,87,125,108,125,109,120,104,117,107,112,112,115,124,108,0,128,128,128,181,181,0,0,0,0,2,128,128,128,132,0,128,128,128,141,141,0,7,0,0,2,128,128,128,132,0,124,105,
148,138,138,0,3,0,0,4,128,128,132,128,132,131,128,130,1,9,2,25,148,0,128,129,124,128,138,138,0,0,0,0,7,124,127,127,126,130,127,130,133,128,135,126,135,124,133,0,132,105,108,118,138,0,3,0,0,4,128,128,132,128,132,131,128,130,1,9,2,25,108,0,128,128,128,128,130,133,0,1,0,0,4,124,89,132,89,132,97,124,97,0,128,128,137,130,133,0,7,0,0,4,124,89,132,89,132,97,124,97,0,128,128,146,130,133,0,1,0,0,4,124,89,132,89,132,97,124,97,0,128,128,155,130,133,0,7,0,0,4,124,89,132,89,132,97,124,97,0,128,128,92,130,133,
0,1,0,0,4,124,89,132,89,132,97,124,97,0,128,128,101,130,133,0,7,0,0,4,124,89,132,89,132,97,124,97,0,128,128,110,130,133,0,1,0,0,4,124,89,132,89,132,97,124,97,0,128,128,119,130,133,0,7,0,0,4,124,89,132,89,132,97,124,97,0,128,128,128,138,138,0,7,187,7,15,126,112,127,111,128,107,129,111,130,112,129,114,129,122,132,125,132,126,129,124,127,124,124,126,124,125,127,122,127,114,2,2,6,5,128,3,128,3,120,2,180,2,120,0,128,13,6,9,127,1,127,3,138,0,127,2,127,0,127,128,128,128,138,138,0,7,187,8,15,126,117,127,
115,128,112,129,115,130,117,129,118,129,122,132,125,132,126,129,124,127,124,124,126,124,125,127,122,127,118,1,2,6,110,128,3,128,3,120,2,180,2,120,0,128,153,137,128,138,138,0,2,32,8,4,124,123,129,123,129,132,124,132,1,1,2,10,128,0,113,107,137,128,138,138,0,2,32,7,4,123,123,128,123,128,132,123,132,1,1,2,10,128,0,113,128,128,128,138,138,0,4,0,0,2,128,128,128,134,0,8,128,128,128,138,138,0,0,0,0,20,124,104,132,104,132,107,150,115,143,124,169,124,169,132,143,132,150,141,132,146,132,149,124,149,124,146,
106,141,113,132,87,132,87,124,113,124,106,115,124,107,0,128,134,128,138,138,0,2,0,0,12,125,123,125,121,119,113,119,111,137,111,137,113,131,121,131,123,137,130,137,132,119,132,119,130,0,126,132,128,138,118,0,4,64,0,8,123,124,137,124,131,131,131,133,137,141,123,141,129,133,129,131,0,105,132,128,138,138,0,2,32,7,4,120,124,139,124,132,133,120,133,2,1,2,20,128,0,132,0,2,20,128,0,125,105,124,128,138,118,0,2,32,7,4,120,124,139,124,132,133,120,133,2,1,2,20,128,0,124,0,2,20,128,0,125,151,132,128,118,138,0,
2,32,8,4,120,124,139,124,132,133,120,133,2,1,2,20,128,0,132,0,2,20,128,0,131,151,124,128,118,118,0,2,32,8,4,120,124,139,124,132,133,120,133,2,1,2,20,128,0,124,0,2,20,128,0,131,92,156,128,138,138,0,2,16,0,4,124,124,132,124,132,132,124,132,1,13,2,10,129,0,129,24,128,128,128,138,138,0,0,0,0,6,125,145,126,138,131,138,132,145,132,149,124,149,0,130,137,128,138,138,0,1,10,0,4,124,122,129,122,129,129,124,129,0,91,108,128,138,138,0,7,0,0,25,124,124,206,124,206,150,204,146,201,151,197,145,193,158,193,144,195,
144,189,137,183,137,179,140,175,136,162,136,159,140,155,137,147,137,141,144,143,144,143,157,138,147,136,153,130,145,128,150,124,144,0,102,116,130,132,133,0,8,64,0,6,114,115,128,117,127,122,137,128,125,126,124,132,0,108,115,130,132,133,0,8,64,0,9,116,117,127,115,120,119,122,122,132,121,125,125,126,128,137,128,124,132,0,114,115,131,132,133,0,8,64,0,5,112,117,128,112,124,116,128,130,119,118,0,126,112,132,132,133,0,8,64,0,6,120,124,124,118,133,119,138,128,132,134,124,132,0,127,127,132,130,132,7,7,64,
0,4,111,115,144,117,154,130,123,129,0,133,115,133,132,133,0,8,64,0,8,114,115,121,122,124,121,124,114,133,128,126,123,124,125,124,132,0,138,115,133,132,133,0,8,64,0,5,120,114,124,113,135,129,126,123,124,132,0,124,122,132,127,131,10,7,64,0,3,111,115,144,117,116,124,0,145,115,134,133,134,0,8,64,0,7,116,117,125,126,128,125,125,115,132,126,128,131,123,129,0,151,116,135,133,134,0,8,64,0,6,116,117,126,123,124,114,132,127,121,122,123,130,0,120,120,132,139,146,4,7,64,0,3,126,127,132,126,131,129,0,120,115,
132,132,133,0,8,64,0,6,114,115,128,117,127,122,137,128,125,126,124,132,0,120,120,132,139,146,15,7,64,0,3,126,127,132,126,131,129,0,157,117,135,132,133,0,8,64,0,5,112,117,128,112,124,116,128,130,119,118,0,149,128,128,138,138,0,7,0,0,4,126,124,131,124,130,129,127,129,0,128,130,128,138,138,18,2,0,0,8,128,124,129,121,129,124,132,125,129,125,128,128,128,125,126,125,0,113,127,128,138,138,0,7,0,0,4,126,124,131,124,130,129,127,129,0,92,129,128,138,138,18,2,0,0,8,128,124,129,121,129,124,132,125,129,125,128,
128,128,125,126,125,0,103,99,128,138,138,0,8,19,0,9,112,133,154,133,156,140,155,146,151,155,143,158,125,159,114,158,112,151,2,0,3,10,128,60,128,0,93,13,4,22,127,2,127,6,142,0,127,151,99,128,117,138,0,8,0,0,9,112,133,154,133,156,140,155,146,150,150,135,158,125,159,114,158,112,151,1,0,3,10,128,60,128,0,163,132,135,128,138,138,0,2,20,0,4,121,124,128,124,128,132,121,132,2,10,3,60,138,19,138,0,128,13,4,60,127,3,127,4,138,0,127,2,128,128,128,138,138,0,0,0,0,21,133,104,134,111,142,117,153,122,156,126,156,
131,152,136,136,144,119,146,101,141,87,135,87,127,102,134,119,138,136,136,145,132,148,129,147,126,139,124,128,115,123,104,0,92,156,128,138,138,0,2,158,0,4,124,124,132,124,132,132,124,132,1,13,5,20,127,4,127,3,138,43,127,0,127,0,0,0,0,4,128,128,128,138,138,0,0,0,0,12,87,124,90,124,90,105,166,105,166,124,169,124,169,132,166,132,166,151,90,151,90,132,87,132,0,92,130,128,138,138,0,5,64,0,28,124,121,132,123,145,131,157,135,166,136,170,131,160,126,153,118,154,112,163,109,179,110,193,119,202,123,204,124,
204,129,194,127,181,117,167,114,160,117,164,121,176,127,178,133,174,138,168,143,155,142,141,137,130,131,124,130,0,97,106,128,138,138,0,7,64,0,12,118,106,200,106,200,133,190,131,180,132,172,132,158,130,151,132,140,132,129,133,124,132,118,130,1,1,3,1,128,10,148,0,148,159,152,92,138,138,0,7,64,0,13,118,107,200,107,200,134,190,132,180,134,173,134,166,132,159,134,153,135,146,135,140,133,129,134,118,131,1,1,3,1,128,10,108,0,108,12,128,128,128,138,138,0,0,0,0,4,87,124,166,124,166,132,87,132,0,102,128,128,
138,138,0,2,32,8,4,122,122,127,122,127,134,122,134,1,1,2,20,128,0,140,111,128,128,138,138,0,0,11,8,4,126,124,132,124,132,132,126,132,0,111,131,128,138,138,0,1,0,0,4,126,124,132,124,132,126,126,126,0,112,127,120,133,138,0,1,54,8,4,127,125,129,125,129,129,127,129,2,2,2,8,143,0,143,13,4,1,127,2,127,2,138,0,127,91,108,128,138,138,0,0,0,0,5,124,124,167,124,167,133,163,141,124,141,0,123,118,128,138,138,0,2,160,8,4,123,124,129,124,129,131,123,131,1,8,3,5,118,5,109,0,118,124,108,128,138,138,0,2,0,0,4,124,
124,126,124,126,141,124,141,0,112,108,128,138,138,0,2,0,0,4,124,124,126,124,126,141,124,141,0,100,108,128,138,138,0,2,0,0,4,124,124,126,124,126,141,124,141,0,111,109,128,138,138,0,2,160,8,4,123,124,129,124,129,131,123,131,1,8,3,5,109,5,118,0,109,99,118,128,138,138,0,2,160,8,4,123,124,129,124,129,131,123,131,1,8,3,5,118,5,109,0,118,0,0,0,0,0,9,136,153,128,138,138,0,3,0,0,4,79,79,161,79,161,127,79,127,0,128,128,128,138,138,0,7,0,0,10,105,135,105,121,117,107,166,107,166,122,169,122,169,134,166,134,166,
149,117,149,0,130,124,128,138,138,0,8,0,0,8,126,117,128,111,138,111,135,120,131,123,128,133,124,132,127,122,0,128,128,128,138,138,0,3,128,0,8,127,120,129,120,130,127,130,129,129,130,127,130,126,129,126,127,1,2,2,10,133,0,133,128,120,104,138,138,4,3,128,0,8,127,120,129,120,130,127,130,129,129,130,127,130,126,129,126,127,1,2,2,10,133,0,133,128,120,108,138,138,5,3,128,0,8,127,120,129,120,130,127,130,129,129,130,127,130,126,129,126,127,1,2,2,10,133,0,133,128,148,128,138,138,0,0,0,0,4,124,124,132,124,
132,132,124,132,0,165,128,128,138,138,0,0,0,0,12,116,124,121,124,121,123,125,123,125,124,132,124,132,132,125,132,125,133,121,133,121,132,116,132,0,128,122,128,138,138,6,0,0,0,4,124,124,132,124,132,132,124,132,0,8,128,128,128,138,138,0,8,13,1,4,87,104,169,104,169,152,87,152,0,107,141,128,141,141,0,0,6,2,2,128,128,128,132,1,12,2,10,133,0,133,94,126,128,138,138,0,0,0,0,4,124,126,130,126,130,134,124,134,0,111,118,128,138,138,0,3,0,0,22,104,113,186,113,186,162,183,159,183,125,174,117,149,117,149,114,141,
114,141,129,149,138,138,146,124,132,113,132,113,134,107,134,107,142,109,142,109,159,183,159,186,162,104,162,0,157,140,128,138,138,0,7,38,1,11,123,125,124,123,126,122,130,122,132,123,133,125,133,134,130,132,128,134,126,132,123,134,1,12,2,4,128,0,158,127,131,128,130,129,5,2,60,1,8,124,124,127,127,130,124,131,127,134,124,131,129,129,127,127,129,3,11,3,2,129,2,129,0,138,10,3,2,130,2,130,0,138,13,4,1,127,2,127,2,138,0,127,128,124,128,118,128,5,2,32,1,3,125,128,127,131,124,129,1,11,3,2,128,1,128,0,138,
128,124,128,138,128,5,2,32,1,3,125,128,127,131,124,130,1,11,3,2,128,1,128,0,138,20,128,128,128,138,138,0,0,0,0,12,166,124,169,124,169,132,166,132,166,149,90,149,90,132,87,132,87,124,90,124,90,107,166,107,0,150,119,128,138,138,0,0,13,6,4,124,125,132,125,132,149,124,149,0,127,141,128,138,138,0,3,0,0,4,91,128,167,128,167,132,91,132,0,127,111,128,138,138,0,3,0,0,4,91,128,167,128,167,132,91,132,0,95,109,92,138,138,0,7,36,6,4,124,127,132,127,132,129,124,129,1,12,3,10,140,4,130,0,140,95,147,128,138,138,
0,7,36,4,4,124,127,132,127,132,129,124,129,1,12,3,10,138,2,130,0,138,104,147,128,138,138,0,7,36,3,4,124,127,132,127,132,129,124,129,1,12,3,10,143,3,132,0,143,104,109,92,138,138,0,7,36,5,4,124,127,132,127,132,129,124,129,1,12,3,10,141,2,131,0,141,128,125,128,133,133,7,7,189,3,2,128,128,128,132,2,1,5,1,128,30,90,2,166,23,90,0,167,13,8,1,127,1,127,2,138,28,127,1,127,2,138,21,127,0,127,94,124,128,138,138,0,2,32,3,4,124,124,128,124,128,132,124,132,1,1,2,10,128,0,117,94,132,128,138,138,0,2,32,3,4,124,124,
128,124,128,132,124,132,1,1,2,10,128,0,139,166,118,128,138,138,0,2,32,6,4,124,124,128,124,128,132,124,132,1,1,2,10,129,0,139,166,138,128,138,138,0,2,32,6,4,124,124,128,124,128,132,124,132,1,1,2,10,128,0,117,96,160,128,138,138,0,0,46,3,2,124,124,124,132,1,12,3,50,127,10,127,0,138,104,160,128,138,138,0,0,46,4,2,124,124,124,132,1,12,3,50,127,10,127,0,138,112,160,128,138,138,0,0,46,5,2,124,124,124,132,1,12,3,50,127,10,127,0,138,120,160,128,138,138,0,0,46,6,2,124,124,124,132,1,12,3,50,127,10,127,0,138,
128,125,128,133,133,6,7,189,4,2,128,128,128,132,2,1,5,1,128,30,90,2,166,23,90,0,167,13,8,1,127,1,127,2,138,28,127,1,127,2,138,21,127,0,127,128,125,164,133,133,8,7,189,5,2,128,128,128,132,2,1,5,1,128,30,90,2,166,23,90,0,167,13,8,1,127,1,127,2,138,28,127,1,127,2,138,21,127,0,127,128,125,164,133,133,5,7,189,6,2,128,128,128,132,2,1,5,1,128,30,90,2,166,23,90,0,167,13,8,1,127,1,127,2,138,28,127,1,127,2,138,21,127,0,127,0,0,0,0,0,5,128,128,128,138,138,0,0,0,0,18,110,108,166,108,166,149,137,149,137,132,132,
132,132,152,124,152,124,124,145,124,145,141,158,141,158,116,118,116,118,132,87,132,87,124,110,124,0,149,145,128,138,138,0,4,64,0,6,124,124,132,124,133,128,132,132,124,132,123,128,0,122,112,128,138,138,0,4,64,0,6,124,124,132,124,133,128,132,132,124,132,123,128,0,81,148,128,138,138,0,7,128,0,4,128,77,132,77,132,132,128,132,1,0,2,10,141,0,141,178,128,128,138,138,4,7,0,0,4,128,77,132,77,132,132,128,132,0,20,128,128,128,182,182,0,3,0,0,2,128,128,128,130,0,128,128,128,138,138,0,0,0,0,4,132,104,132,152,
124,152,124,104,0,128,128,128,179,179,0,0,0,0,2,128,128,128,131,0,128,128,128,179,179,0,6,0,0,2,128,128,128,131,0,128,128,132,138,138,0,7,128,0,2,128,128,128,132,1,2,2,10,153,0,153,128,115,128,135,135,5,7,128,0,2,128,128,128,132,1,2,2,10,148,0,148,128,140,128,135,135,5,7,128,0,2,128,128,128,132,1,2,2,10,148,0,148,141,128,128,135,135,5,7,128,0,2,128,128,128,132,1,2,2,10,108,0,108,115,128,128,135,135,5,7,128,0,2,128,128,128,132,1,2,2,10,108,0,108,120,128,128,133,133,9,7,0,0,2,126,128,126,132,0,136,
128,128,133,133,9,7,0,0,2,130,128,130,132,0,128,136,128,133,133,6,7,0,0,2,128,130,128,134,0,128,120,128,133,133,6,7,0,0,2,128,126,128,130,0,136,128,128,133,133,8,7,0,0,2,130,128,130,132,0,120,128,128,133,133,8,7,0,0,2,126,128,126,132,0,128,120,128,133,133,7,7,0,0,2,128,126,128,130,0,128,136,128,133,133,7,7,0,0,2,128,130,128,134,0,156,139,128,138,138,0,7,128,0,10,124,124,125,128,129,127,133,128,136,125,134,131,131,129,129,131,127,128,124,132,1,2,2,5,132,0,124,128,119,128,138,138,18,7,0,0,3,124,124,
128,129,126,131,0,133,120,128,119,139,18,7,0,0,3,124,124,128,128,126,130,0,21,128,128,128,138,138,0,0,0,0,16,124,104,132,104,132,107,166,107,166,149,103,149,103,134,91,134,90,132,87,132,87,124,90,124,91,122,103,122,103,107,124,107,0,100,122,128,138,138,0,2,32,1,8,128,128,130,128,130,130,131,131,131,137,130,138,130,140,128,140,1,1,2,10,128,0,153,96,122,128,138,138,0,2,32,2,8,128,128,130,128,130,130,131,131,131,137,130,138,130,140,128,140,1,1,2,10,128,0,153,92,122,128,138,138,0,2,32,3,8,128,128,130,
128,130,130,131,131,131,137,130,138,130,140,128,140,1,1,2,10,128,0,153,160,113,128,138,138,0,0,13,1,4,124,124,132,124,132,132,124,132,0,159,111,128,138,138,0,1,0,0,4,127,130,131,130,132,132,126,132,0,160,112,128,138,138,0,1,54,1,4,127,127,129,127,129,129,127,129,2,1,2,3,128,0,138,13,4,1,127,1,127,1,138,0,127,160,143,128,138,138,0,0,13,3,4,124,124,132,124,132,132,124,132,0,159,141,128,138,138,0,1,0,0,4,127,130,131,130,132,132,126,132,0,109,143,128,138,138,0,0,13,2,4,124,124,132,124,132,132,124,132,
0,108,141,128,138,138,0,1,0,0,4,127,130,131,130,132,132,126,132,0,160,142,128,138,138,0,1,54,3,4,127,127,129,127,129,129,127,129,2,1,2,3,128,0,138,13,4,1,127,1,127,1,138,0,127,109,142,128,138,138,0,1,54,2,4,127,127,129,127,129,129,127,129,2,1,2,3,128,0,138,13,4,1,127,1,127,1,138,0,127,147,144,128,138,138,0,7,0,0,12,124,91,135,91,135,119,147,119,147,123,135,123,135,133,124,133,124,123,84,123,84,119,124,119,0,132,135,128,138,138,0,0,0,0,4,128,128,139,128,139,132,128,132,2,7,3,2,132,14,132,0,143,8,3,
17,135,3,135,0,131,107,120,128,138,138,0,7,0,0,6,124,124,136,124,136,115,145,115,145,128,124,128,0,115,116,128,138,138,0,0,44,12,4,124,124,128,124,128,128,124,128,2,7,3,15,115,6,115,0,119,8,4,12,116,10,120,4,120,0,116,107,111,128,138,138,0,4,64,0,8,124,124,131,124,136,124,135,128,135,132,131,132,124,132,124,128,0,129,116,128,138,138,0,0,32,12,4,123,124,128,124,128,128,123,128,1,7,2,8,129,0,124,162,134,128,138,138,0,0,32,1,4,124,124,129,124,129,128,124,128,1,8,2,4,134,0,139,160,121,128,138,138,0,0,
11,12,4,124,124,132,124,132,126,124,126,0,0,0],x=a=>[...Array(a-0)].map((c,b)=>0+b),D=(a,c,b)=>{z.clearRect(0,0,A.width,A.height);A.width=a;A.height=c;x(a).map(d=>x(c).map(k=>{z.fillStyle=b(d,k);z.fillRect(d,k,1,1)}));return z.createPattern(A,"repeat")},ta=a=>{for(;a[7];)a=a[7];return a},ua=a=>a[9]&32&&!(G.has(a[10])||H.has(a[10]));let va,L,wa,M,xa,G=new Set,H=new Set,ya=0,Ha=0,A,z,Ia,Ja;
const Ka=[2,0,2,7,7,7,0,0,0],La=()=>{A=document.querySelector("canvas");z=A.getContext("2d");Ia=["#4b0072","#9800e5","#000",D(2,2,(a,c)=>(a+c)%2?"#cf0d67":"#000"),D(1,2,(a,c)=>c%2?"transparent":"#454a98"),D(1,2,(a,c)=>c%2?"transparent":"#864598"),D(1,2,(a,c)=>c%2?"transparent":"#458a98"),"#cf0d67","#000"];Ja=Ia.map((a,c)=>Ka[c]?D(2,2,(b,d)=>(b+d)%2?a:"transparent"):"transparent")};
(()=>{let a=0;va=[...Array(v[a++])].map(()=>[...Array(v[a++])].map(()=>[].concat([...Array(5)].map(()=>v[a++]-128),0,0,[...Array(4)].map(()=>v[a++]),[[...Array(v[a++])].map(()=>[...Array(2)].map(()=>v[a++]-128))],[[...Array(v[a++])].map(()=>[v[a++],[...Array(v[a++])].map(()=>[v[a++],v[a++]-128])])])))})();
const Ma=a=>{L=a.map(c=>{L=JSON.parse(JSON.stringify(va[c]));L.map(b=>b[7]=b[7]?L[b[7]-1]:null);return L}).flat(1);wa=0;M=.05},Na=a=>{M+=a;a=Math.floor(M/.05)+(0<a);for(xa=Math.abs(M-.05*a)/.05;wa!==a;){const c=2*(wa<a)-1;wa+=c;L.map(b=>{x(7).map((f,l)=>b[13+l]=b[l]);const d=ta(b);if(!ua(b)){var k=b[9]&31;b[6]=2===k?.1*d[0]:3===k?.1*d[1]:b[6]+.05*c;b[12].map(f=>{const l=f[1].reduce((h,n)=>h+.1*n[0],0);let r=b[6+13*(0>c)];b[9]&128&&(r=(r+1E8*l)%l);const g=f[1].length;x(g).map(h=>{if(h!==g-1){var n=
f[1][h];h=f[1][(h+1)%g];if(0<=r&&r<.1*n[0]+1E-10&&0<n[0]){var w=r/n[0]/.1;h=n[1]*(1-w)+h[1]*w;w=f[0];if(6===w%7){if(w=(new Date).getTime(),0<h&&(!f[2]||w>f[2]+1500)&&(f[2]=w,h=k-16,0<=h&&h<sa.length))sa[h]()}else b[w%7]=6<w?h:b[w]+.05*h*c}r-=.1*n[0]}})});14===k&&0<=b[5]&&H.add(b[10]-1)}})}},Oa=a=>{const c=[];for(;a;)c.unshift(a),a=a[7];z.translate(-ya+320,-Ha+184);z.scale(8,8);c.map(b=>{const [d,k,f,l,r]=x(5).map(g=>b[g]*(1-xa)+b[13+g]*xa);z.translate(d,k);z.rotate(5*f*Math.PI/180);z.scale(.1*l,.1*
r)})},Pa=(a,c,b,d)=>{Oa(a);const k=(0<(a[9]&64))/2;z.beginPath();3>a[11].length?(a=a[11][0],z.arc(a[0],a[1],4,0,2*Math.PI)):a[11].map((f,l)=>{var r=f[0];r+=Math.sin(5*(M+r+f[1]))*k;var g=f[1];f=g+Math.sin(5*(M+g+f[0]))*k;l?z.lineTo(r,f):z.moveTo(r,f)});z.closePath();z.setTransform(1,0,0,1,0,0);z.fillStyle=c;z.fill();z.lineWidth=d;z.strokeStyle=b;z.stroke();z.setTransform(1,0,0,1,0,0)},P=new Set;addEventListener("keydown",a=>{P.add(a.keyCode);77===a.keyCode&&((ha=!ha)?qa(!1):ra(q))});
addEventListener("keyup",a=>P.delete(a.keyCode));const Qa=[[4,6,7,9],[5,6,8,9]];let Q,R=1,Ra,Sa,Ta=0,Ua=0,S=3,Z=7,Va=1,cb=0;
const db=a=>{let c=Math.min((a-cb)/1E3,.02);cb=a;c*=0>(Ua-=c);requestAnimationFrame(db);Ta*=.95;ya=.9*ya+(Math.random()-.5)*Ta;Ha=.9*Ha+(Math.random()-.5)*Ta;Na(-.05);Na(c*R+.05);const b=R;R=1;a=0;if(void 0!==Q){L.forEach(g=>x(2).map(h=>{var n=g[9]&31;if(Qa[h].includes(n)&&(0<b||6<n)&&!ua(g)){n=Q[h]-g[h];const w=c*g[5];g[h]+=Math.abs(n)<w?n:w*Math.sign(n)}}));var d=[-(P.has(37)||P.has(65))+(P.has(39)||P.has(68)),-(P.has(38)||P.has(87))+(P.has(40)||P.has(83))].map(g=>18*g*c),k=Math.abs(d[0])+Math.abs(d[1]),
f=0;Q[f]+=d[f];f++;Q[f]+=d[f];Va=Math.sign(d[0])||Va;Q[16]=Q[3]=2*Va;H.add(0);!k&&.05>Q[6]%.4&&H.delete(0);z.clearRect(0,0,A.width,A.height);z.lineJoin="round";L.map((g,h)=>ta(g)!==Q&&Pa(g,`rgb(0,${h+1},0)`,"#f00",2));if(0>Ua)for(d=0;9>d;d++){f=10*Math.cos(d/4*Math.PI)*(8>d);const g=10*Math.sin(d/4*Math.PI)*(8>d);var l=z.getImageData(8*Q[0]+320+f,8*Q[1]+184+g,1,1).data,r=!l[1]&&!l[0];if(l[1]&&!l[0]){l=L[l[1]-1];const h=l[8],n=l[9]&31;if(8===d&&7===h){Ta=10;Ra();sa[5]();Ua=.5;return}2===h||3===h?r=
!0:4===h?(R=-1,a=1):5===h?(R=0,a=2):6===h&&(R=+(0<k),a=3);10===n?Q[1]=-1E3:11===n?G.add(l[10]):12===n?G.delete(l[10]):13===n&&H.add(l[10])}r&&8>d&&(r=Math.sqrt(f**2+g**2),Q[0]-=f/r*c*19.8,Q[1]-=g/r*c*19.8)}k=S;d=Z;S+=-(-38>Q[0])+(38<Q[0]);Z+=-(-21>Q[1])+(21<Q[1]);if(k!==S||d!==Z)eb(k<S?-36:k>S?36:Q[0],d<Z?-19:d>Z?19:Q[1]),ya+=640*(k-S),Ha+=368*(d-Z),Ua=.7}z.fillStyle=Ia[2];z.fillRect(0,0,A.width,A.height);L.map(g=>Pa(g,Ia[g[8]],Ja[g[8]],Ka[g[8]]));z.fillStyle=Sa[a];z.translate(4*M,0);z.fillRect(4*
-M,0,A.width,A.height);z.setTransform(1,0,0,1,0,0);z.strokeStyle="rgba(0, 0, 0, .4)";z.lineWidth=10;z.strokeRect(0,0,A.width,A.height)},fb=()=>{A.width=640;A.height=368;const a=640/368;let c=0,b=(innerHeight-innerWidth/a)/2,d=innerWidth/640;innerWidth/innerHeight>a&&(c=(innerWidth-innerHeight*a)/2,b=0,d=innerHeight/368);A.style.width=`${640*d}px`;A.style.height=`${368*d}px`;A.style.left=`${c}px`;A.style.top=`${b}px`},eb=(a,c)=>{const b=G;Ra=()=>{const d=8*S+Z;0>d||63<d||(G=new Set(b),H.clear(),Ma(32===
d?[d]:[d,0]),Q=L.find(k=>1===(k[9]&31)),void 0!==Q&&(Q[0]=a,Q[1]=c))};Ra()};addEventListener("load",()=>{La();Sa=[0,250,300,200].map(a=>D(100,100,(c,b)=>`hsla(${a}, 100%, ${10*(0<a)}%, ${.1+b%2*.2+.2*Math.random()})`));addEventListener("resize",fb);fb();eb(0,0);db(0)});</script>
<style>
body {
background-color:#000;
overflow:hidden;
}
canvas {
height:100%;
}
canvas, img {
position:absolute;
top:0;
left:0;
}
img {
visibility:hidden;
}
</style>
</head>
<body>
<img src="levels.png" />
<canvas></canvas>
</body>
</html>