Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- return(function(...)local __A,__B,__S;__A=function(S,...)local a,b,c,d,e,r,g,h,i,j,k,l,m,n,o,p,q,s,t,u,L,R,G,f,w,x;a,b,c,d=string.byte,string.char,math.floor,table.concat;e=loadstring or load;if debug and debug.getinfo then local __gi=debug.getinfo(debug.getinfo);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(e);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(pcall);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(a);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(b);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(c);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(d);if not __gi or __gi.what~="C" then error("invalid chunk")end;end;f=function(str,tok,val,pos,tl,sl,out,oi,i2,match2,k2)tl=#tok;sl=#str;out={};oi=0;pos=1;while pos<=sl do if pos+tl-1<=sl then match2=true;for k2=1,tl do if a(str,pos+k2-1)~=a(tok,k2)then match2=false;break end end else match2=false end;if match2 then oi=oi+1;out[oi]=val;pos=pos+tl else oi=oi+1;out[oi]=b(a(str,pos));pos=pos+1 end end;return d(out)end;w="@@CLOB85P@@";x="A`PpX`%jm]E&_*GM3hgHaQOBD_FlVjiw+^`,l*%<V?;63x0*ut_+pHmARe[l:/5?>BKs0*Jfv*YFf):P1rLgr(c=x%8,fFTyy>[s_c[[Z`7EeEolnj6.9P0I2uu86wVu:>Udc?)_Q;v$`TU[[tKh`u$KGGs_YBus7A67Qrck76lI/;3S500^,QI(q1htD^USGnH;t*4^lP+L/pY3.&P0LQEbc==]a4EleB0P4']d5H=]?v^t]ihAb&]r#sUDV9$L[>[<lf6>Nqqje0V[B&3dK7(_OihsfBirqU4E-u4HhS1Rn'*Z`bD;%Ju(t>#.gn;']xPWjx?IO=&CY.Jd)2AE]3[V'H47o_*Y8#F>>OqMe+4=[IqsG4jfi_Qt*6&vys>W6y,obQ)8opYJ`C;p48AtN#vFknK,RX>M8GFf..I=86CX7cal^sMt.M=dT](4.YT7,:-#DLcdK]L/o+Q)Fn,3L;)lR^WS>+YSJ.Rvuw=l)I*+g7(Ph`?75x-K0s#a?deJT*Qy<v3tjQ.0%1?^1c)E;kN)[ocBP..a_LKL&=MU;^TL)h-9k*yAp=aqrSE(dIM:31Fp3*4M_5fI:,3,&k&F9M5NA$EKUhPJSW.mfy$9hd-jdYOqe8^_rVCQcTa8?&?,'X+uE7Ns$0<_DJ:'K7.e:,(u7&Y(6<]x+gA`1kQ4mj8hPZwc9=E/;C;-s;3LsA-WZTNYcgU([Xaia#rV+?sD+icAi$/Znd`vMTVF9n;^4F`LW`h&<R$V#l$uopt<,N$lpoVYDG(#w>ip,3ix.f);T%bL*LUm(FDa>=oPW^V9R[XUve-Dx)phkLecaV,?dFP/Ba-WOxOf,'`tHS9[?4UiILSA3tTeOI=BSA-6>eZXk;iaV7S4IaXZB.qGX=l6uOX+:W610DLAvUK<HFO)A=.prS,gB$I`5Jph8JM0U1Dm]K'+TbahYgRvyt</R0uM^E;`:OL],Yon;*$lxe.2qcP/q59W>KlrNmT?e&D?8jg3HWVoU*fc]lOnhK]/*r42b,WwV>VXc=`ZN8#";r={};h=1;for i=35,126 do if i~=64 and i~=92 then r[i]=h-1;h=h+1 end end;g={};j=1;s="B.'##wAn[=b^%(XtVEuTk[3S4A%V-RoukE9)+nXDs_QfL2jXrX}|~-IKd*:Cdc.WAtk$IK'1T:2y5T<$NASN$Z/6p%'UzW7V1lXa+T~GIUyL&KvtTE1bN>cdfFcEF=r;b1N1l+E^1v0DoVxQ.~$n)1WhMF4p]9w`S&Wt6&baHfc^XlJZQ:DdWk<}?(IdMJ&wytbwk<m6+L^{Mt+SI,C0NG+?ga2I1D)d_MrXB-^SUJ(3E,J64GUk`sfJ<N.:CzY*X]iZi(4>,'}}K3iVQ6Xfn`UL}CGn>}E6Lc3rV85_(uCL&f4wI6j~ga;Rz(T^7}=9Hj3LN:Y{k?:IdM8`V7mOnb2c:dF,A8Oe-$SJ:C{Jv4Y6TXAYoFRiAV?'%O6IS_TU##P%lZZc/cbfik5D5fDyU5$C6.neU5V?3yh1xu{bFwL]c=U^h38(WaqY-5)}^~hy]MVnw=5,[?TD&I8H-DBG|%sG4c%lWZ9Z]$OUAd9Yb0W%xCeIqzEd4*aO7O<`90duwI.U_n$*8lRm0e$[TVQ_)UA</5VWrK#a4Zx0TXELR8L<*UZSb*$Ab>F2aK~3U=7Tn[v^kqaT']|]7-}`}M(`8bH?3%Dt],)on>>=`JC~wzp.niYG4-kfRKU&38#m|aD-[uFh5gIY`bSXP/4W;?]Cw4P/d(NOtAYVNYZX)ZhTMxDeWrJ7*#RPW/LEeH$$C*/SJx8pw[_raQ`QBaI(Vo?48H<jrc8_:O]A{Z9D,V=SK_`5.LfT'U$Prug3>>IGWyjb}V[oiUe{PRtO^0U*ArYmkDlGq_-e2d{Q+u74Px~O5K7{pM[>ekf)2$0e,7T:S<CqJ`OW[%5<_lij'lA+D)<t*eKdA?E:Eth(fe-]g='U(g1.=%o(A4FxRUih,8booUOw=}u&HvH2<;:IQPts;xb)T^N+isEzQ^0`k:h234(H}hw9ATX`Jp$-~bK^lHXbZqZe,(uiP?PWE=v(,WU&>9qSDpzs[()X)L5aLE9vGrtGQW4>.<]4-V*$8>0)Tp&M{$wCU8IyB.H6zH>]DB)_$mjj48IC~%inuL6La6R5(Ia/Iki*lUpq#cJK/`I1gp8;:i#EmDX4Z;YstC;PhZ5-Qbu5CXuRPl_,*~]B}Q*&29s/Q2eO.=_~qjOK~_f;2tR|zQ3/G{X0'[tN~uQ&.7zE{[%?>})QixA1*l?*8i/1E7)D4^#h:Z#TMNj$+1QKk3SuT;S_S)Na}]heC]Utr14](~egJWJG(*rmK%;3i',Tt8bV#/8?)eiU^9)Ld-6DwPU=:&,'?_AbAV_O`aG&=Weeb&%3yEJEa]r[w&bq3'CsEk'YmJEu_SSKf7ictg-O8wy.m#D;?U_ro$$dic4GI]7>,fhF8~Cu})x=(Q7di:vJ9L37E9h{i2|4s.F;89L%ixN:`4NIrK.{AUG(.]KHbQ'h5Wn2MXPn8rCTXVvC'AKNDBOtYL'suR=*I8w]'kV{RPp5E+i^PaZ_B)pP0%g1_uZdk$&_&P27yy9Vr3x:RUAVm`I5Xt2P379$j3M9-9MJa,{zuqH[[EiU>u~MYm_e--8qs2dwB3A#mUxF31|Ls7kQsA*NX$^)?h9nSQsz)`4n:z4;E.-^zyTf1%(*X5j>HHZyp8Q0Ir>a46yvaI{K6`dL&XW`^%T#F1bOO3{|xG-*La&#Gz%v:DB[-)'jm#W$h[ZK3#P-^ym1u$k}OR'pNtFR#N<o))VH.e5uD*6OvUoKdS.IF~pCe^l0t?<OP+:GEURtJ_s.u[72F$+<LAN]%+`~*BKW):+G*'Jq,j]AqgXSZQq:[[8xfY3Ujl`UG.?3e>E%F('rCg)NF5D&+=YD-o.ys8|kXLE+c,fRI1RJ-X%DK>.B}^A#=N<-l/1vZH/+YIx_xwcuf-_,FeBz[:KyGYP2Vl0Y=Z_W%4)`)%azCICJ6dFcHa^+>g^4*$,m>S]=-``x9<tG}Py~]iM%e#tPz*VG<.Xe3kDR_mbRce'c$48}6$#Xk_<5^Fa12]~YgqXMFI>4t5L1$D`2J?]nf{2KMDj/0*wXbMTU}Ju(>:2hKq_`N#1`Fj+*+RmhL(KyjeaMswb;)r'&.Xf%{Z5%xGbH3Z*]8Q-R|SfL{Y#;hG(`Ca4%(tY5:J.TMA*G~K'8AzJU+52M[:U7:70TS`MF,85yTM-+=-cH6hb{g.hbYTAa1X[fLQ^|uy3P.p(J$=WsP~1P-#fCq/(bj%?Xk{KhCxn1^Sv(E$40ytnd?KK_=^0BYXOJ*X%X+IXE<=};M()_iM}Kv_dZ3`;Zz`I%;QZCz21*#&:1r-6&BDwe=:<m/;qLIqLpReUeNK?mS_sDV#li2aEV)rA(nH]q`x[wV$_,%RQuQj]BW|MVSD#anG9BOyd,J'|ZV+=5.'u367::WmJEHZ=^,:/'`K`B<[P,Xt?/,/4W#J;SI<pd:.~J,A49;F~,4`g^LM?Zs5j^^kGUD`M+:[|v+.X9UYkCCm.UoFQaVfXQDPL.}?BbLw)gJ_[9[PU4b_&2^Ual)a1RUYA_Jnz`bR}$-J`c5Vb^TfrT*:GjX`tG26*:&xZ|{5#egIKv7zNl,btZjE<ZGhw`X_Ad[OJl,RW{KqV]Mp;_+Wz(LCXyEciZn.W^9$u%ONt:J.I7f<xQyZ3DMH68$=e7VW)L0:dY=K%P3PE'`S%6%Uy:]6*z2)M{22R,jt2QNXf;ZbT8%`5jcMW.<TJ0Zn=i:BKZ(j>xp9rKWyPgJ,f>16LRnQ6p]$HC.|FK)j2390w(|Q#}&yAQDvH,ZScX1>#oM8eVYnRJ14K*Ob;'_BYAsIDN;(aJ]Q#O$6wLvMG]sI$:E<1c>xK.C?M*_6XFW-KtSb`QsvFM#WT3t=FmpUX';HS-qt]UJ[tw5)RwZ1S[m*>Cap9,e%NApQrXg~Vb?D.d-gKh)=IO3?;b/):_FA'#,9sfB4I3zS%s3RIh/c#IK4/,3=>(W,%Va~Ir00BAo4s/2VqYp%&cE*]|DtMF0Z~>$w#x0NT0OE=m:_'ecvanE|%LX&o}6JA$eqsCg%vAZ5HQL<Rf;D(.cE+Fv?2u]3ow'#n|G/.)%X=/pa(?T5U(74B{tc]A`A},M&?^E|0b9NaK}#C=_$0.rQY,S1y]#/IQ{j_WNo{=IK)?+nouN$oMVB-+e.Bb6L.lSL9S,.WVHG>8Zwq5vNcWOlv7-a/)ey0C-*U2{dx-.,hyKQ1.L}?XCMZSGchY.bL0BNY0A`ae/dR,]LGcM:X&g<v:5_2Z7v*'ic(T4vuVY_2%V`Ru.93*?|T&:$H{-H.+WhWAN=N+EhU`/('07K;`/.#>vta9gU;PDu.fGK^uz<(/(0<NW,u+I8+A7Nv9N{ao?nQUN#w4^t(0o]%W7=G6WV]3y/a`E>O-_-&8&EDB4Sx8*{OxC])AQ/IIJzUT&9bcKO6`'VX&,K0,3J+HFu0#'P&YR:]#e)c3540Ch2rJhT=rD%.MgeQSVAXC>SgJxo]q1OHT>Ua|l:*1*,(GCg2*ER]wB)D?5wc]D::0?J-r1f7Yq_`P'%f.V:.LKB=W7*8kWCKw+%CzqKU^Z8OwWueF$_f<^s:_Q]`>5{H.+W9+x[D~?JF1-.|cw{:'3mzEn78M71fEF{P^DesQ6~vr/3LZJ}&M(H&U9W%fU>I#%#L%%MXT,WXF9a=-$P7}2bWU)O>Gjxx#vfel(&/|cIjLRgA>.R)5#K%PcD$IgD|80O3(|9m,3vCS)9/aySU/jVdbZ_/aK$wq5ovouM>IEwO2&ws3D|G?B=k^G1kzDW4{NND.0{qw..6)S_QgDQ#u=w>Sj2+y]W6*w=b%'i9ry5$d.C>N.4Q-U'?JSO7}]>$]jBwo0|[y=F$2fi9h9$f$cZ}S7G=zj^jo0sbwm$2<:U,&Vea|NG>.k%CCIe-[,.;(*QzrYMOYQH$xHyaX;Uk4%vsKh]7h`Kb2?Z_d`E~x10etc^Ev`_/<ozeV>H}rT]rneb`Ce/WbU,b:O,z_P^::XX3foeWN>YbD(>/FU`cw_eMj6tCjI~d].]E%=-Nk.0*Eh8DH0X6;mlhC:U4>ib(r(>H$W]8UQqLz=J|'._pk]6Xvekb$Z8:Q<V^/B=g[]T.p5/k*&/eU=LUD3C|U=,:;9W;6'Z=9dsnmD--$-)V*-{FDfyhxYU=S5V9-5JJQ{{,M_A{oAz,k{ZO4-a0nbEvFwM=qXO1i**Xf_K?M#_~6v.?Q+PJFpA%qh+<AP4c#b>PV8iN}y`p7^qC1ml0+M<2wGe6hnSrB|o&<i&t94/eK#%|KLE<x=K5D<^%fGwUE#`1%c_kef0F<y''%zG:#&^+[_DLX1ts(>(YjoNyAK$Wkfw=;[qBZ:6(SI`FVoD9NU{p)lkTKYoRl6TRMPb7E$Oc?p>s~1]J[IU3qIbe]Z7HT~'[lPF-vPLUHh1_0C6O&,Iq|=_4ht'^99`2H^M?f+aGF/^k}JK7.DgA+4)5O/b?AJL9rEYK6|~+e(]qXazLXe>,`;/%cU4eQ^N4D'ir8$&J*':]DQHSv/','^RE9,ow)K$fhX6^?#}UTd*%/&M>BkS?BzFZ&,pWW|WuABEC$DE|1qmLcu77:`4['T>i[qTWW7/Ef+]g&^*53<y8(,FM{iyGW$?74w[nJ?4,-)BMq*h=CF)q(z1(G-gM+h;m;jP:[aN_OoI:u2s#IQ*B0{nS2yGec1TW:CnCV0[abh:QgRQT2ru%^De0+;8CD4l$fiRHb9ix|;Xuev?DYw;?fL}s6P&7?euSz$UH7lJKy6Z8Z}Rv=7]ViVRhbkcGF?.SJsUJy/P[G6IEC#k/3Nua%VjzzOm`:42%n*M,3H>[b.6A}Ikn}/&1N=PMdZ.TVuKGe3HA/37~fvAQTJDr7;8:J=nE;W4mmHF0d`(:-3Q}/9iW^<5b0t*3ll-qNLec:.K<(a;1r^gQ0:L/K#~/NVowhI=PW{tOAr1{4'9xcEbjPL;vnG&cVnN^4s+?n1.#yUH?-?.%loIv:$Nhl=YQDd*]H.,H0VpzRj*1'2?wN#S'_XGL;xi-DVGNT$Q|<[WUOC_Xm%s$&Klk~EG6-P&{U{f*?g8vB>P1aQ+w5uUc[tZZ;RLA-D1Kq-XR`J<0$SNL;.YBa*mhgKPUv%SjW]'AnQc$2+#r='v,ksexi<13<Rf>L7gO)b_p>(fB7~(:$*wi7_C2E/hR-8.e2am,f6^;*tF<Tck2[%X/lcZ>TqQ9-`Ujx<XINrC{mQ)H[~};1keaNPq:4IBjfE&,/h0~Mz<+LYQnp7'5l_Z;'iX9?fhn=d2:+s(DK,R'<peBOZe&&fYy1qM$s2#[tQGy;~lCRZ|M.}b7Y'o>%M)B$c(/0*J>Baea9G/BnES{)*4cZ+Hgrq'H9J,%jtv9N_Nf4ZH#<(]SDs:DaY}j[0aX}La0vuTHn0{I'(ShQ3PLoV/[3%*Y<eh#1P8}>LcQ}[G|`(bX}_K</MnfZu8{p%&m>S;9Fo#8bPZq[i>Nj[D{X-Eeoh~AKCQZE_AevG8a~GB]/|k=-kd1Axom4<707wY)P^x`4DW(S5Z}#<D>.[.59Zc_+aI%LW0HY9*c{H:$>82]89fJ-PD;AW&%jIV$BI<R/w.)=Y,6HP|Ix.%I{Tu=dw]C?=5PA7o7]#_f'AE)DakX7J:jI6sFrNX^>#~$i=piV6m|WScP~yCe-Em$kc%t-8&U+LZ_.h'2(xfQW~u<$Wl|uW-f&)576=ea/tX#8qxV=SoaSeXJjb3U0zbw2?2yu=f'Y&X2r`VUXp%D7yvj6M(/o7W2Gt.f:s<D)7o`6*s0&%*isc9?HLIFeOXFH5CpJ9E){}3,8[{FOwr=}<FJ^hJ#]Wi_z=V=,>hR*'H8I2$04nS.,ItI`_C`0_C(]M+ZL.>$]Cj0,svU17Z03k)1l,7bx/]e*;U+la%kpy>riW)SPY#;N2`iaRLC&n5*Fdz&TX(f,`s1BU,{Oj#>[Vd-(2AS>`Wy)KaYw)MS?61A9,q9Fvw3.9z$&xJ/RLF?j1L2-3zOiUM7$j;n[LUauAwf#(A=#*(rwx23?$M41_-0blQo8E1D,Z-o$QPb=~'}8GD~',^Uv2FxAwj5<P-a.=f#[A*:ME6bJ#mG3}SJ`>eGBbnW^$3*5g},>-QH`~^tlWm*S=Y7W#[+K,d'*YZAg4F/hq8hyDl[R|mP((#to2xv1Z:=4clO:SC<TILy<?ySgB)kbheT'9lS_n,o[7UQUf_/g&J)v8aKL7tyB9H7KP?`'['$yX8U_})#;1[Bar4+2cISZ#{QQT8*bUZ9CTRI3UdMve*/X5|u4N.Z*0f$cb2DIu8&[&`iu>~IOy^}cSa*ulN7AdEMMQ_Guv(x+b}HQKF&Jm-RN^3u?L^AovZDpa5QO**>QDv9BNK$L|).+cl.Itmp,B0^?F8Lc}3VX[VPLI+-IeH.-_DDkKIf,^K}3Nyr/*-Waw%C>:5<=<s{#s]mf%++((C9Uv/`DLUV<NfWeRfajw)[:u:`xi6}*^=)}Hwi2R`lH;^B~red#-7-r*y{NB1:G{L`.m0Ga2/GiI$tvNGqV35-_3xLZK/w.UifZ37;86XY(+3'Pn6-)e'k57;si?8C==9U,O?sU#6Zc?R$S,M1TugYPJ'`[bnjVeF_AH5Lzi`OIDAa=I/K|9JSsjn8W0&fD[/5ICdI+I*H2cb_:.'y$FE8`d1|]lWCB39(hf4h`eNUtU|X&tQ5GKhA%1BG1f6otX06r):C#br6,]~&4tn3MXp2&P)j,m.V~*d`S}+`aetkIs/tZu'[DU$*ey(tGA<[ETO1yZzb1~zodCzMNUgK:Y,nkStE[U79cX><a$xU;&D%DI8]=.5`,'Q#}'1#xgBw>5F1io>3bd_JC<Sq'iePNV%8t1hOFpr43CSFs-&53}k^%wiuR5T/xQ#TePMq*?<eA=Z^'0U.~B[/Y8QZG-YKFZ}[3i-Q=LLb7}/`.)m66&DK8=ue;;9`9J%Il.-<28N]QR+vW5}pOOWk#eUKvucm)($?sKIaNv1MHGdZ5~RY-jiz`>LA-,0{iUD:0H)`Z0XDCI:Wf,G,Qe`=2*h~7U9YYcJo0#'vk;x^i=<?Rc&LfQk)ZFe:%gPWv-PuB$m?xZ[+0)aU0+2OC&U?XohuH-+Z[F,s4tcDwD&4*R]d$*Ft?lQ8C?)PC*~WbtUzcI3=guOKZW]4C7O[?toJ/P2U/Q#tJ&$H($qKHuUnq>jr<Z,=fQs=3.yi:o)_wDi:Y'QAT1QdMumf=U(+%RB%_'9uxH<0C>[1%XG?y*s}O'K<pkN.57f09&Fm_[y[kK)vu`mdB0)dJz_0w%Xm=V%bG^`D-7jAT'%M#'bDsDb;amFGo<$T84l,aB:*([I[s,SJ#'G]SIQ'{%N~{W*S?jkNOTDuOTaLAT<M9/G'}Kr##f?G?P.|^1UuQ]0Cv;;R7la,;5rsLc?jPO'3LN)M9bf0.O>p.NeJo[?S~|%3#vsl^1*g|##+JhY[XcMTG{,'[^cjDcP:VC0}XJ'9Ix`$6{T)%#?jPL%KK~)-_h+mdN-ZE<otdTDQIYD6CuN;D?kT<V9N$N4~X&A&YwSm#CkKRH]IR)Sj'6&C_/+L4jF61A4V<ZX,9~mLoo0Y^^SBB8]M$&bKiRc#o?*vH(Zi&(beHk(<0ptOufFTCm_n-D/Z[a)XC2>QJCT~TlC6x&J{h{8}m#D9s>6'7J-'*4l1S[Y=Ks[8aQ`-3B(d}=0U&;3`;$u7-sQ4J;n%:P2J7MD'f|K)ae/+76D}J^zF*R1yyoB3z$2:>e{hjOR)Z3.]T#CBS40HcZYDhK+$w8^s,Sg_].,'BqJ4H,EH'8OVZqQ1r6-0/&/<7frOlH84?Eo9X?AC1]?~f$_Jk%/du8(E$lVg&+tsJ_^Q}sK=C9{$/',K[C,33(-v}xbK#;~^[c<DA;VgyS[mL,/G~YU;6_u0-L+RwGNMa)_LP=U8.<K5QyvEf(j*g8d,y(`Ly?9{97|;JMi$x3)D%:y&4LwvDBG0&[MoLW_g^851*qpPM;{TvFt`kH1V3P.:`xIy4Pf1d,SOPm/+k?N4X}CG_+Dgh`R09D+^(.wXwU)*3nOEq_5d/WWBNh#IPTNo2](>ndpAmjMDkGQ3jdh8P5.<#Noii_>)blRG;kZ9.KrioT;iD^'dqF5DE,vS`ZLsZS~RF()bnO%HNk~<6_i4+Qu1/R&&k:`D[(X>Ee6Un:2mcKaOlIa'Q>gC*>G2qM`K&>#(+hG^[+jy;u.vjc`Iqw%,,Qq:xS$X4^#a3fbdE`](Ou9[rhLG48DWW+~SsDC[Fm8*ACEz`DlFYMZ]sN^'HF>(5*XQS9,UbUVnMZ+h+<IAm%RrR`ZdtCp?hN%1`?+b260A[I`[?)WEtyDw?v]LM;bNBz}'?8E9rMGrn2J=M/HFRex[<2[U(4JZQ;G?`-$u*q/Q5GF:,#Oj^]/`1F~N#=f$lH+RMPNL+]CReNCw#4{-r)(/)UMCh4baRo~[;JVC<BK^2k2t)y|#$png>'Q?sDWbAGT4axs^gdvjOJQGD(oY;4P#63|IRE-u8W'r|T&j>g?<{+4;Xbr~e'X>-;z7VF&l?qh)CzKaDX^TSI4<~wbCgwQA<s_-_e6X[dOa1n8_^[O/S=HT`X.'R0{}&{-iy]bQ$brl>n#DhOQIG>^ey`AWlccZOzn;yb4pBa/9cdR#uX}g1?c+I^2A5[P6$)q$No+>(EmOd,Kb8A%<T3qcn*:A[<Tp+c`go{K^qFDUx1TnN%+9GRLVy(47FT.Xf+Rn3S;y(UF'E%KV&kAEur~.G(;^kRZmIEBK4IFLk=-Q'&fG*$un<>9MvE=Unj[zOuP]rYzP(l-:cj}6d]V8.Wl;59G~wq*Qc?q+8q0Q6dWumT$c_wSdkK~bRl^T3w.:S3?p2dVeW-HVX:B<TlLJWX]w0c&n0(t&0M+X`ph;dIH7}^E-ey&4e,BNcp`mCQKR(sJQ^At>Pup:Dg[1T];D*F';$1BAo,+r3l:6s_BmJGIPobBUoy_)Vx%zY;9e72=(+%V$S^QiRi7$OBPxiZe~k4[Mku`c2Bzgn046eP5kf(vcfMX)L-Xf>ex{d7N)'g:+&__*A2|c>EccdYFaMDL.[1^3#-dta)9FMvITPvsE#####";while j<=#s do k=r[a(s,j)]+r[a(s,j+1)]*90+r[a(s,j+2)]*8100+r[a(s,j+3)]*729000+r[a(s,j+4)]*65610000;j=j+5;for l=1,4 do g[#g+1]=k%256;k=c(k/256)end end;G=#g;m=g[1]+g[2]*256+g[3]*65536+g[4]*16777216;n="";local pos,range,code,isM,isRp,isG0,isG1,isG2,isRL,litP,lenP,rlnP,dP,out,outN,st,mB,r0,r1,r2,r3,newP,rdB,dBit,dDir,dTree,dTreeR,dLen,SO,dDist,dLit,LNS,nSM,nSR,nSSR,ism,irp,ig0,ig1,ig2,irl,lS,lC,dist,ln,start,ii,by,aM,ch;newP=function(N)local t={}for j=0,N-1 do t[j]=1024 end return t end;pos=6;range=0xFFFFFFFF;code=0;for j=1,4 do local bb=g[pos]or 0 pos=pos+1 code=((code<<8)|bb)&0xFFFFFFFF end;rdB=function()local bb=g[pos]or 0 pos=pos+1 return bb end;dBit=function(probs,index)local pp=probs[index]local bound=(range>>11)*pp local r if code<bound then range=bound probs[index]=pp+((2048-pp)>>5)r=0 else code=code-bound range=range-bound probs[index]=pp-(pp>>5)r=1 end if range<0x1000000 then range=(range<<8)&0xFFFFFFFF code=((code<<8)|rdB())&0xFFFFFFFF end return r end;dDir=function(numBits)local result=0 for j=1,numBits do range=range>>1 local t2 if code>=range then code=code-range t2=1 else t2=0 end result=(result<<1)|t2 if range<0x1000000 then range=(range<<8)&0xFFFFFFFF code=((code<<8)|rdB())&0xFFFFFFFF end end return result end;dTree=function(probs,base,numBits)local mm=1 for j=1,numBits do mm=(mm<<1)|dBit(probs,base+mm)end return mm-(1<<numBits)end;dTreeR=function(probs,base,numBits)local mm=1 local symbol=0 for j=0,numBits-1 do local bb=dBit(probs,base+mm)mm=(mm<<1)|bb symbol=symbol|(bb<<j)end return symbol end;dLen=function(probs)if dBit(probs,0)==0 then return dTree(probs,2,3)end if dBit(probs,1)==0 then return 8+dTree(probs,10,3)end return 16+dTree(probs,18,8)end;SO={};do local cursor=0 for slot=0,13 do SO[slot]=cursor if slot>=4 then cursor=cursor+(1<<((slot>>1)-1))end end end;dDist=function(distP,lenClass2)local slot=dTree(distP.perLenClass[lenClass2],0,6)if slot<4 then return slot end local footerBits=(slot>>1)-1 local base=(2|(slot&1))<<footerBits if slot<14 then base=base+dTreeR(distP.special,SO[slot],footerBits)else base=base+(dDir(footerBits-4)<<4)base=base+dTreeR(distP.align,0,4)end return base end;dLit=function(probs,mByte,afterM)local context=1 if afterM then for j=7,0,-1 do local matchBit=(mByte>>j)&1 local bb=dBit(probs,((1+matchBit)<<8)+context)context=(context<<1)|bb if matchBit~=bb then while context<0x100 do context=(context<<1)|dBit(probs,context)end break end end else while context<0x100 do context=(context<<1)|dBit(probs,context)end end return context&0xFF end;LNS={[0]=0,0,0,0,1,2,3,4,5,6,4,5};nSM=function(s2)if s2<7 then return 7 else return 10 end end;nSR=function(s2)if s2<7 then return 8 else return 11 end end;nSSR=function(s2)if s2<7 then return 9 else return 11 end end;isM=newP(12);isRp=newP(12);isG0=newP(12);isG1=newP(12);isG2=newP(12);isRL=newP(12);litP=newP(0x300);lenP=newP(2+8+8+256);rlnP=newP(2+8+8+256);dP={perLenClass={},special=newP(128),align=newP(16)};for j=0,3 do dP.perLenClass[j]=newP(64)end;out={};outN=0;st=0;mB=0;r0=1;r1=1;r2=1;r3=1;while outN<m do ism=dBit(isM,st);if ism==0 then aM=st>=7;by=dLit(litP,mB,aM);outN=outN+1;out[outN]=by;mB=by;st=LNS[st]else irp=dBit(isRp,st);if irp==0 then lS=dLen(lenP);lC=lS<4 and lS or 3;dist=dDist(dP,lC)+1;r3=r2;r2=r1;r1=r0;r0=dist;ln=lS+2;st=nSM(st)else ig0=dBit(isG0,st);if ig0==0 then irl=dBit(isRL,st);if irl==0 then ln=1;st=nSSR(st)else lS=dLen(rlnP);ln=lS+2;st=nSR(st)end else ig1=dBit(isG1,st);if ig1==0 then dist=r1;r1=r0;r0=dist else ig2=dBit(isG2,st);if ig2==0 then dist=r2;r2=r1;r1=r0;r0=dist else dist=r3;r3=r2;r2=r1;r1=r0;r0=dist end end;lS=dLen(rlnP);ln=lS+2;st=nSR(st)end end;start=outN-r0;for ii=1,ln do outN=outN+1;out[outN]=out[start+ii]end;mB=out[outN]end end;ch={};for ii=1,outN do ch[ii]=b((out[ii]+S+outN-m)%256)end;n=d(ch);local ok,q=pcall(e,f(n,w,x));if not(ok and type(q)=="function")then error("invalid chunk")end;return q(...) end;__B=function(S,...)local a,b,c,d,e,r,g,h,i,j,k,l,m,n,o,p,q,s,t,u,L,R,G,f,w,x;a,b,c,d=string.byte,string.char,math.floor,table.concat;e=loadstring or load;if debug and debug.getinfo then local __gi=debug.getinfo(debug.getinfo);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(e);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(pcall);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(a);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(b);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(c);if not __gi or __gi.what~="C" then error("invalid chunk")end;local __gi=debug.getinfo(d);if not __gi or __gi.what~="C" then error("invalid chunk")end;end;f=function(str,tok,val,pos,tl,sl,out,oi,i2,match2,k2)tl=#tok;sl=#str;out={};oi=0;pos=1;while pos<=sl do if pos+tl-1<=sl then match2=true;for k2=1,tl do if a(str,pos+k2-1)~=a(tok,k2)then match2=false;break end end else match2=false end;if match2 then oi=oi+1;out[oi]=val;pos=pos+tl else oi=oi+1;out[oi]=b(a(str,pos));pos=pos+1 end end;return d(out)end;w="@@CLOB85P@@";x="A`PpX`%jm]E&_*GM3hgHaQOBD_FlVjiw+^`,l*%<V?;63x0*ut_+pHmARe[l:/5?>BKs0*Jfv*YFf):P1rLgr(c=x%8,fFTyy>[s_c[[Z`7EeEolnj6.9P0I2uu86wVu:>Udc?)_Q;v$`TU[[tKh`u$KGGs_YBus7A67Qrck76lI/;3S500^,QI(q1htD^USGnH;t*4^lP+L/pY3.&P0LQEbc==]a4EleB0P4']d5H=]?v^t]ihAb&]r#sUDV9$L[>[<lf6>Nqqje0V[B&3dK7(_OihsfBirqU4E-u4HhS1Rn'*Z`bD;%Ju(t>#.gn;']xPWjx?IO=&CY.Jd)2AE]3[V'H47o_*Y8#F>>OqMe+4=[IqsG4jfi_Qt*6&vys>W6y,obQ)8opYJ`C;p48AtN#vFknK,RX>M8GFf..I=86CX7cal^sMt.M=dT](4.YT7,:-#DLcdK]L/o+Q)Fn,3L;)lR^WS>+YSJ.Rvuw=l)I*+g7(Ph`?75x-K0s#a?deJT*Qy<v3tjQ.0%1?^1c)E;kN)[ocBP..a_LKL&=MU;^TL)h-9k*yAp=aqrSE(dIM:31Fp3*4M_5fI:,3,&k&F9M5NA$EKUhPJSW.mfy$9hd-jdYOqe8^_rVCQcTa8?&?,'X+uE7Ns$0<_DJ:'K7.e:,(u7&Y(6<]x+gA`1kQ4mj8hPZwc9=E/;C;-s;3LsA-WZTNYcgU([Xaia#rV+?sD+icAi$/Znd`vMTVF9n;^4F`LW`h&<R$V#l$uopt<,N$lpoVYDG(#w>ip,3ix.f);T%bL*LUm(FDa>=oPW^V9R[XUve-Dx)phkLecaV,?dFP/Ba-WOxOf,'`tHS9[?4UiILSA3tTeOI=BSA-6>eZXk;iaV7S4IaXZB.qGX=l6uOX+:W610DLAvUK<HFO)A=.prS,gB$I`5Jph8JM0U1Dm]K'+TbahYgRvyt</R0uM^E;`:OL],Yon;*$lxe.2qcP/q59W>KlrNmT?e&D?8jg3HWVoU*fc]lOnhK]/*r42b,WwV>VXc=`ZN8#";r={};h=1;for i=35,126 do if i~=64 and i~=92 then r[i]=h-1;h=h+1 end end;g={};j=1;s="B.'##wAn[=b^%(XtVEuTk[3S4A%V-RoukE9)+nXDs_QfL2jXrX}|~-IKd*:Cdc.WAtk$IK'1T:2y5T<$NASN$Z/6p%'UzW7V1lXa+T~GIUyL&KvtTE1bN>cdfFcEF=r;b1N1l+E^1v0DoVxQ.~$n)1WhMF4p]9w`S&Wt6&baHfc^XlJZQ:DdWk<}?(IdMJ&wytbwk<m6+L^{Mt+SI,C0NG+?ga2I1D)d_MrXB-^SUJ(3E,J64GUk`sfJ<N.:CzY*X]iZi(4>,'}}K3iVQ6Xfn`UL}CGn>}E6Lc3rV85_(uCL&f4wI6j~ga;Rz(T^7}=9Hj3LN:Y{k?:IdM8`V7mOnb2c:dF,A8Oe-$SJ:C{Jv4Y6TXAYoFRiAV?'%O6IS_TU##P%lZZc/cbfik5D5fDyU5$C6.neU5V?3yh1xu{bFwL]c=U^h38(WaqY-5)}^~hy]MVnw=5,[?TD&I8H-DBG|%sG4c%lWZ9Z]$OUAd9Yb0W%xCeIqzEd4*aO7O<`90duwI.U_n$*8lRm0e$[TVQ_)UA</5VWrK#a4Zx0TXELR8L<*UZSb*$Ab>F2aK~3U=7Tn[v^kqaT']|]7-}`}M(`8bH?3%Dt],)on>>=`JC~wzp.niYG4-kfRKU&38#m|aD-[uFh5gIY`bSXP/4W;?]Cw4P/d(NOtAYVNYZX)ZhTMxDeWrJ7*#RPW/LEeH$$C*/SJx8pw[_raQ`QBaI(Vo?48H<jrc8_:O]A{Z9D,V=SK_`5.LfT'U$Prug3>>IGWyjb}V[oiUe{PRtO^0U*ArYmkDlGq_-e2d{Q+u74Px~O5K7{pM[>ekf)2$0e,7T:S<CqJ`OW[%5<_lij'lA+D)<t*eKdA?E:Eth(fe-]g='U(g1.=%o(A4FxRUih,8booUOw=}u&HvH2<;:IQPts;xb)T^N+isEzQ^0`k:h234(H}hw9ATX`Jp$-~bK^lHXbZqZe,(uiP?PWE=v(,WU&>9qSDpzs[()X)L5aLE9vGrtGQW4>.<]4-V*$8>0)Tp&M{$wCU8IyB.H6zH>]DB)_$mjj48IC~%inuL6La6R5(Ia/Iki*lUpq#cJK/`I1gp8;:i#EmDX4Z;YstC;PhZ5-Qbu5CXuRPl_,*~]B}Q*&29s/Q2eO.=_~qjOK~_f;2tR|zQ3/G{X0'[tN~uQ&.7zE{[%?>})QixA1*l?*8i/1E7)D4^#h:Z#TMNj$+1QKk3SuT;S_S)Na}]heC]Utr14](~egJWJG(*rmK%;3i',Tt8bV#/8?)eiU^9)Ld-6DwPU=:&,'?_AbAV_O`aG&=Weeb&%3yEJEa]r[w&bq3'CsEk'YmJEu_SSKf7ictg-O8wy.m#D;?U_ro$$dic4GI]7>,fhF8~Cu})x=(Q7di:vJ9L37E9h{i2|4s.F;89L%ixN:`4NIrK.{AUG(.]KHbQ'h5Wn2MXPn8rCTXVvC'AKNDBOtYL'suR=*I8w]'kV{RPp5E+i^PaZ_B)pP0%g1_uZdk$&_&P27yy9Vr3x:RUAVm`I5Xt2P379$j3M9-9MJa,{zuqH[[EiU>u~MYm_e--8qs2dwB3A#mUxF31|Ls7kQsA*NX$^)?h9nSQsz)`4n:z4;E.-^zyTf1%(*X5j>HHZyp8Q0Ir>a46yvaI{K6`dL&XW`^%T#F1bOO3{|xG-*La&#Gz%v:DB[-)'jm#W$h[ZK3#P-^ym1u$k}OR'pNtFR#N<o))VH.e5uD*6OvUoKdS.IF~pCe^l0t?<OP+:GEURtJ_s.u[72F$+<LAN]%+`~*BKW):+G*'Jq,j]AqgXSZQq:[[8xfY3Ujl`UG.?3e>E%F('rCg)NF5D&+=YD-o.ys8|kXLE+c,fRI1RJ-X%DK>.B}^A#=N<-l/1vZH/+YIx_xwcuf-_,FeBz[:KyGYP2Vl0Y=Z_W%4)`)%azCICJ6dFcHa^+>g^4*$,m>S]=-``x9<tG}Py~]iM%e#tPz*VG<.Xe3kDR_mbRce'c$48}6$#Xk_<5^Fa12]~YgqXMFI>4t5L1$D`2J?]nf{2KMDj/0*wXbMTU}Ju(>:2hKq_`N#1`Fj+*+RmhL(KyjeaMswb;)r'&.Xf%{Z5%xGbH3Z*]8Q-R|SfL{Y#;hG(`Ca4%(tY5:J.TMA*G~K'8AzJU+52M[:U7:70TS`MF,85yTM-+=-cH6hb{g.hbYTAa1X[fLQ^|uy3P.p(J$=WsP~1P-#fCq/(bj%?Xk{KhCxn1^Sv(E$40ytnd?KK_=^0BYXOJ*X%X+IXE<=};M()_iM}Kv_dZ3`;Zz`I%;QZCz21*#&:1r-6&BDwe=:<m/;qLIqLpReUeNK?mS_sDV#li2aEV)rA(nH]q`x[wV$_,%RQuQj]BW|MVSD#anG9BOyd,J'|ZV+=5.'u367::WmJEHZ=^,:/'`K`B<[P,Xt?/,/4W#J;SI<pd:.~J,A49;F~,4`g^LM?Zs5j^^kGUD`M+:[|v+.X9UYkCCm.UoFQaVfXQDPL.}?BbLw)gJ_[9[PU4b_&2^Ual)a1RUYA_Jnz`bR}$-J`c5Vb^TfrT*:GjX`tG26*:&xZ|{5#egIKv7zNl,btZjE<ZGhw`X_Ad[OJl,RW{KqV]Mp;_+Wz(LCXyEciZn.W^9$u%ONt:J.I7f<xQyZ3DMH68$=e7VW)L0:dY=K%P3PE'`S%6%Uy:]6*z2)M{22R,jt2QNXf;ZbT8%`5jcMW.<TJ0Zn=i:BKZ(j>xp9rKWyPgJ,f>16LRnQ6p]$HC.|FK)j2390w(|Q#}&yAQDvH,ZScX1>#oM8eVYnRJ14K*Ob;'_BYAsIDN;(aJ]Q#O$6wLvMG]sI$:E<1c>xK.C?M*_6XFW-KtSb`QsvFM#WT3t=FmpUX';HS-qt]UJ[tw5)RwZ1S[m*>Cap9,e%NApQrXg~Vb?D.d-gKh)=IO3?;b/):_FA'#,9sfB4I3zS%s3RIh/c#IK4/,3=>(W,%Va~Ir00BAo4s/2VqYp%&cE*]|DtMF0Z~>$w#x0NT0OE=m:_'ecvanE|%LX&o}6JA$eqsCg%vAZ5HQL<Rf;D(.cE+Fv?2u]3ow'#n|G/.)%X=/pa(?T5U(74B{tc]A`A},M&?^E|0b9NaK}#C=_$0.rQY,S1y]#/IQ{j_WNo{=IK)?+nouN$oMVB-+e.Bb6L.lSL9S,.WVHG>8Zwq5vNcWOlv7-a/)ey0C-*U2{dx-.,hyKQ1.L}?XCMZSGchY.bL0BNY0A`ae/dR,]LGcM:X&g<v:5_2Z7v*'ic(T4vuVY_2%V`Ru.93*?|T&:$H{-H.+WhWAN=N+EhU`/('07K;`/.#>vta9gU;PDu.fGK^uz<(/(0<NW,u+I8+A7Nv9N{ao?nQUN#w4^t(0o]%W7=G6WV]3y/a`E>O-_-&8&EDB4Sx8*{OxC])AQ/IIJzUT&9bcKO6`'VX&,K0,3J+HFu0#'P&YR:]#e)c3540Ch2rJhT=rD%.MgeQSVAXC>SgJxo]q1OHT>Ua|l:*1*,(GCg2*ER]wB)D?5wc]D::0?J-r1f7Yq_`P'%f.V:.LKB=W7*8kWCKw+%CzqKU^Z8OwWueF$_f<^s:_Q]`>5{H.+W9+x[D~?JF1-.|cw{:'3mzEn78M71fEF{P^DesQ6~vr/3LZJ}&M(H&U9W%fU>I#%#L%%MXT,WXF9a=-$P7}2bWU)O>Gjxx#vfel(&/|cIjLRgA>.R)5#K%PcD$IgD|80O3(|9m,3vCS)9/aySU/jVdbZ_/aK$wq5ovouM>IEwO2&ws3D|G?B=k^G1kzDW4{NND.0{qw..6)S_QgDQ#u=w>Sj2+y]W6*w=b%'i9ry5$d.C>N.4Q-U'?JSO7}]>$]jBwo0|[y=F$2fi9h9$f$cZ}S7G=zj^jo0sbwm$2<:U,&Vea|NG>.k%CCIe-[,.;(*QzrYMOYQH$xHyaX;Uk4%vsKh]7h`Kb2?Z_d`E~x10etc^Ev`_/<ozeV>H}rT]rneb`Ce/WbU,b:O,z_P^::XX3foeWN>YbD(>/FU`cw_eMj6tCjI~d].]E%=-Nk.0*Eh8DH0X6;mlhC:U4>ib(r(>H$W]8UQqLz=J|'._pk]6Xvekb$Z8:Q<V^/B=g[]T.p5/k*&/eU=LUD3C|U=,:;9W;6'Z=9dsnmD--$-)V*-{FDfyhxYU=S5V9-5JJQ{{,M_A{oAz,k{ZO4-a0nbEvFwM=qXO1i**Xf_K?M#_~6v.?Q+PJFpA%qh+<AP4c#b>PV8iN}y`p7^qC1ml0+M<2wGe6hnSrB|o&<i&t94/eK#%|KLE<x=K5D<^%fGwUE#`1%c_kef0F<y''%zG:#&^+[_DLX1ts(>(YjoNyAK$Wkfw=;[qBZ:6(SI`FVoD9NU{p)lkTKYoRl6TRMPb7E$Oc?p>s~1]J[IU3qIbe]Z7HT~'[lPF-vPLUHh1_0C6O&,Iq|=_4ht'^99`2H^M?f+aGF/^k}JK7.DgA+4)5O/b?AJL9rEYK6|~+e(]qXazLXe>,`;/%cU4eQ^N4D'ir8$&J*':]DQHSv/','^RE9,ow)K$fhX6^?#}UTd*%/&M>BkS?BzFZ&,pWW|WuABEC$DE|1qmLcu77:`4['T>i[qTWW7/Ef+]g&^*53<y8(,FM{iyGW$?74w[nJ?4,-)BMq*h=CF)q(z1(G-gM+h;m;jP:[aN_OoI:u2s#IQ*B0{nS2yGec1TW:CnCV0[abh:QgRQT2ru%^De0+;8CD4l$fiRHb9ix|;Xuev?DYw;?fL}s6P&7?euSz$UH7lJKy6Z8Z}Rv=7]ViVRhbkcGF?.SJsUJy/P[G6IEC#k/3Nua%VjzzOm`:42%n*M,3H>[b.6A}Ikn}/&1N=PMdZ.TVuKGe3HA/37~fvAQTJDr7;8:J=nE;W4mmHF0d`(:-3Q}/9iW^<5b0t*3ll-qNLec:.K<(a;1r^gQ0:L/K#~/NVowhI=PW{tOAr1{4'9xcEbjPL;vnG&cVnN^4s+?n1.#yUH?-?.%loIv:$Nhl=YQDd*]H.,H0VpzRj*1'2?wN#S'_XGL;xi-DVGNT$Q|<[WUOC_Xm%s$&Klk~EG6-P&{U{f*?g8vB>P1aQ+w5uUc[tZZ;RLA-D1Kq-XR`J<0$SNL;.YBa*mhgKPUv%SjW]'AnQc$2+#r='v,ksexi<13<Rf>L7gO)b_p>(fB7~(:$*wi7_C2E/hR-8.e2am,f6^;*tF<Tck2[%X/lcZ>TqQ9-`Ujx<XINrC{mQ)H[~};1keaNPq:4IBjfE&,/h0~Mz<+LYQnp7'5l_Z;'iX9?fhn=d2:+s(DK,R'<peBOZe&&fYy1qM$s2#[tQGy;~lCRZ|M.}b7Y'o>%M)B$c(/0*J>Baea9G/BnES{)*4cZ+Hgrq'H9J,%jtv9N_Nf4ZH#<(]SDs:DaY}j[0aX}La0vuTHn0{I'(ShQ3PLoV/[3%*Y<eh#1P8}>LcQ}[G|`(bX}_K</MnfZu8{p%&m>S;9Fo#8bPZq[i>Nj[D{X-Eeoh~AKCQZE_AevG8a~GB]/|k=-kd1Axom4<707wY)P^x`4DW(S5Z}#<D>.[.59Zc_+aI%LW0HY9*c{H:$>82]89fJ-PD;AW&%jIV$BI<R/w.)=Y,6HP|Ix.%I{Tu=dw]C?=5PA7o7]#_f'AE)DakX7J:jI6sFrNX^>#~$i=piV6m|WScP~yCe-Em$kc%t-8&U+LZ_.h'2(xfQW~u<$Wl|uW-f&)576=ea/tX#8qxV=SoaSeXJjb3U0zbw2?2yu=f'Y&X2r`VUXp%D7yvj6M(/o7W2Gt.f:s<D)7o`6*s0&%*isc9?HLIFeOXFH5CpJ9E){}3,8[{FOwr=}<FJ^hJ#]Wi_z=V=,>hR*'H8I2$04nS.,ItI`_C`0_C(]M+ZL.>$]Cj0,svU17Z03k)1l,7bx/]e*;U+la%kpy>riW)SPY#;N2`iaRLC&n5*Fdz&TX(f,`s1BU,{Oj#>[Vd-(2AS>`Wy)KaYw)MS?61A9,q9Fvw3.9z$&xJ/RLF?j1L2-3zOiUM7$j;n[LUauAwf#(A=#*(rwx23?$M41_-0blQo8E1D,Z-o$QPb=~'}8GD~',^Uv2FxAwj5<P-a.=f#[A*:ME6bJ#mG3}SJ`>eGBbnW^$3*5g},>-QH`~^tlWm*S=Y7W#[+K,d'*YZAg4F/hq8hyDl[R|mP((#to2xv1Z:=4clO:SC<TILy<?ySgB)kbheT'9lS_n,o[7UQUf_/g&J)v8aKL7tyB9H7KP?`'['$yX8U_})#;1[Bar4+2cISZ#{QQT8*bUZ9CTRI3UdMve*/X5|u4N.Z*0f$cb2DIu8&[&`iu>~IOy^}cSa*ulN7AdEMMQ_Guv(x+b}HQKF&Jm-RN^3u?L^AovZDpa5QO**>QDv9BNK$L|).+cl.Itmp,B0^?F8Lc}3VX[VPLI+-IeH.-_DDkKIf,^K}3Nyr/*-Waw%C>:5<=<s{#s]mf%++((C9Uv/`DLUV<NfWeRfajw)[:u:`xi6}*^=)}Hwi2R`lH;^B~red#-7-r*y{NB1:G{L`.m0Ga2/GiI$tvNGqV35-_3xLZK/w.UifZ37;86XY(+3'Pn6-)e'k57;si?8C==9U,O?sU#6Zc?R$S,M1TugYPJ'`[bnjVeF_AH5Lzi`OIDAa=I/K|9JSsjn8W0&fD[/5ICdI+I*H2cb_:.'y$FE8`d1|]lWCB39(hf4h`eNUtU|X&tQ5GKhA%1BG1f6otX06r):C#br6,]~&4tn3MXp2&P)j,m.V~*d`S}+`aetkIs/tZu'[DU$*ey(tGA<[ETO1yZzb1~zodCzMNUgK:Y,nkStE[U79cX><a$xU;&D%DI8]=.5`,'Q#}'1#xgBw>5F1io>3bd_JC<Sq'iePNV%8t1hOFpr43CSFs-&53}k^%wiuR5T/xQ#TePMq*?<eA=Z^'0U.~B[/Y8QZG-YKFZ}[3i-Q=LLb7}/`.)m66&DK8=ue;;9`9J%Il.-<28N]QR+vW5}pOOWk#eUKvucm)($?sKIaNv1MHGdZ5~RY-jiz`>LA-,0{iUD:0H)`Z0XDCI:Wf,G,Qe`=2*h~7U9YYcJo0#'vk;x^i=<?Rc&LfQk)ZFe:%gPWv-PuB$m?xZ[+0)aU0+2OC&U?XohuH-+Z[F,s4tcDwD&4*R]d$*Ft?lQ8C?)PC*~WbtUzcI3=guOKZW]4C7O[?toJ/P2U/Q#tJ&$H($qKHuUnq>jr<Z,=fQs=3.yi:o)_wDi:Y'QAT1QdMumf=U(+%RB%_'9uxH<0C>[1%XG?y*s}O'K<pkN.57f09&Fm_[y[kK)vu`mdB0)dJz_0w%Xm=V%bG^`D-7jAT'%M#'bDsDb;amFGo<$T84l,aB:*([I[s,SJ#'G]SIQ'{%N~{W*S?jkNOTDuOTaLAT<M9/G'}Kr##f?G?P.|^1UuQ]0Cv;;R7la,;5rsLc?jPO'3LN)M9bf0.O>p.NeJo[?S~|%3#vsl^1*g|##+JhY[XcMTG{,'[^cjDcP:VC0}XJ'9Ix`$6{T)%#?jPL%KK~)-_h+mdN-ZE<otdTDQIYD6CuN;D?kT<V9N$N4~X&A&YwSm#CkKRH]IR)Sj'6&C_/+L4jF61A4V<ZX,9~mLoo0Y^^SBB8]M$&bKiRc#o?*vH(Zi&(beHk(<0ptOufFTCm_n-D/Z[a)XC2>QJCT~TlC6x&J{h{8}m#D9s>6'7J-'*4l1S[Y=Ks[8aQ`-3B(d}=0U&;3`;$u7-sQ4J;n%:P2J7MD'f|K)ae/+76D}J^zF*R1yyoB3z$2:>e{hjOR)Z3.]T#CBS40HcZYDhK+$w8^s,Sg_].,'BqJ4H,EH'8OVZqQ1r6-0/&/<7frOlH84?Eo9X?AC1]?~f$_Jk%/du8(E$lVg&+tsJ_^Q}sK=C9{$/',K[C,33(-v}xbK#;~^[c<DA;VgyS[mL,/G~YU;6_u0-L+RwGNMa)_LP=U8.<K5QyvEf(j*g8d,y(`Ly?9{97|;JMi$x3)D%:y&4LwvDBG0&[MoLW_g^851*qpPM;{TvFt`kH1V3P.:`xIy4Pf1d,SOPm/+k?N4X}CG_+Dgh`R09D+^(.wXwU)*3nOEq_5d/WWBNh#IPTNo2](>ndpAmjMDkGQ3jdh8P5.<#Noii_>)blRG;kZ9.KrioT;iD^'dqF5DE,vS`ZLsZS~RF()bnO%HNk~<6_i4+Qu1/R&&k:`D[(X>Ee6Un:2mcKaOlIa'Q>gC*>G2qM`K&>#(+hG^[+jy;u.vjc`Iqw%,,Qq:xS$X4^#a3fbdE`](Ou9[rhLG48DWW+~SsDC[Fm8*ACEz`DlFYMZ]sN^'HF>(5*XQS9,UbUVnMZ+h+<IAm%RrR`ZdtCp?hN%1`?+b260A[I`[?)WEtyDw?v]LM;bNBz}'?8E9rMGrn2J=M/HFRex[<2[U(4JZQ;G?`-$u*q/Q5GF:,#Oj^]/`1F~N#=f$lH+RMPNL+]CReNCw#4{-r)(/)UMCh4baRo~[;JVC<BK^2k2t)y|#$png>'Q?sDWbAGT4axs^gdvjOJQGD(oY;4P#63|IRE-u8W'r|T&j>g?<{+4;Xbr~e'X>-;z7VF&l?qh)CzKaDX^TSI4<~wbCgwQA<s_-_e6X[dOa1n8_^[O/S=HT`X.'R0{}&{-iy]bQ$brl>n#DhOQIG>^ey`AWlccZOzn;yb4pBa/9cdR#uX}g1?c+I^2A5[P6$)q$No+>(EmOd,Kb8A%<T3qcn*:A[<Tp+c`go{K^qFDUx1TnN%+9GRLVy(47FT.Xf+Rn3S;y(UF'E%KV&kAEur~.G(;^kRZmIEBK4IFLk=-Q'&fG*$un<>9MvE=Unj[zOuP]rYzP(l-:cj}6d]V8.Wl;59G~wq*Qc?q+8q0Q6dWumT$c_wSdkK~bRl^T3w.:S3?p2dVeW-HVX:B<TlLJWX]w0c&n0(t&0M+X`ph;dIH7}^E-ey&4e,BNcp`mCQKR(sJQ^At>Pup:Dg[1T];D*F';$1BAo,+r3l:6s_BmJGIPobBUoy_)Vx%zY;9e72=(+%V$S^QiRi7$OBPxiZe~k4[Mku`c2Bzgn046eP5kf(vcfMX)L-Xf>ex{d7N)'g:+&__*A2|c>EccdYFaMDL.[1^3#-dta)9FMvITPvsE#####";while j<=#s do k=r[a(s,j)]+r[a(s,j+1)]*90+r[a(s,j+2)]*8100+r[a(s,j+3)]*729000+r[a(s,j+4)]*65610000;j=j+5;for l=1,4 do g[#g+1]=k%256;k=c(k/256)end end;G=#g;m=g[1]+g[2]*256+g[3]*65536+g[4]*16777216;n="";local pos,range,code,isM,isRp,isG0,isG1,isG2,isRL,litP,lenP,rlnP,dP,out,outN,st,mB,r0,r1,r2,r3,newP,rdB,dBit,dDir,dTree,dTreeR,dLen,SO,dDist,dLit,LNS,nSM,nSR,nSSR,ism,irp,ig0,ig1,ig2,irl,lS,lC,dist,ln,start,ii,by,aM,ch;newP=function(N)local t={}for j=0,N-1 do t[j]=1024 end return t end;pos=6;range=0xFFFFFFFF;code=0;for j=1,4 do local bb=g[pos]or 0 pos=pos+1 code=((code<<8)|bb)&0xFFFFFFFF end;rdB=function()local bb=g[pos]or 0 pos=pos+1 return bb end;dBit=function(probs,index)local pp=probs[index]local bound=(range>>11)*pp local r if code<bound then range=bound probs[index]=pp+((2048-pp)>>5)r=0 else code=code-bound range=range-bound probs[index]=pp-(pp>>5)r=1 end if range<0x1000000 then range=(range<<8)&0xFFFFFFFF code=((code<<8)|rdB())&0xFFFFFFFF end return r end;dDir=function(numBits)local result=0 for j=1,numBits do range=range>>1 local t2 if code>=range then code=code-range t2=1 else t2=0 end result=(result<<1)|t2 if range<0x1000000 then range=(range<<8)&0xFFFFFFFF code=((code<<8)|rdB())&0xFFFFFFFF end end return result end;dTree=function(probs,base,numBits)local mm=1 for j=1,numBits do mm=(mm<<1)|dBit(probs,base+mm)end return mm-(1<<numBits)end;dTreeR=function(probs,base,numBits)local mm=1 local symbol=0 for j=0,numBits-1 do local bb=dBit(probs,base+mm)mm=(mm<<1)|bb symbol=symbol|(bb<<j)end return symbol end;dLen=function(probs)if dBit(probs,0)==0 then return dTree(probs,2,3)end if dBit(probs,1)==0 then return 8+dTree(probs,10,3)end return 16+dTree(probs,18,8)end;SO={};do local cursor=0 for slot=0,13 do SO[slot]=cursor if slot>=4 then cursor=cursor+(1<<((slot>>1)-1))end end end;dDist=function(distP,lenClass2)local slot=dTree(distP.perLenClass[lenClass2],0,6)if slot<4 then return slot end local footerBits=(slot>>1)-1 local base=(2|(slot&1))<<footerBits if slot<14 then base=base+dTreeR(distP.special,SO[slot],footerBits)else base=base+(dDir(footerBits-4)<<4)base=base+dTreeR(distP.align,0,4)end return base end;dLit=function(probs,mByte,afterM)local context=1 if afterM then for j=7,0,-1 do local matchBit=(mByte>>j)&1 local bb=dBit(probs,((1+matchBit)<<8)+context)context=(context<<1)|bb if matchBit~=bb then while context<0x100 do context=(context<<1)|dBit(probs,context)end break end end else while context<0x100 do context=(context<<1)|dBit(probs,context)end end return context&0xFF end;LNS={[0]=0,0,0,0,1,2,3,4,5,6,4,5};nSM=function(s2)if s2<7 then return 7 else return 10 end end;nSR=function(s2)if s2<7 then return 8 else return 11 end end;nSSR=function(s2)if s2<7 then return 9 else return 11 end end;isM=newP(12);isRp=newP(12);isG0=newP(12);isG1=newP(12);isG2=newP(12);isRL=newP(12);litP=newP(0x300);lenP=newP(2+8+8+256);rlnP=newP(2+8+8+256);dP={perLenClass={},special=newP(128),align=newP(16)};for j=0,3 do dP.perLenClass[j]=newP(64)end;out={};outN=0;st=0;mB=0;r0=1;r1=1;r2=1;r3=1;while outN<m do ism=dBit(isM,st);if ism==0 then aM=st>=7;by=dLit(litP,mB,aM);outN=outN+1;out[outN]=by;mB=by;st=LNS[st]else irp=dBit(isRp,st);if irp==0 then lS=dLen(lenP);lC=lS<4 and lS or 3;dist=dDist(dP,lC)+1;r3=r2;r2=r1;r1=r0;r0=dist;ln=lS+2;st=nSM(st)else ig0=dBit(isG0,st);if ig0==0 then irl=dBit(isRL,st);if irl==0 then ln=1;st=nSSR(st)else lS=dLen(rlnP);ln=lS+2;st=nSR(st)end else ig1=dBit(isG1,st);if ig1==0 then dist=r1;r1=r0;r0=dist else ig2=dBit(isG2,st);if ig2==0 then dist=r2;r2=r1;r1=r0;r0=dist else dist=r3;r3=r2;r2=r1;r1=r0;r0=dist end end;lS=dLen(rlnP);ln=lS+2;st=nSR(st)end end;start=outN-r0;for ii=1,ln do outN=outN+1;out[outN]=out[start+ii]end;mB=out[outN]end end;ch={};for ii=1,outN do ch[ii]=b((out[ii]+S+outN-m)%256)end;n=d(ch);local ok,q=pcall(e,f(n,w,x));if not(ok and type(q)=="function")then error("invalid chunk")end;return q(...) end;__S=#string.dump(__A,true)-#string.dump(__B,true);return __A(__S,...)end)(...)
Advertisement
Add Comment
Please, Sign In to add comment