_G.WhitelistedEvents = json.decode("{}")

return(function(al,EQ,dQ,nQ,RQ,KQ,FQ,vQ,XQ,gQ,rQ,pQ,hQ,QQ,AQ,yQ,lQ,jQ,TQ,xl,uQ,tQ,CQ,JQ,kQ,IQ,oQ,BQ,GQ,fQ,yl,DQ,LQ,aQ,zQ,Sl,iQ,UQ,qQ,OQ,eQ,WQ,cQ,VQ,NQ,PQ,wl,HQ,bQ,mQ,ZQ,SQ,MQ,YQ,sQ,...)local y=aQ;local S=yQ;local l,T,i=SQ,mQ[vQ],0;local w,x,a=KQ,kQ,(MQ);local m=(XQ);local v,K,k=gQ,PQ[nQ],WQ;local M,X,g,P=PQ[eQ],PQ[YQ],PQ[lQ],TQ;local E,r=EQ,(EQ);local n,W,e,Y=mQ[rQ],JQ,LQ,(DQ);repeat if not(i<=0)then do if i==1 then do r=qQ;end;break;break;break;break;else do i=1;end;end;end;else E=PQ[vQ];i=2;end;until(VQ);local J=({});local L,D,q,V,B=EQ,EQ,EQ,EQ,(EQ);do for dD=0,4 do do if not(dD<=1)then do if dD<=2 then else if dD~=3 then else V=BQ;end;end;end;else do if dD~=0 then else L=1;end;end;end;end;end;end;local j,C,A,d=EQ,EQ,EQ,(EQ);goto s;::t::;do C=function()local jU,wU,tU=1,EQ,(EQ);do while(jQ)do if not(jU<=0)then if jU~=1 then L=tU;jU=0;else wU,tU=E(CQ,V,L);jU=2;end;else return wU;end;end;end;end;end;goto I;::c::;do j=function()local Od=(EQ);goto hd;::Zd::;do return Od;end;goto nd;::hd::;Od=k(V,L,L);goto Yd;::Yd::;L=L+1;goto Zd;::nd::;end;end;goto t;::I::;do A=2147483648;end;goto wQ;::wQ::;do d=4294967296;end;goto xQ;::s::;V=g(K(V,5),AQ,function(PO)if k(PO,2)==72 then B=a(K(PO,1,1));return dQ;else local u3=(M(a(PO,16)));do if not(B)then return u3;else local pC=X(u3,B);B=EQ;return pC;end;end;end;end);goto c;::xQ::;local o=d-1;local N=(2^52);local b,u,O,f,z,F=function(UA,SA,BA)return BA>>SA&~(~0<<UA);end,EQ,EQ,EQ,EQ,EQ;do for Gb=0,4 do if Gb<=1 then if Gb==0 then u=function()local yH=(1);local zH,mH=EQ,EQ;while(jQ)do do if not(yH<=0)then if yH~=1 then do L=mH;end;yH=0;else zH,mH=E(NQ,V,L);yH=2;end;else return zH;end;end;end;end;else O=function()local ao,go=E(oQ,V,L);local jo=(1);repeat do if jo~=0 then L=go;do jo=0;end;else return ao;end;end;until(VQ);end;end;else if Gb<=2 then f=function(ZI,cI)return cI~ZI;end;else if Gb~=3 then F=function(pU)local JU=C();local ZU=(dQ);do for eJ=0,2 do if eJ<=0 then for UL=1,JU,7997 do local YL,VL=EQ,(EQ);local bL=(0);while(jQ)do if not(bL<=1)then do if bL~=2 then if not(YL>JU)then else do YL=JU;end;end;bL=1;else do for PX=1,#VL do do(VL)[PX]=f(D,VL[PX]);end;D=(pU*D+113)%bQ;end;end;break;break;break;end;end;else if bL~=0 then VL={k(V,L+UL-1,L+YL-1)};bL=2;else YL=UL+7997-1;bL=3;end;end;end;ZU=ZU..M(T(VL));end;else if eJ~=1 then do return ZU;end;else L=L+JU;end;end;end;end;end;else z=function(D8)local e8,c8=EQ,EQ;local p8=(1);do while p8<=1 do if p8~=0 then e8={k(V,L,L+3)};p8=0;else c8=f(q,e8[1]);p8=2;end;end;end;local O8=(f(q,e8[2]));local E8=(f(q,e8[3]));local k8=(f(q,e8[4]));goto o8;::x8::;do L=L+4;end;goto F8;::o8::;do q=(29*q+D8)%bQ;end;goto x8;::F8::;do return k8*16777216+E8*65536+O8*256+c8;end;goto S8;::S8::;end;end;end;end;end;end;local U,h=EQ,EQ;for Pq=0,4 do if not(Pq<=1)then do if not(Pq<=2)then if Pq~=3 then h=function(...)return x(uQ,...),{...};end;else for fZ=1,j()do local TZ={};do U[fZ-1]=TZ;end;for EF=1,j()do local mF,XF=EQ,EQ;local cF=(1);while(jQ)do if not(cF<=0)then do if cF~=1 then(TZ)[XF]=b(4,0,mF);break;break;else mF=j();cF=0;end;end;else XF=(EF-1)*2;cF=2;end;end;TZ[XF+1]=b(4,4,mF);end;end;end;else U={};end;end;else if Pq==0 then D=j();else q=j();end;end;end;i=2;local G,Q,Z=EQ,EQ,EQ;while(jQ)do if not(i<=0)then do if i~=1 then do G={};end;i=1;else Q=1;i=0;end;end;else Z={};break;break;break;do break;end;break;end;end;i=3;local p,H,R=EQ,EQ,EQ;repeat if not(i<=1)then if i<=2 then function H()local ZZ=(2);local EZ,QZ,wZ=EQ,EQ,EQ;do repeat if not(ZZ<=1)then if ZZ~=2 then wZ={};ZZ=4;else ZZ=0;end;else if ZZ~=0 then QZ={};ZZ=3;else do EZ={{},{},EQ,EQ,EQ,{},EQ,EQ,EQ};end;ZZ=1;end;end;until ZZ>3;end;local dZ=(EQ);for M8=0,1 do if M8~=0 then(EZ)[14]=j();else dZ=1;end;end;do for j2=0,2 do if not(j2<=0)then do if j2~=1 then(EZ)[5]=j();else EZ[10]=j();end;end;else do EZ[12]=C();end;end;end;end;EZ[10]=C();local IZ,GZ,rZ=EQ,EQ,(EQ);goto KZ;::oZ::;(EZ)[7]=b(1,2,rZ)~=0;goto WZ;::WZ::;do(EZ)[8]=j();end;goto NZ;::KZ::;IZ=C()-133774;goto vZ;::TZ::;for Up=1,IZ do local gp={EQ,EQ,EQ,EQ,EQ,EQ,EQ,EQ,EQ,EQ};local Xp=(z(GZ));local Sp=(7);while Sp<=15 do do if not(Sp<=7)then if not(Sp<=11)then if not(Sp<=13)then if Sp~=14 then(gp)[10]=j();Sp=8;else gp[17]=b(25,19,Xp);do Sp=15;end;end;else if Sp~=12 then(gp)[7]=b(9,14,Xp);Sp=6;else(gp)[9]=b(18,14,Xp);Sp=10;end;end;else do if not(Sp<=9)then if Sp~=10 then(gp)[5]=b(8,6,Xp);Sp=6;else do gp[14]=b(10,25,Xp);end;do Sp=15;end;end;else if Sp==8 then do(gp)[17]=b(25,19,Xp);end;Sp=5;else do gp[10]=j();end;Sp=7;end;end;end;end;else if Sp<=3 then do if not(Sp<=1)then if Sp~=2 then(gp)[5]=b(8,6,Xp);Sp=15;else do(gp)[17]=b(25,19,Xp);end;Sp=9;end;else if Sp~=0 then gp[4]=b(9,23,Xp);Sp=12;else(gp)[4]=b(9,23,Xp);Sp=16;end;end;end;else if Sp<=5 then if Sp~=4 then(gp)[9]=b(18,14,Xp);do Sp=11;end;else gp[4]=b(9,23,Xp);Sp=16;end;else if Sp~=6 then gp[7]=b(9,14,Xp);Sp=10;else(gp)[17]=b(25,22,Xp);do Sp=0;end;end;end;end;end;end;end;do(EZ[2])[Up]=gp;end;end;goto PZ;::vZ::;GZ=j();goto TZ;::PZ::;rZ=j();goto uZ;::uZ::;(EZ)[4]=b(1,1,rZ)~=0;goto oZ;::NZ::;do EZ[12]=C();end;local yZ=C();for ZS=1,yZ do local HS,XS,OS=EQ,EQ,(EQ);do for qY=0,3 do do if not(qY<=1)then if qY~=2 then for yi=HS,XS do(EZ[1])[yi]=OS;end;else OS=C();end;else if qY~=0 then XS=C();else HS=C();end;end;end;end;end;end;do ZZ=2;end;local hZ,nZ,CZ=EQ,EQ,EQ;do repeat if not(ZZ<=1)then if not(ZZ<=2)then do if ZZ~=3 then hZ=C()-133752;do ZZ=3;end;else do nZ=j();end;do ZZ=1;end;end;end;else EZ[9]=j();ZZ=4;end;else do if ZZ~=0 then CZ=j()~=0;ZZ=0;else for OL=1,hZ do local gL=1;local oL,ML=EQ,EQ;repeat if gL==0 then do ML=j();end;gL=2;else do gL=0;end;end;until gL>=2;gL=1;do while(jQ)do do if not(gL<=1)then if gL~=2 then if ML==71 then oL=u();elseif ML==102 then oL=VQ;elseif ML==73 then do oL=O()+C();end;elseif ML==99 then oL=jQ;elseif ML==177 then oL=K(F(nZ),j());elseif ML==86 then do oL=O();end;elseif ML==Sl then do oL=O();end;elseif ML==172 then oL=K(F(nZ),17);elseif ML==136 then oL=K(F(nZ),6);elseif ML~=141 then else oL=O();end;do gL=3;end;else do if ML==71 then oL=u();elseif ML==102 then oL=VQ;elseif ML==73 then oL=O()+C();elseif ML==99 then oL=jQ;elseif ML==177 then oL=K(F(nZ),j());elseif ML==86 then oL=O();elseif ML==Sl then do oL=O();end;elseif ML==172 then oL=K(F(nZ),17);elseif ML==136 then oL=K(F(nZ),6);elseif ML==141 then oL=O();end;end;gL=3;end;else if gL~=0 then if ML==71 then do oL=u();end;elseif ML==102 then do oL=VQ;end;elseif ML==73 then do oL=O()+C();end;elseif ML==99 then oL=jQ;elseif ML==177 then oL=K(F(nZ),j());elseif ML==86 then do oL=O();end;elseif ML==169 then oL=O();elseif ML==yl then do oL=K(F(nZ),17);end;elseif ML==136 then oL=K(F(nZ),6);elseif ML~=141 then else oL=O();end;break;break;break;break;break;break;else if ML==71 then do oL=u();end;elseif ML==102 then oL=VQ;elseif ML==73 then oL=O()+C();elseif ML==99 then oL=jQ;elseif ML==177 then oL=K(F(nZ),j());elseif ML==86 then oL=O();elseif ML==169 then oL=O();elseif ML==172 then do oL=K(F(nZ),17);end;elseif ML==al then oL=K(F(nZ),6);elseif ML~=141 then else do oL=O();end;end;gL=0;end;end;end;end;end;do QZ[OL-1]=dZ;end;local BL=({oL,{}});(wZ)[dZ]=BL;dZ=dZ+1;if not(CZ)then else(G)[Q]=BL;do Q=Q+1;end;end;end;ZZ=5;end;end;end;until ZZ>=5;end;local HZ=(U[EZ[8]]);do for zj=1,IZ do local Aj,Ej,Qj,kj=3,EQ,EQ,EQ;do repeat if not(Aj<=1)then do if not(Aj<=2)then if Aj~=3 then if not((Qj==6 or kj)and Ej[4]>255)then else local Nx,Mx,hx=0,EQ,EQ;while(jQ)do do if not(Nx<=1)then do if Nx~=2 then if not(hx)then else local Er,Qr=2,(EQ);do repeat if not(Er<=0)then if Er~=1 then do(Ej)[8]=hx[1];end;Er=1;else Qr=hx[2];Er=0;end;else Qr[#Qr+1]={Ej,8};Er=3;end;until Er>=3;end;end;break;break;break;break;break;break;else Mx=QZ[Ej[4]-256];Nx=1;end;end;else if Nx~=0 then hx=wZ[Mx];Nx=3;else Ej[6]=jQ;Nx=2;end;end;end;end;end;Aj=5;else Ej=EZ[2][zj];Aj=0;end;else if not((Qj==13 or kj)and Ej[7]>255)then else(Ej)[1]=jQ;local Oq,sq=EQ,(EQ);goto Mq;::Mq::;Oq=QZ[Ej[7]-bQ];goto lq;::Eq::;do if not(sq)then else local j3=2;local Q3=(EQ);repeat if j3<=0 then Q3=sq[2];do j3=1;end;else if j3~=1 then Ej[2]=sq[1];j3=0;else Q3[#Q3+1]={Ej,2};j3=3;end;end;until j3>2;end;end;goto Wq;::lq::;sq=wZ[Oq];goto Eq;::Wq::;end;do Aj=4;end;end;end;else if Aj==0 then Qj=HZ[Ej[10]];Aj=1;else kj=Qj==8;do Aj=2;end;end;end;until Aj>=5;end;Aj=0;do repeat do if Aj~=0 then do if Qj~=10 then else do(Ej)[9]=zj+(Ej[9]-131071)+1;end;end;end;do Aj=2;end;else do if Qj~=7 then else local FP=(QZ[Ej[9]]);local NP=(wZ[FP]);if NP then local WI=1;local VI=EQ;do while WI~=3 do if not(WI<=0)then do if WI~=1 then VI=NP[2];do WI=0;end;else Ej[3]=NP[1];WI=2;end;end;else(VI)[#VI+1]={Ej,3};WI=3;end;end;end;end;end;end;do Aj=1;end;end;end;until Aj==2;end;end;end;do(EZ)[16]=j();end;local jZ=(EQ);goto AZ;::AZ::;(EZ)[14]=C();goto SZ;::bZ::;jZ=C();goto gZ;::SZ::;EZ[3]=j();goto bZ;::gZ::;ZZ=0;repeat if ZZ~=0 then return EZ;else for pA=1,jZ do do EZ[6][pA-1]=H();end;end;ZZ=1;end;until(VQ);end;i=4;else if i~=3 then R=H();i=1;else i=0;end;end;else if i~=0 then Z[4]=G;do i=5;end;else function p(gL,rL,yL)local WL,lL=yL[9],(yL[1]);local kL,vL,cL=yL[4],yL[7],(yL[8]);local HL,RL,aL=yL[2],yL[6],(yL[5]);local BL=(W({},{[OQ]=fQ}));local KL=(EQ);do KL=function(...)local z3=(0);local t3,C3,S3=1,{},qQ;local A3=(S3==r and gL or S3);local k3,G3=h(...);do k3=k3-1;end;for sU=0,k3 do if not(aL>sU)then break;break;else do(C3)[sU]=G3[sU+1];end;end;end;(Z)[1]=yL;do Z[2]=C3;end;if not kL then G3=EQ;elseif not(vL)then else C3[aL]={[zQ]=k3>=aL and k3-aL+1 or 0,T(G3,aL+1,k3+1)};end;if A3~=S3 then qQ=A3;end;local b3,U3,f3,r3=y(function()while true do local kc=HL[t3];local oc=kc[10];t3=t3+1;if not(oc<65)then if not(oc>=97)then if oc>=81 then if not(oc>=89)then if not(oc>=85)then do if oc<83 then if oc~=82 then(C3)[kc[5]]=kc[8]>>C3[kc[7]];else local XS=C3[kc[4]];if not(not XS)then do C3[kc[5]]=XS;end;else t3=t3+1;end;end;else if oc==84 then if not(not(kc[8]<kc[2]))then else t3=t3+1;end;else do C3[kc[5]]=C3[kc[4]]//C3[kc[7]];end;end;end;end;else if not(oc>=87)then if oc==86 then do(C3)[kc[5]]=C3[kc[4]][kc[2]];end;else if kc[7]~=RQ then repeat local po,Jo=BL,C3;if not(#po>0)then else local x5={};do for Hs,ts in l,po do do for Bh,Ah in l,ts do do if not(Ah[1]==Jo and Ah[2]>=0)then else local B8=Ah[2];do if not(not x5[B8])then else(x5)[B8]={Jo[B8]};end;end;(Ah)[1]=x5[B8];Ah[2]=1;end;end;end;end;end;end;end;until jQ;local UC=(kc[5]);return VQ,UC,UC;else t3=t3-1;HL[t3]={[4]=(kc[4]-194)%256,[5]=(kc[5]-194)%256,[10]=iQ};end;end;else if oc==88 then do(C3)[kc[5]]=C3[kc[4]][C3[kc[7]]];end;else local cs=(kc[5]);C3[cs](C3[cs+1],C3[cs+2]);z3=cs-1;end;end;end;else if not(oc<93)then if not(oc>=95)then if oc~=94 then local R3=kc[4];do C3[kc[5]]=C3[R3]..C3[R3+1];end;else do(C3)[kc[5]]=C3[kc[4]]%C3[kc[7]];end;end;else if oc~=96 then C3[kc[5]]=C3[kc[4]]&C3[kc[7]];else do C3[kc[5]]=jQ;end;end;end;else if not(oc>=91)then do if oc~=90 then if not(not(kc[8]<C3[kc[7]]))then else do t3=t3+1;end;end;else C3[kc[5]]=kc[8]>>kc[2];end;end;else do if oc~=92 then for uL=kc[5],kc[4]do do(C3)[uL]=EQ;end;end;else(C3)[kc[5]]=kc[8]%C3[kc[7]];end;end;end;end;end;else if not(oc>=73)then do if not(oc<69)then do if not(oc<71)then if oc~=72 then C3[kc[5]]=C3[kc[4]]<<kc[2];else do(C3)[kc[5]]=kc[8]==C3[kc[7]];end;end;else if oc~=70 then local T8,z8=kc[5],((kc[7]-1)*50);for HR=1,z3-T8 do(C3[T8])[z8+HR]=C3[T8+HR];end;else local Wl=kc[5];(C3[Wl])(T(C3,Wl+1,z3));z3=Wl-1;end;end;end;else do if not(oc<67)then if oc~=68 then do(C3)[kc[5]]=C3[kc[4]]&kc[2];end;else do if kc[7]~=56 then C3[kc[5]]=C3[kc[4]];else t3=t3-1;(HL)[t3]={[4]=(kc[4]-207)%256,[5]=(kc[5]-207)%256,[10]=85};end;end;end;else if oc~=66 then(C3)[kc[5]]=C3[kc[4]]~=C3[kc[7]];else if kc[7]~=47 then repeat local UZ,FZ,rZ=BL,C3,kc[5];if not(#UZ>0)then else local EV=({});for eW,qW in l,UZ do for aV,LV in l,qW do if not(LV[1]==FZ and LV[2]>=rZ)then else local dq=(LV[2]);do if not(not EV[dq])then else do EV[dq]={FZ[dq]};end;end;end;LV[1]=EV[dq];do LV[2]=1;end;end;end;end;end;until jQ;else t3=t3-1;(HL)[t3]={[5]=(kc[5]-144)%256,[4]=(kc[4]-sQ)%256,[10]=2};end;end;end;end;end;end;else if not(oc<77)then if not(oc<79)then if oc~=80 then(C3[kc[5]])[C3[kc[4]]]=C3[kc[7]];else if C3[kc[4]]==C3[kc[7]]then t3=t3+1;end;end;else if oc~=78 then local MA=C3[kc[4]];local YA=(C3[kc[7]]);local BA=kc[5];C3[BA+1]=MA;(C3)[BA]=MA[YA];else local Pj=kc[4];local Yj=(kc[5]);z3=Yj+Pj-1;do repeat local iP,zP=BL,(C3);do if not(#iP>0)then else local Pt=({});do for xm,Cm in l,iP do for z9,X9 in l,Cm do do if X9[1]==zP and X9[2]>=0 then local jm=X9[2];do if not Pt[jm]then(Pt)[jm]={zP[jm]};end;end;do X9[1]=Pt[jm];end;do(X9)[2]=1;end;end;end;end;end;end;end;end;until jQ;end;return jQ,Yj,Pj;end;end;else if not(oc<75)then do if oc~=76 then do if C3[kc[4]]==C3[kc[7]]then else do t3=t3+1;end;end;end;else local x8,U8=RL[kc[9]],EQ;local q8=(x8[3]);do if not(q8>0)then else U8={};for Fs=0,q8-1 do local ds=(HL[t3]);local Qs=ds[10];do if Qs==68 then U8[Fs]={C3,ds[4]};else U8[Fs]=rL[ds[4]];end;end;t3=t3+1;end;n(BL,U8);end;end;(C3)[kc[5]]=p(A3,U8,x8);end;end;else if oc~=74 then do repeat local xA,HA=BL,C3;if not(#xA>0)then else local ur={};for s5,V5 in l,xA do do for cf,jf in l,V5 do do if jf[1]==HA and jf[2]>=0 then local xH=(jf[2]);if not(not ur[xH])then else ur[xH]={HA[xH]};end;jf[1]=ur[xH];do jf[2]=1;end;end;end;end;end;end;end;until jQ;end;return;else repeat local Gn,hn=BL,C3;if not(#Gn>0)then else local CL={};for nZ,NZ in l,Gn do for Pv,Ev in l,NZ do if not(Ev[1]==hn and Ev[2]>=0)then else local xp=Ev[2];if not(not CL[xp])then else do CL[xp]={hn[xp]};end;end;do Ev[1]=CL[xp];end;(Ev)[2]=1;end;end;end;end;until jQ;return jQ,kc[5],1;end;end;end;end;end;else if not(oc<FQ)then if not(oc>=121)then if oc<117 then if oc<115 then if oc==114 then if not(C3[kc[4]]<kc[2])then t3=t3+1;end;else local d5=rL[kc[4]];d5[1][d5[2]]=C3[kc[5]];end;else if oc==116 then C3[kc[5]]=VQ;else local bT=kc[5];local LT,fT=kc[4],kc[7];if LT==0 then else z3=bT+LT-1;end;local HT,NT=EQ,(EQ);if LT==1 then HT,NT=h(C3[bT]());else HT,NT=h(C3[bT](T(C3,bT+1,z3)));end;do if fT==1 then z3=bT-1;else if fT==0 then HT=HT+bT-1;z3=HT;else HT=bT+fT-2;z3=HT+1;end;local p_=0;for oS=bT,HT do p_=p_+1;C3[oS]=NT[p_];end;end;end;end;end;else if oc>=119 then do if oc~=120 then do z3=kc[5];end;C3[z3]();z3=z3-1;else(C3)[kc[5]]=C3[kc[4]]>=kc[2];end;end;else do if oc~=118 then(C3[kc[5]])[C3[kc[4]]]=kc[2];else(C3)[kc[5]]=kc[8]%kc[2];end;end;end;end;else if oc<125 then if not(oc>=123)then if oc~=122 then C3[kc[5]]=C3[kc[4]]/C3[kc[7]];else local V2=(kc[5]);local J2=V2+1;local K2=V2+2;C3[V2]=w(a(C3[V2]),ZQ);(C3)[J2]=w(a(C3[J2]),pQ);do(C3)[K2]=w(a(C3[K2]),HQ);end;C3[V2]=C3[V2]-C3[K2];t3=kc[9];end;else do if oc~=124 then(C3)[kc[5]]=kc[8]//C3[kc[7]];else Z[kc[4]]=C3[kc[5]];end;end;end;else if not(oc>=127)then if oc~=126 then do C3[kc[5]]=C3[kc[4]]*kc[2];end;else C3[kc[5]]=kc[8]//kc[2];end;else if not(oc<128)then do if oc~=129 then do(C3[kc[5]])[kc[8]]=C3[kc[7]];end;else do if kc[7]~=57 then repeat local md,Ed=BL,C3;do if not(#md>0)then else local AX={};do for lK,WK in l,md do do for S2,q2 in l,WK do if not(q2[1]==Ed and q2[2]>=0)then else local mk=(q2[2]);if not(not AX[mk])then else do AX[mk]={Ed[mk]};end;end;do(q2)[1]=AX[mk];end;q2[2]=1;end;end;end;end;end;end;end;until jQ;return VQ,kc[5],z3;else t3=t3-1;do HL[t3]={[5]=(kc[5]-54)%256,[10]=73,[4]=(kc[4]-54)%256};end;end;end;end;end;else(C3)[kc[5]]=kc[8]<<kc[2];end;end;end;end;else if not(oc<105)then if oc<109 then if not(oc<107)then if oc~=GQ then(C3)[kc[5]]=C3[kc[4]]>>C3[kc[7]];else if kc[7]==92 then t3=t3-1;HL[t3]={[5]=(kc[5]-157)%256,[10]=17,[7]=(kc[4]-QQ)%256};else local Xc=(kc[5]);for M2=Xc,Xc+(kc[4]-1)do C3[M2]=G3[aL+(M2-Xc)+1];end;end;end;else do if oc==hQ then C3[kc[5]]=C3[kc[4]]==C3[kc[7]];else t3=kc[9];end;end;end;else if not(oc<111)then do if oc==112 then local GZ=(kc[5]);local bZ=(C3[GZ+2]);local IZ=C3[GZ]+bZ;do C3[GZ]=IZ;end;if not(bZ>0)then if not(IZ>=C3[GZ+1])then else t3=kc[9];do C3[GZ+3]=IZ;end;end;else do if not(IZ<=C3[GZ+1])then else do t3=kc[9];end;(C3)[GZ+3]=IZ;end;end;end;else C3[kc[5]]=A3[kc[3]];end;end;else if oc~=110 then repeat local ld,Bd=BL,C3;do if not(#ld>0)then else local PN={};for vl,Gl in l,ld do for zk,Ek in l,Gl do do if Ek[1]==Bd and Ek[2]>=0 then local yW=(Ek[2]);if not(not PN[yW])then else PN[yW]={Bd[yW]};end;(Ek)[1]=PN[yW];(Ek)[2]=1;end;end;end;end;end;end;until jQ;local kY=kc[5];z3=kY+1;return jQ,kY,2;else(A3)[kc[3]]=C3[kc[5]];end;end;end;else if not(oc>=UQ)then if not(oc>=99)then do if oc==98 then local Np=kc[5];C3[Np]=C3[Np](C3[Np+1]);z3=Np;else local fX,YX=kc[5],((kc[7]-1)*50);for Q9=1,kc[4]do(C3[fX])[YX+Q9]=C3[fX+Q9];end;end;end;else do if oc==100 then C3[kc[5]]=kc[8]+C3[kc[7]];else do(C3)[kc[5]]=C3[kc[4]]+C3[kc[7]];end;end;end;end;else do if oc>=103 then if oc==104 then C3[kc[5]]=C3[kc[4]]-kc[2];else do C3[kc[5]]=C3[kc[4]]//kc[2];end;end;else if oc~=102 then local GG=kc[4];local oG=(C3[GG]);do for RK=GG+1,kc[7]do oG=oG..C3[RK];end;end;do(C3)[kc[5]]=oG;end;else do(C3)[kc[5]]=C3[kc[4]]>C3[kc[7]];end;end;end;end;end;end;end;end;else if not(oc<32)then if not(oc>=48)then do if not(oc>=40)then if oc>=36 then if not(oc>=38)then if oc==37 then local Yf=rL[kc[4]];do(C3)[kc[5]]=Yf[1][Yf[2]];end;else C3[kc[5]]=kc[8]==kc[2];end;else do if oc==39 then if kc[7]==186 then t3=t3-1;(HL)[t3]={[10]=68,[4]=(kc[4]-208)%256,[5]=(kc[5]-208)%256};elseif kc[7]==225 then do t3=t3-1;end;(HL)[t3]={[5]=(kc[5]-191)%256,[10]=45,[7]=(kc[4]-191)%256};elseif kc[7]==70 then t3=t3-1;(HL)[t3]={[10]=1,[5]=(kc[5]-232)%256,[7]=(kc[4]-232)%256};elseif kc[7]~=197 then do C3[kc[5]]=#C3[kc[4]];end;else t3=t3-1;HL[t3]={[10]=68,[5]=(kc[5]-89)%bQ,[4]=(kc[4]-89)%bQ};end;else repeat local vI,uI=BL,C3;if not(#vI>0)then else local Ud={};for J_,D_ in l,vI do for HX,hX in l,D_ do do if not(hX[1]==uI and hX[2]>=0)then else local JB=(hX[2]);do if not Ud[JB]then do(Ud)[JB]={uI[JB]};end;end;end;do(hX)[1]=Ud[JB];end;hX[2]=1;end;end;end;end;end;until jQ;do return jQ,kc[5],0;end;end;end;end;else if not(oc<34)then if oc==35 then local M0=(kc[5]);C3[M0](C3[M0+1]);z3=M0-1;else do C3[kc[5]]=kc[8]~=kc[2];end;end;else if oc==33 then(C3)[kc[5]]=kc[8]~=C3[kc[7]];else do C3[kc[5]]=C3[kc[4]]<=kc[2];end;end;end;end;else if oc>=44 then if oc>=46 then if oc==47 then(C3)[kc[5]]=kc[3];else C3[kc[5]]=kc[8]^kc[2];end;else do if oc~=45 then do if C3[kc[4]]==kc[2]then else t3=t3+1;end;end;else local ti=kc[5];local Hi,ci=ti+2,ti+3;local ei=({C3[ti](C3[ti+1],C3[Hi])});for RD=1,kc[7]do C3[Hi+RD]=ei[RD];end;local ji=C3[ci];if ji~=EQ then C3[Hi]=ji;else t3=t3+1;end;end;end;end;else if not(oc<42)then if oc==43 then if kc[7]~=182 then do C3[kc[5]]=-C3[kc[4]];end;else t3=t3-1;HL[t3]={[10]=2,[4]=(kc[4]-143)%256,[5]=(kc[5]-143)%256};end;else(C3)[kc[5]]=C3[kc[4]]<=C3[kc[7]];end;else if oc==41 then(C3)[kc[5]]=kc[8]<C3[kc[7]];else local sh=(kc[5]);do z3=sh+kc[4]-1;end;(C3[sh])(T(C3,sh+1,z3));z3=sh-1;end;end;end;end;end;else if not(oc<56)then if not(oc<60)then if not(oc<62)then if not(oc<63)then if oc==64 then local rf=(C3[kc[4]]);local If=kc[5];do C3[If+1]=rf;end;(C3)[If]=rf[kc[2]];else do if kc[7]==43 then t3=t3-1;HL[t3]={[5]=(kc[5]-238)%256,[4]=(kc[4]-238)%256,[10]=85};else local Z2,W2=kc[5],(k3-aL);if W2<0 then do W2=-1;end;end;for ul=Z2,Z2+W2 do C3[ul]=G3[aL+(ul-Z2)+1];end;z3=Z2+W2;end;end;end;else C3[kc[5]]=kc[8]<kc[2];end;else if oc==61 then C3[kc[5]]=kc[3];else(C3)[kc[5]]=C3[kc[4]]-C3[kc[7]];end;end;else if not(oc<58)then if oc==59 then C3[kc[5]]=C3[kc[4]]|C3[kc[7]];else do(C3)[kc[5]]=kc[8]>C3[kc[7]];end;end;else if oc==57 then z3=kc[5];(C3)[z3]=C3[z3]();else do C3[kc[5]]=jQ;end;t3=t3+1;end;end;end;else if not(oc>=52)then if not(oc<50)then if oc==51 then(C3)[kc[5]]=C3[kc[4]]~C3[kc[7]];else do if not(not(kc[8]<=C3[kc[7]]))then else do t3=t3+1;end;end;end;end;else if oc~=49 then C3[kc[5]]=C3[kc[4]]%kc[2];else if kc[7]~=176 then do repeat local V3,Z3=BL,(C3);do if not(#V3>0)then else local y8={};for Nf,nf in l,V3 do do for Yx,Tx in l,nf do if not(Tx[1]==Z3 and Tx[2]>=0)then else local J1=(Tx[2]);if not y8[J1]then do(y8)[J1]={Z3[J1]};end;end;Tx[1]=y8[J1];do(Tx)[2]=1;end;end;end;end;end;end;end;until jQ;end;local bX=kc[5];return VQ,bX,bX+kc[4]-2;else t3=t3-1;HL[t3]={[5]=(kc[5]-11)%256,[4]=(kc[4]-11)%256,[10]=68};end;end;end;else if not(oc<54)then if oc==55 then do(C3)[kc[5]]=kc[8]<=kc[2];end;else do if not(C3[kc[4]]<=kc[2])then else do t3=t3+1;end;end;end;end;else if oc==53 then(C3)[kc[5]]=C3[kc[4]]^kc[2];else do C3[kc[5]]=C3[kc[4]]+kc[2];end;end;end;end;end;end;else if oc>=16 then if not(oc>=24)then if not(oc>=20)then do if not(oc>=18)then if oc~=17 then C3[kc[5]]=kc[8]<=C3[kc[7]];else if C3[kc[5]]then t3=t3+1;end;end;else if oc~=19 then if C3[kc[4]]==kc[2]then t3=t3+1;end;else do(C3)[kc[5]]=kc[8]|kc[2];end;end;end;end;else if not(oc>=22)then if oc~=21 then if not(not(C3[kc[4]]<C3[kc[7]]))then else t3=t3+1;end;else(C3)[kc[5]]=C3[kc[4]]~=kc[2];end;else if oc==23 then if kc[7]~=255 then C3[kc[5]]=not C3[kc[4]];else do t3=t3-1;end;do HL[t3]={[10]=17,[5]=(kc[5]-176)%256,[7]=(kc[4]-176)%256};end;end;else local Tr=kc[5];do z3=Tr+kc[4]-1;end;C3[Tr]=C3[Tr](T(C3,Tr+1,z3));z3=Tr;end;end;end;else if not(oc>=28)then if not(oc>=26)then if oc==25 then do C3[kc[5]]=kc[8]/C3[kc[7]];end;else do(C3)[kc[5]]=C3[kc[4]]~kc[2];end;end;else if oc==27 then(C3)[kc[5]]=kc[8]>kc[2];else local Sh=(kc[5]);(C3)[Sh]=C3[Sh](C3[Sh+1],C3[Sh+2]);z3=Sh;end;end;else if not(oc>=30)then if oc==29 then do C3[kc[5]][kc[8]]=kc[2];end;else do C3[kc[5]]=C3[kc[4]]>kc[2];end;end;else if oc==31 then C3[kc[5]]=kc[8]/kc[2];else(C3)[kc[5]]=C3[kc[4]]^C3[kc[7]];end;end;end;end;else if oc<8 then if oc<4 then if not(oc>=2)then if oc~=1 then(C3)[kc[5]]=C3[kc[4]]*C3[kc[7]];else if kc[4]==237 then t3=t3-1;(HL)[t3]={[5]=(kc[5]-161)%256,[7]=(kc[7]-161)%256,[10]=17};elseif kc[4]==76 then t3=t3-1;HL[t3]={[10]=39,[4]=(kc[7]-19)%bQ,[5]=(kc[5]-19)%256};elseif kc[4]~=19 then if not(not C3[kc[5]])then else t3=t3+1;end;else t3=t3-1;HL[t3]={[5]=(kc[5]-4)%256,[10]=63,[4]=(kc[7]-4)%bQ};end;end;else if oc==3 then if not(not(kc[8]<=kc[2]))then else t3=t3+1;end;else if kc[7]==67 then t3=t3-1;(HL)[t3]={[5]=(kc[5]-16)%256,[4]=(kc[4]-16)%bQ,[10]=68};elseif kc[7]==157 then t3=t3-1;HL[t3]={[5]=(kc[5]-216)%256,[10]=66,[4]=(kc[4]-216)%256};elseif kc[7]~=192 then C3[kc[5]]=EQ;else do t3=t3-1;end;(HL)[t3]={[10]=63,[4]=(kc[4]-170)%256,[5]=(kc[5]-170)%256};end;end;end;else if not(oc>=6)then if oc~=5 then(C3)[kc[5]]={T({},1,kc[4])};else if not(not(C3[kc[4]]<=kc[2]))then else t3=t3+1;end;end;else do if oc~=7 then C3[kc[5]]={};else local pl=(kc[5]);do(C3)[pl]=C3[pl](T(C3,pl+1,z3));end;z3=pl;end;end;end;end;else if oc>=12 then if not(oc<14)then if oc~=15 then do(C3)[kc[5]]=C3[kc[4]]<C3[kc[7]];end;else(C3)[kc[5]]=C3[kc[4]]>=C3[kc[7]];end;else if oc~=13 then C3[kc[5]]=Z[kc[4]];else(C3)[kc[5]]=~C3[kc[4]];end;end;else if not(oc<10)then if oc==11 then(C3)[kc[5]]=kc[8]-C3[kc[7]];else(C3)[kc[5]]=C3[kc[4]]|kc[2];end;else if oc~=9 then(C3)[kc[5]]=kc[8]^C3[kc[7]];else if kc[8]==C3[kc[7]]then else do t3=t3+1;end;end;end;end;end;end;end;end;end;end;end);do if not(b3)then if S(U3)==cQ then if not(P(U3,tQ))then v(U3,0);else(v)(IQ..(lL[t3-1]or wl)..xl..m(U3),0);end;else v(U3,0);end;else do if U3 then if r3==1 then return C3[f3]();else return C3[f3](T(C3,f3+1,z3));end;elseif not(f3)then else return T(C3,f3,r3);end;end;end;end;end;end;return KL;end;i=2;end;end;until i>4;for Sc=0,1 do if Sc~=0 then return p(r,EQ,R)(...);else G=EQ;end;end;end)(136,nil,"","\115\z \x75\u{62}",254,assert,113,"\u{00075}\110\z \112\u{00061}\u{063}\x6b\z     ",tostring,error,"\x69\z       \u{06e}\z     \x73\u{0065}\z        \114\x74","\96\102\111\114\96\32\108\105\109\105\116\32\118\97\108\117\101\32\109\117\115\116\32\98\101\32\97\32\110\117\109\98\101\114",106,157,"\46\46",type,"\103\115\117\98",true,string.match,"\u{03a}\z     \32\z     ","\35\z    ","\94\46\45\58\37\100\43\58\32","\60\73\52",setmetatable,select,"\u{0004c}\z \u{0075}\z      \x72\z  \u{61}\112\x68\z         \x20\z  \u{0053}\99\u{072}\105\z   \u{0070}\116\z  \u{3a}","\60\z   \u{00064}\z ","LPH!4BFA0141382H83332H888388382H883388833H882H3833832H3878383H88338878388D8333833883D3838883383D8D2H388833833888A88833773A388338888A838838DDAEEBD471B900ADDDF063A90A0200C7FA7AF97A6919591A99692H9C9F1C6973B372734C4HCE6F1D5D2H1D3D1090A960042H97ADE30462428B956921159E496C840EB61542BBC642BA0436C2DDAE1F250CB6382238551478295F05E43D3E4HCA4CA9E929A977ECAC2HEC4C4H836E4H9E6FED3HAD6E2061E169014HA7733HB232693HF19A5B4H14810200E364FC6E4H0002790A0200013347C32B6HFF230F8CE66300023H008F34B2CF07B10059B0B80DA40C0200710B4B2F8B692HB094306961A142E1696EEE6C6E4C2HE7E2E76F9C5C9A9C3D1D9DA56D04BAFA80CE0403D563A15208C299CA7F9908F72H0406E95FF473DF88A45D4EB458714854D5E096880512A473FE75FBBBDB7B6920EAFC6070D191AD51691E151B1E3DD7DC2HD711CC127762610D87950D7AEA606F6A3DF3792H7311B8903AA017C903891D4476F68B09690FC463DC31E4ED64E44A45C5845612420247C2692HEBA76B6910D0DB03122H4106C169CE8EB54E69474FC7C662FCBCFC7C693D41D385271ADAE4656923E325722CA868C72869793979F969E6789709272HBF41C06914D4589469B5BDB0B53DF232F272695BD3DEDB3DC0482H401131DBAE55597E3638FE7AB77ABF91012C6CD253692H6DAD7E122HCA30B56953937CD369D851D0C9662HE9A12H695693E35670AF6FFC2F69C41EF507272H252BA56962C313E227CB4BC84B69F03B747900A1EA2536632E6E2EAE69E72709D9275C1C5DDC695D1697CA302H7A870569438948545D0888F577699912DD4E3386C68606695F141F9E1A74B48A0B69555E9E9F585292AF2D697B742BB302A07030BA022H916DEE695ED572C931975A878E02CC858C9D44CDF0633427AA26863C317353820E27F8B1383962C977E7B027363CB636733H8F0F69A4AEA4DC5B054C2H0546020B021344EB66BBB202506DFEA927412H88135D0E878E9F4447CE8D873D7CB52HBC11BD94D197425A13D3C95DE36A29233DA8612H6811392232506EE6ECE6F744BF76F56C5DD49DD4D6283H75F569B2BB32DC5B9B929B8A44800809114F71F8796058BE36372F4F37FF31E41DACC77BA26C2H2D33AD698ACA67F5699359E26C702H98BB182H691196C8555662A9CE176FEF8810690484328469259D5D85272H623CE2698BCB75F469F07BB42733E121E361692E5140862767B7F77D025C101C0B445D161D9C1A2H3AC44569C3C8871463080302DF3059D18906024686B939695F9FBF2069F47F303D002H55AB2A69D2D91918587BBB840469E0AA6B774F5111AF2E699E5E959E6F3H57D7692H4C494C6F0D4D440D563HEA6A692HF3F6F36FB838F3F86FC9494089567636FDF66F3H4FCF69E46461646F2H4581C4562H02C9C26F3H6BEB69509095906F018109C0564E4F464E6F47C60745563H7CFC697D7C787D6FDA1B9D9A6F6362EBE36FE8692E286F3HF9796966A7A3A66F3FFD393F6FD4169E946FB5F731356F3H72F269DB595E5B6F0082C5C06F3H31B1693EFCFBFE6F372H34376F3HAC2C69EDEEE8ED6F0A494B4A6F5310D4D36F3H58D869E96A6C696F961560570C3H2FAF6904C7C1C46FA5618BA70C62E623223DCB2H4F4B3D70F42HF011610AAD01326EEAAFAE3D27222H2706DCD92HDC119DE79FEF13BA3FFBFA3D83C62HC31188D2C2A24E59DCD0D93D86032H06111F6DD2DD1D34B1F7F43DD5102H151192DC89481F3B3D3E3B3DA025FA5F7AD1981110623H5EDE69D71E17655B0CE2075042CD872HCD016ABEB53910B33370A012B87868C76949894BC969B67F2HBE583H0F8F69242D21246FC58CC097563H8202696B222E2B6FD0991542563H8101698E070B0E6FC7BAA969273C829246273DBDC742695ADA19DA69231A9CC255E804E3B042B931B7BB7C66A69919692HFF7FFF49145ED45460F53B65E90232F221B2695B45AA292780407FFF6971AFC0CA273E52B5E74277BF2HF7012C4239026C2HADBC2D690AB4A4762793138213695812D10A15A95B815F012H16109669EFAFF96F69848D8495442H6563E569E2A23D9D694B018B0B60F0BA2HB011A147265D18AEA2FE7202A7EDE7F6449CD4168F4F1DDDE06269BA7AB73A6983C34FFC6948CDCE424F19DF9C90004600C2CB635F1995D230B4F4B434695553D5D4622H926CED69BB42D58E27E0A01D9F6991D87DD4311E432F29272HD729A8698C485DB8278D4D7AF2696AAA78EA6973F0E2072778387BF8692H0935896976B8E66A02CF4FC74F69A40A6FB8424585BB3A69C2498754563HEB6B69901B15106F818A8457563HCE4E6907CCC2C76F3CF250E5317DF671EA4F2H1A1E9A69A36B637144A821A0B96379B979F969662HAF345EBFF6B6AD3CD4A83A6E27B5F5B53569B27BFAE300DB1BDB5B6940C948516AB1448EE9177EFE50FE69B737B737696CA5A43E79EDE4657C1ECA4A36B56953D357D369D8A260B827E929119669D696D256696FD897CF2744C441C4692565CF5A692HA25CDD698B05DBC50270B08F0F69A12B2132442EEED1516927098AFA2B2H5CA223699D6173B327FA727A6A4403CB4342622H08C0181259D95CD969860631F9699F16978E412H745CF469955D77EA705292B52D69BB32B3AA0F2HA060DF69D1982H91112HDE38A169975766E869CC0B4A9D752H4DB432696A20AA382B33F3DD4C6978B8B0284B2HC9D6496936F69949694F878F9D44A42DACB52A05C5FA7A6902F73D5A17ABEB17D469D0902BAF69010AAD1231CE860E8E4A07E7B6B8272HBC58C369FDBA3A3D809ADD5D5B806324A4A680286FEFEC80792H3EAE802HE6E566693FF8BAF81DD494D45469F5732H7506B272B132691BDC9A9B4C3H000E44B1762H714C3H3E314477BBE77802EC2C1393692D252H2D118ACA70F5691353199369D82H9F1D802HA955D669D6911100802F68E8FE80442H032H80A52HE2698062A267E2694BCD8F8B3D303731304C3HE1E0443HEEE4443H676E442H1C9C15442H9D1D95442H3ABA304443C400030688CF2HC8111969F6DD2D062H41D5805F9F5CDF69B4312H34069550555704125418123D7B7D2H7B11E0B7D7DD291157D151601E98979E3DD7512H57118C31083B56CD4B2H0D4CEA6AEA6A69B32HF46780B82HFF6E8089097BF66936B3F6F4614F0F4FCF69242H63EA80C50533BA69C2C42HC2066BAB941469D0962H9006C14133BE694E0EA63169C74E4756447CFC7BFC693DB57E7D06DA922H9A11A387C4003A68202FBB80F939FA7969E62HAE22803F7F38BF69D49C1C1080752H3DA280322H7AF7802H5B5CDB6980C848518031F1CC4E69BE33EEE702773B9B2131AC6CAD2C69ADE5656C800A42C2CF80D3132FAC695807E9652769E96EE969162H5ED8806F27A7B980C44438BB6925AC25A5733H22A269CB42CB735B30782HF007A1282HA14C2EF11F932H27A7D05869DC555CDD1A5D542H5D11FA3A298569C343C74369C880000880D95923A669462H0E8A805F2H178B80F434F57469559DD0921D526E7CB827FB332H3B06E0282H2011D10B9B520F5EE3F02627979F97161A0C8CF473698D2HC55B802HAA56D569B37B2HB34CB8784AC7694940495844B63643C9690FCFC87069646CA425573H850569C28A02BA5B6B232H2B06D0582H500641892H81740ECEF1716907CA1709027CF12C2402BDD0366642DA132H5A01A34ABDFE5BE8284C976939E788962766A69919697FF7FFEF44945CD44502F5B50E8A69F2FE2228021B92130A0EC0B017CE6C2HF12B8E692HBE2FC169F749598B276CAC9313692HAD7FD2694A002H0A7493136DEC691858100C5029A9895669162HD62H69AFE4EAEF3DC48F2H8411E5D20A5F6922E8669D7ACB010E0B3DF0D181F1272H619F1E69EE642H6E06E7671998695C22B2F6271DD20D00027A30BABB623H830369884248D85B9957098402C6060AB9691FD473C931B4F472CB69D5DADBF30192D2558636FBBB078469E060E06069919BDBD13D1EA0B062272HD729A8692HCC4CB3690200A3397E0F4H0032A80A0200B100880B3H004B4CFD5E6F5ED4AFF1713788093H0026B7F8E98A8483E89F880B3H00FFC0315223C7BAD824E90D88093H001A6B6C1D7ED00FAD9688093H00B3346546D76C70DA9E47877H00880C3H00FCAD0E1FE0331D2CA890B70947E97H00880A3H00A8993A8B8C62C1C2058D880D3H0002D3548566A8674AA5757FAC5A880F3H003F00719263BB4A98E2BFD034CFC92588093H00BECF900122AC2BC9E388093H00175849EA3B5288362B47FF7H0088083H002091B283045B7FCB88103H00E8D97ACBCC228182D5552367F5A7CA5247657H0047047H0088083H0078690A5B5C7F0B0F880D3H0040B1D2A3242159A97D94F88E9E47017H00880A3H009DFE0FD0411250D589AA6647027H00880A3H005798892A7B2372EAF616880B3H00D1F2C3447524865F7EDF7F14880B3H000CBD1E2FF013E324A76092880B3H0077B8A94A9BC312CDDEEC9D47E8036H0088113H0012E3649576742D4DB74E58BC4A2E72EDC7880D3H0073F4250697879F2FE9EF248191880A3H00A011320384C1F745043C880A3H00FA4B4CFD5E0251D5A1FB88113H00144526B7F88EEFAFB1E89A9EB450304FC1880A3H00D5B647887945341F681C478H0088093H008F50C1E2B3570D27A5880F3H001809AAFBFCF2516B8F220631AD9BB188093H0067A8993A8BEE44EACA880A3H0070E102D354DA399A574D884H00880D3H00CA1B1CCD2E4B6F02E6118D7B914700016H00880A3H0087C8B95AABF302CEA0E7880A3H000122F374A5D948392D8E880C3H003B3CED4E5F7FCEDBED60506E880B3H00A7E8D97ACBBF09AC86DE46E55C6C444200063H00FACC873E0D3C01E70B7F56A70A0200AD8D0D8E0D69A6E6A526692H7B78FB699C5C2H9C4C59192H596FC2422HC23D2HA79FD50498D822EC04A5A64A52211EB839BB6F9399A1FC419417F0D15CB19B193A6FBAEC482415BF111D5C4C509BB1DF0ABD3H3D253H9616692BEB2HAB6FCC3H0C4409EC024342F2B32HB23F573HD72608B937695515D81B8E8103007F8CD47D4H0006780A0200F10054897D2236014H002567AE334B9600C1BF9D259E0A0200D18ECE8D0E692HE7E46769FC3CFE7C695D9D2H5D4C5A1A2H5A6F03832H033D2868105A045999632C04269B9DEA201F8DEC2D59947AA42F7C551ED0C17EB2356125673B83CFA95840709F370311DC1F8A812H00C01CBF484H0002780A0200990028C6D7B03F5H00674A713635420039E14121A00A0200853EBE3DBE698BCB880B692H4447C469397938394CFABA2HFA6FD7572HD73DE0A0D99004E565DE9204B69936602F631C84471F3C07209373D10CF0AD32F27C7247762F5AFD0D7C3H58D869FD30F36681EE3HAE3F7B3H3B81030073E70A064H0003780A02000D00F051EC1A2F5H00F4D4C25846AB0059D3B44DA10A02006334B437B469470744C7692H6E6DEE692HD9D8D94CF8B82HF86F7BFB2H7B3D5292EA2004ADED16D8043CFDBA2H2B6FC86C207B769F48655381578D396980EC1D407323748E7C089AF25EE26AD55650993184C545CD015727A8F6552H7EFE7E4903004569813F4H0003780A0200E100C0476FC33F5H00460698C850BA009067707CD80A020051A9E9AF29692H7670F669AF6FAA2F6924E42H244C65E52H656FC202C3C23D4B0BF33A04D090EBA504E14B95E06F8EFC3623042732541E03BCF8547868DD4A8A664E5A7AAE380903F040C85268E86AE86959991C997026A62EA6691F3H9F3DD43H5411154F870013B2322H723DFB3H3B1100D839747A11D1AC2E7A3EFE2H7E3D97176AE8694H6C25CD8D8C8D3DCA0A4B4A3D333HB31198AF321E19892H09881AD6562BA969CF63B0D7172H8486046945C542C5692262D85D696BAA2A294F2H30CF4F6981C041C1253H2EAE69C7062H876F5CCB2DB0272HFD038269FA7A0585692HA323A349C88834B76979F979F871C62H8687712H7F7CFF69B4B534B6712HB5B6356992522HD23D5B3H1B11A0AFAE56312HB12H313D5E3HDE11371753787C0C4C2HCC3DAD3H6D112A8860FC1593122H933DF87804876929A92H696F2H36CD4969AF2H6F6D71E4241E9B69A5918B4D2782D533AE278B4B0B0A233H90106921A121A85B8E4E7BF1692H00B6C7FD4F4H00087E0A02009D0047FF7H0047017H00478H00880A3H0042EB90C1CEB70E14741788063H0028F926BF94328D3H00205FA002422627D0E73E064H0033C9042E2BB401E381444EC60A020063672760E7692H0E098E69F939FF796998582H984C9BDB2H9B6FF2B2F3F23DCD8DF4BF049C1CA6EB04CFCBEC3473D6A768B97A2161AEDB7060D566386943198AB14C2H7A7EFA69B578BB2E81A4E52H6558B777B6B7501EDE169E69C949CC4969A8682H2845EBABEB6B6942432H023D5D1D9A1D7AEC6C2H2C3D9F3H5F11A695030D2AB1702HB16F30712H703D133F2346028A0B2H8A070545F87A69743HF406873H0711AE66CE266C5998189001B83843C769FB3H3B25D21292124A6D6FED6D60BCBE2HBC116F5C962D51F603B85E4481032H816F3H00806963212H636FDA5C0A91025513C5DD02840604851A3H57D7693E3C3E9B5B2940FE276C480848C8692H8B77F46962931D43552HFDC842704C8CB6336903002501E1394H000B7C0A0200210088063H00F2A37465768447017H00880D3H00F869FAAB7C2H1FD8650077D2E8880B3H007586B7082H79DEE018EDCBFB4AA53510014H00D36EBCCD4488007F1A7450980B0200E7FFBFE57F692HCAD04A69C909D04969ACECA9AC4C2H6373636F1E9E0F1E3D4D8D753F04A0201BD60407A256D01D32A2BF834B91A1B2366154F2647D48AB2HB28C20861A29782F158047CA7F48C85EC8694F08070F6EDA1D2H9A4C2H59D95A443HFCF0443H7377442HEE6EEA445DDADDD84430F7F2F04C2H179712442H82028C442HA1A7216964A334246EBB7CF8FB4C2H56D65B443HA5AB44D89F93986E5F581C1F4C3H6A6D44E9291696690C8B4A4C6E83C3840369FE39BCBE4C2H6DED60443H404E442767DB5869921458526FF1F7F43C5674B375746F0BCBF67469A660EDBC1DB5737EA41D28AEE2E86F3H2FAF69FA3C2A3A6F79BE7C793D2H9C9D1C6913D49392233H8E0E697DFA7DDE5B10ECB7FC022H373DB76962E523224C3HC1CC442HC444C8442H1B9B1B443HF6FA44C5053ABA69F87E3F364F3FFFC640698A8C2H0A060949F37669AC2BEFEC4C3HA3A4445E1EAC21690D4B8F8D4C3HE0E3442H47C72H4432F4F1F24C2H51D15D443H1416443H2B27443HC6C7442H55D554442H88088A443H4F42441A1CD9DA6E59DF2H994C2H3CBC30443HB3B2442H2EAE2F442H1D9D1F44F0B62H306E97D156574C2HC242CE443HE1E0442H64E465443H3B384456909A966E2523E6E56F189EDED86EDF23783302AA6A55D569A964A73281CC3H8C062HC3DF4369BE7E3AFE563HAD2D69C08090806F27DDF6132792528812692H7170F169B474B9B46F3H4BCB692H6676666F35B578756F2H28D557696F2F931069BA3F31F91D79FCF22A1D1C9997401DD353C55369CECA2HCE063D392H3D11D0062H5052B77473F38062266D626F3H018169040014046F1B5F4B5B6F7672FA3E562H05028569B83DB3E91D7F3F7FFF698A0F81DD1D49C950C969EC69E78D1D23A6287F1D5EDB550E1DCD8DC94D69602621204C3H878E443H3238442H911198442H54D453446B2D6DF180C60380848055D090950608CD2HC8114F9B709A68DA5F51851D199C92441D2H7C8B036933B6387C1DAE2BA5E01D9D1896CF1DB0353BD21D97576EE869C247C9861DE1646AA41DA424BE2469FB7F717B6F56D292DF56E5212F256F3H1898695F9B8F9F6F2A6E27E356696C63696F3HCC4C69030613036F3E3B7E34563HED6D69C0C5D0C06FE762ABA76F5257D9D26F3HB1316974F1E4F46F0B8EC2805666A364A156B5B3B4B506286E686904EFA92HAF113A6F6A6369797FFFF93D9C1A2H1C1113286FFE2ECEC8070E2H3D3B7D7C611056168580F7B12HB74CA222A2226901C02H416FC44548446F9B1B901B69763070F880050347454C3HB8B0442HBF3FB5442H8A0A8D442H898C09692C2A6D6C4C2H23A328443HDED8442H0D8D0B443H606C444HC71172F2AF0D69D191DE516994522H944C2HAB2BAC442H46BB396915909E591D08C8F877690F8A84511D9A1F91FA1D19991B99697CF9F7331DF376F8B31DAE6E53D1699DDD9D1480B0F0B03069D791D155802H42A93D6961A16B616F2HE4E564697BFEF0221D2H16FE2H69A520AEE41D981D93DE1DDF9F23A0692A2HAA2A392HE9A3A96F3H0C8C69034353436F3EBEBB7E56AD3H2D06C03H0006E726E4E76F12D2E16D6931B4BA7A1D34F4CF4B690B0AC9CB6F3HE6666935F4E5F56FA82AABA86FAF2DE9EF6F7AF8FFFA6FF93B3A396F3H5CDC69935143536F4E4D444E6F3HBD3D69505340506FF734B9F1563HE26269818291816FC4878E846F3HDB5B69F6B5A6B66FC5464183563HF87869BFFCEFFF6F4A89CECA6F3HC949692CAFBCAC6FE3A02C6456DE5D2H1E064D0D96326960E56B2A1D0747F77869B2727CCD690200DDB486703F3H00013H00083H00013H00093H00094H00D208090A3H000A3H00AAD1E0790B3H000B3H00771423650C3H000C3H004A3DDE230D3H000D3H00C7D24E0A0E3H000E3H0096351B370F3H000F3H009E1E405F103H00103H00013H00113H00293H00AD3H002A3H002A3H00013H002B3H002D3H00AD3H002E3H00343H00013H00353H00353H00D13H00363H00373H00013H00383H00393H00D13H003A3H00433H00013H00443H00463H00AD3H00473H00753H00013H00763H00763H000F3H00773H00783H00013H00793H007A3H000F3H007B3H007C3H00013H007D3H007D3H000F3H007E3H007F3H00133H00803H009C3H00013H009D3H009D3H00133H009E3H009F3H00143H00A03H00A13H00013H00A23H00A33H00153H00A43H00A53H00013H00A63H00A63H00163H00A73H00A83H00013H00A93H00AA3H00163H00AB3H00AC3H00013H00AD3H00AD3H00183H00AE3H00AE3H001A3H00AF3H00BA3H00013H00BB3H00BD3H00033H00BE3H00C83H00013H00C93H00CB3H00783H00CC3H00E13H00013H00E23H00E33H00023H00E43H00E53H00013H00E63H00EA3H00033H00EB3H00EC3H00013H00ED3H00ED3H00033H00EE3H00EF3H00013H00F03H00F33H00033H00F43H00F53H00013H00F63H00F63H00033H00F73H00F83H00013H00F93H00F93H000D3H00FA3H00FB3H00013H00FC3H00FC3H000D3H00FD3H00FE3H00013H00FF3H00FF3H000E4H00012H002H012H00013H0002012H0002012H000E3H0003012H0004012H00013H0005012H0007012H000F3H0008012H0009012H00013H000A012H000A012H00783H0020BD0A0200A52888083H0010C1D65FACD7132288163H0088198EF7A4497276F045B2644ABA77549146B146E18F88143H00BA53F021B65320A6E5FC41942CCA75BC94661148880E3H0026EF7C5D62D5D11799A0338CA781880E3H00D081961F6C7A979CCE69096D5ECD880D3H000AE3C03106F436ACB6E572ABB288173H00E754957A13707AED2F9D94A9D82483DEA3DCE5EFE99033880D3H00E6AF3C1D22250EDEB15BB0939288093H0073904156DFEB98772488123H0008990E7724A3B3126E8E7D91586A514AE98C88123H007EA714553AD20053C93F1E0E2A9DFC72053E881B3H000405AA03603E8CA97E04F3FF08371D6FF832BED8FFDA6C139CDC0488093H004BC859CE371501631088173H0040B186CFDC14179A42D5434A5F93FA2C58A4E6997ED94F88153H00ABA8B9AE2H97CBA0EC9DDD2HEB922D012D4CAF00FB88153H00B475DAF3103788F60856E99CFBBB485514635837DD88093H0071468F9CFDD449D2B1880C3H00FE2794D5BAC6DC4497A29C2088163H00F26B68796E452CABD41F4863BBF69116354C31045C6188093H0074359AB3D0B7E8EB4188113H000DD2CB48D9596EFF396679B6A8E8393B3C88103H0042FB3889BE75D0508DB4A48216B6ED3B88173H00B22B28392E3906F49905BF532E252D0548675202B5B8EF88113H00F55A739041AC97DFA27E247FFC6130FF0888133H00CAA380F1C60536EC2257BDF5819E8BAACB563A88183H00A1363F0C2DDDD6B0F2AC7F3231DC4635CD1A3902E5CA9DA388063H00A95E07F4B55888173H00335001169F3993187ADA8C4B9EA8A37758AF8C2F2863B5880B3H00C27BB8093ED0D7A4D5214888193H0061F6FFCCED2481A0B231E90E25192A9008068D48E2387BDC6788143H001EC7B475DAA9E1C81179D5BFE401863BD28BAEAA88193H004A230071467265B4BFFDE917F2DB4446F900F5B03857347B99881D3H006B68796E5712E67FD721B1D4A45790836E8257F31AD03124F510B1E8BC88153H006C0DD2CB48F32BC2763E057810BDD976EC0F8E35F84716C878ED4HFF881A3H0089BEE754957F2457B6D1D74A96124FB7F58D901757C39EF5E84C880B3H00AF3C1D225B7770AF210AE4881A3H005A73904156C3A4DA37BFED15B8CFAF842BFFE602AF2A988D21C488143H00F8497EA714BF1FE6A23AF96B9669F72498907B5288063H000405AA036049880B3H00A66FFCDDE2C2353F4C679E880C3H00B51A335001FD39AAA504CDB0880E3H0059CE37E465F1669B672DC2E346EC88173H007BB8093E67A5F9FC77FCBEB919A51E81C4C9D0F35363C488253H006AC3201166292FB8468A288B057C49845FB9BEFC9B4BF8E3043BC857DD541375941F23F8256688093H008F9CFD823B6729E66C881A3H0094D5BA53F018AD5C1E25ADBA9175965C3472891C76E497CEC92388113H00629B5829DEAA42079339BD5C414885A0D0880C3H00CB48D94EB71650E99067834288133H004F5CBD42FB29DA74FD858B13F255E1456C090488093H00B22B28392E07C6BB02880C3H0043A091E6AF513CF3E8CDFA7C47D8EE22804HFF88093H004734F55A7346D9009788073H002CCD928B08AFBD88123H007724A5CAA32E016FDE77C641E2A6800D4277881A3H00553AD370A10CE9F8C3B0A7D47F53D89863781502E39D1281D83B88123H001BD8A95E07F901C4A8842F9629285A9B44F5880A3H0059CE37E4654237F9199C88133H00CFDC3DC27B52954BE203BA4CD1227A2BA2A954880A3H0032ABA8B9AEFA5DF31AE1881F3H002011662FBC83B04EB8CC2F2823C5722718278D287F283F9A4B2CF1048E1D84880E3H00230071468F1221F9AF05591053E1880A3H00D5BA53F021373A09720C88123H006B68796E57059050E73C6757DC35DF00CB4C881F3H0029DE877435797B5092BA64436628FBAF008FD49780E35DB05B6904831B4CC588193H003889BEE7541B58D3EA5D8346E2B643B379B1044B4327427F9688143H0091E6AF3C1D68156D66340CFAC974FECC47B6C17B370DF5656300103H00F648E216417902ABC14275A30A0200631191129169501053D0692H7370F3692H6A6B6A4C65252H656FD4542HD43D67E75E14040E4E347B04F941A8846E58C702276E5B77D6AB0432DEE4E70E8D707B93011CE2B4B000CF0459AC375615E1ED40613HE14C2HE060E0444HC3443A4EF41244B578BB2E812H0007DB2H1D0A3H00013H00083H00013H00093H00093H004789EA310A3H000A3H002FB1092D0B3H000B3H009990DA630C3H000C3H0002B91A380D3H000D3H00DD72F27E0E3H000E3H00D8E2126E0F3H000F3H001C97FB07103H00103H008B7CEC6D113H00153H00013H0004780A0200C147E252E2527B00013H0015E4D44156C50025F4D145AE0A0200A12H6462E469F535F0756962E267E269BBFBBABB4CD0902HD06F31B12H313D2H2E975F042HD7EDA004BC771B9130AD377DF622BA2BB7D16FF391775654A8D21C8E31A9A8B8355646788B9F2B4F0F4DCF6914D91A8F81E53H652692129212253HAB2B6980402H006F613HA13FDE9E20A169C776F8A655AC2CAC2C441D2H9D9C552A3H6A2523A222AA0158982H1807195999592CB6364AC9693FFFC2406903001CC3D8040F3H00013H00083H00013H00093H00093H0051FB75150A3H000A3H00950EEB3B0B3H000B3H0051765E470C3H000C3H00294A94430D3H000D3H002926146A0E3H000E3H00058E29430F3H000F3H005F78D53C103H00113H00013H00123H00123H00223H00133H00173H00013H00183H00183H00223H00193H001C3H00013H001D3H001D3H001E3H001E3H00203H00203H0004790A0200712563C7EF3BDF19024H0052DE90102H5D0229E3216BCE0A0200832HC4C94469B777BB37693EBE32BE692H8988894C08482H086F6BEB2H6B3D2HA29BD104DD9DE7AA04CC5D813B589FD9F0234D86B43DCF61F135A91A2FD06926C47393F15AEA17AACFD88B0385C7E72144146B74956447172F216CCE9E4E780DD927AF32272H98901869BB0A84DA5532FF3CA9812DAD2DAC253H1C9C692FEF2HAF6F9656D656253H41C16920A02HE06F23E363E2583H3ABA69D5552H156FE4514A8C27D757D7564EDE2H5E5F25A92H2928583H28A8698B4B2H0B6F423HC2117DFD860269AC6CAD2C69FF4EC09E55E666E666253H119169F0302H706FB32H333258CAA67512173HE565692H74880B6927A727A625AEDA400627F93906866978BB94BE31DB5BDB5A4E523HD2253H4DCD69BC7C2H3C6F8F8B5F47022HF67677623HE16169800080AD5B033912F7275A1AA62569B5F54FCA692H00793E125A203H00013H00083H00013H00093H00093H002D2CEB6A0A3H000A3H00C92AF3360B3H000B3H00EAD9FB0B0C3H000C3H00EB3E302H0D3H000D3H009B88AE6F0E3H000E3H007A0B250B0F3H000F3H00FA85FA33103H00103H00BEAC227A113H00113H00DDFEDF4A123H00123H001FE2D31A133H00133H003E07DE28143H00143H0027166C19153H00153H00013H00163H00163H00913H00173H001D3H00013H001E3H001E3H00943H001F3H00203H00013H00213H00223H00943H00233H00233H00013H00243H00243H00903H00253H00263H00013H00273H00293H00903H002A3H002A3H00943H002B3H002D3H00013H002E3H00313H00903H00323H00353H00013H00363H00363H00913H00373H003A3H00013H003B3H003B3H00903H003C3H003D3H00013H003E3H00403H00903H0005780A02008186A29934D77C044H0080E95B87391D00B2571501B90A02009D048402846911511791692H8A8C0A693FFF2H3F4CC080C1C06F5DDD5C5D3D26A69E5404EB6B519E04BCDC56CF7AE9D20DAF0D028096FD045761F48B6FF8310E7152357536B5691ED3108581C38283038074B48B0B694181C1C3287AFA840569EF6FEF6E253H30B0698D4D0C0D6FD6D2861E021BDA2H1B3DACAD2HAC11D9506D513432332H720687077BF8694HE825E52H65E539CE8E0E8E253HB333692HA4E5E46F2HF12H713DEA3H6A11DF5296A333E020A0A1623D2HBDBC25C6C2160E022HCB4B4A621C2H5C1D12C90931B66962A29B1D692H00886A00130F3H00013H00083H00013H00093H00093H00EA77785F0A3H000A3H005682764E0B3H000B3H0078ACCC780C3H000C3H00CB50B81B0D3H000D3H003E7733590E3H00113H00013H00123H00133H00CD3H00143H001D3H00013H001E3H001F3H00C83H00203H00213H00013H00223H00223H00C83H00233H00243H00013H00253H00273H00CA3H00283H002B3H00CC3H00077C0A020059B1880D3H00CDB6B71001CEBB272DD144EF07880C3H0072130C9D06B494DAB6908B1E88173H00AEEF88B9C24052C773FED3A06F53D082B35D0E92A4318E881C3H003DA6270071FFA32C5AE9327B661C21B9ECEF8EA0AC2CEA2FB3EE55E47CF4404125044H005CE0B532629401154AAA14AC0A0200832HB7B337693EFE3DBE6989098A096908C82H084C2H6B6A6B6FA2E2A3A23D2HDDE4AE048C4CB6FB049FCAEBDD0C867422C142B111EFCF5B10087F980C5316A66538AABCBB3801C59F31E15B543F4AD8194753ED0C358EEA475D00193H59253H981869FBBBBABB6FF23272B256EDAD6DAD563H1C9C69EFAFAEAF6F2H16962H56C13H4144A02HE0E16D63AE6DF881FA8A055B552H00A83E253C113H00013H00083H00013H00093H00093H00AD0DFA660A3H000A3H00081079200B3H000B3H00ADA949130C3H000C3H00CDEBBC2D0D3H000D3H00F96742080E3H000E3H00651A1F070F3H000F3H00265CBF69103H00103H0074DDFC6C113H00113H00E8A7D117123H00123H00BE281160133H00153H00013H00163H00173H00673H00183H00193H00013H001A3H001C3H00673H001D3H001D3H00013H001E3H001E3H00673H00037B0A02006142880D3H0029FA2BBCAD23478B0BC29B1CAF880C3H0006B7C8390AE8172E4BFCC9C188093H001243D4C5165932FDCE9DA21A726F014H000AF4135955BE028967BD59F40A02007315550395692HD4C2546977B762F7692HEEEFEE4C69E92H696F58182H583D6B2BD319042H9228E7042HFDBA772B9C74867A005F4DF02E24B6E5F6C22D91CCF26B4C202EC27D1813397F4769DAB59AA75E25BAD0653A2H6476E469477B56B327FE3EF87E6939F929B969E8AA28EB347B7EABB702A2625DDD69CD0DCF4D696C1882C527AF13E5973F2H86840669A1E361A268B0E801802763A39D1C692HEA2HAA01B575B13569F434F8746997A1B97C274E8C0E0F62098908896978BE6871024B090B0A25B2F24CCD699DDF5C9E303CBC7C38123F7F3DBF699616961669713373755D8016F170272HB34DCC69BA3A41C569C52H0781583H84046927E52H676F1E5C1C1A5D99DA75D031C8080A88705B1BA32469428F4CD9812DDB4305274CCECCCF448F0F8E0F69A6A466A53041C1014512D09027AF692H030183690ACB2HCA255557D555251454E96B6977B5B7B4442E2C2E2C733HA92969989A18265B6B2A2HAB07D2522EAD693DFDCF42691C5E9E58563HDF5F69F6342HB66F5193D015562062A164563H53D3699A582HDA6FA527E52630648D33EA6C0787E878693EFE3EBE69397BF9782528A8D457693BFF57FD31E2221C9D690D8D0F8D696CAE2HEC3D2H2FDA506946062HC63D613HE1117044CA62322H63A2A33DEAEB2HEA27B534F4F53D74352H341197A21DD32E8E4EBA317AC98B48493DB87852C7692H005A5B75252F3H00013H00083H00013H00093H00093H005BDEA24B0A3H000A3H00C5A4A83F0B3H000B3H002FD8705C0C3H000C3H00016EE46D0D3H000D3H003BC314100E3H000E3H00BA35E36B0F3H000F3H0072A50A07103H00103H00B3DDDF6A113H00113H0065E6BD1A123H00153H00013H00163H00163H00383H00173H001C3H00013H001D3H001D3H003A3H001E3H001F3H00013H00203H00223H003F3H00233H00233H00013H00243H00253H003D3H00263H00283H00013H00293H002C3H003F3H002D3H002D3H003D3H002E3H002F3H00013H00303H00303H003F3H00313H00313H00413H00323H00333H00013H00343H00343H00403H00353H00353H00013H00363H00373H00353H00383H003B3H00013H003C3H003F3H00373H00403H00433H00013H00443H00443H00363H00453H00463H00013H00473H00483H00363H00493H00493H00373H004A3H004A3H00413H004B3H004C3H00013H004D3H004E3H00413H004F3H00503H00013H00513H00543H00413H00553H00583H00013H00593H00593H00413H005A3H005F3H00013H00603H00613H00353H00623H00633H00013H00643H00643H00353H00653H00663H00013H000C810A0200CD5647F67HFF47FE7HFF478H00884H00880E3H004B80F16E87DD3A27D3293677DA9047FB7HFF880D3H000572BB30E1872BDB9356B7344F478HFF88093H0036AF94F5A2ACF574A1523CC66074044H00A905F77A13D701B7CEF0002C0B0200394BCB54CB69B8F8A738692H110E9169266627264C2H8786876F840486843D2D6D145C045292E824042H0378ED72D04DA59748495126660CFEC5166D66FF07FE7F0D5C1C40DC69E5252HA56FAA2A2BEA56BB7B44C4692868E868583H018169165657566F77D060B96C34F431B4695D1D9D1D60C22H82835573F0DFF531C0812HC03DF9F82HF9112E7AD1A2703H2FAE1A3H0C8C69152H955F5B9A3H1A112H2B35AB691858189869712HF1F02586467AF9692H6771E76964A96AFF814D8D0D0C623HB23269232H63355BF02H7071253HE92H691E9E9F9E6F1F482E3227BC3CBE3C69C5850585253H4ACA69DB9B9A9B6F88CB64CD31E1611D9E693H36B4163HD75769149414815B7D476C8927E2A2F36269D313D2536920212H203DD9D82HD9110EC47F326ECF8E8D8F3D2C6D2H6C11B5B737C552FA7BFA7A600B4BF77469F82H7879253HD1516966E6E7E66F8747C7472H440545443DEDEC2HED11923D71C769034241433D90D12HD01189B364B66A7EFF7EFE607FFE2HFF111CF816EE4E3HE567162A103BDE272H7B70FB6928E82DA869C140C1C0623H169669B7B637DC5BB4F5F6F43D5DDC5DDD60C2432H4211F3FD35C2793H0082163HB93969AE2EAED85BEFD5FE1B27CC0CCB4C69551557D5695A2HDADB253HEB6B6958D8D9D86F713HB1444686B939692726A726253HA42469CD2HCCCD6F32B32H723D2H23D95C6930703AB069292HA9A8253H5EDE695FDFDEDF6FBC3H7C4445842H453D0A0B2H0A119BC604826EC8898A883DE1A02HA11136D80706301796179760D4552H5411BD739148293H22A016132902E727E020E06069995961E6690E8ECF8E75CF4FCF4F606C18A22H44B53H35253ABAC445698B3HCB253H38B869D19190916FE6A626A65847BD96732704C4E77B69AD2D4CD269D253D3D23D03022H0311109012337BC9888B893D3EBF3EBE603FBE2HBF119C44B7A9563HA527163H6AEA69BB2H3B3C5B68A82HE80181017BFE692HD6D75669F72H7776253HB434691D9D9C9D6FC2028202447333880C694080A13F69F93H79746EAE2HEE01EF749834410C2H8C8D552H00FE280747353H00013H00083H00013H00093H00093H00429B15760A3H000A3H00848A666E0B3H000B3H00191CA70A0C3H000C3H007558340A0D3H000D3H007216EE480E3H000F3H00013H00103H00123H006A3H00133H00143H00013H00153H00163H006A3H00173H001C3H00013H001D3H001D3H00703H001E3H001F3H00013H00203H00223H00703H00233H00243H00013H00253H00253H00703H00263H00263H00013H00273H00273H006C3H00283H00293H00013H002A3H002A3H006C3H002B3H002C3H00013H002D3H002E3H006C3H002F3H00333H00013H00343H00343H006D3H00353H00363H00013H00373H00393H006D3H003A3H003A3H006C3H003B3H003C3H00013H003D3H003D3H006C3H003E3H003F3H00013H00403H00413H006C3H00423H004E3H00013H004F3H00523H006D3H00533H00533H006F3H00543H00553H00013H00563H00573H006F3H00583H00593H00013H005A3H005A3H006F3H005B3H005C3H00013H005D3H005F3H006F3H00603H00693H00013H006A3H006A3H006F3H006B3H00773H00013H00783H007B3H006E3H007C3H00833H00013H00843H00873H006A3H00883H008E3H00013H008F3H008F3H00703H00903H00913H00013H00923H00943H00703H00953H00993H00013H009A3H009A3H00703H009B3H009E3H00013H0007810A0200552H88083H0067A4E57AF3F5227E880C3H00BFDC7DF2CB7D06696010CF7288073H00A39041066FCB55880E3H00E27B4859FE755D76ECFBCCA910366688083H00BCDDD22BB8B33961880C3H00F4754A03701B53C6C792AA5988163H0028B9DE276451842FA4C3C0BFDB4209F225C0A9E8DCD5478HFF9BC2BBEE53044H002DE218BE10BB013608D459C60A02008D15551E95692HEEE56E69834389036964A42H644CE1A12HE16F0A8A2H0A3DAFEF17DF0460E0DB1604AD3F042H18266167D06B5B2H51862C5CF82A9F3A79946F2D7E023866204E07BF76B65998352EF40D45F60BE952DE5CFEEE17B373B53369D465EBB5555191119058FAFB2HFA3F5F3HDF2650D050D125DD1D9D1D25D69628A9694BCB4BCA258CDB3DA02769682H693FF23H722677C64816552H08880849B51DDD0301CE0E33B1692HE3E26369C444C444253H41C1696AAA2HEA6F8F2H0F0E584080BD3F694D2HCDCC25462HC6C7583HFB7B697CBC2HFC6FD971B16F012H62981D69A7275DD869F83H782H25E5DA5A697E7AAEB6022H931312623HB43469712HF1265B5A604BAE273FBFC74069B0304ACF69030020894A011B3H00013H00083H00013H00093H00093H0009F12H460A3H000A3H00C39D733F0B3H000B3H00C9F0081C0C3H000C3H00A372E4070D3H000D3H0045657D160E3H000E3H004EC796520F3H000F3H00457F760C103H00103H00DCAE1E33113H00113H002F2EA637123H00123H00032F6D60133H00133H00013H00143H00173H009C3H00183H001D3H00013H001E3H001F3H00993H00203H00203H00013H00213H00233H00983H00243H00263H00013H00273H00283H00983H00293H00293H00013H002A3H002A3H00983H002B3H002C3H00013H002D3H002F3H00983H00303H00323H00013H00333H00333H00983H00343H00353H00013H00363H00383H00983H0005780A0200D52267C52FF152044H003CBFFBC550DE025F682F48CB0A0200ED7DBD74FD6916961F96696B2B62EB690CCC2H0C4C49092H496F32B22H323D9757AFE6040888B37D04D50056F56BCEBADBD754C3D68AB93B44C0AEDC1C61B85693136AE1C49D186F763C1D3180B362A627AD63F4E77CC677E9684E5BDE286E58BC085F245EF939FD7969A26FAC39814776F8A655B82H7879253H8505693EBE2HFE6FB3B22HB3447435B43444D1112EAE691A9B2H9A3F9F3H5F2670B030B125DD6873B5273676F6F762CBCACBCA253HEC6C69A9E82HA96F52A73C7A27773267FE02A8C4D8BD0235342H35262E3HEE253HE3636964E42HA46F41810180583H8A0A694FCF2H8F6F20498856018DCD74F269E626E66669BB4AC49A559C3H5C115919A326690242038269E727A727253H58D86925A52HE56FDEDF5EDE44D3931312621494E96B693171C74E690300DF46D47C1E3H00013H00083H00013H00093H00093H008FBBAA4B0A3H000A3H00D93EEF5B0B3H000B3H00BC83753D0C3H000C3H00365D2B120D3H000D3H0071F0EE500E3H000E3H000310B31C0F3H000F3H0027BF1B05103H00103H0007DD6F48113H00113H00F3F75C6D123H00123H00A948AA7D133H00133H008DD59751143H00143H00EFBD4636153H00163H00013H00173H00173H00AA3H00183H001E3H00013H001F3H001F3H00A53H00203H00213H00013H00223H00233H00A83H00243H00253H00013H00263H00283H00A83H00293H00293H00AA3H002A3H002C3H00013H002D3H002D3H00A43H002E3H002F3H00013H00303H00323H00A43H00333H00333H00A53H00343H00363H00A43H00373H003A3H00013H003B3H003D3H00A43H0008780A020051ABB71A5FB46C044H004ACFC320289C009085F71FA80A0200612H7A7EFA6933F330B36928A82BA869E9292HE94CC6862HC66FCF4F2HCF3DD454EDA40465A55F1004D2987E954E6B280BF27040E8834C67A1E82E67611EE3D95C4447566520386C79EB470FDDCAC1A778EA99903E4163CFF342694H5825193H593D363H7611BFF753994204440405232HD555D52582C20282772H1B9B1B492H00AC3956110E3H00013H00083H00013H00093H00093H0090B7CD320A3H000A3H00096025440B3H000B3H00B51DF04C0C3H000C3H00622H0C590D3H000D3H004DCFCC250E3H000E3H00664D46310F3H000F3H008FB51A13103H00103H00DDCAEC40113H00113H00D578B723123H00123H002HAF6B6A133H00163H00013H00173H00183H00D23H00193H001A3H00D43H0002790A02008D804778EC6HFFDA7B4F5174024H00ABA4D48733170194683134D40A02001570307AF0692HC5CF456966A66FE669A3E3A2A34C8CCC8D8C6FF171F0F13D62A2DA13042FEF155A0428FD999117DDD965DA655E3DEE6B783BD0A6A03704BB73F54EC93093CD5FDA69E83A6C87078107692H60E060493540DB9E27D61629A9691393D2514F7CBC8303692H2122A16912D352D2259F876EF02798D95859623H0D8D694E8F8E865B2B2HEB2812F4B4FC7469B9F9B93969CA5C3B2H2737CB3D4F3F102H50534B2H2522A569460645C6692H832H032D2H6C9013695191AC2E69C23H42253H8F0F69C80849486F3D6A8C1127FEBEFE7E699B3HDB062HE41A9B2H69E92HE8733H7AFA69672HE7A35B4000BC3F6995545554253HB6366973F2B2B36F9C1D9C5F563H81016972F3B3B26FFF3EFF3C56F8B9F83B563H6DED69AE2F6F6E6FCBD33AA4271455D4D56259D9981B4FEA2A1295695796179725F0349C383185457AFA69E6A7262762232HA3602C4C0CBB3369B13143CE692H00281989071B3H00013H00083H00013H00093H00093H00D9D12E410A3H000A3H004D0F95220B3H000B3H0070CF7C490C3H000C3H0083DB6B640D3H000D3H00321554010E3H000E3H00D459927B0F3H000F3H00A78D2E11103H00183H00013H00193H00193H00293H001A3H001B3H00013H001C3H001E3H00293H001F3H00203H00013H00213H00233H00293H00243H00263H00283H00273H002D3H00013H002E3H002E3H00283H002F3H00303H00013H00313H00313H00283H00323H00343H00013H00353H00353H002A3H00363H00373H00013H00383H00393H002A3H003A3H003B3H00013H003C3H003D3H002A3H003E3H00423H00013H00433H00463H002B3H00097C0A02008D85880D3H002A9368B9567A54F67033D0014C88093H0087CCCD5A03A3B0677C880E3H002445723BF0E1DA8B53227C42AB66880A3H00B6AFD435A2969558DCBF59449DEB48034H007D805A403805037DFC1540B40A02000B22622AA2692HE5ED6569FC3CFB7C6997D796974C26662H266F59D92H593D20A0195304ABEB90DE046AA38ED469CD2D6CA45444D25ECD1C7FE0AC3C37EED87F6A08C14EAE6C2BE8E476F56CD3BA17BF4CB2F2B6326975840A5455CC0C8C0E4E2766E767253HB63669E9E82HA96FB0F52038023BFA7B7A623HFA7A691D5CDDDB5B14951494250F0A5FC702FEFF7E7F623H51D169B83938745B633BD24E272H42BE3D6985842H853D1CDCE76369F73H37254686B839692HF979F9492H00A5F9F175123H00013H00083H00013H00093H00093H00613377210A3H000A3H00772074700B3H000B3H00BA69473E0C3H000C3H00AFF3DE290D3H000D3H00E8FE80330E3H000E3H003FDF734C0F3H000F3H001A5BAD42103H00103H00A7B2D612113H00113H00013H00123H00133H00B13H00143H00173H00013H00183H00183H00B13H00193H001A3H00013H001B3H001D3H00B13H001E3H001F3H00013H00203H00213H00B13H00223H00263H00013H0008790A02009DAB47D8EE22804HFF4FEBD02422024H0039691BAE345902EAAF1208A90A0200A140C043C069E1A1E261692H1E1D9E6907C72H074C6CEC2H6C6FDD1D2HDD3D2HAA92D8042HE3D99404185F9904619922442844F69F8B747CBF25B02A18C4AC67197D95EBFE617A827CF4572BDBBE90C943B03H70253H51D1690E4E2HCE6FF7F62HF73D1CCB2DB027CDF8E325279A5BDA5A25135253D33908A4B8DD02C9492H094626EB28BD81030050363F150B3H00013H00083H00013H00093H00093H002A43A7480A3H000A3H0081A8915A0B3H000B3H00FBC22D450C3H000C3H00C8E68E130D3H000D3H0086EEE04F0E3H000E3H0079DE46650F3H000F3H00D1AF325D103H00103H00E843336F113H00173H00013H00183H001B3H007A3H0009790A02001145881B3H002C5D9EEF5089D59EE0D79CC93C2A570B6044114BD7B8496B7FCAC3D38EBECF76024H00F47A4CFF4F1E02501B272EDA0A02009B2H6F6BEF692EEE2DAE69D151D25169480849484CC3832HC36FB2322HB23DC545FCB604ECAC579A04D7C2096C4736F212F51BB972ECD52750323D997A6B2FAD9742FAB7F07B6AADA7F71814347F50942ABF632D8E19FE5A8C350BA13H21253H58D86913D32H936F8286524A022H951514623HFC7C69A72H271B5BC66EAE700149894DC969E020E06069BB4AC49A55CABE246227BD0813D527840484054E8F0F8F0F254ECEB03169F13H7181E825E67381A32363622312D252D0253H65E569CC4C2H0C6FF732E7FF02D6972H964C3H999A254HF044CB4BCE4B695A5E8A92020D4D0D8D69942H141525DF1F21A0692H5EDEDF62C141C0416938CDD61027F333B3324EA262E262253HB53569DC5C2H1C6F879076EB272666DC596929E969E8253H0080695BDB2H9B6F2A9F0443279D5D5C5D4FE42H2426253HAF2F69AE2E2H6E6F11D401190288C8890869C34383025732F272F2253H058569EC6C2H2C6F9752879E022HB64CC969F9392H384F2H10EA6F692H00BD586E19213H00013H00083H00013H00093H00093H004693651F0A3H000A3H00E1080E6E0B3H000B3H00496BCF3D0C3H000C3H0032F812240D3H000D3H00105BFA120E3H000E3H0059E3A2570F3H000F3H00C742C136103H00103H0093D31E17113H00113H00BB66A131123H00123H003C9AA62A133H00163H00013H00173H00173H007E3H00183H00193H00013H001A3H001C3H007E3H001D3H001D3H008C3H001E3H001F3H00013H00203H00203H007E3H00213H00223H00013H00233H00233H007E3H00243H00243H00013H00253H00263H00843H00273H00283H00013H00293H002D3H00843H002E3H00313H00013H00323H00333H00803H00343H00343H00853H00353H00353H008C3H00363H00443H00013H00453H00463H00853H00473H00483H00013H00493H004A3H00853H004B3H004C3H00013H0006780A02005111D79346722107013H00E0869D387949006FFE4746B80A0200992H6B6CEB69B878BE386971F177F1692H6667664C27E72H276F2H0405043D0D8D357C041252286604A3F2DCBB4C90C7F3955AE9131511737EF3DA5304DF00BCDC2B9CF2AB1156856FA65973AAEAA92A69DB9555C0816869E868253H61E16996572H966F57BCA7C202B4744BCB697DBD2HFD464282BD3D69935E9D0881403HC0253H59D9692E6E2HAE6F8F8BDF47028C0C70F369353H756F3HDA5A690B8B2H4B6F2H982H186F11D15150623HC64669472H07D55B24885B3C172HED1792697232B27236834378FC697030890F6903002FBD7A370E3H00013H00083H00013H00093H00093H00CFE7E3390A3H000A3H004726E7750B3H000B3H00A180D6560C3H000C3H0009D09A170D3H000D3H00E52832580E3H000E3H00164882050F3H000F3H0035689377103H00163H00013H00173H00193H00893H001A3H00223H00013H00233H00233H00863H00243H00253H00013H00263H002A3H00873H00067B0A0200019B880D3H0047B8299A0B1EB7400D973A33AA478H00880B3H000475E657C854985661DC9A59DC57C17C024H00A2B35FE60F4101D16A7835B10A0200DD49894CC96922A227A269B7F7B237692H9899984C15D52H156F2H3E3F3E3DE363DB930494542EE204A1C974532EDA0713502A4F0842A86310322ECD382D70477F31B668AE146E3B055792592HCCCE4C69393HF9812H129212492H672HE7073H08886945C545A25BEE3H2E6F135311936944C1140D0251D151D1698A3H0A253F3HFF3FC0803DBF691DDCDD9C4026A7A6A7733HAB2B69BC3D3CBE5B693HA9264255B32E2717D7EB6869030080EFF661133H00013H00083H00013H00093H00093H00C371A56B0A3H000A3H006699205E0B3H000B3H007D487C260C3H000C3H006CA5116C0D3H000D3H00F31F8C190E3H000E3H006D82C3620F3H000F3H000BEBCE34103H00103H00013H00113H00113H00BD3H00123H00123H00013H00133H00133H00BB3H00143H00153H00013H00163H00193H00BB3H001A3H001C3H00013H001D3H001E3H00BD3H001F3H00203H00013H00213H00213H00BD3H00223H00233H00BB3H00087A0A0200C939881F3H00DF883932B3148CA9E59703A2B1059C96E7E2A32687EE6AC9EC240342CCC1C288083H009E7F28D9D20104DB52D67A083F014H00FE7903B15F2E04C221FB03B30A0200E578B87BF8697DFD7EFD690E4E0D8E697BBB2H7B4CD4942HD46FE9692HE93D4A8A7239044707FC3204B09D58135B15A20FE44E466A6F557A93C7B6217E8CEAAB8A7801FDCF8E7F02420282699FAE207E55E825E67381ADAC2HAD253E7F2H7E3D6B2A2H2B118452C672049918991925BA7A45C569F7AF46DB276061E0E1623H45C56936B7B66B5B43820383257CB890BA31F1B03130623H72F2690FCE4FB15B585A585944DD1D22A269AEEC6EEF44DB1B24A469B4B5B4B74E2H0059EE851C0F3H00013H00083H00013H00093H00093H000138CF580A3H000A3H00FC1D40660B3H000B3H00E023D06A0C3H000C3H000BA19F450D3H000D3H00E7CB01540E3H000E3H00262HD1420F3H000F3H00013H00103H00103H00B63H00113H00183H00013H00193H00193H00B63H001A3H001B3H00013H001C3H001E3H00B63H001F3H00203H00013H00213H00253H00B63H000A790A0200E5194716C878ED4HFF452DD81E11024H00D6E2CE3D004D02D9F1E94AB20A0200F949C94AC9693E7E3DBE692HFFFC7F692HDCDDDC4C2HE5E4E56FEAAAEBEA3D7BBB430B04E828D29D04C11592646F9628B21C473729C38C7D3425C7E1349D61C9AD0BC26D352009B39B498275C0D6389B1FF93H39253H6EEE69AF6F6E2H6F8C8E0D850115552HD5071A9B2H1A6F3HEB6B69982H99986F71302H31440687068744E726E72640A4E56465624D0F2H4D6F3HB23269232122236FB0F270F044292B2928739E9F2H9E26DFDE2HDF81BC71B227810300C6D0950F123H00013H00083H00013H00093H00093H004ED369540A3H000A3H006B962F520B3H000B3H00872H5A3E0C3H000C3H004CE048180D3H000D3H00475C180C0E3H000E3H002A5116720F3H000F3H0004723B3E103H00103H008A8CC824113H00143H00013H00153H00163H00C13H00173H00183H00013H00193H001A3H00C13H001B3H001D3H00C43H001E3H001F3H00013H00203H00213H00C43H00223H00233H00C33H00243H00243H00013H000A7B0A020005FA88083H00860FBC1D0228DFF6880D3H00BE273475BABBECA9A672E942D988253H00ABC8592E5754EC0D694F5B66A2912AD1C07CAD01DCD63BB6ABBE5B2H3A39B040AB9A1065A27191466A52014H00",108,"\118",172,rawset,rawget,pcall,"\110",169,129,101,_ENV,"\u{005f}\x5f\z\u{06d}\z  \111\x64\z         \u{065}\z         ","\99\104\97\114",string.byte,"\x73\z        \u{74}\u{72}\z      \u{00069}\z  \x6e\u{067}",false,"\60\z   \105\u{00038}",string,"\u{0028}\z       \x69\110\116\z       \101\x72\110\z     \97\z        \x6c\z   \u{00029}","\96\102\111\114\96\32\115\116\101\112\32\118\97\108\117\101\32\109\117\115\116\32\98\101\32\97\32\110\117\109\98\101\114",256,table,"\u{00060}\z \102\z \x6f\z       \114\z         \u{0060}\z   \x20\z         \x69\u{0006e}\z    \u{0069}\z       \u{74}\u{69}\97\z      \x6c\u{00020}\z    \118\z        \u{00061}\u{006c}\x75\x65\z\x20\z   \109\117\z    \115\116\z       \u{20}\u{0062}\z \x65\z        \x20\x61\z  \u{0020}\z\x6e\u{0075}\u{6d}\z   \u{0062}\z     \x65\114",next,tonumber,"\x72\z         \u{0065}\x70",144,...); 

Lua online compiler

Write, Run & Share Lua code online using OneCompiler's Lua online compiler for free. It's one of the robust, feature-rich online compilers for Lua language, running the latest Lua version 5.4. Getting started with the OneCompiler's Lua editor is easy and fast. The editor shows sample boilerplate code when you choose language as Lua and start coding.

Taking inputs (stdin)

OneCompiler's Lua online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample Lua program which takes name as input and prints hello message with your name.

name = io.read("*a")
print ("Hello ", name)

About Lua

Lua is a light weight embeddable scripting language which is built on top of C. It is used in almost all kind of applications like games, web applications, mobile applications, image processing etc. It's a very powerful, fast, easy to learn, open-source scripting language.

Syntax help

Variables

  • By default all the variables declared are global variables
  • If the variables are explicitly mentioned as local then they are local variables.
  • Lua is a dynamically typed language and hence only the values will have types not the variables.

Examples

-- global variables
a = 10

-- local variables

local x = 30
Value TypeDescription
numberRepresents numbers
stringRepresents text
nilDifferentiates values whether it has data or not
booleanValue can be either true or false
functionRepresents a sub-routine
userdataRepresents arbitary C data
threadRepresents independent threads of execution.
tableCan hold any value except nil

Loops

1. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while(condition)
do
--code
end

2. Repeat-Until:

Repeat-Until is also used to iterate a set of statements based on a condition. It is very similar to Do-While, it is mostly used when you need to execute the statements atleast once.

repeat
   --code
until( condition )

3. For:

For loop is used to iterate a set of statements based on a condition.

for init,max/min value, increment
do
   --code
end

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increase re-usuability and modularity.

optional_function_scope function function_name( argument1, argument2, argument3........, argumentn)
--code
return params with comma seperated
end