From 5e2f525522ab355a9119bb5457be881f997b2218 Mon Sep 17 00:00:00 2001 From: Marklogo Date: Sun, 24 Mar 2024 00:20:25 +0100 Subject: [PATCH] alpha --- assets/PngItem_2298804.png | Bin 45166 -> 0 bytes assets/coin.ogg | Bin 0 -> 6785 bytes assets/flap.ogg | Bin 0 -> 20561 bytes assets/gameover.ogg | Bin 0 -> 22603 bytes assets/gameover.png | Bin 0 -> 5135 bytes assets/logo.png | Bin 0 -> 4681 bytes assets/ready.png | Bin 0 -> 5427 bytes assets/taptap.png | Bin 0 -> 4845 bytes game.js | 437 ++++++++++++++++++++++++++++++++----- 9 files changed, 380 insertions(+), 57 deletions(-) delete mode 100644 assets/PngItem_2298804.png create mode 100644 assets/coin.ogg create mode 100644 assets/flap.ogg create mode 100644 assets/gameover.ogg create mode 100644 assets/gameover.png create mode 100644 assets/logo.png create mode 100644 assets/ready.png create mode 100644 assets/taptap.png diff --git a/assets/PngItem_2298804.png b/assets/PngItem_2298804.png deleted file mode 100644 index e6d3bb73ab0da34cfdc92d37addaf27fa87864b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45166 zcmb?@c|4SB8}K~{m92dwMysR6RvFnwr&B7SlZqBhR8sb`FEizois(>OXgZbTRK^x% znHh-*mC9O{k)6RXwi&a1_cLgD&w1bP`{SEmzh*qoyJ^-ZPPbnZP4ZjGg>%svbf?dCD-5>C!zd88BYX8t%+! zTit9v7Dno;jPG`Q>3ngO%h&iM{~}NL!>Md8X{2dU?D62dsQ2EtW1fWYlhDjWYK-?G z<&W2N|G2&o?3@E6z^>{4RwZbGrjZ8Hv+JuGjb716ij(w&_ugO&B}+>#Y9a8s6lxFD zHNo|Vz${jRi2Mh3q0|FP7Kz+au3-vTrO$FgD)T}r9cwycbU2;{Lzpc-$F-VQ$wn=e zkOIi)IUwGX3;)5{>Hyi^XDy1>ibpQRQ^U9q6ol1FKVU*fKX&AV)6mP!rnj3KpbcaZ zU{SBbTh6gvX ziO>3@!p6c}9^eYkRbJ8;aC0lq@PgzeXlXYyP42YFWz@E#AOJs8Y?|If5k=zFg{LYR z_>QCgBh**byXo?vgwitFy+bgGMz!Wt@J|x|3;J9B1YUI*)6k2nKDSs((01KSO?ZC< z^bE}>RotfBzRIXHH~`>gVjrDoT_h#;r4&4IZ>Kk!2FVZ{YHP?rDIQ-zEzg z^AO?c^nYePy%MzZp%}a6yK?;xqwpv#)D->20yIMyLXZ{AR*<6 zt7Z{fW)UCFuw>^x$j2FJTD4^uc19$Y^cbt=PatQZ8uZ7?i^QQzc5#csmT7B0yIe~C?)JW3W*IGX|e$LiR;iiC* zuw7f_)>i#lb%)q=x`s!&x`5CIuEZ}vtbNFWJe&PPk>fO$J)8|TzI0;SL1kVDg z!$Rla*W>fVviJ{Lm`a$1ZKP=&C`%i*CWjn!HQiYinJGNeVqHiLpmN`dmd+v?&IraT z&2I_;FC`rYZ#<>ZsT9&t?t+`TztA;Dsvd`&?92{2{nYWP=Tkx)-F&i;F2u< zb@wb1O5MtrJQwACHKb|1wsgQCpycYZfI)opZ0LaQDH}H5aYS^w2 zearfB)Yi#|6>-5%PpxOb{#`~?j+b3NGg>@FY`IpIr%RgID?Oeo8H&Y>@^pvh{>Tl4 zo0@>L^6sis)oE)Z26WnnKu{L``{g7&FkpT@a?l_@F^auzrR%?Mohd5L6+f&2aw?-EWXECt2BzC&u-IB4c56lh#Q@=BQR>p%d_rE4l)6X|C=a%I zDxCUvlpI>5G6ru5a}z*E<=NR{(EhR7JdC8B{}nT}g^+JkOqh|vZ(zMXCh0E}@M}c* zENp0Ue&^e@Ag500S1~&vj>z~a*6)lhk_C|-kw9nZB_**lfomWN_>F|CK*sGEI|jFt zg62SMU%{^NjlgTuPvZ1#T)#Om$VNMD$^Ulc=b0olF09md{f#)DWZQJU3DLKg`t3S_Sfe(Gs)_`;%q;W|nrL@XC^A z$v;6mMO%1D>mXF?blVBRBS+Tn;FPcHcYT|N9)ZxuRMM=lWlwSnxpHLO2E%wrg z0L=JyvAjQl&7OpeHJLqD}mZ0tp&PO43_djX!5a?8b>x!ekshn=+ zW~R~)7|b|Vu_$L8l6_q8(y@_TWdR=7{yXQ-Dub?f3KF!gf9FJ29H5;Pa|oftPbU9! z6`*~b5xt)k=cjSsiQ^@BxVWix);BxhXP(X^A}g7Mks@_O%$?qs*ibZnXnB zf2@beySq8AWiT|jIZzOS*W*=&LDM}g%P@>-HJCT$^vn<*2xZtYHz`9~s_c6|*$qk) z?5ur@^zC9OMJ$S(6M~_PO$mY znH%?IFtaHi=nT{kRCYVpjGe0xNKMpBlNffwr`npmwX5ggxE-nKdw!kPC8F5$h$FHo z3)IZ3X9$CQ&P$jHBiN6^>mtXCPOTcj-7_~B(-*dyX0m6eaD#H~W1N&z_usvBo6_RP zEphOVQ_AuvnCRKxVHf5m`ZKq3O`}P?3V9>5UX?jAToOsb#;QI|wHefSL0$UCo!__7 zes#F7BpGa*qk#IR`_p6)yZ41aZfA#{gT!^w*O$GTSq~H_B@#5*)E2n?=qCl~R~iTI zCc&)_0Q6#svIaG7+8ZuL*lv1POY6$zy}FVlYerOYcD2Q+!%054n}X-%lcmE8S=7PUN3QN<{`}Z9)4MYkORON@fI|$& zmJ*;uP=B=b0rPyGhtip)Xnn5a1m=dHj?!HR?jLXelqiwQGdCr!G74F5|3?DV(QwcY zQ?Kx9o7A;qD13Dl{Y5yz9@s6^@Tv$6+x462_4i}KJGAl1;ZLr(|FtU&Z3wi|wEM2K zGe&rKZvV*AL+16V?_-QEr*GLF@^CA*#j|mux_10=!J(EHsSEu#U-o~8F4nMmMxG0< znPN($vxDCgd{#!x`YZ6SK~B%mr^^^})SH_))9g4wtzYZlo%E8|IT-61PdhCWKZr)s zR&W`vr;2-a?r^xhE%u{|uX^OJ|(U7MWv_Fb-yC}eBsM^5@rvo z=nrK|y=98itpYI$JlvC)G{*`|c{viN{8W$@);j%vO?{BVkq_?iRUq z6QSQhgZG4t!wv{^`kckyVp_$->L%u>*q>~a1G=);7J>Z9m$}%FiDn>RcPDOra^Aql zF~8oRz_VzeF9;bOSU9wL4oE#%X4$(!YL73$lGnYXXxFib#-fk^YjFvho7G>8R>h{& zbl=ap^rs1V{iu7)^MPMb_)n7TJA#12Cz7tJVN;IuK%H%Ot*MHcHUrRde$~|xq8^B)*zU!D?K+KwE;-BivxpuotcO;|76S;894OW2Vb+lja7Qar z_nW5asZk9Mf>T$KS@(e1Kgs0N0;S2OfETua_Pgid2EX99m6|-b%ZK6io-RGm!6GvU zHvbAZsW(O2I&n|=_;BOU z06CY5^N_ujKnH#%c2z-pNuxe=*)7RZMArdw$X-&-_|oNozo#>9UHc<~E{C+2>wJ@b z;9r>l+0t=TikNQw*(1L&HzswdZ)kx6C<*hZ*&5I=errs)bThuj{*#V2jO1RXOIM^P zV42{kw9JS^?nc|v5DU%TTYop zjxUw8q)0@bYQju zuw+=v#5{;Z`L5udX|fq-h7oGU8u7sb>l9TfBGvJbe>SyU54#G}P;hYi3^vVT@fV~f zaTQkCt4*=Tpz~}=v44YRqb0_s{#>96|JdZ)3PS8{=|6t2&vOT-@(VTHVn~k6rxUh~ z1IFv6a*BTYtJLp|3OF2UddcLjdxLXhzJr4;4%_FGNFgbxnfr%y{x)9!g69&Ks4V=| zwGo1~Mf5ahFg8M0jchl;J@p47Fgi%q>(EUQ6;l)_?oJ*X}SmPc4U<~ zL%E&f!86Ejh*{9=XfFuM)WX?vvv2k?oZZNOh7mrY@F%|oJm38ORM1(^LEP@ATssa> z!g^oD-K#e-J@Zb9ANA=`O!u7|XN1>rCL^iqM89|1F$=oZI3HX3+ev{CYga|Mp}hRz z65f-6c9ld0VTqO|`s=W_ujKoqp{9%9Z4M_i^?Nq7_q=jokvAvk^V=(4yk0I$rr=)r z)X(~$TSxBghNor77YQ)!=YBzS5^@UC=5sytI0ke~9XyvMx|d?!GlgdMBLV5@*E;FW z)V3~1t|krVpqx5c*8b#9x~I@^I2d5@rljOk`I^Rj?e}JC2%9|2QTPxp2F&7fyzFv_tou zKNd-VXZ748e37P5mEk!lqUMqm|BG;=h{qWcW~MzI*pF9nN$m^2@D*!b?5eLe)VFet z!R;KOhm}s2n(6dSc99o^kH+aa2YT=JkyDBb5|!kdKkZJtIZSD1RJS;mG>tCo{vDI} z;^a`w`8Al!msHJl)yrrG+N7B6*-r#Dd4ffil`_Hrf-i}|32UA#9lt74EcJ^N;Yz9P zJnrgWVIVdWYlfh_Jgk;V( z<1n1Zg`1A2b$TZl=Yn5r=4%|c3MR;Jys%wv6Vu~wgR=IDwtZ3PQ%={fSYX@6B2>-2 zo2p>Q_t9-K&@-PjnM-xz4hIcS4hx-%?u3Oo2bb167nD}fA#}qd)necf9#7kJGck-v zaAQKr(1vG#E|=j5JpULv+(qt5Vq$5^EbqRva(eUJc9=wW4UA--@+%@uW>GH{k<*2u z+PneEz6XdsfRg`%9!}+ztc(D#R|?<$2hm_VPR(dBmQ{(dJvf1W{^H7^rW{?X(CDov zO|1_}FOKw;6!o>6rY@40IbNuP=_BMz4pv+0q|r z@tM_X0F9MqlgRP zPqF(xdLuFKPYL)JqVz-wpb3A9!ReU~d^9C!ND}#`zE&fn#62%&U<-zKVm6LMw=HX5 z(ax|J@O9cINOpliC-_ECKzMW)Q{C)Ao^PdVzJq06^<#4Vs99?g3&nj4fKm|FC z#C9oj0GGDcym=zwgx9r+z>YV69@H0@pz!)UmzG?D4BbZVk}E!n#K30|+IFOKxoCq% zg*z&gFpuFPjRX(2z&D&F&A^2|OI)uJwx>L5d+gSs6-bs;`upoR?emm}mY^KQt8x zbp_!oUJm3o)@@lYw?0U==XAzGFj++EI)OXqW!xFgk6RZZ|4`S9tYTarQl!acLh~E- zJe~W}#kOpMJ@%Mal+z^dpe=eC5-7^i3#0U!6=``r7L>B%8S=e z3Dq~LhKSE(vlgEos*(}r10|7~pDXRYT$a7!4GCIEKbgXcQHV~3DHM6@&5j$Ry0AB& z@C1)Ks8o-PXDUrtj_^{rP+F2;s#HIVXsNA?-VEHbl8k{HXHuR*`MO%>%sA=43Afg9 z@J5FF2!cafmFHRSrwS&=(Z#bJBr?9@DV+`U_s?OXh!BDo8tPsb9qnBc9vn8CcIhiV zd}~0nkG}Ga5qj^npxvRAP(r#M^~ODq;O=8iC5fu}Qd5~3M3TkKot8Ox!rn0#SZvUbb9dm2XyhNed?$`qq|dkn-!dY=qlUOnD#N!Z#FGQ4QH_a zR8)a!yOw8*1nos*8dJb%tKqkAB;5-1Iaytt)ysTZp#1d?2{SIp@4S1oJ%jWlxG0x} zb+l?`_rarMP~2h1e;$&j{WtNY=@>OS-$oD-TI8yu1ir{uR0lO5dRG5bdYm$tx68eI z!<2-7GcZ%yw(2Djg-2V;5E8&1zw1fkpmCz}odxJ&j&Cmh^=DC?(%RUgm%xYd8YC?T z2}@f614XrwUjVe+KL@Kb7j!0D4^NE!juF+5&nE_o3i8M(TGhLW)u8>-AHQR)Wv34L z--4j&lv?CMa7Wm3Uvb=ChL~xi^Oouka8y$wFx3Lq6Et9DNynt4PY?+5a5-5 z8pgq*UWd#gQj+K6(#9(C8gtYhG>q{ECJlNgLpiHviUmjtMrqnSLL5&*0)+17Kdeg~ zP&a-Cbb9OE4X^tb6@|vmkYq~MiPM?}O00Ha{O_seCgoDGgP`$TX#U}r7sU?;nD0;X zVuCilccrS$WXz_C38x~&g!w;dJhXVIdr!7{)fB&ES}5mJM(;C$P8uqt>HN`eiJ|W{ zWSU@eK)WL4{8lH*gmXPMHF5M^_ZMj(sr}P7Q?sG4;2T;=BNs$m+gRa>#Q>%P<%Bb^ zo54Zfi1)#7s7lxCU47U<-%0Q4d~Q-=6Y3jxr#%mHtXK%vs7lBkl`tbo5KZL1i#57)WfWhvtjW6OXdb{Lj9CwMST=Q@osdpbHy$t)@s{t_91oo5Nk&SyNTcmqfsZ}aHD4cFnHjqDlJUlw+h{E^$SJ1Z40V^*NIopg}YLs-??}SpsG%4ct*(eD!Eb1N^I}b6K zFsNGo$5g2XdU3I%6C1f;HE^l!b2Cyesom7KI%H98-vFV6~Nd}{?R>mf9ZY+SdrNP5O6?AQo zk_FWV5X<<_^a|9j@>z;tmI$0-Q z=S~PatZz?N8*u!t($j!XU0Ajpyfxy|82T_J5=T?ZtU=*hS{V1Gi23L9wNdz*y<*q@ z@3|(R1FJo2C1_4k#K2%jEtJ=6gpNq)`-4OO;R10xnr|=hK^q=T|1Fgv-ehv2gh#HeP5FzN3+Tn*&RVb+W~AU1SfrZ5XATg{jksK)1b%_{XZT|VN8&}$qEER=2=hYF z|BdA80IdYUn!Za{1TH4Qm2=Gf4>o3R2L@?A&BOqt;=T0!$us>C(-KY;6x{l5^B~K9 zG)~d;fEw?kv)k7Uq%zQa+{`$Wol~)Kck* zUuEb;#e%ig&q8*)hW-7*rYtphH%B`45-vq=+@?RTA!eNA^OFeCh^HXBGp17(m~TmE zb71C;@Hg8vMfYBfd{lp3NH9IjF5A%wR~i;6I3?2hZtxLH@}v2LDO=wT2ANlM4C$P3 zCwP28sZ(Dvq$JJ4vR}aZxn}uP{hXF@#My}ac`y^>MD4&vs4NEkjMAoW795cj)JNf> zX}9O`lPc`(t|eME}LKk4mVF?xer@Q57x+O(UI^ z8+CKfxOF#(*MA*$I_RvyPo4w`_RVq#vk+Z|E;Gpq2H&jQ)V7$QG??&a@>YYAUukGq zcGpc;S=e6F@nY8@IW3p{!abeU4HXR@nX1kOWq#2E4p_9l$>t`Zeg99!8U2Hoa`9R~ zgBe86rE`4xv`lU#Sb)Ad&nTedwl^vY4E~_POX2ZuExq%w*>R|IO$xKl>TE z%Rl-IO;`->RX2T-2*w5TiN}uJ4+nd(zm&DVaoW4(FFom7aciwlu7mjmzo>zwjazbq z>%;#N6g2!Ge~{llVh#hwh-4?mC^K&IB?YRqU#KBup`>$j>l=@^GR3a)e~h!7Sl<)? zae89LNP%$Kg!hg`r(4PPzT4RKzaW;QAr$mX`XZ__UGanQ2UNjG z;~~14=z_aZoHoU;)zbsRIdXe=jPsIHWEZUt?;nkZ6-Iq|P#t8CxJj{v6B{AuXuT>n zE%{nAnSWkXI3Vfx+}W00M{Q1QnkYJ-M<6f^+nK{>hl4YhZ8ZbxMkAu4{N&uv`z3(+ z*@KPMj^l81M9ZZBlAT7Po+Q0@rb&khUAgDAUvypSczjGfj5Vvie-Gt2kA`lV5Ka`8 z8(sZM8BI5rX$d{vT4X*>-bhiyEuk){ywX|5e9bHiGT0#nva-)RD&0Db)V9|kwe2Y@ zhis+}ErmFA#n-`Pb+wu{w$g^_XwSFmwIDa%c2l|TWVB;vz-LHouI>v0^W*smHRS*i zW57C$7a>WFQ+A9YMKU5gU;B7!Iy^XcCR08)eKyLM$&9@d4YlLS$ho9*CPPLouZ(c>7sp9OdOmZ%N? zQ%qI>*6V5u59`{64D_^adS>&e-M4N30J?QjO`@xF-<9-NuMag!TTL3gB(v|f`LkS= zuD9*yg%r^Jt}!tFt)5Gz+Cu4*l&(wm<+7+u)g@yFX-8rli+u2E*TdS+NJdD5@K}1~ zSRieX*UIoCXz{us5YyOx{{jHN{6z+O-)`p*x9T*jhYh{|_LGYbl}CkA_dD%7*7m$K zbNEXi`gVu+Cw=wOpu)iV^y5!OIntu0fT9L6lps&`SgC$+=yQ1s2tj$t>po}IbUaKz&FUzsI z9bJE=c+Ib7N9XJG>z=MwnT*0GSor6{W4gq? zWSJi&0cMR5hyaZ}KfE+YCN(7E%2rM3+qLw^2U6Es^D<9xTX9e5m7NK@kM5PTN%6L! z>|!L5-@7U{a3?#Nw+RBHjXs|m$z=L2wKZ*-(V2WSXXUcjmY84+fSjGA*vl0srM5pj zi66LnEc}e4BYB`|tW$vcE*_9M_u7AhAOUk5LF<(_ zlB$}bIhfY6sWdLUydWUzaMG{KunQtlrdFkj8eoAU?~(d>#^60vNX*opT-6(odUM_vC!Y zzL*V>^=SpW?ktZx+6IuOJTseurPoshL7{VjdtNvM1VRIIt}xVum=Y;6#NRO*b@lZ~ zzty?fLld>{6ZsK5zy)sr%S;YG&C=ZU7OPWAcjc3?*9SauwO1Kl$ zJsRExE(%wiHZ~HpA-ar%FnOT7auCD0Sz+Ch>Awv(_Aa!%Y8m>L;-*}Bh^Jy>3aQb# zSCVEVbl>P6)7hk!TX`-o0%YtJORb!r1aV*mK=->THkOVfh8oJvBfko7-?+?2`X(2- zl$E?#f0KNyvgF&rh;-|ga{;XygD*BHJ2FB8TJJ{quX4V3#U@e11i`IR&od@vE?^Y| z6jhqS3+?hRDzoe#JvWi-5L;+zmjXBLGHyy3Zh(3%z1(MlgMH6pmFEkIytysdy#BwtmJuSmRYLCPQt9`l4 zXNNYzANg9!srndxG39tSHaOeFZAs$;0!kh88#8IBm0e2M9KYh zGjp>qJZI&!V4%e5G|UFk3#N%Ih7YQ+PyK_=UaC2USzD_fM~Xda^upN3hD}>p5a(~a zY;afD6ZD!`y72`!0z16|ZS16U#pZ^mVTiq+bb^VZVqxdkGjUkk!9Y&_aXB*vUr6aF z#`If97ububZ2)Vr>%k_~qmPW=yzQ^?Xnc@3aIE0%#CT6Rv43nz(u%EsR}wt#E5j~M zR}n_lQoRXk3iO(`Ge)0UqxblQxSu zThWg$ryh#wcZ>1Jix|j4H#(O~m^H!{E@(sW85t@+4KxHf%DH7fVVj`DAj zMUEC_mgRns9~Yh8{36&noSnk><-j->K_qDx2;o=&dvw)U3^= zAD_l$mn2O`tjBVG(njw%n6Z5}i6=DWU=C)+)i zG&<)XlHNUj>dZTup{9!<$X$|lpMn!hkF*hr20e|~ByERRAS!moln_Skx|CowioSB{ zcv(BuBP<|TPfc-gD!WDaVX))8xpY~pp4;`8f+3o9eCn*!#Q4&873oiw$t~11cuifo zH{|PG_wuSG+jjIuOt35mc`Qk1^{ZpiTTgiE=G+ik>b|~FMjhGO!}H6_Gge8w%n`1_}*WFO{&kM3ka}oc$cJ38^EC z!?Ms0rk{)PODefOx({!3Np6!vJ8E9K^U0vr0C$rc&KqBY^RF83FsFJS(UXqzmbv|6 z)BRyTW$%n54Kt8&Q=}k4AGtGR3NALP#eLDTPy<1ECR0{qS`Mb`CorIx%+gSd5#BojiJ2;H>77OK6puV8rwHcA8Ukb;8KQ@815M7+))| zcP+2-R(SI(_Zg{#?Wr$|X189JeDkWM$-O0y{xH|#olnBJ!R@heAod2z{ZfE_MXWU9 z5QPS_9(AdHw&Bh8j3UiI(SzW)Vb<@~C!(R+I@20_d-BhhUXL~2q+{hS>>0>gGqQCJ zY!T;GVqEkmHCaqduuHH3v@4MWSdEcs+5U2NYm-}yCS%mY^?%ack;3Y`sZ95V+F}sWm z-^dA7B}?g7zdjs&>RrK|ztbC!C!=17};CaGOOPiyCDGLz-=oz*lfWm+t*vg~7}TaLt) zM8_#Eq3?7JG09~;i;;WE(30c@C&@)mJRl|Z8Kg-IVSOZ_nQ(yJ6+zzRaPXg2|T|wdANWR?2(D1cbn|xcBMeYXh_ivkkbm}?9-LI+2YmH*TEYf*j>iX#Y`r4 zyl>mQ+aE*8^2sPPDGgpH=upjD6QkfKIdXmwuiF&g5*FaXuFJ9Xdm3^|bgg_q(cx|( zCE(qsPQXtL}UApV;MnQn~7@%Bk&u zDYJ1)kb3THUb^)4D~zUhEFBzs5ofKd@U&c7)(N@?gyTg;^O zLz~NF%d)g;tjPC5`sGrd z^+S}$P!Oic|14X;^V7&%RC2g?v!X+MNM|~3r$=+(@9e^ggn&A8wW__A_orb(XS9*$xM}eUK?+lXHjkq|?xE+H3klBRu!C41b^*lnSC@=n&RE zG*+G%`B&bi+{!0c>q8C%4HPqroa$)-&34qP7QxMq;E92q4#Tt)<+lC&@D7VeMyTua z!4&c@@rUxCahg9>HILjpE_X7a1*>ym=h68-?JyAZJ{=(EM|Y6WF*qSy2l)d-=_Blw zJbw*y6DyDP(SLrDRdswZ@%QnhzcG?Qat$PEcSVQHc=L_ITy(SrGdgYrCYVCU2Q6Y@ zek5l!azaQbw~rw2Ec1&TKsP@3q?aEk&A(YTJbbrEvcS;FBan0Fc$4vHnUiC}j#C_M zf5*E~G%xqer=J*_bYDS=@$f3;Il$*9LE@P0TORgVa{(SO8{55h~A$E33mU`I- zZPRs2C?jSWz6o{qXMd3)@1eLb#>yW^erSxNh7LU|w_O%eEzTin7kyPN_g}JYS8wpd z;BF}9eI3w}--xQ`#lxnU*u|*e=b>9sk92=^sBj7>wjs^A9+^JDLSLZIn9>j`K|U08=CBR79ri@cPg0O zwXHE0YwC4?y}2}ZU8pOJWtJ=?2W|}-z{(pN3>}bRBpG{lACW%D;w7m{R<#VrcT_4A zZn;gKsEj-jf7kKp+1^>D8MaHq56Kl4d~*F_yO>U+z4&8=mAt6QBtgS-{iOkw>Xe1^ z6r@w%5Qd>0@%~#79O>LqN-@ugagWS^4W4>Cu29*_Eu80+W}%bj+#(z9Q?@H`YG~~n%MUgA7mbGTKt^F@ZldbOt*Iz^oEbaLi?MSS4zHp#?B%NT+zREgk=ry*# zv$!?jeRO0jHM9L$`I5l^8+M_j=bpP~TVI{`PoHQChYL6so^+KXcK7p(e9O#o#@=Js zjC3Z2cAtqGHtfa(gtAjQl@6f81OB*%W8|3x3M6gU5d7aqYF3xV~mk?k88liBnub$HxKDrH()u2hv+dY;OG<)V%@qk7KmjTBh}6Xbx<}Jji-5 zFzyde1Nw9H+SBu3Mf}IK+{`J~Obce9e)X~%HV<`eTDV^N)jBnf6C{=^@8XgsZryRY zd%Ad%jhv^XW5LT>j8NNDXXq_chB7pXT?NHFxE%e~@pm~w$~=Yl8(>VAttb~#9L-P; zD0ve1M6#i{qR%%*;nvM3lAmaH?;{lpbJ?5A?HtyNW*O;`36|_8Pl~ScvG#ry=`zhu zvLUCgqcZZZ+;hxivUM5lc|LzR%el6XsZGhwI?S>oa|BHfa1(br=K2@vbG0LvKO0R_ z3G;028z&rLcluK{E2qX&-Rj}-@3F&h>ykKg>)$cUG`g42-*6u+)2KDeH*7d486x*d zTeEIp^%?0AbVH1ZmDV0Zs~yHx>7wM0+x12Ifd_|`H<+aIqdeGKt_>`fBs2%rOB0V_ z7cftQJELh8?dj&W%+K``A4dh7LLI9Ot-4O|-~vZHC0|17PDjD;3!kw7v2U~~>M9Xl z(BIM8_H(oSDa!-vu^)RgmWhidf4+{jfBvrXOU1GYz_0O6tcLu#r-+0Yq zxwkR}c4X&zPr*c$R#@se-wzH2?^9&fJsHD^T4^tOn_kDnRoJmMdInhP!N(Kn-k*lO z=d(tl>sO6b^}Z~nY%s}hS?M8KE4yq2_s}(2!eqeask!Rqlbdh(3QW6vafVitzDaw6 zisYv5XTwIUYvKOi~K7I(ctozB)_Sy4|aQk8AJ+HKaMz zu%eiBm#}I|ubRelCexs|%b;8m9)QzLQv<>2W#Eg#GE3`4cgNG(;wVzb>R1n+Ol*91 zzS&z3Lod&%3x0imGv>EM!$GFy8Ff;9y(B#5LIjY9k*0GIQ-??g*k+0w-`{ghCNX5_ zvFgLD#D}UI8%{`m3{;U@)a|Z!ssn3M>F6>xcBXFPR$_|k##<*@)XAXg^N)vlZ=?&q z)K^)ds$||eOH(gl|2&f~jE>uGWOeDN-ly8}Dy@0wEnu{B&B@R$CxYw3?HPI0_SfEe z#jw6;(~)X&y#StKk#m(8svmwJWZeKdB+GOqk2k-gpZ56sVDN(M(>f}CyU$f`-Gn)Q z$yDFH;az1`@#wAdr(T~=ALF@BqF>}f0A31IH6jBc(|FwpQc=smq|buv?e>iAfw<@e z;&aP%#Xy`tLeA7}kRT8YC6HCz_ST+kr8Z)h=k4hf-z?`g=38dGNbuHa=a#eKHhJa_ zj620!Fn_#f;vXN$Q~S)UZ|-nE*vNn@D4*fkR=UDAIll$jhsdm_G6fVZ@%0m1AjuI` zDSnUF00vh7fukWpq$wYO%P%;5(tG zN?2e3rcA94qlg`au$@bq{b-L7I420Ip0n&*`-vFzsh%yOpCmiS`j9`Y#Y1$a>(P)+ zGo@{q&VsqZnb!sUFi{-#fFCOJ&~;9A@|Z!I!$}arACkG^F1>6y5a-hbbfD<+1Y^Fz zkcK}`fn8%A_hpE?6w}*0X2UMpZ^RJag&RKv*X?d+`ogDZe!v8&v`sZ)oP;(06;oS^Q_{$Mq^v8JgPFoU zk~^5bOgkq@%OLY2mwY4T_qB3gK;XZ(3Wy00v+zjK|35Dys}bXwtAE~^HvM4bTN~g7 z31l|i`lkN#sDHvY%3DKRxnA)J&lD|SHw0`z z`7T;wp8c0C60mUK3|YRjMa;CR9pLzp#Dxk9{wG_z zHQdi?OKhOYkqwo@Vj?!y;nd@AP>MbT0f0 zI;n6QNXhSlC}s-0I77()8;n!S?}Ib`+h>&2u7|PZ2E;zQR%I=Gd1p3jG7fjh^?^tg zQW4n)h0LTSDe$@X2qC>wZ+K}}CZ$@wqV1O!=E@?&AdFLc=%j{=E=h`3Du%>%-13+& zWhjp-krtX$MS_EKz70eq0p|PF_#?%gG>YQ&W!3rW9}d8V_*TqjSq@_@yeozq8TR(F zZ#dy=d5Z3Jblscsf;H2xTagw$3g?$ZDCYUtDJdZfLlgKA`2zTg*J-80=&S`6BQ_#= zmyS`b*>(#gte!?yxje8yISqLj4Y4T0Wd{}J!X{Jr`M%RH;B{JA>J7s&Qh#X*fUn%> zK3fgDao~Fe&Qqf~VU(m}%V{adl<(M{XzOy)*nju%T5uh{S^z$(38y5Y6pY4j7=DC_ zT877vrwVkK@B`%$kr@DP&1ZTDZ37Oc0kd)V@|c6S8FF4F#e{}55iD8{;z=?W^6{-= zVt$|E16#1zqx(?Ae%Opvq-RQksnvA&{GBAxLd>1-xT9J-D$=Bh7)s~%@<)sqLbtvk zteMRW^Jrk5HKdzY3u^BJTs||# zc&OZ0ffrWYStCd~7NQ?cpb+j1vUXtU(4Txk_6VJvN`H9{j=BysT1Z*mST z9S^>iVb=L$lZ-V#-)IgVxkhN&U9uV$jo}AjCh{^WxF|7j8D|!1>JL~|)}NAPC8Vo6 zUrl_6&c+hP;Bz}Oi^_tB;;FFDfYquk<#iiABljV1yO^@@d?$V!2(fqq4F4j~a)N6P zVT9x(M>NHRo7#F>L1jV5CfEQVDSEt>CUTgjvHBE@m1r=j&zXx#>V|KM5JH)4BxK(# zxj+=}0}m;%NelTP$CEk0UW%A2DQd1ys;xM-+)RAqJ1FaIKo1Xr^saf{~iD95r>?=U~}1{%GxK(SMnsz1N598Vi|%LNVGJKo)}C-{#wszq26pWYxe0ffyHlr<0XKVl!C*i z*HuTRAl#*e9hLZSZp+AGz@`i3vt4CRomQJMS4j7$7!$B~3wTYeohT;kiwSnd(ybe9 zcuX}G)@=*7YQh9`gomn@Xf1*oc!58GY$68vhq-SnQ@|y6tLoojt7Ju}kV7?O+l-G` z$n2mekkhIY{%=?jmr3*Kt$>P)HA zk88d)ltS}g?nJ2**5i}iWq5y8p6#2`pYIa=SRNHOM}o_iCmsFcAG-N%F)3oX3`!E0 zpb2-q_e6a!c1VT)v+zoo`ESMFx@4i{3_EqCF1fZ&De!mY_^+C}iibu>4LNj4cgpkr zsNd7-3(7qtXosp=vh?J!T+y3~%ZPwLy8|Tz`M?il~?cs!T+|P zgjpOI8hA$cy^q|1n@vUJ;zi~FbD2;C9c0C6D=}@!uwyFYut9R>mRKxxx>2nUD|}IS zUM(SZ(~Uplu%@1{)X53?K6Q#&a*EUM%u2IBy}6wfMvZ5H-&^(Li?Xz4 zs~6xp3E?&((mrJpofA^l?ThsOi?>GbBqGoN{IAPw14BABZ{iMcb3UQ>^j!eu<6WdD zoWf^ZerdO^DQP%xk$5D+YjyFj$BKaa4v_XMr>?*iu@9wiTYt?e8V)=>!o6B`Bt*zg z6kS^g(gTF?&`nN0M&YFp#J^9!CFOlK)1a2qQ9*hfRovlvbLu5oI~6vYY7cX-RM~`3 z+C~&JEhDU@?h^JaAl%>!AsA&t)Tp9o_*2mxH2br`?UaZea0$wh-Pai3(ZFc(Bl3ZrL(S~KB!Cj;$k=S`$JX9k0| z=}GhRK}G@W49X4n+!@x}WxEC^c%HCorOt0&oFXTVcIW|Je!^W_IZ?MS8l>~Pn6XBK zp=a4l2-Bd*leMRX8}7flJ+z72QxMA&jwhFsF_d4FaTqG5GP2Xrhv}&yA|+FA@}Hb} zZxuF_wPY1zge%&}eP1Pv>^OoOrmoiJf6!j-$X!CcZY*lXB^vW$M7w-GONjeh5LV7q zn;6En%MdxbwHt8WY%iw^n=z|nwyYM~u&jiSA>k%)Y;tT&A?savEsEPrO^!kZ zPGIgPHVNypW1mQ}FIHIy$DRl$I$Xk-32{q21*IJk4*dS(E-3s~1_PQu9Haz~%4e4I z=M&vab*LNcC3Mh3p4yiLjo6~u_(kAvhG_J8_Znxexi*U97#o*AyY(*QOtY=r1W(_% zQ)C^-6G6h8M2HTsC!ILdFnbVi0MfwCNQ3)V<@-H50OtY1NoJ|&4EvR$(20G4%D>oA zM;OU2&lYi%ktRpv1GRRV+{j-&Ht=D^!sn@PY()+x+lAYftfunLV>PHFOJFhj?h2CP zn_5ja#II5m$Zn@{Ey@kH3kBLjZU+a2*JUs=QFxu}bW321kqj7F7dMQip&zR_N_bU1 ziA4&evIMp~%LV^kppt3fs%%0CVt!POvdF}f{7ge?0T41G}) z?$c{w)cK3t*!={7C~rbYJ;3m%Xo!mWS-7`~JZ9AW)7!7?*tTyldAPssnVH~NGRk(h z4dzq--(Le#?#$76{ravMeNf4tEVW5t`39YrDt?P!DNgJ@H}EWHpLynkc+4$Q))^TDZ@oUwYw0m=jLxOYC8Ck1|CtO51QbQ!dam_iz@ObW1 z4vFw)zS$BW8axtj2Tn=dgAp-`vkyg6HWP3C4G?wlpFkhJ`z5w;|M_KyJ3@Ck7(AH} z6>+bw4qU@(xV-xLs;a6E_>RQ&-ITm)_Q8Y8sAETGS%5R+6i)KSCDdbA5`aVb)robA zTBv?6DKo003m6OZe5-iqWL6t>(KWEidN5=Eb15B7ut`D*L8BEH!oS*SD+>6qZy74! zJ-bd@^l6`+M2`y))v%oo^7GhyremgC{6=ChN!TUu*!LVceIOr%bO<@8>?7zY0N%SqU27303*7Y^7lMqK1Ev- z{2Cdy9)!%s|1xAF(RzCP`4h!CU;|2S<*YF2y(@u>{~<`$KNpFvIYfg$U^2S(8y2gh+8A)oLkiY5^&h7iS^l{kmem=&4&5X^MR>E zhR*RnL4f8uq2u3s!A?8A{yO0i%_J0`|6=Q?FOS5l%RoklihV`*^#MMG=wL zAD9ivOa29XSqaV_8fH{ne9H0MZozM%`o7txFVSiN9&9AC!gQQ&Ct|Wr&A#^@9DFXd zcY}Z;HRKq5q-`~EzLcp1RHbh8rk8G0A8LzXl_#N>7OgW8GS|ao=Cd~&_ zE~h?z|5t|jJlcFSF~r{_TKtz8L(1$BD*v<18bp0K$*0S0BPrS_$i9O)HLSkAhbih{ z@U7h{uu5*zuh&T^ISZg2RbN?YS*n7<3;E?Acl=@WI_g#OdNVImA znLYbOk@jj(bDwa`_4WP5LaQo}4`iv15?`D9vkybX@LLBcs-Job`h--++u)bVpzYv4 z**_)AM8im8{_`@N2di?HnVkfu_;P6#I6WKRCU-9^bTj1O$2Y`y*)A7A%G@6+trNy* zubXuAE7R6$t^Ca_b*mVn|I^x+$2E0rZSTZHnJxmA;D8!I9DsngR7FIHT11nC(bXuw-%}FN5%)_Gjm6wky7K({TQZhO*+^iIP8T~GA&;PgVsWe? zGo-QS&`K=>9et}G2Yw$;GBUCZFA)`fk0N@WZD(BQZfMvzhB&DDN>znNxi<(28`Hdf!A%E@wxrwv7k zBjrNcYpJ-{(TUnH5?QA=fo4^g&55KDx~|eS4T(Kd`1?{T0@Bf{`#?U-~I))={OINcerRtY9&y6`NmP&-Yt=qTm3g};sZX0BpM)$lgS@^Sh z^eW|Ozu3!(=g=W{Q7S9Im1}2H%#Gf=_2JprtF;C*)qHj97jHeqxoQ_R+A^bhzquy- zjnOCXI2Y{E+kTspi*Pt(=ExoUwbkK5bb;Sb8O))Z1td2-;hj!IzPkeK$lQZ>9z9x< zpf*}$6tAPNqh>=)D&INuL(hGm0(*TcT|)2~7AMdiU7(e{R!@l*BH$SiBTuK$i5ud4xYGVt;Qm-HRA)|5GrYC8Hi-R%`WUAq&#y~48 zPk9i38F}3~QH4FA;qAZXw4Pw@URUF31Qo*xI$F%{Lfg;%X2;OH;YsW;M6Hoi|5+>D zKY#x-#zfO4T@4UtNV`o)iwYHmFH%JCKbI+*HV3`ByVu>3@1L8_d=6oz?>wZ#cuF{} z>c&5p`fsSrCq5U7rcW+(jGR;OUYwxrYkOQTonUH`^wKCy2QiH;7t4j;{+)_(68Hh zF(kv^pEj=wFt0QTNOobAXH=nQPk?%5)^g1IpX#5vh|d zCP1?CPi8G?Duz_7sSazU$soGeX9M99CxVsY5}Xk6qB)xqmQLu?W;^iBo2HhTHlHrK zO{BU}JHJ1zCR&a90#v;v_kCttTInL4@ly%4hgObO^b0NY^iKth-Rk2~Ro>WYUeZeS z8#PaL)qK;d_WS)dU03irn`WHpvVKNU&YdQqC{CC$6BO5WEdUJGky{^a>zi5p5RQTbIdz(h&3^jcK+bGYA>Jm(bI?!8KVR$G`QyaXgo^|BXDKJ--{Bc@q@oqoLv5{* z6k1iUMcA447pbB<r9qlqhK z7x=1X9*j|EXK5#_(oiF2wrQghkxXV#sm(K|pg5y=pZRA;xd7q@hoWrSv`F@b``yPW zW(Jq%ikV?6hs9oNhMxL$sxc%h65t%ea=QxA_ovGQ@kaZr3l^FhCp|J~E-(t)6P=;v zTq5Y)k--^w)8%==&WkL8Xu+@{))wcq^lP(k>hR~%9>Hq7?*mYbIq>LVf%N2Qf(DNj zyVABGv}zUuDR2J;Hqj;1waJ}rKdSk!G4=0nN^WVpHV3~xO^uiIzpq-)T(45W^u#nG4R zUB{B_M^rQh@fxj&e4*%%MYN35mcDCB1@T#7#+k=ylGa{5&G(o4-f4LM(Y*M_H`6F3 z9W2+Wmv0j@i|G~1w)arNSSeD^>S^jLId2#TIH@)7i@sUkRd~erPLH6+Mg`f9Yn%~W zD_HSe&}~1>O@?SFV#IpMIOR>hn0wkh6jk`_EM>2G(yg=`4~c`%i|@FLZn-VfZEQHU z$P|K?|7gXqMvDbSx63#PqF4Wk_M!AC3<-o0f@4C2tha9vHm`-ru~WLmg4aav+Orfm zy~}o-E1aO%zW_!;G0;&lv(!SJ?NO=97clnn>B`qn-$JDOb#lC>m*!-7(%u_~iYu0F znePcWY;f*5PQcx%6o`jvqJi(5-n=e#5BJ1b&kU`IxtO)L$$(W#S};ivoG^Sc@n00( z=evCGM4K?JCabgW)u5lQL<}BUd1DK&P}JRjB5Q}Lw;AfI5Hoj=uO-tX#uwf-)ZFtG z+Co(h;GeS$KChhI9IC2G1}2uv=J$s7wWupgya z!^-UPEb~KqwiXo5Ha~(KUl`0(M|%3L;&VI}Y}Tyk=^0B-w5Y^Z3iW?7ia&yO&p{iP zD{uWVN{^+nq4}s7S0!;-d%dXfSN6d#S)sYaYe93wuD8xYjBM{EhRN44pfv0psu=#> z>xNx3nf~0M*(Zh@8u0wAHW3EX>y*Smj?0LdfIGFAPv;UclgWDeKIfs$@2mxTC~Q!L z&C!2*-^Wf29pBz#@$=Kp7=vwpz~P+5>&O=&OZdHq`19OgX4J@&H)|5i@vN*=uTX<6 zJACCCZP`ph&Y&z}jn}+dbJL@)63SpO1G4Brx(8L3#_fju@?oTyR0#1Z^!6;T5O_bX zK_c;~;?;+?k?0xO+T&Cqmt-cF=f|LVy6Bmua;^TkTSnW-c&ZxdgiOwd0muiwwDMl! z5}V`M_?N{?{U5x}C9}wbO3+bpmU!*GxYvU1)?+Jefd@rfVObcnH<62Kkbf@3mbo0! zU>f(UrKS)s4r<4DXh5}@VibS5ML?$4ZFCLEv0y(qG>({QLEw*V)v?%#UzOsTW`g#* zZ=^|#Lv5E@Y@a_#(38Rqa)yxE7lvP2#E8{#7pb(JNc|Pyx6HBSLW@%j3!)}XLt+$W zNMR9S4lW3hmwxg2RY)RT%e+^k|9kApjJbpsL(NmL;hM5}VZ2k0G<01#f-e>cV4Vq4 zS9tl{+2)hDRg}S?MM8HGq?HF5QsSVX(5_jiF48+)gds;ZU1eE+pU04^A*&vYSxo90Y~mn(9@F=r(zz zqFpxeXhoE`seIv^17q{@`CjJ#q>f51ny=GvzXTAhz73{&z1uy=ZWq1W5+Z!octPp9 zCz=&8r=XBj=)1g}C8nlJj;umZ zK22LlOfnweeUN4pthvx_KelB5J*V+s&O(fry^vO@iaIy;B%Owi9D!0m4=4BP<0K5$pEcvFmr7W!Fxf^MJ7E4Vei>_Pgra(T3TU}EdBne#X;kGRS#%Wr0tn;hR8c;+sW^we z&a7(x>$^aMc(|tMRj|&`FF_IXM{_pOjXV?wiIh2@x9gZY=Sthvlk40uS1|zaV<3$S zlLcGHBM36eEm@y*ZKCCHV~P$=vOjCbN6`q5idt?F!D0ND^_OBCwG(06>?slCWqFb% zZ*y02d}H(>L|kmbP$b1qqN(8uTi1>pf@cPm%r^HT{sJYBX~8-sWc3jyqi?r!fdfF+ zut;92@O_cK<>gx&(@-t2+2|lAQV)5WEvc97ezjoFcn5Lap<7$^Q2JqZR3aLihA%?v z$Ryt2NTe-*v?6%^I^oVT$Av_P2IU^APvc&^x-%e#=s9L zX5!DvOF2>A7AgoLe5&XT#FVBR@V>2fCMTwfa#4dcL0tqJ^znyCV?nd)qU$B~iCjEH^B^19yWMyDCeNeh&t_%qHa7d8JkT?7RmMfWOTPs_+4`BQLAy2dFzSP8NsW|*RKG!CU!w>%D3g_GXTrqTBXju+HPw$ z3>AM|zC3^gKbJr;j?V)OfCcZ-2{&jxDb^)d0TujM_wIyg)uxzyi!fvUYXI0DGo}~* zDsNg>eF|V(->?EfMF!WNwTSFdp*I;co3ZO?5+?C#|M#Z>@cE(W(S?i;erN(M&WL>` zjz>k`)#&@*UQS$&(Ol2NC!Un@f(Ap)Ee6z+UlX(v*lO+ylfhpYu0axgo+~3&lm!S9 zqxs_5yP|d^X0aHOx1;cy{C$Ad432r;n#T1&7k4H@a4rq%wqQFYV!R5~gQmSc#JJYp zVp7l?nU{s0j7KVTiDloMp_qh^J4o?ih999YN%w9(6jHShy|yJcq;ap(ZESZ!5<0{0 z#}Eb3sjd7(7Eq@Pqgn9&|D9RQYi}a6YecYCoz&TBUHkvAzA9Q!+@)uaW<0V~}&m9|<=NavTrMmTD%8q1Pi!D7C zVQ#@M4yy&~3WlPLlY~%2Zjl zSb7K3ZVg1bTxpZPT}fgCJGB4VqlJFxKufI-T@|Gh>UH>sN%o$DZLdzs^1IDV6=V67 zoE4wE4S~;loC=9x`1_`=96LX;BT6-^Qs*_Nil)EVwSiz`Tl%bxA=y2r0Hz#PE95MJ zJuwr4%S+-C*gIoHDWoeWKgmOe<};ei#byWdo1#o!bZ$%S6#jx0K|qNaR6;S{1741F z-BIFyWELB>2wF9dbJr1CYZrm?F$VU3A@P zN4~Ds?|~u)b@-i6qALQ)A^U&EyPgQUh4PbW9A)q@nN5mMMB7xo`}YOdMYB{<`CKDQ ziL}HXwOPauMIAxb|59mTxhkgO^UcFwg`=Ij_18N#F!o2x5x;-738w<4$YuTXqT7BF zj@Ofb9-}b-WI(vRPG*=P*+?$p43tNACS~m)Q3LU^-CI5Kd^pLDfq<-iYs3ahnW4F| zI;vH}TT6dFp~Vl~5*o5X8oi7y%NF?lY_ESI9NPil`u9wY`n*smF0MBJBSFmr$lxzs77GWbc z<8qP@TW~jAX zrB|HRz1uL;gBbeb^N{viK#@rt*$_#9A~gewv^efy#u5$k$fIYQDCOCGn7ip4oJu%E zroSBcibA5t$UMg@=IG-TDI-2QsfuV-?%{hHiz0UO@Wd4JvpJ#{kpU0eXcC_)*hE=B zmviC{+@Ph}PcVHwbtx@7<5^%XU@6b$#W>h2s@W9oL&#JDpKqx!OIiDWR9{Jfp<@Ria8-Eqbh*;c>j0@auMuf z^3^hdJp*kfWL}9*gm-&rrDa{V5&JUg=-0^P3CZ@8gMo6KN@&rbehKB2uaTW^sHn*# zl7N3CKwX9vBJus=uk-|db7&Q_#UC~#K=LI=x5n=`^`i2+Aq!YQ7RXR%*WUDUCAvN| zh+ZZW!aGX=j`6-wRHEJu3k)iulSdJ$wS`DEc?^2W5{>BS^6b!8K@Z^xb}(lnH9t*H zRGg}BfULek^Z&DCP=TY%Qm!zBX0p}&8c>__O{o4;`n=KNd$3Bwk!U~i#Gut4GvGRGXqgLgW7sDYB~{8SgVIcVwc+iLnoJH9_{ zrJg>+kaE-kD7kV`VIYyJ`*|5aRc<-&l_dV{LOa?!W=M9d^h(`v&WePHffBWCyD-ti zd7o=%W2Q_?9;m)A5|A{}jUoAgprtFw)n=Q_TtpkP-jxgxHSagO3J`pV1~{U%WyeN^ z?RlsJDZ4?3G^j%VrcDcKCAyuVW@5r*y7Jav>@r--7q6prRohG5or~H++hd4>IPBiU zo9K+)Xx;I6Q)W@NaFcozq?<>6C}6bWO~L_6Nuf-IKCeY@*HL#4u0oh1Cu+b!IztLo zcm@ak?xz`9<>Sm{{j>6)fj!cbrc3G-Z0PGXnUhjcV2w7re0_9p)Z!=e2;E7_fqkAM zGruM*fGl_xWW;wSSI%)BZF)&DPXgqU3#5lAXs>x-ax{*?${^&aF1oIM%$_#Dv+SGj zu>^cVAA<#7FiI7w?6`}ro}q#?YudF>uJXVQB}s#v`?U4st?Pr#ls64(C~)Z4tBtdU-_6m2JErU6#}2Ht!y_pk-q=k_ceebDGcI{faY zf%~l|C!V6Duk8aZMb+Ciq)~8KzG^1q`r5?0?XB{`;f&oU?X?K3r;^0ax5Zf4>vKZe z)-*w=W4r?xxh>2^Jt721xJ-2*II7Flf+Bf0Q@9sM^go(kg9uZ|Bu<8hD;4;GE@+%- zq;V;tzF6cZc}g2F7HlRse9+;01YL~GfTT?u&DBQb<~HMgNwoadPxG7+8w$J2Du;So zUCNey6Wl5sd(WSTyOzro1h@)>LDMRCaT@nzm$0-bVh3*vY!46>n%@9NwrJN2V&-q+ zx`)@V4bEaj%_%6K4XDx#sIV%`tNLahYWGesuohxaRVKy0ly8vnp+LL^K>sRl=+HCV`FQUBwGlYiziKH z+|p|if1CpmcX`l3DG;emdaH~tQ1o9MW(UU6XEOhDf%t|58(>BPM?~X2F5Fg?uGVx+ z!Lye%2E2iFtp~}WwNkzXI5v+WjddaCzu~v;)f$?&8n17`dTCMuDEE8|2T-+^-9W420P}}rQN^;mQ(aPCx&=pET0sDE zEG#BsduOD-3$Lp9+!(^Z8l8cssTZ~Ks-C;Grl7&(c7)ea&zXnyi-hfqtayn%o zl?J-O!ekhNBWpm1?;B$cFI<#MKPD9Yg9(*34uWG58>;5z^leqGC%bm$!(Y|3M5%|V4G3cQP5W%4bW3^ z80HcUfSsZ(@c?ao(kgwM$(JY9=#LHua4xJGDJx= zrx6GkQ_>ErG|HTCv04Ti0n^{b@^~tf80z=?S#5&q0h5^vX~Cdh9dN>_hR_Erf(}10 zReyZt27Q7Gv8BrlbVJ4UMaj_^3qC4I8)eX;`vTdJjm#4rcPd9x^y$U;{s&)O_-6>R7D*a-aG`wJ%vg$m8@+yRtT+MijYs>%A1y zq>|a!3rNYIggcZwY=m}uJ z4oP`*?Ee$LW@uK|=nv`egBf7|m`qT?a*ip%^yS}ZhQ9jDG*%kal<3`sMm&r0y72Qxsq0?RVK)z2ZH73oEkxEmFBBg@up@-O&p*%u)XpO6mQ~& zL$~6vEp0Kbhc~ff^|#!(&VR0H)1C#kb!-eelzk_RzYsvC{X#-%O># z^<~GmCCmG6&q{zP6ar6gXJeeS-uA|ejVJLu&cTW zpnC+RTXDgTJ%7!&%N@DcmW9hZ$CmJfh$m^>vN<$hO*mb-bT8PH58NuS;q1qw=^TZm zQ9{BNM<8-mAuFJ9jM&T3LED*nfIf`WB1#9lt>S8=@R`glT@=l%=#1lSu;4)4-8myt1EpGn*5! zE4cvJ*gu-}$^&Ph@xO&@skJBEk}ZYNEM=uiN>NrQtkDI?a0 z{WNc--1_J_xKdW~b&9UsaN0c77CV}-GP=9Aqf`3+h5K=vL(1v;GG<&wwGXXy1=!eu z>0d5T6c%;sJa8m~?Al;Y!@F@fZsz;Tp)td_Osv6H7zmG0Fw+R8U!m5{CMXC(_P+r~ zO7{qW-gaVU`HA&@LlIRzv(a_0kR0v!?%ou7vO{p?anPpSjTomftcvie`kk8Hn2h?@m zdPXPk#^Ai2ehhU;p&WH&=Na+dT7=z^k_kz=o%tP+#vRoheJ{`SVi5zKqTn(P%cu+< znSQ1_QEl`D8u;Tbuk^f{Tl$i^JvuDK3^rFy72=yv_&@f5_Phh=lUxhO^VuF1qn z0_d)+Tn<{PpIhG+mr`zexxT?HpW({^G&hy+BCxXYk zq;ufkcm#Tt5O$@1a&+r_#um);DipKkR3Lf#jl$kpgpvtboL5j(9*ofwM2%knS{sQD zbpcS_iHKC$>Zi%5L9hHY?*h}!QKNA5olPw_LaDol#age5Mx+@+`5Kp8I*F>Bt50i7 z`4LP#P!$2I{T__?0AFB8pudANu<5~1c76k|?)JL^t^*0;U%d6?JZ9sghaf?8c4>IS z3REFM(g3e1X1~t|;6M+tf=en?@ZaE!Obb#rl!Mof8PLe&y#Iry;Z}S?+zv$=q#2E7a|)&*PP7P`7jI8qP%E4}6L8I~MflR18E|9b+wLps*X@%fEid8qb@RY@UuLSakMD`a5o>iWJZd+tQH-CNgZWK$x5 zZqqMxR8TWN0;yra(|_{GhU&Mu!GJrAFgpne z%JMj**G@=J3Ka*q-EGNILdmZAlmO23Y+ZeMlYaSk|oc^s<1 z9)S+h0g&BzYOrzuA9sr46Zp%y~ zib>!@01xezwvofC$AS}h1-?}v=z*eXyPlYJm6W7pcF@NWe547cU~QGQwyUJ$VmgFx zZXPmQie)_Gq?MKBmY0QXev%=u6ulSc1;lvlt5o93kDE*RP>(=Su5!0|T=@K#=_NVs z<;8Yhev+GFUQc-4S>h8Y9w>tty!j>!2dz#d(LI}88i2`Vg($=Q=l@r^9_rnE1IVS4 z`gP<>Wr9>?V!U|T%6CITx!U_ImwqPfKS>M-o7fak;eoy-OYGMssCnrQVDV$T8RD!m z^{+HnVIQ_fvyo#aNC4Yf;p4X3%XyDw*!1lwh;q(foq6AP*Qu}|65EKad>xuqY+seK za%2?5tbxHdvdg5x&F}Y3Q4HmacLwnld=Y?Zvi4#NEjN#Ba}DfkwScA0w0n`SRAQYEcQ=gnzPa46aa*z&7#GV^Wq|~6 z{pxb?I&ekjnWA#+zWrI<7fLVn(LP8lY9fVL2#7q~44G+yP}V1X&|I*&GI;+z0{{)N z9zhyzeZ3dMt9(4k{L-BEnV&DiG2GCo0hC;U8ZuII#ORShhB;waVi7i#ux%@_yO`6^FKE;7 zo*aCLgoVy)qy^l?Ha~`9mDca8NN`~iCv)@{0WGbtTpm%pF7#)JQ;rk3FmJH20L#UJ zhL2*=I`Xc&U{Ahyn%Pyddp&JH-7T2g?H$97&d$1kJ(m!1)m&*efre<(%OKph*FS3!|3HUMqWclOr+ry_wXnSK z_}KsO?&xg3(R^=sA}~)kD}5n0x95rEeRN9D~lXh;C29$&o!7}zLmX!t62v$557mvrT^VQ$tjHyUb^E47-+sA*6rUHtkhXZzBo(vGf4yennW7h!Uyxk`{-_Tl zyXS~Kob@yE95A5T0@mDtHK;=aylUWK0B`RRbP!njsHi#O+nS6$;49Zjv;{LJ>&NnEt*7{gXxXK=1^e zZ#fE@${D)~@X?m|X>JCBPV*~6bO)eKWQEAV4?Ppt>F`sdDykofjo4lTsgs6Jtwkqd zl&|iKVBNP8EHo0w+TSt7{l3r+8fF0SouOBNc8~x0o-oh^GMOSU#M+FT%xQr*`6BJ| z0GMTgYb;u&=7A0-k5gs8s+vo4Qbnp0%Gc9mI+M0Akf)M{Hu}DA5UiR&L_^aY4MBew z%>2#`)wch!z$={fzo0&Ih%eMd4t!YURViFow3^z{`>IG7Xh$1lrnopIL_k=Unffdb z+6`Des{cx;ywZsMAZ;aW2~^FiRM|zljfqxk3;riAs2ehu!rt`+!m7k(sl^tc(U>XH zI`B`!G?amEpM+5$bQBL&KzC239g&}kD63E`x@xg`{xX=ju0b8Tc~S$EC41&Tht0cK zYcFCBWz;puL)a8Da)y|>jF=2CG(%{we-m7#6{*;==mdQoanWv_6&0s-2t#7q4Ega( z5*33MhH!M2@@;-m^FcqugEVgYIT>y7R(mLIe#bGhwE_0!B!LM;aS0!K7+TDI?+n}= z2kz3y@r7n$6L+X%pbre#jx*k7zgB_9{wP-LhfHjar-o;c>_LUfHq->tL9}27)a%qE zmVHoW+0?m|a>cg_0^N^a?e-f(YoCv%+ft2_bGO(u* zyd!z8I5L2@X1A*M4YJJ(gA7;VWW3&Lg`yA83^ov@qtyc;bErOT<;W1Gu7@=;fxita zzr4V=${u=((1!}IM9baAsEs4P+HL+7LAP`i=s@_1C;0k&OlX;X++pTpy@}#0p*Zsb zxe6T&Owlc|3lv%b|EO-eZBq>jUUj&-C{SGh9b<5;I0^cxjj`$i70(bClu00nZl>LG z$OK|-+wE5W{(ZcmEKHWK^MAvz{=0HNLau+q2Re{a-0{!u7 zcEt?94^!yS5hc?l@q6Y%12c+@1}=2IDYrm${|smRD??<+xe4L4KuB!aKqmaBu0bm5 zAJDlGU_Xs>@+E-PrW>}Wik{orDr`Mx8vuVevY@uHyPj4%B^Nzzr1Dyx*>x z!IVG)+gpX_O6@U-`mNu40lB)dbT+J)sq-BYxT`dOAUHh2!b>rkorn(dGDa(gFzHP>F+=(dMWnRdK7odX3?9(8oY81Md&?{F#;ya6Et_S=>K=CskB#;}6#K z;uiDaphULpSqbvK;Ovj`}kC~D#)9! z$L{?pWh$nH4XtZ)ps93w1FnHH(oYvpg56r+M2B!cFA2j_aLPvnLZcK=#J`D8RakD@ zkPvZ!UUA)O`+RH+>NaAVp~uINh?w~l|M44Qrgr?r&|O&z+8l~R-6N-7Qf3C@w!7Gu z?Oi*~Gq(K4Sccr!pl#dJnT@H5@5?Si2j0DLN^1)gHBgEs3}bGh*cWpX!`O_W=Rz3)jmpq+BP38p6#Q9Y3Appui|SO!OE8}QYw zy@s~wH4a(RT2EcG-1f6QGX4tri0HH-Jt#`8UY02uLLfr#4u4gfs{fO)PKfi74*fqj zi5Ko6{rA)-HeRp>T5eEu1((r0fU2V-gDKp-;9v1Qs=pei#exOUK&sd)EGT6t`q20S zCSTke-N8Ty&>?$$5JY~7dRHQQaWMLga?_0Q!-@|r!IO}&_alP>igZPczB$BpE;!(g z!T@D$yLHwgqIdItQ~%@wSar~hqcj}Xx{IDM#8$MVl5Zf!=Ng5LK=VSPJAf)5)3B&)ofZ9W<9VIib|_s$OhMJ=5X^ zk{xW{NPr?zDLin8f?vHnyP(mad2|F9O+X|WBB&SeLQ1st$?bylW?zhx?L4me5o`Dd zkbuPMv4%&K%9W}&&mP@V8^fZe^hiZJ#^;XEs z55IwCI*YMgVKI@p6xlvIj0ycFD2=XHtY;u6YF;MbC2Q!wN=ks9HlT~i<#t}s^-CFy zMS{b<&VAD47Ki20AD}%nyr0v_DiS$>-6AaVv`urW{wiW-@USXQ4K8GPcpSZqn7K)d zpcvB^dpb%DrRTeYIU0JVfTg-X*YxWJmSS<#*Zv@HcU^IJ`&^S$v_H~QQ8#5!hme`Y zhK^l5+=^$Tjv{#xw|#Cy)zBf%&=0-}ZL?DH^0wH`K7y|!!875f2_CY(@Y}PT2KF%p zau#pM$z}dm#Pq{JI4Z7B7Pc`0!F@UEIFerTbUXI${96|E^84_eP-F)#1n`7i!0j(A z(DW?AtbT;ly@ebSFntgBK6FGn zK{r?Hi=CCx@AJ#9f0w30R}SXSD6E_|IQ#;lIX1~)RyyzvI5IkK>{`pj)~hE_eOg3d z?HPBe)-2r1TxVPMV&fwn{`HDoLv5K^3y4~(>|^Sp+bV3Zt#o;VjmF6kCAZWz+Z$>c zcYKgGtX?@>kq2}j?1(yiZpgTDK&I=N;Ug96+~u3d(Q1*)Mt}WUyY|hzvE2Bv^B!X= ze6iQk(9MTd>6hy^-dGXyydB$Jt!`u+Mfg{NzN`#_#z{_@d6^%e)e;}h^J@k{zf8oC z+*F|t4Bu4Yg9&?;v;JaZfXGeK%6&9!A;OJKe*dV8-Td63vgbW0G)D*hOoyVt?o{*` z1H7dZe=#1up-V_tW3T(`StN>qVPj3!9^)i@fCZ?B^Fqt%QGUOrLj#S)cIbU5NMwRw z55$J;^UXcPL3~m~I(Bk97E*+05e+D@2$Nh&*ho0o1?&vb)LDm8(U1x~1JoESVVPPw z)|x}x+(z+nOrpjj6Lx`sLxQ?0k7}t2`$z(o|*R&CG^#V{`S9;ifAFi0CZr z;hf&&ca5WaB_A`BlYqcG6*%{SfgJpZ3Cyn4#CK(;Gp3Yw$UJQpc;{ZXt9UQow0wp- z*7Mbx&g04gBY=9PQ@?j1v9`d7Jt%vs4CXqM65#Zj!=zPQQ7sw5i35Z5A*?6m)`c3N zr$_g>4@jA4_fj?X*l0e%9%T~t-lWF<*(ZVdv;@c?v0wIF8jxe%0lKw7rGdHg1;A!d zbD#0*HeN$HZ)9!6C+;Fcz*rJRLv}c`XkY6AF%ueu`=3+-aJ?x5c0mjI%x=9GzcztG zxsK+!5py!^@reLraKTIs&VlotE+&bKyT#6=zVIp3F)Z*&{u^6wf6V@WH(ICRgB8dZ z)tK0#4I|N>%Tu@c^ewnpi%7rDb@y{+_jdDce0H{ zs*TKrv(Ap5{qtYf+t|qR=PA$spyp*o0{dDN?*F`v98v`hY=ZruqP&NqT3l}Fog0Da zddN(A0v{5c_8u$KsXEBzN)hvgZdVJgs|RktkNbzY5IpwIfwpUq2xIpL|BwOX%!lo`!B_zzj2oR=E@ZCP6YQL& z1uc+pu1U~c+=0Fbh*7sz9XeR3!3|MS1Fw+(Zhk_dC8_d^6w7qqv^jhLpX(%QV2}CI zh6ZS1-P8FOR^;RAqQXf6iX;y1g|i$f^t^x$$CLlw3B{T(ENrI89I`+PO>%42GDUKN z)rDP&>gL0t zm8QgdHS#^iDpsCzCMQnb%^ditN}*&6gLFU5g+DC7r<?)4z8Um;r^E!9xhX`Y&|y*kR_PAA<X)> zjRLBG^IX77%Mq?y&n%uT1`j2KGEjXU@1L_iT736IB+wd^;^Xd zR4@Lr(`Y`rSr9E1+7{&?I0)$E$1@^T`0l*t0fUS2Igz{?pmt!5vfMRKk8VnUz`t0g zTfOf$x!|D*Sgj+Df=^It%L;VJq;qYjJU^}g8e@NTvgC7b`Mu*ggWDU}N zCvDUSCf%E;%6a{i#FQVwmFn;2lE4La+VA~$pmM+odAT68L`2#`^Iod%-PgvGu(_Q} z>MnB&mOqO(BUlH5FsFJTdSJwd0rvInJ=*L$uT3vQ133GE3O`{k&wsE9j%5*8P>AEg@zAA0Kuwe z$jBanso)6EGA+^2P$Mr~g}~!ntHZD34Ko-%B)$;6hcMOSRNZ?8#tmjjFn%*+a1b0E zjt30XuLRR$h(rk5o0`QkM9WMD8s?Lrd1#{nQWjrdy!Va-IH)rKTRegr9xk*@oV7w{w+Rqc#LVhg`M&Iox5iukIvrz`GvbGL6o0UF>el0se;Q~w zC!DWKD4#|id#9L49lK`O6KZ{0S$k(JfFj(4IJO9sxlH+2=q_>5YdWLPbVuL5X+t5c z@#*gPR5oExlJereoQ=XA2c#azdT1VhBxUT&7-o)LiN{e#VYhhbIZMt_{Im`D`oDks z3_2tnJ(;yhyLS5zA14z*Odq@W;UxN*!Ui3_rO`QJ=k!^J{k12he~X*_pJ0|Ab6@df$`{G!%pYF5Gr8$4+1G9Pec7T0 z+4T|mYiDgVU%U3QR>#*puM5s~%Qq4V^L>|4^KIXiA z|H?P8T+}HGH?mwLlSi?J_dZP-YF^6{@1EbXRn}bKKFfhKgEIU#V6?PC<A$X1mq&+>PP}n%RRa5j);vaB^hsH#hT+4W_|%bes=6IpYQc~g0R?d>?Z^OUhEpeq*k*nrqgx~{pgyiMAL zZp^!I#>9Dah&kHX&toZC=XRWY9Ic!;HQ%QAPm8$kQtjJP?C|hP*X)>%P6T!aMf=0P1FiQUCw| diff --git a/assets/coin.ogg b/assets/coin.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d278455726e6d33cb509077df16e5b7f15a82077 GIT binary patch literal 6785 zcmb_gdpwls+rMTE#vu)%Av8o8QO2f?YB9=TI;=*CSt6sHCDbZyjU3j>N=!m3F+)UA zjnZ+pa;SugNyVmAY*acQgx~dyJ^kK4-p~8T`+OebdhY9R-`Dp#-1qZ*9~|rnWcc$k z(k<2^$USwuQIZj9^M;tf&{$%CB=sZy0sQPwlK(F!eNSlqeG!@jXSwq1{Sz0B{rl=s z7`HPA+1{biA+x@Z31&ou271Y@Gu#=oJ^SuQMAB*=@!prp{^h4YrMRzH41j zI{R8;Th=Nd6hsEAJ!0Ig`U+!9=&PGI_A`)r$_Q@WsA7gxrd?llOeSlbs}aK_IpUkrEjob%dZIS*NpOTI`T|#`u{VbIg|D(t|Z()CemLguMa6a)#~c_HjA6u>2>3 zFfXT~Sbe&&#|SImKbTH3m0snNFZi z@KHoCfQoW%sUo*@v3KVB(1X*r7Mm9oTO2(Rdi{jujS~ZBXUWyw06bP`*GFqB%k_c) zr~&5bCG#?$cxQ`!4k{<7R+2#gKtVZm*Bb3*uT5LuENFfEKkxBr833@;JczFFR|u%a z`g+a>xLUrdx@-eYXG3<2bGbOFhnZr=zwKG+L^a;_YT?J<6JCvnfCjKudtO>%qbb!m zIZ%7XqK%~tq@J33U*FPiO6^XfvCkAH+^9nhITYxll#xthqYVBqMMAC{votR-o!Mv* z+stZYB&pl<7v(Iszb49FZhzghB$FG?lxTY{t$C`;uad|LV~;yA`5CMR`aeI@o+w%lk8+A|n;3zr(^ zBK+IpOp%+aJUCe-pn;%d zUV5(^#v{|rCwqEmZt#}evMmKiele1ZU|9AMY$`edoJk?k3OG zk$(jNMTo00b^+ek5DFx67P#M;v+VzP6Tp%Ilh2?&FM-P`Z*g*C%?O^~U~npLzlIKb zDbH$dP#S%DRpV_YJFBFC)0D+Z4`YfwsmyY*u#MFqDwXjp#HWlfc$%;XdkodMfyPf` zDH$ixSPhIgnn{B}vN~JISg6gp#z@v;yYJzvvz3v{RXH3)V>6BSVo1pb_-C1nYoWkK zGEmtq#tn=`8BSC)kv7|n8K};FRw!(?V~T|`HnV(jhEr2vPPW|)GvRG6Q!Me|gv%M2 zSYgYm>h(FHR>IpnWVG{st&-?ZYhVPmxL+&G;c`N&knzl5uLhfAm@MRQta63C=E9uY zPOjplEUvp*Z8kTy@k(&hew z%MILBBa`u}4h!i^f>J#28&O@k;FPi3;E-m{6d#OF>)zgceX$fI;J?v-%jqY%WKW zz0^+0IGM{0v%*k6Gf4K}aH>`wCR37&?U)#2ie)y>#>d3%JY{S_ z9GpnT8z4FoQ!Hxdh0DjpA|Y=VYkVx58_vq*61qZexK#s}!z8FBRrPsDqArfnJ&{7) zntD1PA&{YN13i4%UlhLzo4dh0Y{+z{8G5U9*OsVEHWJ8Fb_F8EN@HE6$7DJ+6)kFE zspKa&*|~~yvfWh<@0Hmw5AV(9J;6L%as7xemmQify3GqY3{b70jDKo}+p_k8qY*%2 z7B>TZL}(fcV>Os!I)Yh7=QrbCR(ZX*~pHpc3R zlmrZ^%buGmE<05x_^5ygE3L^I%^=o7tSKr&WnNF0LmI0gf8;gLd zavzmIN&{RLC}`kDIbE12?>^-Oe1zl4Tz#=TuH|z$b{JPK_j+ND2ZjnmkM)Mju1dn} zU`llP%7=wQ%$NoZwgvI{tD!uB8tBd_tjo`kq!Rgr;j@x+CC_-oqki~JOzLDM0`)0g zuJf4sYL;_?%pgk{92r+}FS7et7)TrhoH6P02(;!#@FO z!G3NLjh(Q1MNsU{JwM20|`R(ZCD|;k;G7H@`~mZIy%`K7j~B1WQ(cwT)SvQ6no@g1RVD_skbvuJsPD zvc)!mp(zM&xlkqxBt&9gUI55ZR)!;#DZ$?E_A?D8%#!0U1q6(%=pV8B5}UicNad7} z%MoFz|HVi~Fp97$sTdUwQ}0g($6TDOWiMx_$Qj}|>;~hth;o0(PYmM>;cdbc##a7l zM$GXigUk6x1G)cZF#k41sQpWWDJFWr-v(3;6RZ03QR{CC$ISl4;No)s_4wCX0U4Kwr4FSAC{?a7xK@UfF&sN?={4PRqcb?$}$4KVikX(EXE1P^YN@X=*N7++aN~{f)gUbdxNsJrc06 zXX9B!l!ahpZ~w1jXQ8~40!S&uPB*i2uMbbMqO09~%{!-_N%n!?*gWA{tdBA2-=iN^ zqczy38Z|_gw=&QJcp?%Cc~<)D>rSDzX-$l$ruC*K{H&d~ca~+b(%i2b@>Pu$%Qv^N zQnX9-xvKeG)vyY?)J)b9){IA76|oX#4hqwZ|Yz@&yj9N>!&iJLli)LQPa`@ z59$OB8&VI+glz$COFe|M;+&|OqFsz#%Cid3yuLbNMqEge{P-sT!9)-wlhe}HuRnJA zF?pIZKdIzOuY&2KAXB-3BlO^L(wJmYoS%QR`i!)xt+S_p=o6@D>S43`^CFXp!!_{& zgNHG)`~{No$W}fC#0wir z-rGq+a+i*hx>6EZ_3fFT)>Mo|9C&_d#aeMeq2|5#;@8wy#}>mmGUw~q*tdG^pRQPb zr{8+b<+{PgI1Z_3=%LxQ9sAxre&|=N214rjiYar;C#ncj9a7f6ecK!xvBu|p=(*id z%6lxfZ?5%A+4g+MwJh&Id6Vs_moHAt@9Vka@}$q{LVS?|ID2XA^&glU^L5kq&s)5o zmOPLRoT5KF6PY`6?wtDLdSoj6@G*O$EPlU>UT~}s-W}B3vaEABuj$6>TEE<5$Ir)v zpR-tUa{a4)kG7ud-tpq+ZvU_Ac2AP&KwI#u3w<@KSgrS-{c-xa@8^+(j_8q-V`B;a z_bhH$hi~5U-cu+3#mVKHcda>PUv=%s&aUB4&oAD(yrDPSy2Bf!X(6?*Bg0#q8y8AU z7k<3;`9Pu3z0Ngb%eF4wk}sK?6B&E_OvaB+2S@t6dqXaLT(J9_(I3fO3pf?MBv=4l zBF(kGE_i5kTRZxKlob8`%6t3(Af1`1Dh+|o{aU-8POYFo>ht~?(NX>Tl@7$)Eji76 z+|Bz``TVQywXXp-_Luf{eg1ag(XQAFVVf|XIw>Vj2X4Nb?BY4WWdD!Jyk$XeGlx1m z?*#g)|M=-Z_Qp)%Rd1UQcm4NF2zdP=VQIPUGEKo!)RX4o&smqV@y}b68b90Sua?JwLKb^Jo* zi{o_Lz}(N+sAT(1fnFB14+o{ER@4oQ74K_VELFVdV!v&0>bi56%08YRjMeFqj%*-7 z<>PNiJ^IjN_JlOlV>_d0O3xM&2pQ8!F!U-6Ai%*WecUz(jtF%C%unO{rPE?Zfs;9r z=Ax**H%6xs5+0;lm$T7>tx0!AZ1edtTh*72UJ8J|Py~~qX@d`nyn*;p7P|A+)fcjQ zRg;5K)lZ+`CrnWU#@TZhROFv#;PUHh(OQ~>MR@Ew#}tB2yQTq+%|6Y+5yefGC2z)< zdo-F$->%s3@LY>B4E=&$j;^H8)Zpu8)wPd=06mjnXp6qDIw}l3Pf^P!Y{4R9+nyJA z00n85D;b)7@8#%SrrkL2GqN5adfU>mhDO=V@z>F-#jc_kk3QdeZ$Eg4p6GM;{m`SP znLn(nJ~sN(IczyUwZ7>Rg_jH*IH}~JJJ|*Lzf7;uavSNr?NC;gvU^~vU+k~+xWoj<*^g6o2YEpjT*er`ze*F4-H~iTncechSESNJ;*xVRc zXVfP&zxn=;oJ$wpSDae({%eeXk;6gR98&N7pK`UDUQ9dmSnJZ*rNviIxJLe1GU>rB z*F#M{xldDeFWlsltC)Inni7!j?y6fkVr@9@KDj5bfE@7Y8tXeGCbd4M6%htKZ*jK~CYmg70-UkgYC>cvPC){Sno5X^cRX}WTz$Wqrh&_o zGU25iexy>vZ!2(c?(kqr(CiV<<;4}}E~a&mr5`6z(>ivp1}eU}96aQ<^Qtle@WX>y zWXPL&K&we^*9n|*RHfudPmjh`rT(cabH7fZfo=c{F#tbdpl`6+6G_*)8HRtAT!@NVbc4R z-%}az+o@wD*t9*Cn?Lo7RRENADoEXk-F1!b@SxrO)jO8wFLFJ5LoMj2qM+3b0(IW) z#&3)sRH&XNMi8L+{FG)Yym?Vkj5-Jg1QdQyg!Y71f3JN^4%HhWbr5X9Za}jXP|)h! z;YPbR-3}*qRmA<25`muUKqYy%1*@Fc297}8Erx*S z-jt5g5Vmxpv3&6^I2oLcni{T3+C@^GHfnq29hyfgv0sgX3c21DDa};mAt{U-+AU-xD{$IYt&7 zI!UEmwTS*f1=JOZglAyC3s!6d51*~X#sp-Tm;eF4PGUy5s${;;nYOjifvg!o+U^*e z0Rf6cs~cT6Joww4B8R7z_604o+YrSKB$8L+B*Q#y(THDgi+8s zI#g@YxvJXBx3=uPP(=XMaAr2~B2EDQ`>NsjZXaIlwtKCyamMO?Ov(~6wOaM-8YOTh zLG@m<&O|Ik&nJ!dK>Fb1N+K#0Sbp1lpv0`4f2n(q(b*|WiWSpfawiJ}ijK&>XiHe^ zp1SR^VQJ1xBGAq%6mP}h4JtrZ1%c5_66Oz>*-j_JF(cnKNDDyPFr~U{g1f!j?BogAxdqJv`DO zPa3cu$r4i@cUJDW&GUy@(fc%^62;&<#dG`DKfOOvxTUc)C;XT$4$uO01}_2417I*k zs~9s`pf@zQ8KfP2V?qNhX)yLM_h+1$yZda@Rn>Q2ugzE*{#zmi5ybX^dn-od-PU8G zHyw==f3LZJ?dWl`fF;D@OMIwBtT15al4=qZxxXU8@uYfUi^TME&=2?}G0gF6W9r-M zcWnehT1+^azBvH0DCypj85W_ou@v$w(u%YwJ*<~CW1^T_QE09lIBC@`u${J!}7 z=HAJ_*F1RLTI!_+Q%RJ5rPk*p24f-^Z2p;mu5?dQtO^uw9d8hm76eRd;%&I1@V+xu zHg~_^Q(VV6RYw$CPKqwU-5EwH!;kt8%^fwd|4_lOr8PxCv#So(v}nqr;=2;#&gd1_r3Rho_nA7pLd=;vuEw8>oaT3teFh#Ie5?&fCB$G zVJ$_*MwDPMvmc@ai9H<22#VVH03|hUya3=(nedlA_dE5j%CvT00{teRZWS!09(!K{BrzJZobV%j891A z=BM&8zUjpNe*>((p9}!N0481}v+|j3@Tl=Yj7DZ;nQ@S#Q4Lm@={E!y#jq2H&JZ>ad z)!%Gk0Vc>MV4Wjv+ai6ZMPX!Ibm}SG21r_oBUr&I?8UO$LV-`551(<OyhIRS|D6_SLWC^@zyExBp#y%)oK;nZxv#CSXry3NfUWdCGZ8(OD9CWyC?v zDy57}E4#WxCl@)5>ga?&oMQnX3He8g{|)|#^50TimCMn(jlVRkdq;aCXzU#|dD+~H zv_ud=Db_Xsr8uMg*}13-#x^0oXt2O%lh91 z>pz+UfJ&3}MBNDOL`MsezX$kV&54j6$Wa)|QMGSXb(qi|d9T0cgZ{V_*;(Jg zRmOWoVjF^3;Q3< zDZ^(zG0If2%~kctRX=*>U}{la;knhi3eo>fa{@UvTuu#}v%=2Ar=AH)Evmm-5qkT= z%g+Dn^B>Kzj#LF7P;9$!Hp{u701# z8Rcu|G>X(Gsoo&zxA%DH_vkqk1#t97^iwN>dh~ThKvKQvUvj52b)ziBm3H;Q z%bu8><5XJ3|BztcY|aI2WDY9Qlq63k1$h=7{F@B?LmuNjucu7X3M=Yeyl0bN9;>M9 z1glEr)ko4m5?pu3DC04y6%CSPnt#y+(dlW@BuKvaL)MGYWN5Cjg}j%#4ztzu7sTde z9HtBYAv-UK?G*xh|Hm6Cw;S0jb+&AcPPm z9strn0ro$tGytl`2UAdTi=G`-9cl&P^zkTC=Zxut00tJVq~bPKK0s6fe1(qXyDOA! z2!WXmz~o14WFPrJ8rOHoTeivN9X+=K!dI_lyCH(6VDU*R?TnuXSZ_sOQGI=9^TuaT z@4yu+u!xshfiL3KcW%>n_&{=&c5tP6%l?z|MQ1C*bkCnpvoRY6#sA{Kd0D{-obxc| z8gewWPo;>g67yeyViMUzKG#RoPE$>vW3H)|54W(XtID^v(P^L2#cP5SmRfb2o9FGS zsu`D%!u%=EkR||V77zx#Sot5mlmH+x+hxO8Alqp6W1=!~Rnorc#?~ko4soTVGGB|2 zi5hjbD`2D>ui&fgi2dBCd>7EN7&f-6%TFghQvfH#4MPK*6+x3j9RO;(AON<@DrZE* zDnV4-LjX@B9HG&p!x6eFMik6B}ayg2-F_gW!u! z>huQMwCVps1p+)0kpRpD4I4AVUG&lJfrEAcRsdiUg_Qje7K50i4YMK%DG3^Mk3cJl zZXt))_frG1MFBHRrL^y;t!&{SzVHt>k=~JVrQ(ORy|Xs zDVOMEXV+v;%eA^^9k^HEqB^I2sNx?V2N41yz@N#vlE`;VJ}32N{3%@6v8t4N4f; zu|ETsZ?}=~_Yhj(<-i2tzY~(2>{kDi0QP;tcm?~nC#aW9Kt)TZ&r$D! zDb!k8mtvO8YJ>q3;Cy7+2r4rOIT(n${2Oa(x6=Ik+nf`Hl$3JfM1X$NYUs4_V6juu)?e6(*;HYh9j z4UtSE#z}0TJ>e2c>~}ZakeUtA#rPsxH$)tq3K{9`==qHi0L7j-uMy~?Q`*2~PPf$gq?h;~a#+7$41j?pdxdC8e0H!jK#ApRk04F{G z;?}(NQd@B4mAbs^&l9^eqWc2;2CJ#V%cL^sGt)aoM$DFl2rh+2WmMGjzVVJ58?@U1*uWn8gal3iPIzD7(^RN ztq_N^3eY3smA3%8`i2wRww2uhWTPWyRE*?|Gij7&^-nOTsmZ0snGPA*h%5d<9)*aZN&GFV(up>d`})~0M^4k}kN zPbyy;G}Fw$-P%STGXM$&6$W%0G!**xp4|+DZo_Tt**8+rdzIgzA-{j0+1R!38*FR7 z+IF?0d4tFSI`fXdUXq16bzRk1H|hTiR>stW_B&<--6w z!vohlIy%C3zW3U-LUx8Nt^oH}j(zm}Xo6w4TwUB8ideoila-aVBRKl6-PGKwHKZ;kx(W5| z=y~sM{GEbZ$b+Z9b_&1yv2%N>($D%gi|cKzC6>;Z8wd6+*1Q?%jC|&K%W){V;pC78 zKJ>2~#gkz#SC2;ye9(5bNcG*(3tCE58M1Jojtwog@nlI zJ8zdJN!~A=y<86t^+UUWz4?O78xo|Szi(bWee2oDMaAL!hXE|7^=roJ*HB-5JAkg9 zr!aJ6R3iMy;)A2<5x+x!ow_CTXs%=A_WHOzvDfU51yAww0fojxv#r0Hj9~jO?j1O} z>GN#ljuIQAcaM)RZr^iq{p;F#_>}{@=j{wH-+dQnnrUt~6!8AN{+F*7RNbY|AKb%# zt{;xM(IK=eR$d~pJ=REpHS|mNz|DuVGI#o4eluMOH&TFhgRS4Xb&JTodTsN{C1ZJ? z{Lc#u3q^WBhvo6t8N#Q;DTAWh+rBT%J)Z1hg`y$+-a;FD(aVF;q%4a>X!*%~=3-9% zE9zY>8DdBjL^3Qxr^f5Ljm?%PmtQ-RS3(uffBW`>yKUKW)s7-=Fgq1pizn*uAWhL^YzNp8?xs~v3rD1Hh=nPc`7a_`0>7Veo9=#uP?2#$2fOCYF-L4{g`Xp8?x?l z;VbHV){V^>lQ)hPp3e8*5#=qIaY7k&K6C2fh4#U^T<_Q4xCacfP7O~>ja>A0qPtQ(9~&j$|%sS7P>=&EmR-XBw~JQXA!6JQ3XLjzjd}O_2z!nTwDFzSYs7f zy(Dc=CHEGKXGI&PGdu5?+TTqH*sAdrmQp)Nfx;*b0S5*9d=7osM>?;SmOkZ@tzef; z%^hCtY`8^UUwL0BcK7_Z6IXU0Uye)vA^D5&@zs&Jk8^jk{69JmDN~Q@Z`u<7@!C2H z&P!Nx6qN=9vjL{qX#DQ8Zv?^?uBG^w6f1|X9`(FF_I7`)@G()XmkYG3AJNzlCq4_@2ckc0TXJ~t{&H`P>(T>So~J|noV@hI_dH)XdoHbQ z;&m^lm!p2RXE)Ao_JVi$xy?7PE$)8(X#NrUTI~HzzpmEa+IDD{?!v4?7$&1CYv65& z-1aQ|a~QLM_F@XC8G z$Ju9h{5o4db>qqmNn^A)-P`*ht$7i1b;ta`O!`FM>7&E+mzak~k78>Z<5Tiu8lBFc z;*3^uL*A%-+e~lhl%BOWAc%oSaHlg*cZ{9tuY3K%`b&&4A#!_Z$}}{$JzNA*WIy}% z`+aLm-v=D^wkXH@c>`5{)xEYzkLgSwB$5KJet7UST<*khc?35Bcq%ZQB}!e%NePy5 z^-_*IrXFkZL4&eLP89z4eQa`ubi>R zRW7p4@tL(`vZOT>h7%`b7bQ4J3&lxW_Mt@Fla$SNOL&>xYlsQgDS#b|x5JR$IBpEQgfeRqJ0kRKE87(`NQ>wdS8mzyB)iBen&i+DTRbS2+gxK zfx2AtzvR$g54U;E<2$yr*LycROSOBV)5O)$EyQVk%I10WHFv(g4x`pv(5oMo)+9)7 zG(@*c^DqnnN9|ZK)`Jco&praBp{ceW*E!9{;WF7zNbm#*>S>SRorjrk_3dB;r5;No z94X&OvhhkdysH&;IH8NH^@6eTC2app>+M>v){_z9tZYAp9B#CcggVNA>{a>sBg#PN zjj-(2wClOw^3-$6_b-<~{O0Kb_PE5eF}>p2sfe(P>AK)aM{Q68tEE0Dgd>v{B-0|_ zn&IAuW1vE{8NSUy6})LqlVO#h4c&v zY-AVCT^srs(&ZCQ(w4BUVw28}C%-E= z*_ZEebIYs9+ZUXbmOk8Ds`zp#;DCK$AWXso(<@)U?~3SolJ>xfxgUlBvkL`JDJ^-g z*H=|oCvDXw(jUKlD?UqWMz@z|u&8q*?~c zXZB#=X#O#u> zcR`n^l2{8R^r+b>oeX!Y2czervX1JvAKSW9UWl@qP!L;554c07 zPz5ou^;(_ayU2~!!0pgtT$?NE5aMwe&bRqqSC^ zH=QtTE9Vt7Sx%aOB7sb^q!s{2C*aSqQ;0}Nzc0bLv{S2+v!(W1yKj1V{~rHZSuf$! z70<3Fu$`$tIUf&mr+8Zl*5cj4Qz?^AWDH12Z{u!y(x&3)e%P3N)UDBjdwg9!|K(Z8 z$x8_FPj#HJ$Z{8eR;~1*V zBJ=Z`+}c~xGMZ?Rh9DdHSZixxVar3b&^{-fsS0;;lQULJLb1l8~KPSYN2@axCz1Mx4V-gXXKp-aTZ~s^b zo(2NVZuP?GvZ7C?E=o3Tk$M%i@584FDzxNPoSO()gO$B=>0P}f#}T1?Z>yM~e>tMT z$6XtHFV&|u-e+MUh_it4m6hqPn47k8K+Wru9n#{-RD{=N$>Ql~#u5FgU<{_hzkUhksW4qRizI|F zPuf(~lBJIhq~;>-qxJ$xB)7N7BpaBh?{}L{>-I>I^NUR^()bll1yt9{H&m!CF}*!3 zYaCMyd4=_Dy0@L*O0gvua5(V7!sH53O$**$n(HenZL-ZA*`mb?@}$wGf{U_5ap)Fv zDuPDf>m%FS4aChC6FmD!q0_;bdY-$3R9YEtx=o&Ov#7$YK~#(9<4b4rrPJ`W?hYTD zgernVnDIrm7#5zX2xYk+5J!=m8p^;--4aBKHU|>h-mWys;mEi;5Dqo*$o$~#io_-! z!}I8r6P5VNtU0Zzp5NET;n0vIYlq%veN?hT1Dt`8a7U!o&k+gf18&;EG7YIvH%k(6 zx=$MAwBw9B!qTCJ$6+Tv?n`y25D`RDGnss#TOUD`POJ4X*Kv2~g;|O>lxtgSfE}mH zR|MDBvWr;q!OjLUmS-`+^_q;@O8Geoxo^g?rG+hm6*ed6Fp7A19$jX#FM!z0CX4&d zJG+vaFsz{VG(i~3m57iLduGJu<3Lp}Vk_5j=PnnutfJEx21I^9Ev9uYeP*p(J(9d&$zs>K>*RP^Y|ZTg%+l3xDp(#* ztxUD+@mpz(g_gF{gwqn6JqQnUjueI3k?0C&i)MHi!x@1tgQxe>A@R%<9~=jo&m^~C zxa@9h9NWz79SM=nSAjtxn;_DbUCJ<1m`WVfLbb;T2Yc+4&(@$5;YwoWMhcKUFuanm zR5)HJ4FIH&3Q65vM%pa1Bp*|WO#;vy@F>E}EESG2cfw`D!%1*K5~k+~0WM($#4}YM ziICXf%tAt-;@^=>4= z8>!jV;4hyH;QA!rDo6_`$ZQqfL&6H!28+jcRkPzv#YCEoNK?Md1dT^V06hqu98W|e z(opudp?!src$N2qIY0nJXcHWN#y$xSlkQbqLJWrBS4hJGOSweY)B8vx!m2hv86zkH z_u-uPx8nc;^bw+t3Nq@%g;;Aawpod>LM7U?s)l8$r z$Yhk65PF@M(|PCW!UZD73+E{CVkw?T6x4m=W(O}QeISSER*0afH_<}yvDccFxmp`?vfCA)nRY{~w4J@A1?TbMo zvDb^2N|#;R@-*j05im;M2Z!xle3 zIW%(cuy1qAw`slw9u|bL0oK;N8Lj~$ldW?>zIzevTzADap)<{M&5TR#O;2iBDy{Oh zWanlBap{=On|e(Wu`S#uQ_WmMsaH>$M*|p4db$}>B5mL?7OH$O9c2wwb?m}Gv67@N zBp_kk#bi0M_jX60eMi{lCTk5GmQg6bAeioI+|3)CD~Wni!mP_YR5rfqpkKRch#z~d zHm<&1YJSD@!irez*21sLQR{~Z4i!XmT!vOvD;UCJsN~f6 z3!7|sxg?nB&E@9sA-&nJ<7z3%_UEpS>d5ftR{B{ ziryMVf+yvSYRps*sO4+LS~h#}g|vK(>NSJe_3nb#@_pP9V$A7aPX{wv$L@`#0g}MXT3XxrK2^%sY z(q~Xd&KbXCgGdn9UrxsY+6xrlvw7OixKrZ+^4CiIQY9mH((;mZEy=GK^)y2Vue5UX zWZwmK-on-CX6Hs6I&IoYN6SY(xW$+r(`HQD8qC7*66M{e0;C`l0Vqlu6JO!p3u!mv zcq=G2CM-0<6U)_mCMPDK2qiK+4wKkLK=+%u!@2-#Cc()?XC!&ft){}Ee{9Y(UQ}Mw z2Lk)pH`D@q?STtlW+RLU+J$6e-CkF;P-Em>F4lSsy6@ox3{VU|YOe=S&Fq~GDx7%y z*Hh1!M)Mb9Wm@R9m{?*L<4irq5R>1|@O%}Fc5g(xcE1QDHyQN>U(y=xPV!;2Y%XJX zYV(Xttj$|CcM_3A9b%@u6GC_tKz_Ys8fbwvuXO!pn&a747QqkGZ zJMq-b%7`6&r#?xyMqZFqgS)tJuX<4?dX3Ad50Wt$0}R9!5ZwU@Bl11p+|8PcakX%R z?Vf0Y4h|cMlSJ61LZNiigzie4!FVPBH}@?45F7H8-5)*XQsM%tvPK-o-`%=;1n0mr^BElVX)`5`E&+6B`H zzXO_OCC)%3LiZ`O{?`??^k_N1+k(`e5%!qXiL|Zx9;({GTNx^$bAr82y#(=w3=Y48 zf}*AQcq;PsDc5%LyBLqkFzAMIw!mg|T6v3v4~8vnImHXEH8*l^e9>2t5Wj#h)5jaj ziEFA!2*MCBpB5x4(fTc%*$huWwiw|!-DU91E+CcpA$l}NS@P{Zm=(55PT1^`Zh<2~ zfvt=wvusm+OUl15yPPgCAj(X~0pDhFPe8lPY_H4)89emN&B9{vB6njvGm2gCRq487 z9?tExtqCrot@xhJJQ~bv$67rvD5Vrv!SbYRZm2`k#$-b&Qfcy9=yuC#GcstpC#235 z9j+Bew|FAWTiEV`lU9P88{$2W%D5t0++_>|Wx5IClT<-FV6on&XsFXBKwrH?3!kkPK zLp6mx zP@ytk_Cg81eGjV4Ff?bFWlJS%x&rMw<&QQFftslC%r|YExR5&D+pyVz#xH5K=Uiz zxqtwh84n1lOA?T%EIu+7e$K25YXnU8q9npeTt-T4`(|C?% zWHfOW|KfeuC!~V%?K0BnXC8MmCJbyL)yYPt@hsH_->03*g~gZI zK`{xo*??5GWUh-okc|_eAfDmmVD96s`BgS`!L&Mzawv=#;}!iA{(b4Gm4cH56siF{5K0qa z2N4klRO?1urd#iLv%D5d-c5#xkdnIgpsPEuY1hXTM6VD$LD14kuB8awGLKA~7D9_9 z)SD2IuG3B-_9y^|1^3hy1a28?gxW%rAicIuWm_c7a`wmQ|;~_(u z0YGfD%aC5aJ@=~9x!IG>Pc3QZE4>LoZF zY_u!Fz(GKOs;E8ls*l~|7DDl3-+x8Eyr9Fvvq$tD4ARqOG>fvweTe4WebTO>S_W2# zP7h;mS?6nHYKc56VH)dcaeh)_*;2@})%0U8D>e6L=&)nMJ@d<$G6v(4*CBPoA#@bm zjXd!xOcn|g0{WT6Q6s<-*U!c)nTxn{*^inrm~IHLqJYtLWS7*k&3mb3V{l1gp?>-x z(l}z738b?Hh*q$4BkN^2$%ctAwj4znFQrQf)7j}#R;tNX1iWeieGEllGl`it>_H5G z!$BoMle&bh46KjW=RxOVlXEg1qFO< z(zEp(nI!h091#b=0LMNNSGg{%t%(&Pmp(?AtRQMiOFCnsMKe;F$}I`(?5-STELOmx z-{_!?0^teUN-apWz|P-^5KdaoG{*MF`A|wp>@q!6H%vXxQCT${n*t0O`IbObMzf`a zRWpa`^o9EMDcNDUPQJ{-eV`dVFji+?xxgbBGu{2EnJ+yp zA+RwTg0867v!N6O!knJ73RbCOC`nLL2$1Ke1QO;jfE=mbGq!305sI(Th7qrVJQCH5Qvoovp4BPp^K$i`qZe+H?hSzbuI z0jUTl<%lF$RT4z#tu9=)s;2(-JUe-zcoDI!$b!^t41`EekI?RtR?V}esSq+8fw7%P zMLgPDk6>GK`-OHkCR#?O#H_}i+XqvJ-w>sW52(6bcCqXvQ|8cet0j6DbhlHGocZ4i#dprMo#A21vlPIQ5WB264)SWn%sc-H@ootPdg* zwZT(H>Y9+ZxOH(5wqB^7TRyvLvZHiRPLL`s)65N&oebF9z+rF=8(HnXoqJ`#`z@li zf=C$|nLd&gxTr&%of{mQi{LC7)FeTX4nr6;(LEc3TNX;>u@&eBZbEJ59HoH{COX52 z;soTBQvixrfrjl7>oS+0Q#?RC&|E zQjK(}GzLP5i!QF86PK2u5@5*UCxQAWo3HXrYJF;pz+XG^gB54M9YV^Ob>LKgbl2yd zJ6H@oak36CwVsQsD68O&Xt6wUc6RqiYxh8~5v&qa1U;SjBprjqSu>K-QOYRga6bj6 z)EGY6q{26WgQu7z_M36b@>HdWfpEfDyb;uQ5CWGI9!2HoWwO)ZaAtNkI28;+jCFC2 zgBamuI4qCDW%qy=jRkE?`Y9$dHt86qZ7$YHK|+Y60F_c!=;}fuS4tva65#DSxJkt% z(+X;ZNQxJN<3*eC9AP}VpWy=s6rh#>-3gb3^y!!L?SmjO8vP>KJLt@Gc9aCHL|K=V z37+vWRfOr_#nfJeSz~sIo>fv8)97GQlBtLhl$?w~$kU)&%{bAF1f>e7vZWB)3>IV) z0~L5+E(zmfVOHsSnaO#ONCDe^QLOr3wpji&au0lgyTx${O1QBca`;y4AMPJx$vtHMu?N#1Vd@*7}f|28(Hv zTjhY)1g}6@oD~^XMFr3&$d+BInpBNsiwIX(fn&^ZcWJ0AO3F*pr&d&JL;#+P%XVFX z4i$<7xS;6@7Qk9zO(awDL5oCg4eVRs}|=lOGScRooA) z3zWKe+2N%D!S?5iPgVPCQi_9bWIEf>YA2L)ZG&Ads;L*&*D-q(crll`BpzV`aj2T8;dgNHjd#ou1%eRdIqDw z6Sw!E|7`^N*P#D;P9|y}tXzKjfAyu${F$u8RtGNmM8yNVB65P<1UomFjtw$0REHb z^g};C=Xvku;L2E>Y4zC3%{+FIL?+r5(Lf)XpC4M~t@hO=K2VPp=+#$joIJF+-n7O_ z<)XK;g1G3(w&m!}^Dn_So2DJxO>jty{WdswlVpAN=i2jc?2eYicJMbXzP_}%cuVF; zAA#S@XpwhIn-eEZJGI=SPIraoh5iN34N|CUWZEHL+2SD2KB^^6y4|?lr=80RYVmR+ z_EXa|-CB&~h1`m1z*JXXfI%aR>n$#0a447~$}6AvocDms^Wg?)N~xJmBdvQ0khDsE zo3ZEZ=*gyxp`quU3ve-XC#g@^$;&dVz=}Ks1 zXeUs$}DBlvIP!htJsEWnnSbcK3 zq_+qR5I$;*3m1Z?gA;{H4n}ni zv2>Jr$tKBfltV1#WUH6J!d30+3uxh)aYB0p2DEfDg&qnV-6Lp*hQdUsLWzzOc#81W zhF7tZdLdTQasWjrZuBo<%Pi${c3+~UG48oC`;AvRjeT!BVQSzZ^tU%C%OwKW5L`&* z-JJq-CJB+MPJ{)x0^G(kX^)%e7xvoq%)W=qd3n3pQcYG;niIBFKi4v`w|zU@%D@%| zn@%vd5#C{gS$MAPPC%rjz(j1)x}I6R0E<;w&*j@ z_f=D!2}9V`Xx^}pOQ5V&j7b z1;?^OUy8Y!x=k+d@cT-gM#S1(vF?rEzv+Lp@7p3f9QmY(*s+bX2VVNa7Or-p$xA-EX>vXX;dMD8@~Zm89pqn zIgdZ4bmQ$js%*mfO&(HJQF*BNoq* zdhzHR0gab|S_-`?`8hKI>K|PFqsxr&%em~(?@D`4Ki8OuzMJ2)f3ti2;eyqoa+ifS z`U6b~b1}uj@;lcngI-FF3oRYq5&=)`PK!Raa92rbeD37iy_IM@02S!ce%Tyy^ZsMu z&ee0ikWVIxi9?MKlODuy@?ejDsqUA_4-Gl!oAS-^GB3T8KJ_B3W*?6xJ`Q{Ny8D!yQw{~9b<9^# zphiYe%yl(7)n`OB;jNjz*0h5fD%tT}mtg@ZT3&TcRrSTx@KI&Qw>K`odQbEp++_K_ zGbu7N#hmnIkNy7rzpApko+9V& zmv8yyxg+|YHAX*>FLnF0611|#rDNUO1O0Nd`su0e3-`{LsZz?;FU}ofPmV>c|Bm@~ z?0n^2{qiX<`x1qpA)iT{WSpPKAvjQfWp-n@V$R1O7wRFG6W;{P-z?Ubu(==gE9QwR3s z9uSp&orBqN9CP1wL3Yw|qbwh+XuA;iIZ=2w@UwpF3K@Ag`K?qDp*#(d>yH#~~MEY&6N4XCFTF_9^`71?- zbk8&>;)22zQf@w?nk9SS6QsY*?gW_T6xH93e67~JY)1K-_iA8eDkKH=m;s#T9 z){UNk9sDSdGK++`2q@H{b?Mh$x&Lisa{ffzn~#|psqOYS5BWp+1I#enNucnoiF?SpTp#^rE-totQ<3( zHIUpvdD&E+E%p7vdBsZ_x)3Sh*ZF&FbFVl`AV za>KqYCN-T=UuUe}`}*mw+mpfTcTVB*G!GQ)OMB4s`;zkMUfXZ#L#SKi5GqyuU~ij= zDM{ee?A?dfUl%_oZyCAN_*yb??_8UR`Ds8<99YVK7iRjKH#|^*j51kw?O&B%%n;z0 z&C0ZV+nY7{{AbRKDY-k2UI1n9!4T8M9~Ic^S9aWAzPbO#{(J0$^0{I!3Rt_H@1A`l z`%HFUqVkIqdkeRJRJeC>?e+`V>egMf{gkz7rNh^nP)Bu_ADU7%zYfQ^+*NpCeIzU3 zb^xI%MyqgN(9`dmkI`HwtFeshrM;Np2PGAc^)FE-7g^zHUY;aHy?6D)x6jY)ejyvX z)2F^kP~Pg+1s%e~7u53Y<56$xp-MJ;pC4jR(~n!+GrLMIywkD# zsC@hWe%xl;qdRSur}`$skP~hZzb4-)t*&iWC=`q45B_!O_Z}X?s9x~avj&c)eZ<}U zN|Ng5E;s6#oKUK8zO%*j`}HW(Q8ntyu)tje7|?%*Dpmsr&m_QZmgB-pa13Cyn}o_ zmMnhR;=1uyPcamv?D*&OeX)ms|H}M1F+FC5D3(qAl|L-)64u~y`}_|tFY9aDcWnk< zU)%Weh+h&1N{+;2V}cvt0pkHB0rIj*cbYyeX*cIBCmXUet1gPvVso1Xu}RReDdtV@A;tNo@lvUJ&b{JI%IoI8Chn_t96h-U z5jmds^#|hUiy&!|NR3!s%FG>w2h-eU}@>On!9N|^X)8w9m+X_hPLN-CR*6MJ>t0i{^XZ? z25o=}e9vP$bs&69=-8l@O`gely8RdasF?tbrj{+(pj zb{DxNC9@JQveV$W@Ld_5$vPwFxrbYBBZeeMqv6x1{=1^svQ1Mm-?&JRxs z|86+^E63;8?#0==WqYjeC`HH&E%p>1KE*g~&oJM1LIU^(Yn@$G6wf*}0G*}@AG{4fIJf=8%>cGzPJ72v``sFRRB*HJe;0k{bYF=5XN{Qq zm#&IfugaVNFJ-@>s$7FV)pnjDuP^S2vm55fMKC;p$SG-}L=U&TtoZ@`Aax0rG z`)lvHTPscvd&QL^G%_Qi&xYj;rTd%SlX++?@M0LUHm=gyd~N@zYk1$rc`ZXdfhOPmKNRHg_H)$w#AjolU+yk zj#ywXTo`=r8~N%8H%QfFV^X*R<`PCQ-bFy8$>~9PJdrS59hf9tsYvo-)IcMA* z$AwIlU3pS4^Q7C{Lu14wWM*hJ-?(gB%rDPp+t%gRRp|Sx98ap3->nfbPF*S=H$ID! z%uKw0{#{kg1B++K_lM^??5|ClK0jACa_W;cPaR)AFQ%&@Hs7hn{WUcgJiWVPjJoAR zUmq#ZI(ygdp#T+}&CSKU7lj|6mnm6YDO@sl@x(pG9-sJ8_x}X&2@m!r=5$PNz?L%+ z^En$8{y+kmkppo>D~V^x$%r0ZI*;58(z4CIWCwXYrrt(6d`hk({;3(z0E>QdcjVO0-qXfw9-IK1b&&>58`2ZjUj+@r1 zVISguxzCfN>Oal@;Zoz(O7Oj)3(ftl*^g`Sdhk4t0)X>S2Oc7C|NM62nST+0$sFFT z^`9HzZ@BNbxbPESZ~y=;T_vrJIgYR_Z!Vkcn(ClZ5}x|)9}jaR*!O)#X#v$~Gvmzu zk-y^u&oO!{_G`20w5?dmu5j6&T!+qDUnakXpmzDpVvEOw04TGg!Hwe_v->YkrlV6^6z?TAhDn ztIcU!eEZ>&_XJ&`ny}b;zdBQx!*w0$lB!SE(JAS)8m=4r>pq|5Q3M zyv^n>>E5*5YQMd*Tz{0G_V95LW|Ag2)A73Jkf{EUsftDTs*QR##}B#7K}zA|nse8y z2*yYM)A*-eRqwHarDdf|?8 z&h-g=mTR*eEX9?FPGEk%hVKsM%v!iud?l;>Kg#S=myTbaPf{({ZE>5-!zamb`EUf9 zkLF>m>aurIzf~Hr5SibFtR1NP>SsUBbPPA~_LOrMHmr+g-LX*yb4_{%4+~r8d(`um zZpNh63b4kN&5hT^o2K0rmc!|<9 zxXSzH3$U;aE(E56Avw&1OuHOqdRNKbJ=K#=zkv^xP06{V3%BSDSOMmQM_S`0ZYq=~lWcLOvv&yO5fILLOSXY90Cz z+;69-dJvUe5AwZM1ql>6f@%4nCe$^uYco_mpE@t~D696-F_rJmad^?3I4pbAI@hj? zJ}-*SR}lYRM5kjX+*-_NYLjzTJzi^FIp*(nS{l;XQ*oGEMe9);L^|RGPEQa3P$8eW zK=eH4hUv6q_q3*NatKcayCZ}-w06wn>b|O_C0kSeWO{}vaCZHU#TR}As8uwh5OQ{M#eT#>m$0EJwi37w+gXKO!j*cJ&&)-{eJT# z6#Yy_uO5Oey7!nP;gQI$fhs;VA`b#U`LY@y8~{LX-K^P#0g-Sac$`lXgsY{`uzSqS zY+hNkyMytAe(05Jn*JW8Db4lf2Y@Mv2khJV%*lH?E37`0;8Zf~S%)<`e#&d;6>8J@ z0L?8?|6DTup6e}idMEPqJDFbF`GFn&0UKk?5U%fiq-t0FRpr92KR`@GGybPPJjEd5 zuh03D>RnmCSn%o@(&LbVl-@+f6x#%w;Qvb>g8Q!c#lsMOP0Sm4P35m#u^9-*>7UFu z@x3dA=uEK7YT=G10sft|d`A{wrr2W5#9@7wU}4X|HAiMXI0yH2RM%$uVNrLqhwBzX z9?o|>-X1o+1x(6e*{U!NBkkO}WBLdd4^A4rN^9K3jYzlGm*rHRt1+r_H8U(6U!!D} z^^7~QXqN*YB~$`TTCJI(5DuJsf`olvSK{u)@^TeS3dH)=pZC(--NakzIPtkw7N>}R zDspiRWWzM7+#BVzRz<%VzjsXml`COA-g~}eZW=$q#f?fCusZU5uXCrYzZgL_InTxB z#jj#z_``ks!0V_hFSvuM( zwjYj%>-m_aULMaYGIHAw$3r1YJ^SJ47Op8ODx)$z87eB%_w{^CgDCjOfS8Po9?950 zK0ki{uD{>E-)W8GVGnw`ksehF4j??|t3Z^bi>dfK1=leckn10Q6ua1puQB=%7t*Og{97+x<1~ z3oSyNzwfUQxyF9m+x_iQr@Jz<*iVMNpVX`6=kcGZq_U~mVMMO)t;CmI$3sQMS$X$< zJEOLmf}+Nn(GkVy``X=oRC`hhTO$#Ap3C3;85PguX=Roo091r>LW|jMTtsz@OYfYl zOwM|#o}qtYp6lbvdzwdpV=3O_*LCM4`~RQoMiTnZ@xS3da_VK0j@wYOmHD@aOiEhU z7@JGt$GcM2Ra7yc` zzf5ggHhXu}&$hO^pP%FGYhQAZwQA|5F7$s8<{-!iuRI=2>?W$vg|f>d?N)s3EqPcI zD}`vA=BR?6wToY>s@`+K|J?mzF_x~xk9aC_g@$MsUMlw6kUhojsMpTlUzVH`%_ z`n&D|fUX9*Dvt-d#DV2;av`O_@_+v)(SPmNrpxkwyJ|GbpYH)~Oq@p^d7S08KUZ(B z=j*xVbzk>2&LcDR?S8x8t{>O`JWHxE(WDfk%!5?a1kD7k9x-wZyY=^X-JgG-k7RWJ qg^P0(nU>!6Hm^$;`ns<>kL&)<)y317rzkvJot>SXov#i& literal 0 HcmV?d00001 diff --git a/assets/gameover.ogg b/assets/gameover.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da98c645db5a4225cd85de2fa6383eb9351cd502 GIT binary patch literal 22603 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 SWhpG%VmDcMK@2`IAKp=z-R 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 literal 0 HcmV?d00001 diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..625bcaaa11e86ff16b47fc0523a44e97ce842210 GIT binary patch literal 4681 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 literal 0 HcmV?d00001 diff --git a/assets/taptap.png b/assets/taptap.png new file mode 100644 index 0000000000000000000000000000000000000000..af582672a4c749598262fe8e78bd0f38cdcf6501 GIT binary patch literal 4845 zcmeHKX;2f{77n1YsaPrs>I@-aaKR*YdzA`r|sHL{SgbwsC=Z&n3`#O>{xa&_L9~vEFj69szb|1`_lUIeMd=Ft=@Ncp}tFf_|e^#it_w& zqSLz^ZUA@saq-HYuL>s66U-;qb$9Ykn!Jdt8Ie`TRd&*&7jcHS%2=*=;2ts(9%Cm& zRi4J;4SBk(+c93(zAjO}?&*uqT5?Ab9PG0b{RSJS8xy6wIifAA#mVpdjHkS(|B_7f z$-Z~I<>}*zR{o)B#c}mxeOAb1VV>^4uDDvcUg0fmbN2dUMf>K)(!%nQqP4^2dqUFs?k?-f zJhA{boSEY?HK%i8!)uS>p(lc?I=RgaYp({{wwh@qq78y43rKNN88J*}K#43WiwaS~%~%?P6y!n-G$>X4XrX9;0*nNt zBplcCX*83`L^Uy~I)j=<=ka(nh(Tj8C;&k*rfYH7Owk(2R*HTOA!$P;TB4N` zR_Ic30f_|WiSOgn=%vy@daZFl1)vAb4C`rhDn!$0XhS`Wcz7Bh83^bvJ&ba&OKH)l zQI~2!(C{==i<5^^D3L*beX1eFmW~pkp(&^aK#gEk`bSGfNTjks532-fOry7X0kJ|Wf->nWSfN0;5Q8;@BFcb)u7p#DMrEZ^0xF1uz-+DprqB@<4^a8jDX_wy zK~Zw);I3lQIk3`3r9}85ok0VGa$*`-jned5wQa&GI6p)t5s(;E=z~R;0^=&+ARt9z z+Enw02|1=gV{q82CY?j4GZT>#@If*_SlHU9 zfWYPfa^Z&=P#D)4*C{bo`u{>(HxDtezvN=f2-Z)xnfiBB47#*`)IUtYY+H#)v~3DLjP$2qgwxP| zg#lOp6p{pM)hIYU2HN$#9s7$`;IL2?#899VI+u%p`mq=kE*C{82*PHwVWqzUVxcw_ z2HA}|6>fqJXowo<2($w2Y14{0%~q)CAEQl4sI>|}Fbc$^3<}181_YxGBuulO8SgU= zr2R>gKpSAlAp`vSZQ$?%XCZCyFdWbf#QS%C25RwlEeZRH`&3vp<_=q;adz0gC9SQiJQ~qLJO!bzP zMYFeD)9y{)?dExdb@6h?$;6o_CS9x-Tc$MBe_Pg&;5&D?rM{6rCciXeaNFiFZ%wM}e1=g}AO4K$Yg6Z`W0 zv}}!q-umKAesUUt9KpOCo@~wfI(pzGh%{cj*xQ@;sI!V3zoN)SX1mn=c6`BN@7#jr zxfhOC`jH|ks!vsxKD`~zxY6uddcjLHqxRjCd9j;+&o188JX7V%Ib4`tC$1K0W6f@+ zCSyavot`ywlqzbTZ|lxk7WsnejM#s?bZXu?_JkmFv0uI2h9_wpb2QGuN%YUFG^+!u>y{a+puw!uRg2iM+;Ha3#XmHr$^< zcF0Q5XYTPG{g}4z;)TFv9^VaH)c(4$5IffStoF57>=*htvBvb|SR6TK>&ha?;1xeD zOZtnw=*PmEP { +// const img = new Image(); +// img.src = `./assets/${nombre}.png`; +// img.onload = () => { +// imagenesCargadas++; +// if (imagenesCargadas === nombresImagenes.length) { +// callback(); // Llamar al callback una vez que todas las imágenes estén cargadas +// } +// }; +// images[nombre] = img; +// }); +// } + +function cargarRecursos(images, audioFx, callback) { + const recursos = [ + { nombre: "bg", tipo: "imagen" }, + { nombre: "suelo", tipo: "imagen" }, + { nombre: "tuberias", tipo: "imagen" }, + { nombre: "flappybird", tipo: "imagen" }, + { nombre: "logo", tipo: "imagen" }, + { nombre: "ready", tipo: "imagen" }, + { nombre: "gameover", tipo: "imagen" }, + { nombre: "taptap", tipo: "imagen" }, + { nombre: "gameover", tipo: "audio" }, + { nombre: "coin", tipo: "audio" }, + { nombre: "flap", tipo: "audio" } + ]; + let recursosCargados = 0; + + recursos.forEach((recurso) => { + if (recurso.tipo === "imagen") { + const img = new Image(); + img.src = `./assets/${recurso.nombre}.png`; + img.onload = () => { + recursosCargados++; + if (recursosCargados === recursos.length) { + callback(); + } + }; + images[recurso.nombre] = img; + } else if (recurso.tipo === "audio") { + const audio = new Audio(); + audio.src = `./assets/${recurso.nombre}.ogg`; + audio.addEventListener("canplaythrough", () => { + recursosCargados++; + if (recursosCargados === recursos.length) { + callback(); + } + }); + audioFx[recurso.nombre] = audio; + } + }); +} + +// Llama a la función cargarRecursos para cargar imágenes y audios +cargarRecursos(images, audiosFx, iniciarJuego); + + + + + + +class State { + constructor(state) { + this.state = state; + } +} + +class StateIdle extends State { + constructor(sprites) { + super("IDLE"); + this.bird = sprites[0]; + this.tuberias = [sprites[1], sprites[2]]; + sprites.push(new Ready(), new TapTap()); + } + enter() { + this.bird.velY = this.bird.gravedad = 0; + this.tuberias.forEach((tuberia) => { + tuberia.velocidad = 0; + }); + } +} + +class StateRunnig extends State { + constructor(sprites) { + super("RUNNING"); + this.bird = sprites[0]; + this.tuberias = [sprites[1], sprites[2]]; + this.suelo = sprites[3]; + sprites.splice(-2); + } + enter() { + this.bird.inicializa(); + this.bird.velY = 0; + this.bird.gravedad = 0.2; + this.bird.nFramesAnim = 3; + this.tuberias.forEach((tuberia) => { + tuberia.inicializa(); + tuberia.velocidad = 1; + }); + this.suelo.velocidad = 1; + } +} + +class StateGameOver extends State { + constructor(sprites) { + super("GAMEOVER"); + this.bird = sprites[0]; + this.tuberias = [sprites[1], sprites[2]]; + this.suelo = sprites[3]; + sprites.push(new GameOver(), new TapTap()); + } + enter() { + this.bird.velY = this.bird.gravedad = 0; + this.bird.nFramesAnim = 1; + this.tuberias.forEach((tuberia) => { + tuberia.velocidad = 0; + }); + this.suelo.velocidad = 0; + } +} + +class Logo { + constructor() { + this.logoImg = images["logo"]; + this.posX = width / 2 - this.logoImg.width / 2; + this.posY = height - this.logoImg.height - 20; + } + update() {} + draw() { + ctx.drawImage(this.logoImg, this.posX, this.posY); + } +} + +class Ready { + constructor() { + this.readyImg = images["ready"]; + this.posX = width / 2 - this.readyImg.width / 2; + this.posY = height / 4 - this.readyImg.height / 2; + } + update() {} + draw() { + ctx.drawImage(this.readyImg, this.posX, this.posY); + } +} + +class GameOver { + constructor() { + this.gameOverImg = images["gameover"]; + this.posX = width / 2 - this.gameOverImg.width / 2; + this.posY = height / 4 - this.gameOverImg.height / 2; + } + update() {} + draw() { + ctx.drawImage(this.gameOverImg, this.posX, this.posY); + } +} + +class TapTap { + constructor() { + this.tapTapImg = images["taptap"]; + this.posX = width / 2 - this.tapTapImg.width / 2; + this.posY = height / 2 - this.tapTapImg.height / 2; + } + update() {} + draw() { + ctx.drawImage(this.tapTapImg, this.posX, this.posY); + } +} class Suelo { - constructor(ctx) { - this.ctx = ctx; - this.sueloImg = new Image(); - this.sueloImg.src = "./assets/suelo.png"; + constructor() { + this.sueloImg = images["suelo"]; this.posX = 0; this.posY = height - this.sueloImg.height; + this.velocidad = 1; } update() { - this.posX--; + this.posX -= this.velocidad; if (this.posX + this.sueloImg.width === 0) this.posX = 0; } draw() { @@ -28,15 +215,20 @@ class Suelo { } class Tuberia { - constructor(ctx, posX, tipo) { - this.ctx = ctx; - this.tuberiaImg = new Image(); - this.tuberiaImg.src = "./assets/tuberias.png"; + constructor(posX, tipo) { + this.tuberiaImg = images["tuberias"]; this.tipo = tipo; this.width = 52; this.height = 320; - this.separacion = 60; //min 60 max 120 - this.posX = posX; + this.initialPosX = posX; + this.puntuada = false; + this.inicializa(); + } + + inicializa() { + this.separacion = 100; + this.velocidad = 0; + this.posX = this.initialPosX; this.posY = Math.floor(Math.random() * (300 - 100 + 1)) + 100 - @@ -44,6 +236,7 @@ class Tuberia { } generaPos() { + this.puntuada = false; this.posX = width; this.posY = Math.floor(Math.random() * (300 - 100 + 1)) + @@ -52,14 +245,14 @@ class Tuberia { } update() { - this.posX--; + this.posX -= this.velocidad; if (this.posX <= 0 - this.width) { this.generaPos(); } } draw() { - this.ctx.drawImage( + ctx.drawImage( this.tuberiaImg, 1 * this.width, this.tipo * this.height, @@ -70,7 +263,7 @@ class Tuberia { this.width, this.height ); - this.ctx.drawImage( + ctx.drawImage( this.tuberiaImg, 0 * this.width, this.tipo * this.height, @@ -82,59 +275,189 @@ class Tuberia { this.height ); } + + + colision(bird){ + if ( + bird.posX + bird.width < xB || // Condición 1 + bird.posX > this.posX + this.width || // Condición 2 + bird.posY + hA < yB || // Condición 3 + bird.posY > yB + hB // Condición 4 + ) { + // No hay colisión + return false; + } else { + // Hay colisión + return true; + } + } + + + + superada(bird) { + if (bird.posX > this.posX + this.width && this.puntuada === false) { + this.puntuada = true; + return true; + } + return false; + } } class Bird { - nFramesAnim = 3; - animFrame = 0; - gameFrame = 0; - constructor(ctx) { - this.gravedad = 0; - this.ctx = ctx; - this.birdImg = new Image(); - this.birdImg.src = "./assets/flappybird.png"; - this.posY = height / 2; - this.posX = width / 8; + constructor() { + this.birdImg = images["flappybird"]; this.width = 34; this.height = 24; + this.nFramesAnim = 3; + this.animFrame = 0; + this.gameFrame = 0; + this.inicializa(); + } + inicializa() { + this.posY = height / 2; + this.posX = width / 8; + this.gravedad = 0; + this.velY = 0; + } + impulsar() { + this.velY = -4; } update() { - this.posY += this.gravedad; + this.velY += this.gravedad; + this.posY += this.velY; this.animFrame = Math.floor(this.gameFrame / 10) % this.nFramesAnim; this.gameFrame++; } draw() { - this.ctx.drawImage( - this.birdImg, - this.animFrame * this.width, - 0, - this.width, - this.height, - this.posX, - this.posY, - this.width, - this.height - ); + if (this.velY === 0) { + ctx.drawImage( + this.birdImg, + this.animFrame * this.width, + 0, + this.width, + this.height, + this.posX, + this.posY, + this.width, + this.height + ); + return; + } + ctx.save(); + if (this.velY > 0) { + ctx.translate(this.posX + this.width / 2, this.posY + this.height / 2); + ctx.rotate((30 * Math.PI) / 180); + ctx.drawImage( + this.birdImg, + this.animFrame * this.width, + 0, + this.width, + this.height, + -this.width / 2, + -this.height / 2, + this.width, + this.height + ); + } else { + ctx.translate(this.posX + this.width / 2, this.posY + this.height / 2); + ctx.rotate((-30 * Math.PI) / 180); + ctx.drawImage( + this.birdImg, + this.animFrame * this.width, + 0, + this.width, + this.height, + -this.width / 2, + -this.height / 2, + this.width, + this.height + ); + } + ctx.restore(); + } + detectarColisiones(tuberias, suelo) { + if (this.posY + this.height >= suelo.posY) { + return true; + } + for (let i = 0; i < tuberias.length; i++) { + const tuberia = tuberias[i]; + if ( + this.posX + this.width > tuberia.posX && + this.posX < tuberia.posX + tuberia.width && + (this.posY < tuberia.posY + tuberia.height || + this.posY + this.height > + tuberia.posY + tuberia.height + tuberia.separacion) + ) { + return true; + } + } + return false; + } + + pasaTuberia(tuberias) { + if (tuberias[0].superada(this) || tuberias[1].superada(this)) { + return true; + } + return false; } } -function gameLoop(timeStamp) { - ctx.clearRect(0, 0, width, height); - ctx.drawImage(background, 0, 0, width, height); - sprites.forEach((sprite) => { - sprite.update(); - sprite.draw(); +function iniciarJuego() { + let puntuacion = 0; + ctx.font = "24px 'Press Start 2P'"; + ctx.fillStyle = "white"; + + const sprites = [ + new Bird(), + new Tuberia(width + 100, 1), + new Tuberia(width + 100 + width * 0.5 + 25, 0), + new Suelo(), + new Logo(), + ]; + + let state = new StateIdle(sprites); + state.enter(); + + document.addEventListener("keydown", function (event) { + if (event.code === "Space") { + if (state.state === "IDLE" || state.state === "GAMEOVER") { + puntuacion=0; + state = new StateRunnig(sprites); + state.enter(); + } + sprites[0].impulsar(); + audiosFx["flap"].play(); + } }); - requestAnimationFrame(gameLoop); // Llamar a gameLoop de nuevo en el siguiente fotograma + + function gameLoop(timeStamp) { + ctx.clearRect(0, 0, width, height); + ctx.drawImage(images["bg"], 0, 0, width, height); + + if ( + sprites[0].detectarColisiones([sprites[1], sprites[2]], sprites[3]) && + state.state !== "GAMEOVER" + ) { + audiosFx["gameover"].play(); + console.log('paso'); + state = new StateGameOver(sprites); + state.enter(); + } + + sprites.forEach((sprite) => { + sprite.update(); + sprite.draw(); + }); + if (sprites[0].pasaTuberia([sprites[1], sprites[2]])) { + audiosFx["coin"].play(); + puntuacion++; + } + ctx.fillText(puntuacion, 4, 30); + requestAnimationFrame(gameLoop); + } + + gameLoop(); } -sprites.push( - new Bird(ctx), - new Tuberia(ctx, width * 2, 1), - new Tuberia(ctx, width * 2 + width * 0.5 + 25, 0), - new Suelo(ctx) -); - -window.onload = () => { - gameLoop(); -}; +//cargarImagenes(images, iniciarJuego); +cargarRecursos(images,audiosFx,iniciarJuego);