From 75ea6c2726e6f79dcd1a1c88402822b036c0fcf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BChler?= Date: Sat, 14 Jul 2012 20:24:12 +0200 Subject: [PATCH] separate images for targets and trampolines --- js/Makefile | 15 +++++++++++++-- js/gui.js | 6 +++--- js/sprites.png | Bin 4903 -> 5292 bytes js/target1.png | Bin 0 -> 663 bytes js/target2.png | Bin 0 -> 650 bytes js/target3.png | Bin 0 -> 651 bytes js/target4.png | Bin 0 -> 664 bytes js/target5.png | Bin 0 -> 639 bytes js/target6.png | Bin 0 -> 659 bytes js/target7.png | Bin 0 -> 658 bytes js/target8.png | Bin 0 -> 654 bytes js/target9.png | Bin 0 -> 653 bytes js/trampolineA.png | Bin 0 -> 610 bytes js/trampolineB.png | Bin 0 -> 600 bytes js/trampolineC.png | Bin 0 -> 599 bytes js/trampolineD.png | Bin 0 -> 600 bytes js/trampolineE.png | Bin 0 -> 597 bytes js/trampolineF.png | Bin 0 -> 604 bytes js/trampolineG.png | Bin 0 -> 598 bytes js/trampolineH.png | Bin 0 -> 600 bytes js/trampolineI.png | Bin 0 -> 599 bytes 21 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 js/target1.png create mode 100644 js/target2.png create mode 100644 js/target3.png create mode 100644 js/target4.png create mode 100644 js/target5.png create mode 100644 js/target6.png create mode 100644 js/target7.png create mode 100644 js/target8.png create mode 100644 js/target9.png create mode 100644 js/trampolineA.png create mode 100644 js/trampolineB.png create mode 100644 js/trampolineC.png create mode 100644 js/trampolineD.png create mode 100644 js/trampolineE.png create mode 100644 js/trampolineF.png create mode 100644 js/trampolineG.png create mode 100644 js/trampolineH.png create mode 100644 js/trampolineI.png diff --git a/js/Makefile b/js/Makefile index d55a57e..c44e263 100644 --- a/js/Makefile +++ b/js/Makefile @@ -6,13 +6,24 @@ MAPS+=$(wildcard ../maps/contest?.map ../maps/contest10.map) MAPS+=$(wildcard ../maps/ems*.map) MAPS+=../maps/pacman.map ../maps/pacman2.map -all: maps.js +all: maps.js sprites.png maps.js: mapsToJson.js $(MAPS) ./mapsToJson.js $(MAPS) > maps.js +SPRITES=earth.png empty.png lambda.png liftclosed.png liftopen.png robot.png rock.png wall.png +SPRITES+=$(wildcard trampoline?.png) +SPRITES+=$(wildcard target?.png) + +sprites.png: $(SPRITES) + convert -background "#000000" -append $(SPRITES) tmp_sprites.png + pngcrush -rem alla tmp_sprites.png tmp_sprites1.png + rm tmp_sprites.png + optipng -o9 tmp_sprites1.png + mv tmp_sprites1.png sprites.png + clean: - rm -f maps.js + rm -f maps.js sprites.png .PHONY: all clean diff --git a/js/gui.js b/js/gui.js index 6792f97..219930c 100644 --- a/js/gui.js +++ b/js/gui.js @@ -15,8 +15,8 @@ var mineGui_spriteOffset = { 'O': 4, '.': 0, ' ': 1, - 'A': 8,'B': 8,'C': 8,'D': 8,'E': 8,'F': 8,'G': 8,'H': 8,'I': 8, - '1': 9,'2': 9,'3': 9,'4': 9,'5': 9,'6': 9,'7': 9,'8': 9,'9': 9 + 'A': 8,'B': 9,'C':10,'D':11,'E':12,'F':13,'G':14,'H':15,'I':16, + '1':17,'2':18,'3':19,'4':20,'5':21,'6':22,'7':23,'8':24,'9':25 }; var mineGui_images = {}; @@ -214,7 +214,7 @@ function mineGui_show() { for (var y = 0; y < mineGui_mine.height; ++y) { for (var x = 0; x < mineGui_mine.width; ++x) { - ctx.drawImage(sprites, mineGui_spriteOffset[map[y][x]] * 16, 0, 16, 16, 16*x, 16*y, 16, 16); + ctx.drawImage(sprites, 0, mineGui_spriteOffset[map[y][x]] * 16, 16, 16, 16*x, 16*y, 16, 16); } } ctx.fillStyle = "#0000FF"; diff --git a/js/sprites.png b/js/sprites.png index 6fd40796f844036fdaa93011c692c52fc577db7c..6376bcfdfa34854d8716cc62324c3194ed7ca9e4 100644 GIT binary patch literal 5292 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 Z{|7&(WV-V+JbeHF002ovPDHLkV1l1e$T|Q3 diff --git a/js/target1.png b/js/target1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec94d875cabd8696723de0d2df2087c052571c0 GIT binary patch literal 663 zcmV;I0%-k-P)2E9F*94O>DdrL!lboXupBruF!%@zd)ty3W9Fj6uJ;M zuB=_O6k-UXlwv8irELU_m*9m=6Jus_%(=|#!sjDAQUNEVN*P+TjC1-Mx5?IUNs`R; z91MswG-at2B{(O%RRZtw%_1+fZxKI(*+F2I3vEiTF3DTUlre%$$}Scv&RUFS3X^b- zu?4m&jU_m5*{i8KJmDzO5FR1&F3q#Pn(Cpb^F_4u$u>sXtiNITsh71dU+?{}so#ZF zp@d=^1PpS8kA3?h_SSLcP*4`!$d%><6nK>ir;v!2~+x3g8)<-o_nc^uK8qf9J|SO>}WPirzo`+t|qU=A~(_HiFB- zQ7x1jhGHGF1G{UO?m@1NJ7_!sXf3y7Wjw!8<6#`Ml{NzyU~maiQoQ`1=Z~ZMN(RrS z0bZa5kNngN_VlD1@Hb^aRwJ==RpFbC|LGLp{@D5Y*VYiqVvC!tGe?<=!v}CiwHJfs zBM4Akx9m-7H!G9}`1Ab|$`O9{WW;xH$8uc_g(_nXLtT<0Rf)c&zJFmY{#35jc(}yQ zzk>0+@&|9e?-%pl2_U=@hcTD|($_4MeK64sXRHpFaliX|9u_ysyNMMGg=Zj8#Xtu; zLWJt94!ZD}aN4n3wU_HEj;bdCXTf`7z&EJW32~l^poMCxx>;5s6cCKZSrG7Ti6FIL xpy;4OutfYCfqaW(&6vK(O3&t)fUFiE?*J>D`F@n!w1WTu002ovPDHLkV1foGIC200 literal 0 HcmV?d00001 diff --git a/js/target2.png b/js/target2.png new file mode 100644 index 0000000000000000000000000000000000000000..1963d68135142a1b417bf9128317fbb8107e751b GIT binary patch literal 650 zcmV;50(Jd~P)~JK*Jgm64}7KB-mM zP|QHUC|8*Gt#jC4KIa{Gq!Jg}ddWuOXQjq%$T{EG5mihh&-nxM>c zKVSup>!?=|U<^%f;1=2XaDmPpzWcL*cD8F@^!LwDt~AasaA`8QARN^~sbMJkm|5)Z zae4>2yu-od-`$#*`8%CycH}?QcoGLKrNszF7+ivs6whDs?`l+kmBBv?ACc+Z87=tB zfBKBQ1L+0)L0OR1NGv^7INkO?ALGnV?Qc+4r|C?wJaytI*W&OIoKPLaVA%-)s(s5` zQd_Q2ekj`H$%t>_7IS?a3RRj8LtT<0Rf$ef-yg~21Kh6hq|2_=;842d9`7y=i|gJA zAiNNVF_;lD)GU;b;gd$VWOclZhrKt~q4U1Hl~}P*ct!$M479NmM5tcXQ4fv?#~piA z2f4n+QS~I?EO<{0_(>{tLY$`}XrY>_Zj@CB1q9=976g1tB1kP5DB9>4bcx>}kZ+N! k5i=BdHLy7*Agcw)|Nm?I*Z%0g;s5{u07*qoM6N<$f(4u`sQ>@~ literal 0 HcmV?d00001 diff --git a/js/target3.png b/js/target3.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a3994daa843637819a6f6d935aa2b73ea395b5 GIT binary patch literal 651 zcmV;60(AX}P)7{KA*`@fu1=Tse4bhRqcY3YtT-3$|*NzgN^@eL%io5Wgt0aCC zY+CDJV&gK%%(R4Zsf-!QrB#*E=TfhQMDl!sM@ry?fl`DPE#i#+=bNNUxFkttdk%&~ z8k(X|@&cR_z9@lr*>axc+P8?G#Y_^Ix4G7(SC!-o#efFEGDQaqC1)*0Q-$qtgvKIk zm60|awQSLWIy~WOq8c6{@@|l&eKqA>(b(@%`^RxsHR*oh?Mp99Vb<+kUe>c=StuYM zhk#+GFzuTsvDbfQ9_5<@oG6PDEn>E-&N&ZEQL*$?;c$&xzixqgxl+N9cQKRLjVtN= zz=a71BQK<)GJUtThKcM_g{N`QRGJK7h`}XDLH^%6{(T-*->2|uM%!!k-uT38p7|ZG z+1!&(z+;M>v_fL(sKT)^fAv?6qud#-Jzqm>6qJ3;$KezBO|=(;WjzF_b}d_y%9Rqu zP9A<=+QT(ZN_-o)KhqDPP^RH9R3*s=D$yaTQ;SRSPjaEc(>5C(1ru56KA+C@^9An& z5dIg3F_T3uPh{m#b)XnijJNUT`MJwt&q2F9?fh)|u=VF&gK2OXPK zdzpT~QT8O@EO<{0_z_A~LY${0Xs$X?T`tNH3JAvIEC~3fL@=;mARj|(&?f$fK(<2C ldQ4yBea~i?fV2`IUjYiE{09V<%1;0Q002ovPDHLkV1nEPFPQ)U literal 0 HcmV?d00001 diff --git a/js/target4.png b/js/target4.png new file mode 100644 index 0000000000000000000000000000000000000000..c230516513fc03f90c12916ae0776ab81092c694 GIT binary patch literal 664 zcmV;J0%!e+P)@K?v8;pPgf|dY*3sAU-|A7fN6G-$%!c~oDO(1&lP;Oj| z@t}Cnm>@AkqDBri9w-SEp%Id$p76=Y|ey z5{*p=N)^C4VM~d;E4Qn%(vd~{9A*!ZS*f%w!wJc^2nAiDZNdNx4QDMz#|nqxGTlXX zDXnGr*m6({b$H^PB$IfA#Ji##kJMyGlm2_j^6}kF_t<#J$`dc^ak(-4ZdDM% zYW?*7%<5iUhzh6=p|h?6o}$Ga+!=P>KgrTPzC_WbS5S1}*dN{LuiKxWaDu2CDE$-~Vu)PrvVf^jl{VWvRo>&V|$5PU8n~L3NmdWgkSS zZdeZH&6^Fv5&rsW`WnhN-76>f(K9Cf6?dl8)mX^r3JrE_v0kVo7n%4lSr13}y~)F6 zUV9uJEgEaQoF7&5SuE5v6mb}XsgaS6V|fD(wc|OfQz0D<)_#Gd&2TrjVxjWX0vQJS z*l7|}Z)rV%Q^LEB{i?%KS8-&X9GnI3Nde!YF+q&;Gz6_w3)StAK`bB`kFy})dy+t5 y!9dkVCt;a%4S{lpjN2(AkrzW-Vj{-P2>BoD{QQyyit|?h0000IKE_VW1;fclkhn>F0A~qtc93v!kvNEpljXn#5g|wr zA+}&FZEtILPnoW&eqANcCwQa;PDqs^v}h4$bY^bQ{f$eKWUB3;N2H-C3MDVVIpMDo zc$dxQS*{(6_$ka{0`o1`L1|Yd`Ad;9LNH6w#6rngi_xyaYS_=na~3EA4LD>O*Hj&z zaG0nMj}Up6X5EgO^2VsXH)?DirN2h&58vK-`5k7h_W4;o8J2|t@=*xrWeRJ3?I`vt z%KyruM9(p+Rj)V?tTB~>83*hrf8MgQFu>DcS~b4bI5+>m5`7q?(3?Qlxg2xE`;!g9|b(o$hZY5SMsP)I;O?ocs^@9VHi-OE4>53-M|Pgy#jHqAn3-0f(vn>D|MqA z6%mI)6p1qolL3k2G#-15vAa{ItN#96_*}vx6>vhXgxI1XE$A&grazC%vTUmBU_hd= z2|+0XI468lBJYaDvM9A@5kG}lLu5Xc+K_HtvTuZ(F``968w(X@Ek^qa+u#&qGptZX zT5#I3S#x!G;$Nf=Msv}{-hnz={--!hHo}5Omb}`x+ombQmJ7m zJD4@t4NGb7;yNI!{*{`_j_0HDd3ABC#;Y`HDoqA3z~M3^P`>}4x37~rpnpxWq{T-o z@7~-Pop{HluCycmB$V`PWR|unoEi6bk8l>{_tBx(%b6VoXMbYO7bi9?KAV~&vL!Ss}}43h*lSs z7ks_iD<63$fbc;a#$X0WPy4ZKfvt^r%IeaP_S#<_!R$i#Ewf^w^b7>57#PP6lc0KE z2W{9d9CK_`?G`$Rqw2}PS@50|@FP^}#5hky&{8#5T?|!-1q9=976g1#638tWD96zu tXpw$FpjaaPMoLfQbJrG_h<+_Xz60Fy{Lk~z-b(-g002ovPDHLkV1oFdG+Y1x literal 0 HcmV?d00001 diff --git a/js/target7.png b/js/target7.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c1d1db1f401373e80c4f5a4e64c659f8e5294a GIT binary patch literal 658 zcmV;D0&V??P)0j6gtI0Rym-JHAt8nX zF9*D!F+`&WOdv#s1QuljL{@0o-A+3*zj?g+$wyk?ghC0iMMGLKS-VNOip%qSdF-Ge z(b$Bb)B&6m)|JS+YNM`domj*#W3~~Q=e2fZJSF)$pIjtXdY zqI+EpJVuL~xTDPfxkUdKU;o}g`)}w-^!5RiZ#!p~I6oVGB^=ROX=A8Im~Gg%H#2;n z3tJt`{xxWO*>kJ^8e6N&Z62giSLxC~gTduUpnmo*PaY*xFG_g4^g5;fwx~4^{obd% zJCa%1u?Bmxq4+gyTDB54N zR(N%8QlHCWp`oRS!x&71Otg&UJ=ocam#uCN>14R_BlOq8&$$%~wWkrtFwn!!kf3@) zn;{$)K6JdJItnjPyhe`07*qoM6N<$f@(H6+yDRo literal 0 HcmV?d00001 diff --git a/js/target8.png b/js/target8.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1672e44615536e0d4cb7a242b57d02c6389385 GIT binary patch literal 654 zcmV;90&)F`P))ugSKhC-9rlfHvMZ-Qs>6^LgA!Ct%+dMLSg zvR?EOAFwUGSnUJa6zrz57;9FOxVss%GqXPrg7A3-A1Q$oQl$tjTErQ>?R)gMa7mIZ zbR7(cG&Dt_t4LYw`f9ho`%sSm4cl5ik zEEJGWK)@hVnDLEE*jvZBjq=V(E|x`!Rxn3Ymz@WusaU$IaHhsjUvmfL@d%wdFY2Jo z@GxKn7In}r2~b1Rd$@V_{yj_cK37n*xlcQyzaK-nI(&JSABKW&g*nZY3WmIc*^m8j zH|@_@N=K0o{*#Kz%>Cvlli9TjPvW4VG#J1DgG-Qt{P|0stwz;o4Sh7Ltug&=Vsedt z{U>XD)RlI?Ulck03W=qy3g^fDjT2lz`E{hWI!bc{lsRt4;Xm+=YBvVU0SHj-Sf-N7 z^%BLW{PBM23vPP)#6RQaGu;Si_@% literal 0 HcmV?d00001 diff --git a/js/target9.png b/js/target9.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4624246f7211bdd5739c6ca7fe4f9e3704caa9 GIT binary patch literal 653 zcmV;80&@L{P)9eLdT_Fmt>tXrAe?s*~LP|S&Pw3VK1Db zxyY0<)`71rGn%Ty6K*DI;1MG4(mWfesqT;3$D_`t(~P$0z2)UIFRNkR>wmkU7sIMh zLNN^i!(3t3x6WdJILs}ScaCzVDoV77*{gcfd0-zkOJ5aEHu&iXKcf6GL9fY+CMdH! z3|NF?I_y>iXrSpG+#xnUnPd4L7f^J0i}pl+J%Dm`{M;Ou$Aa_1ycS9gL(#)*$L<`V z`w3UlNo4EaQd60|2W-o))mVyymeOJfLkuoKN{Z*N_~&U!mu&$vUmz6pgYO^2Z_Ns+2VC#dgRT#XOPl^RPOc03BU<&_7#y)-Cp zdnbVKpE!)c43U9mq3nSV$HN7yBV|13uH1&@wepw5iiN^66sTgLjU6RI^`;KH@VRiz zu}ig|>l++ZPXf+@_r!o7qf#ftc`AYys;TNmS%pwQFdknfynE=%`pL4EkOPUiX!|}=@3aJ00000NkvXXu0mjf#Ck3v literal 0 HcmV?d00001 diff --git a/js/trampolineA.png b/js/trampolineA.png new file mode 100644 index 0000000000000000000000000000000000000000..96a0c05e017fb0449a3221a774a00e3243511263 GIT binary patch literal 610 zcmV-o0-gPdP)N!S`JO@LC?7zXIh(@PKkM{I<5$gbxjA#z$ zNC`{6PnZWhAz&Z(J|0P3g}RbjLjqE(Lo0@DF=xfq>sMP`OXD>b9r5k%n+ta?Ghp%h znM!Ap0a(W{mEZP$@Q0nrZ~_8v<27gQz)a z!g2abv1g5^xI*Y)9jmml;6S5$HJj~@`4rD=OLRk+MYy{L<6ujHo-CSE+ zJAd=^&%v)|E_Rks01}yKe&iSaocg+RxV5#lcH_P$>U=vGZ@yo;f18qUZ8%r*0*JM4C~=@m ztIG-Jdy?ip#d_8q`GT%)Od_fPDT(#IVAdTGTg{8UPB;`HD{~w;LI%RW3kxCR*k@&q w;85{k(1WVClrm6~M}bI6Xa}O2Qgk5j7dXrHuY*JdqyPW_07*qoM6N<$g5ewy3;+NC literal 0 HcmV?d00001 diff --git a/js/trampolineB.png b/js/trampolineB.png new file mode 100644 index 0000000000000000000000000000000000000000..5565ecca3f5825a74879694baf21abd54655f757 GIT binary patch literal 600 zcmV-e0;m0nP)E(O7R_P&h^eFQ~`Hxk1H1_hr(5tn18 z+n(y`Di=}D^6+gAd#EQqXZO$Duru%L|t;1WaIIHI_Z`?e3e?*UvFx_44sn z8*u=+XPl~UpMLP0o!xg=uiR8h##DRL3CCEyf3mo1{bR}h&`0>kQrxwx_fK++z3F63 zC0{>$KC^j#>Gp|P{SzXY{4C2u2ju6yYzYF`rTNP2<@c|zKHIrn;Aw{jq86kXhf}~m zs7UA%X%X9@!85lD?OX(wb6s^Knc=(ua<7nkMR?ITFEXR*M$5SdIv2s3?a4MZr#4sW zJKk;S{|27mwzR(EPi?MHvpw0y8cWorFq*!8zjo^y75?J*=)=@4mO`C5pl_(PVu;$*nfZR{!Mx;+_}`~ zSR6o}(ofa5&p-IZ-u}ncyAPF;KGnf+zy%hbTq(A!e=hor{15+JiY>eFzKYDwpBRj#{N)6)JB-*L-BBxYsZ!XtB>mpdQJ=mt^>iT@W z>D^1^#s3EPQtM5Bb$ysnxoyg@qjEA zTjPNdArg_ix4RqACI&$?VHVexV^2+ABnJQ!9zhBQAn!bFye&+@i{?hpPgVOXJaLg6m!ptYleDQty z@@)>DsMbPd>-8%a_7C=cRzvWiWMDoAsOuKvpZMbobN$NZ^x(4vD@YSVKy$Qr&)*`8 z#nyOWPKZP#@4bH?&?W{!G-1{^FUOIZu}BUc6w@FLq8Ja7gBeR4>H6m7gs}rj3!7rQ z=#Okk-*#CdssJfT9&E{?KOzP#%Arjd6v0&m1`OVT@b|)kcl`0LDi91R7BUQ=YI8~s mlw?sLk`mg3sHPMR2>b>)U-rd63uf*B0000IqP)Sq1`15cmF#i~NETiI0#6BMb_DhY#Et zGt=p*uC8*Sf@gVl2aZ8O!3iiT;ytP74}ug0WK?kf3>HN+8bx}vr^kxq4#?t&*DJxnr2BFGt@w(}QtE}zstAd<;1vTQp*U7vDB06RCCKY97}^Q(_Ku`@hPKZU3T%mDIEmv=f7 z2F%a`h)qAmGqE$4UO*aF2SID%SjGD>x$9VT$ z4xXsiLS^ffTg!*X2fwO5_)yX_nE=#vi}BC>`Kh^kYi)e|$$}N6i6Njl+Kp=u$YQZI z9+(g!5y=Pp`vGlY5JVGZWoW+6Npf#XrrjwqXi@fU!k`GQDllO14uro83*Pa^yQ)Ais94C*gR0FbIZ%>C jfk;Yd2cnu%G$8OB?8^dVl01fC00000NkvXXu0mjf=9~}Q literal 0 HcmV?d00001 diff --git a/js/trampolineF.png b/js/trampolineF.png new file mode 100644 index 0000000000000000000000000000000000000000..298161333bea08315ae653c8a413878e8129cad1 GIT binary patch literal 604 zcmV-i0;BzjP)@1W^h26EPY=(Y>IEFW}p_@D-FuqK3o}VNmcnV#J+E zX4;bfpe@GQUeaVRJh0*Z=+Kpyy$AY}=L3dKLcqlhM_$bb$EcoFLXlY(Rp=g1k$ ze#n>yJRxA8K7Klpt_@u)orVnLs3WUJu{vedwbg487nyraRZrU5eS2~J3N_2C=USaf z0bo6&+#G!T&M$U$-`&1-U#S?;>`nGrV)^NX^05!k#r`Wim-4Y+etLl=_9puy8u|L+ z^QDJZ7ayHJ8vlTVVJ}Ud6@V5)HbVfvI6Zsx`rFqxpLOcz1lnN+NlTam*sI=N^)A-T z(Gp1QFe5PabKeySIBnyjZr*jjiXebIDFF#qAo<7|>O~tL^0OI_EOo@qv*v|HLMB5Yv(TrPJyOC;jBN2-M6xSjxqPPHJ(Tyb4y0Ug71&#tpZ*Fc2mm$0000966cn6*q9Wdt6Mqn-s-U2P`)9ByqR}Xl&_u$DlsQnu5sSeXa;9XP zGQ|QG?xRthXZ6mF^2t=<{Dk@*xOT~+|7arr8S`9@gckSZdL*_WY99GnJ zczp7B{n_l!gOR(!1rk6C_Ac8?q6#CfW?w&8U0?on{KJmz6i3rfAZSj!21p;fe?v{t zS>iM_{RGF@PPNSfFrNl>Tgo+=6F}bO@-7E5Cvr{Qmh))gmw!p%(C zIaB~jPw4?v%FZp^%v>Ff4i65u*R}+*@86Ea_@%e6sBz0xUiYS(0)3WGC&mvOCR`qT zNxgf%v1KjPcCfVi^z{7XrtZD-1wG?2z+li~+y^%^F&nF!m*+n%SV5ZLJ(_~udGeYh z7CXQJV|*YW>E!EIk2b*zq7k#Sxe`h>l}Pdq6w@FLq8JB~ys0FVy0p0xF}5daZewUC z-K{O?+G&!2DnN{qdRs8*ZV6uVqHiMxMab$L0|u9Y@bAKc%eeDdog)}jEF|bb)utFT mP@+YFK#XVyq8ei`An+GNXzu!;Y+nli00006wzoD8PI_NE0TL4iz8-(F{DIJ zc1UCkSiC2H{P6Ka+QzqywCWR(f{t@J4&|v_UcGrWU;>@hSoXv>2d^*Oxy*=_n`axH ziv!3#<5Ye9@SR`mAG}?^bx$c7QyoqxoMvVFeDTow$CCe{kMNJBcxYF)&vTl?>10eL zU*3JXxOru9>)dgD1d)u249}D7ICVqH83F9#Z29=bw=XY0>CAR`nqdx63+OOm1Qh0s z2_rhR0Ae%D@yu+et&6}?uB&z=$2c$1_CObYMB6(ra!l2ZmU0cWE`l|?lU-_7H<#-N z-aXa-4Lrd;)%t;7-CU+-ce0B$mZ*ziG<~(VcKr)!mMpvk0Ui>ksLfIra>A+F&-obGnP2gwT