From 1a980347f68f030bed0090800877813fd1354e50 Mon Sep 17 00:00:00 2001 From: Jenny Crowe Date: Sun, 20 Feb 2022 10:28:56 -0700 Subject: [PATCH] DJ School: Additional gameplay implementation and tuning. --- .../Animations/Student/Student.controller | 54 +++++++- .../DJSchool/djYellow/djYellow_Heads.png | Bin 37623 -> 38837 bytes Assets/Scripts/GameManager.cs | 4 +- Assets/Scripts/Games/DJSchool/DJSchool.cs | 79 ++++++++--- Assets/Scripts/Games/DJSchool/Student.cs | 127 ++++++++++++++---- Assets/Scripts/Minigames.cs | 4 +- 6 files changed, 218 insertions(+), 50 deletions(-) diff --git a/Assets/Resources/Sprites/Games/DJSchool/Animations/Student/Student.controller b/Assets/Resources/Sprites/Games/DJSchool/Animations/Student/Student.controller index 0c5a5195..24405366 100644 --- a/Assets/Resources/Sprites/Games/DJSchool/Animations/Student/Student.controller +++ b/Assets/Resources/Sprites/Games/DJSchool/Animations/Student/Student.controller @@ -52,6 +52,33 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &-1143804635325942891 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Unhold + m_Speed: -1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 5013820772242190312} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 3958816d51b511b4a9c0505c45de204a, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1101 &-295531023391595954 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -148,6 +175,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &5013820772242190312 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -4698968861401447970} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0 + m_HasExitTime: 1 + m_HasFixedDuration: 0 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1107 &6962450605454016305 AnimatorStateMachine: serializedVersion: 6 @@ -159,7 +208,7 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: -7055007684483605004} - m_Position: {x: 430, y: -30, z: 0} + m_Position: {x: 490, y: -90, z: 0} - serializedVersion: 1 m_State: {fileID: 1884598382658345919} m_Position: {x: 580, y: -160, z: 0} @@ -172,6 +221,9 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: 7914765862687888288} m_Position: {x: 330, y: -170, z: 0} + - serializedVersion: 1 + m_State: {fileID: -1143804635325942891} + m_Position: {x: 490, y: -30, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] diff --git a/Assets/Resources/Sprites/Games/DJSchool/djYellow/djYellow_Heads.png b/Assets/Resources/Sprites/Games/DJSchool/djYellow/djYellow_Heads.png index 8898ba1acb02d1e0e25e0b52a9b67150d8ee5b92..115f9c8adce068c401c74edd305cf52feb1d57e7 100644 GIT binary patch literal 38837 zcma%ibyQVd*Y6=bfE>C@x}>|2hC_!SE!|y`N_TgMlys*c9J;$h8l}6#d+>Rm_q*}W zmBAS7wfCMqe{-(6mto3^(kQP9UjqOD6tIkhDgf{*5CDK-MFc`u5Z<}60|3|!p6@kX zR1H6oIXKyyS=yMAxp+93l9{?&ngIarOBLys@w$9Yfq%BJ`C%J7orufLS|P+Ab0`yt z<5%O&MuKNe)OXI`pl@s-*RJ06fBAUx@o{h!FQuY!O784&Q0RvDHt%jc=lK~$xZ}%O zPI9{s>C=&8%I8P?yD^p%mM{Ca-e>{+M=8iYCm6dYG2gF!Xc|v~ekeI?+|cfg-Fy6L zm3b4B(=Yz4|1D=6t+46-K=s#+*ug_rQ{u_mqqA0y{r&3GwMe1ta*C%^V@aaAAnBmEy6+ez2j|1^kn;N0~q9gpu9-`7cX;Jk}IVVELq zU|b_S>s}MaIE?9^9)IXxvwL)wJiDQ_d%eN3eD~b`smW{H{1YYKTkRjAp1r8=n7ff_ zsg+J_gQ|u;ZvDFd!T)g-t;6E(dRXa)#&7beqysTjfk=mLkF^h)jBNc_3~R=^Z0-Hp zr8WJMDZjt|=!!~;KAQQx7~Wsl(|z_!yX(9Cmm8ft$6qAwmLOfmw(CDEACLcdp0C|G z-7qK7eM_wu_9i3_Voc5(+xw_5Dc<#TJ*w~b#oK53O76w2v%dsXlrjn&L?i~XPlEk&# zk6IQb$q%{Tzw~S!*VsM^^kIp`=?`!ui^OJB%k!b^HNjC-cs^d#eB^;wlJ)` zJn482x2}!&S8j@?Rr)MetBiSB!oalUy)a1ZCDINn~x6E3P2!yE~60&odeQW_VnajWxTk zEoa!{UxUrB(;LnBG&p4V+mC7<7H@jKUS+;#W?1s*9T4lY^jT?e|Fe)NoGEL4QJMVy zq?g?#0ka}xOvjEp{Bs-I{K{Zb6n&l}woSA=)^4F@z}rOPbN#m6@;0>Q3fHS1Pw%w5 zO3dhw0(G85LKzI)7PRMj3( zl}l#T$JqzqcZDlZ9LwttqUiwy4O8% zZu5io61mUG-nT;S@P|^p@2WLdv!;l-JHC!kt|5~xS5lW&;VT`}cZG`!$lJExSAyK& znrMjY?jv%!c|QAHFIr}IYBJNjv2dof6Hs05zL|AL8{T}{x-MMHv+j_eo~ayedU54{0|zM2x}7ig9} zsvmpZfPmuiC-^rVW7Wue!&RhxHhK>g>~7KZ)(c6I{zHe+tEe-KOoBt|E1PQaG6i&w z*1qu9hzeLlJx|G5bp9mYv|<3CR-DX`lw3qg4;_-F&2$$I_bxoSt&XE1oAC-}jrU>Z z+Qzk=z$UKK8{~L6_f&v1cC)t<&aeE@EC5Ce(IGdlSHHC(EV&uVZq;WDT(YwX2Q3T< z2g9p-sueLmOH4WQL-&tAE_8X2DGlmWGX?_5*yU|15s^08G;b6ll6r(-D6B2(WS63& zR+8~(BY&8OEG&2wq#ASpbkdPXDx#X zo7*eZEG@6(RaLXQ8zFk!$lEE#33Fv{1!<^*a~REeiewVq4K+4_S?5z>O0?25It29>;v047-G5?eGay>6;G3=Ua^&fa$8Y~{XoOw68)Y-NAj<(W3uEN|q+NmmC# z+v(&;zu+L~5e=(3HaoI8cA{n&JSAqt#U9y3#4bzfo~AR;%b#7VCUl%~5=a@UQ)Sjl zJN2=o&BzVV zS?2Z(Jr+lq*3%Q*7U&cc=k0{QoSbK(&b3X1UAP-H723i?CH`{8Q;8Z2 zm|&)ct(1oy>BdLB*5bbZJP`0WuoDgO99+@a;K|G`v$fRpN^h;`vY6BnUC|K>3FUYdu_O%Vw((pU7LV@b_ z)FO4!G;m!T1Ybps2OxSt3i7_U?(RT2@y$mx5{oEJa)cL zGv8Z0-H(&f51K?5B5!zn=H)>M-mn)VL-yZEq@_2;^N```TGpp=UIEsl@oo8soH1y1 zl?vo*W#N8q?v}cr^f~yEoaAbq_U@iiB$%31*Nw|ha5jHkgJrQpE)CSF6QnoetVbeN z$R|z}Or14^=}vZD#2at>F3JKAR|NkY?nA~4qBxJ3^eJc0dB;i9FzRb@k&Nn^`xM1u z6y9I@X>pPO0mzj@@jWo6!(icp$9x78rY|J)x0ky4o5{`F=mQ=4KNvx?Jram7~Aq05!t|voUcK5B8M5zkHRp1D^jR z4hI+G08!w2>!7f3n%+rjNsl}Q`&Mk6xJK_zD?YKEp#5wBVz+s3V&DSmiM4Y_z6sjV z`-Y6|{*6AI$r*RYxoI0T)arFXbgLK((cEC}A17Bv6Ouh(u=Gt8Atl!VbzXl13E>*! zasnAh{5M~lAtJ$bv67|oOCZYX8nhrU%2P~sEkjEhL>EW$m;FZHD80V+( z!T|%=!P3g3;1wj_4SUx&t&aT9n;|Y^ftf~KSWZp?<(=jJ{mVVw+mlXULbT8@sEpoiQb&^~M<)Dd&emOF`BlZmP(Y)vtX5O&vr*M_|Vv8pOc+L21u_-?=kfesoW})3APktOUoG5$Ny{-tyYfEZ2GaFn?Z2XO=bd@VT=Qv&ycD`JC3bC(m#wEIJ)pI_%desgnIYYkaj$0RvonpTDh zA`gQNI8&1`zCpB5IP|OkYW0 zB417Mm1F9D54~Cu1>dTRT%Y8-|GU(41FoRna;}9UUXn8PX%F{^Q$w+<#BEkOI`}=# zyy)-j9jVZ*d-RcA1YKA^{3i1}vJODMk@^j6)`k@+wmBKX^OC4$MJ7wj}F&8=f0Fg69Pwi?I!PN@)lAoLeb?L82q3NEHKju>zAV%(CXRYEU3fqq)1cil;CNr0 z%r?)yrYc%6HcN!J@A9A<3y9Yw*CSV;aZa1N7{m+s{wYh=K$uNzdcKElf58~H3jU`* zCdO|kn+8Dftr%vo55Z$RVNM?~0I9(9-MggG_k z0zx(nmZ46I^XK$Kw^Mv~Y8t%Pvbv3|DGO>wh`cn1Vkm;$LDxo#)?=mLM_JJv7!^1FS_$U~O(G^5=Q2WUT%-gI5cSG$xr4-EQK!8tWyQ8b z>%P-|X^+%;wD@YY5AeE)nA|ku&t+f87&JrLW_N&nVk<#zWuK(c=M;MzIDsQ&vtXLL zLEbtQ`>eN${HZz1_XyrWuXx-^sa8ZpHH04j1KrVw+wOOoGOBFuQ;UdkQyXZ}ZAd4m zX$O1g7*h03wD1&}9x**2Lg2-FYQ5INi{x*0q)xQY`354yf%}GmrxBb3F|ve*cPlV9 zG(_Dhvq8p4VejAngvfmV@ddWfw&@WSCbW)19BhvKwN~LHA_l&2y!+w~64FGDtXsNt zCW!|J{mk#}Bpj}Eh}&B>U!=mz-zY387^Ze~_Uu`r4rr}1X$#j&JyDe{x+CR^o4LBQ z%>-d395smh$-N931*)3uuPS85zs6AQHcuYAa%1@3hy>>ruT5>C_G zo8J;haKfdy`kfmQrjmpP0(>#Z#!mXScf}MgwJ7t-_*7Aa3=oNM_M)1DoMn=eoJ5&B z$#Xm5Y9`Jx)hMAY&cP*QdqIYrDfQRxVc?h-M4NI}!t9Vaz^AFN<;C6?S_ z5fE-ZR7{f?Q?Z`%^X}Kj#2~P1HlvNv+u1;#(r(ylUNaI3EB*BeKfCELW=XtvpNO&8 zMPq*Q@kO()#*fiBHdJwUS2b_sA{?(d%CDsm9k%4V|}gCkBuWOTtyNUA)jtVYA*%WV4vHO z7Yx}>%<@G$FUnBVFM?4GQ4LD+gk?!qW*mM;vL37;s_OF(ep>)Vf`>q5{Tk-1@@}1w z5^7$3t-Mb%3=O_g?PYYki%!)hR``D8(n_Z^o823EXm58aYUYD8PN*#7HH#?&k}!+e zl(JMDcmpMxH&9CkYk$caa@X*PzPr6GtHvec#-~a6G@wTiGY?>2+c z7IN!pI5|~jVtzg)XUmM(a)X6BRD5tBB{-7XkU3hCnKZ zqfVzOkS8#j7km<0!3h^Ezf;$n^saczfl}iY^5f!x+ZUT;M(v+r{<1&M)+2948dPX$ zDqz@*HupCfk><>+G(I>*iq55}!$pgewpDX}dkTA^^7+jx7x4z`@FHaX$+ZfxSzKN1 zbB-K`!h4NCIBm<{%VJ^+5sLl(!rxmbS*>J5P%doIcdxdtW;gUFA5-CMQ~g%IeuTSl zz5Id^R3=X4#(P!LPZ61vgvw&nF7pJ2ng7~XbZ}`&Nw4~0eg;eSto_SzeeUT>%#fZ5 zGp-WFjh7h-0kg+ljcyq$r8nJ100MbE5Yz zxU3#-m-!T|qZnE~4ml#@_tFuVtG?z9esw@asU>4JK` zjcW+laAj%VWyy(AUIwhW{DF(Ak(4TVq>qJ8GXpKf#g)P0;{OgXp<~NTpEx0zZV}?% zk7|V!IFcMPjswbBjG^JYvN#b2dG$EjuBxx@VJBRc<@>&>(tLmWN}pV$2Ox%@m}c6e z7Gdc^{PE`W?25Uojz8zY`LcvB0!BE@J({3Mp-oh<&XOqeCQMQzQGL^S(=mZr=5fHa zcZ+B2Rm!Vu`t-eR!5SGxoFz?5V+~HOP0P*d(!E3$6G06=d&jvU^|?0MFNUneRRzt8 z&hTuE!m_O$-x^t%qjJFY$I zSNS405nJAouzq^ED$bcF#{HI=fM@e{S^GN%SA*+>OKmx1QkbXZ&R$nJwQJvD5`){p zScS!;N6sMcH}3E9?T28+n?z31=XIP(i_t{VTeW|{prZQKz?xQla{r{{W&bDJ^7;l& zSHdY%8;1*{;6unUWg zP6Wc4+0g(1$N*po(f964hwZkJCi5P@ZcfrRMq)Qlap|Whn4HSAwQL6pan+6CBPGj~ zCAE-|-Te1!@Dk$yCE4ytXp1PN1U`clFs=Oy@L=?>UYI9+-*H#DMCNMX!K(>DuPklL z%09tiY5-hajoRVAt9+>HDYO|XeLEI=0UgznD(bl@DRr!P9k(1&c;qIfsPevzs0f@G=~@t2`JfFPINQfo>Bp0thYIhrN}YCr&B zN>Ojpzf<~E2%c$e)C()Xl$6dtE6Wt3urCX$Qo4TY-LT#GMlV+~a1}MuQOgJqeugiX zzF}%god8mk&;w%6m+Mrr3#?O!wb3l`%N6zr{0YfL=3g>0_)10dy#<1&A~Sd|UkrTx z)7IOK)29D2MN&~`FP!p^#4UbN01)3P7l%Yc2YUG%483*bkM#QGhKQAnF>7ir>&tqN z0$~6IKIr9jGPfy0&^1C<%F9J3muVpn{$b49Vx*VHbn8-`up$Zma^#iqQtgQ@U`m_y zez^ruw0KJdF<1lr<=ITe0LDmE{`6iBa7$xQ-a3_&X1nfQ7AukK6 z18oIC-#)4`%W-g+9h&ndCMOr@D-lLz+FU5BDok+~qrE)EsFg4idQUxD$|=AwYjyM7 zq_3o{mozt@W$Uao<)KLO^2~y&Mh|0u0CN z`lMLV1o17*J+uUNYOzRHHZNcF^ks^(Dr(S%z(EjR1q-p%5->Zz{;R*gOw@LA%8}3M zqo5Gi3n2q`iBggkyXB1a_B6~{D=Ln*0ZaH73bC5=sMl>45Q8r^HWG@_7EXkJt;sky zy#3V#D1iDJjW_Cr0D8Qs0vX4Gqq2L@G~&xb82*OmY8KK@>tIQ@7fJxC?&PSG%$!dr z0eE#S2iAWma=QWy2*eOR^G zKsia`_xxQ>gTxAdr6!}ZRcL{G@f=6WsY4s`-{I2rO(5?hRdd%wK}t#Ika(l`0Lu+buv!EGyB9sv_3d< z0BjfZxmaA;yj3$;HxB>BN(b2&A#;6&n@8vsc;Ew}S7c0qjSUTf=V<$`Wijf!g)gLI z)k)=zBtDaqy@Y65;rq=O5CQ;%@yS5NyzqdQzJxT(^1V}PIw7zRID_~F$pD=QPyx1y zpe*n5sY}@2B*o?&MN3Ohafkecgj2}NLx8<}Moayv4QvFs4-5dnD{w65TclRhyj>J!sSv) z!}x{(fH$i!K7f5(TQkb4Ve`N^Y`4b7O|~uuhPc{6 zsLC&_0!yQ4)XUCZ1uolKXBET%0lr%Z67h0d(L}?Un1E22vXQFh^x>poc&NcoAyD;Y z;2E+a@>^EsG^nBqYzP6ql!AqnltzCn9IXJIY)m=|PPV~1O#c-utj4Ac%C+;tdPy))0{{RjHDj1R1+Zpjk`D}HY`+#tpJ!#Cey->Y<@7*w$asA1=}77co9t`7#vhX znNk3{P=cQ#7yk)?&@j#vWu1*n0H7IChhv;Vvp_mpbQNG22SuM~uyOw#iV6z~RLV#+ zps#zFu8!Ure1H}?0$?4nY_Y>_xgF^`!$y;PVPX9}tO%%po=)EE-!KNp73H4RA_AdW zQM+7FjXSHc996Tuvww{XpPne0> z<7wSmYi6{}5J&yT>>{t51+Tx!#Rs!J^-bOKR5~@o05Hd#N@zxfeZr$DgfQ<19q;7dvakl)mt*?i2^7U zZTu)72iomlgkMXX?D%@g0Wv606QsXs>kXewt`Ss~w9M!~DA)+Ldu=BEbw|=W^kEI{NR#?* zs~-3{dpZsI5%`Lz)>^8X{aKJ>IF@D!cit(Y8;VHKaK;NSEs$K~+9#CJe)E7Jt0bDP zS<{^D0WC$LX%l9~9(ri>Rly-1;{bVrRA|#ANkPyYxGBh`IlU0Pl@E zJ61op==xSXRVlH)3=DS|#xV3AR2U(hd7D0Ke;)2~1+-w=3{KM=6k?j{z6ebDbQqS~ zf829usDBIxdFW3s;140Bk(oVTqLzcgmXwXz!3(f*bX6qJb{ln;jFcn&1UuNAcEMxy z(7=6;`i~A<$lEl=sj8T)^mIXRfLQi&vxEIBclpyLZK?pcMM#1cu%07tau>T3zB&s) zUWV{D%E!=5dpr1#zYW59zmoUo8a_w@LlYdoM!TrK`S%<=8gPzlT2mv7sSPQ8{mHe2 z6+f2Bb&=%?TDYOLhxg&V=?Ag!ZNvfo#xM*MBsf5Ua%L9S96qRCtwJh&kES{WWr&^) z;ss}`D-cW7IRAE0@UN;4jh00Na3?a_+leCn3p7%>j(kSp;s64SvTx<)7GH+r?;A<& z8VVHqpZmRpN+x5aC=aTB%d`%dW_Xsyx5mrTFIQ$4Tx7oC(kPHP&L($S8kh2T_)QT<@ z)?rSEE%V7tMvnf-jTSayV;%%t!^_=ZLGm9V9FN=e!<%9ZbOcX?8{nkUPaB#ua%q-n zq%NryoV8#?(D&Kvsv~57c$FQohjOJ+TaVUQ%B0su_*gd7*VQ;a);1?4$+%8k&-(>k z*2Vcf#NNNRaKI#7kvM^#(&>ZZDYE#|P@zitkkHTD+tFc8_m!c}JK@TLpPRRQo7ypW zls0$`Q_cW_F7$r!MjA`0y-be?u@7dAcCL@(DkB{{ES8W#Fuh#T5adtAd_*SF21nvx zIKCrMK{_2l9C%u}F}dX{WN~_(Zg_`^9a@(D@~rETk~)^FEOyYhtJ>vu`qA-J1AOo# zrjBUldq!P8B7;WjR$0+Vq&sdc>efJZs5Nk2t(A1XT!Pd>fc@VfaaQU> zoD}2%2mll*DDKAUQ*be?MEnACaNL+>p@mGD-XwitFruD92>Ee_7fk6xAZ&)e{S z&uRWKvChlITiU03LI^-HTMr;#Ete3QA1yj-lJ;27A~~|LCFszt;4dT9F&Q$>X$Wo% zextK>@WW$-O&|BF5@sFnSctF1(j&ZQ_&u<@P`TgozHH@f8rhUjTeEu`jIc#{1s_|_ zg$1iNVLtFfZ^5hoL|S%0_}s6>i^!aYGsy7p?gjjcn3~d=PtNSR!vlH;A(y2EN*K%l zsa9D{A`UsTG%sxg{R*kP19$aUWtfrwO|%BXIWivMNT^ys{#*_v)P;X#&(cJ|EmKc8 zBkF}i1I8s#YP@!-9NO~o@ipsXpL4NaT`LVZfua)`Ev#S+KuIFh810bn4P(qOu7;eh zkdgoq(PRK5+P{m5GZiBrD6J>UFJcCmFaQeUtA^lF<9q9-)x!sL?PTT@7ttZdUG4|p z3C+)nKoJCc2~bBxsVB!1?PZ{NZfg1pE3@Tcd0!WyBmviL=DUew_H$efsa%`Zf{=`95mmKoi#B#4N3$o7n#&Iv1_ zPK)@f?cF?`3At-LyY45c)uP8S<7&#{x+H&|E)j>tQE2VLu`UVdAex1z|W$EjL^O=1>>fk<)wl9;M|WgFYxKTg_ZTB~Y$U>2wt4nu=- zGy>2H55*ku@p#qVJI* zEtp8!wHj@i)zFrh@e;ux@ExlXc;y`f!`uxlVI)vVET9|J1?L}}V$~8;0ybz5uDm;P ztE9~wmUW=8I}wooZc9@Mgmd|jV2iy^{%(=1BpyRO4R$(2-GE?d=4LPK(g|%f;Kstg7(R&w0@eIXLR6Ifj=vS%YcjY!JUJO8!jl z?5!!NoSlmP)ysb{_tW_&595!39fw{rmtcqX>=jVcc?x+X5KlZ{5EJOlN;uMqAkGcj zl~);cclSO;QAe)jnI;}bmpOxR{cFV#ua%8$+H4B_TPA3w5Ve%mc62AVjY4rv6Zc|N zmlJn6JZ;)cfvK{%Pn6Y ze0uIw3EKrVmG=T!YzVZS%>SEA?3n0^rNPxZCg3I5uIv>>|2OI7wQZ5fOH^y}ylh6u zNJHh3W<#y{A$IO<^^%G{9_azZEI7;ehvIZKZ)f70%Bz)Qp)l6Q`K^cgp42J3dwza z+rLP+!w%#vsc92b5trAKgYA-zrZU@L`o2|}2Z;n(v1)a_Y!CjL8wlH_`Y1X8A-hN* zs1f?}h$#f`ztwU~!%8om?4W3AeLn2N{rWL})``9=yPrK09DWXOc95$X_(LjvbY>3C z?*Acpu1PJ$$Xw)ZPJ-_Wx@CSx~DIH?+)q$-p2huO->vm_RP9z$`)J zlnSo94hMsbAe=Z|YmN4g38*kOqr8JQ7ftC>Up;EIC)cOd1IP?-@7%!im1!9ewY zNeDOE#B#WlO4)C=HWKN-Q{Nj`wi?l)`Jonj^=K|tC0}B(Kc7CjSb3yb=qiQZA|w+Jmm8wCY)U zEe{I2Qn$wjglH6O9eYf5`E&C0OJ?IGCy(%vL{a#RDyxc5(MZ=jjL2z+mNIZ~NPVzs z=>Ai=mZI@tRP$p@+o}(E+JZF~5-a&G7)>ew1||4?HMj81T;lN5VL3t4(8ibf0|K;_ zJ>JQy=z<8OH^q$w)Oa7aJ$8R&W$kPZv$tpSg=8GRucNh;n&Ot`d6Lkk_~l`y!DxZE zmV{$ovZpoH874^ip<;@UZ=58RlDYkcgDQPMXT#ygVT(3bdi$rIiOAeAAjgEk%gAHW z07wYJ_%?J_8u|35S^ty1mus$xm&M3;Z)uT`3$7*G;`!@jnt4)SJgbRHvPDIOB<^%Y z`p$O! zpmPj*GX*Rwk?n6tDs!#)Qg)e!I?JJPqZ_$2I1Mwb-Ii5BT2cW77OXEL2n$v?lwh#6 zR~O|VO{k(3&?_7IElRjXReT0}OmK&eHzl-tV|ftX)5y$N`)xkEg#lO zUzH08v%o+mE|geUL=6F2$9fegPN8q zG-3T)t=jMsm>m&fAO+g-s$GC1PYFC0A(bBG4B?uYO7$>e>Kdh?NyYGr`($;Cjb<-M zDS(94R%pWE^j{~#LANW0_OUMF31<*6bHXP~kX_RxLEnacq3)ROyEHN9P2VpcUO!Mb zXg?AWZtzT9iri4S+D6w6$QzpskHaqYZ#rZH71)1MI=gz~@G7K4r zdh>R*@;$Tkb160TcTeo=>Y`YT$A$(IGh*oQd@;x~Ii^DMO@Hc2Enl)VHkMM+u}S74 zIs?00@JkLv0=NDRxq4;w$Fkksq(>9IZIA_f0D&Q)5C2_~kq289zEC{({Rf{CIpSSR1+VwD!3gH7%<#8k!3D#Xb010lA?UB((XCj>P(Ebd zrjNXZo=W^WSY005Ae5YvP$FrxSW_(sF}7R{4tRH3m;QyI z{|U?O(Ayw@HF2yovYs8uBpfb6b5xy}x9>Frvy z_JTzgAcIi{Joi|FjTg0=xJMc5vOy78s2)*=K69xlFt_qbjrL>mA=dC}_ z1l103d<+USzdWf(TWy;5?)H>d^g2Uk4(9M=U19s}6tHd0O-v-3n|9;C4(RAV#a3YaiHU4 z5+~@vba}amdD`K(*%m*^USZ1NyX@1NOB0o<{tLP#)P(%^;Vw_Ey#DKe4+>l_UWMTN z>($L73LXZ&HoAG^I(jB1M|QG}hz_HDb!h|91TCZ_2E{k$C-z`ZZPnk6s9&CcO`SYO zUoMWz#=NuZFm!gFTKn@5cWtXNMF%myL*VW|KzkOs@BO$f7C0DQLse0wla`uS@NS2$ z3ua!5a(zvhd5;vD1kgmF|JQK=Oi^c77=an_KM2llo*A@gG@)gi=LdO~&@eb)+vCxZ zgY8D)L0}z^q+Ob9Yb5aBvjAP9_qm9}sDk5+&UIjt80B&LN>9Q5N$jgB{ND0>Zgjcb zb^Tp&ed#y3D^?F5Ff}cP|2^c-PouCg6-JrX#C0~^L{7XRJ}=d(rtcC+WK89ivUtpz zJ}y#I>d|C}NQj@hbv@&mHJ@?+qBXI3HP*i&j=$TlO`OOFPGS07%oMS76#u@0kOVm3 z_bla;5(p5hONgr}{4E#LZP1W8VTME=5I1AN%`rVnJf*N;jfnChD75Q)2_^D_Ks|c% z1XH^Pe(|k%DI%hkgUHJ$4TgAxQc9r>K8$sHW(M7&d8#z^S`<#P@d5R+A{9gtZ7pr~ zMFH}X(0d{DC}=J51s0?Klh1@8$0_C8!8X2E_PU?&kdaj@`b0xq_U#vc+;+oCvkKC} zJ+GD)j1Rd4DAge;I+ZBuO?@G~7GJxSs;`^|II6u(Q>?>X6}FE5EL|iZAVOK7(oUe- zJqZod$@PLxXdb;p40@t%5SrqX$dp-U2UARrTwaMrp<)OY{NDDVmYU+e+{fB`cgdoW zc^YYUURv1aRSO%=5c<`a=mG|$KW4wnL)|hKc?W>b&LQ*sfV>|R5L+~2`@3PAS7U*L>||~ zV#&6Sij?dK6f)I~rt`&HV^AsHJUM~<&+~XckdoWnOsigo(Ed`m*tsFm7 zYfg$pu_-G}GsZaw5A`dpg0TOaNveADV0T@-XZ-V;@v|M6#*YF!o3^4do%#-7+25ha zbopWHVT)aw4PPxe=c3Q7nhj!`lZb?xg`-j>x5|u1WD>J6F>^)`WUr!zv4|mATzMLm zdLLgjX#n8l-C2kBwJ%`A`#K}ZseiB4)$R1WmQ!FD>}R7=BD3r!%g<072#UZUZr7YH=pxynbJ#scS4f0Bj zTUDvhekjCccM+r|_U=~)|1wRMxWr1gEmQjKJ{tVg*#(P7U_v^4;GRs05M4#YiBF?g zWuB~;EISp1Jhd}C$2B&w?)|r>L$wfJ;kR}bnmw2r0U_Yj$^}Y=S~viTjBdx~Zr6D> zy-A6nXCzCazwq4pS)`dd0X#at1}jb2wZwkxa?^ZXcbaZ*xS23WrF;6p$wRA$QjO^T z`KJ#V2xSbq19<7ZEm&n}Ipz}H%p((!Y11yTW6FpEW#p)&?{36$=S8kI*u59k|&8)h1|e zK)=dE&4q`*oaE%(`kj0(m@$1Yjs)aEA(rd_o(iROXQjn_tT?J!6tW@4M&~{5p)ut$ z7cb*=#)uVXtUO3ZwT}ik;B&CUAVM9|=U_4NYZm(|OgexA<%Kc`UBkHy`nC5%8GJzA z>Am%lVR%m%w*4{=Nlw&+GP|6kn4ZK{>-#cCM^V((!SZd7P*(UNqK!HfD6t??&`)`- zSvJmQ<@ErVQ;4!WsqVC$QQ+)VcL8xAb+nT?b6Q&5(9W%p{3LJO`H>FFDUV#MK*9)D zp7{>C!2m;HJX?1tE7jSGbbz610UJJ4O-$$)SVB(GjegK>0ytj?#N>2oVZ@cX{tJ#tc{q zb!DIj1}s=jQtTv1R}v*T_-J<4HJxj$vS+8Kp)omSQGejK_1kY_D&NaZZM`n@Dgf*y za$D-pRg)U`KE{$rY*AaDbvsM8ccxG*klakxSWh~DTqVGJNA~h$?`9IZhlP7d_RxZM zjd_$shy!|eUVXg@=V4b+fR{<6)D$vHs<}s|{@ndewaF1jGXtvOTe#(B;#2r*(_|2&O|lf|DWC%~K#@w)b?z6}KoFCn#`UH$}V zVQvfJxUgNWuRhwmDoz z2ZFhrW(Q2) z5qoWxAv?Bb{FuP)Xzj@P_f8OS!(0|nD|m3*g`6kMo_NVBT^S3r5k&PF5t^xt94N)+DVa*TqW<7U zL0k}-FnsQkm_|Z<c1+cN*WnXl?48a=0ZC+}MD%X)j0q z=M5#uz%K~hxfnY}B6%klV$i*BRj-PXVE5A>i1!*=0Um(AQ`h@0>s`*i)@S=mc37~& z=SH9fgKMkF)XNCk99wI2FK{GtSjTZZP!J!a=G?RteQb*0R4PP!69Y^+|Qd4e@f>oow~1Lzc~NNHXiF0Rz&Rnjrj)3Gw91OQyr+)!Y@EjNs#R?g?Y zO8A?P#EKmq87SU&wVZ_1H_L{!JQD`IK#d`s%tC68G}o(ABqPPIXCDiVyzP_yyV~__ zpq6S2!6I1xS>2=ro>E=GLxKfK0x3ZRZ9tfEYXmR-)>d~Y+QX89TFiJk2_Vzc2@FUW zG~&=6h*P<$PL{I5<@=Nz%hB_n$$@e=3(n}OxPx@rUU;p8D;r_~=x#c;!S}SZ*WAoB z`A5(>tf4-rn-Bq7S!yJZFqm^m!w(`R4XO=!InxNaM@9+MqFx{$1^9`PDb0HCd}q*3 zdZCk$5R`BUNuDR866yHj-s$AC`de?RY!sSy1^W7^ddD=5{^g*WwrjbsF5?I$Ok_57 zx{9xxOe#y!U8m6v==cj&e~Vq=EHW9sg6?II%F5hwE(EdA{}~Mg5P1q=aeC|(S||wX z8PsJGq5#`i5BpiXoZl-ubH+34vHNZ4vn(EEWN~#Y+7%11dg~hV4f1cLeK#8k1KHJ$ zPBn!WZ?C-Yzj9MU<1b zJB39U|6Hut_;T2-H`vIP4PEe@8C z+$UF}wMKfXZwZ8suL`12EFD#>xD&>SuLYfj9*jQ=r_$)$qeEp-BUss;TmUU6#vaS? z$6y3AP9LRGc<~(EfkkW=zXoB?%C)TvAW}5Nu{VYc65`TYHJ^h6l?+zT=8Du(Fu##r}U9pH1kddEQYaT2_6@T1RhI7v`o)011vH*#yu~@ z@QirE{JuVIBTr(sJ6zbH#0H*|cC;)Pe()mE8E)KQftt}+<2$`ijX(H}&wVIc1ng5X9nu5|846yyUA zFU5M@U@`qMFe*~mvmldKkDO$_;%-sqJ;Sn+$dx>n7}AsretQ4S*plBo_QjXs?zu*t zvVHti|JY5-E^GxnTtVixv*Zzmlx@HU8V7A!Yi8znb&tS%# zHoUKUw-2aMyM@yVb7YAMEFNdf3iY}k>tX;k2>KY>@Q?7|^QAPgPE6I%;ch9Dl^rgV7fAt8 z`Xav!7t(T6VnuGWIG(7e!GVU9IlH>i`F!Rs^lk4SIg~Vu*UwOsY)Z9p9@(i@ZN|#Hl3wwZ6u@Mo~ zcpqOhWrOC{a0d6|*ra;uN0LljN>u{$cjZhT_IJOc=Ou{*1oc*>#8AFSNpiEdNFq*5 zfD{thcmroF&gKba=KmXj#~_z?+a3{KQdi}AX0E4&jSozfnsmFcSTjf)3YC}IIcM0w z!3>D#M4Pcrll0C|)dj%yDt^YSth}#GskcCO`paZikBku0x6bTa+dQeE-~ZrYbW+k9 zG)VoN?KYhj*93=8$$Dt@9{RGOCoVBXFjn8TQ^X}L_n7*V%km$Bd_s8M+E`rAZPIB| zE@4&*%lotsOSN+&Nn$BdL+nXOLRq#p<|#LR1}+va1T5dJI~^?gnEmCARM>oJ(z9ll zR(b=S1F|_Xuhi~V8TmAW-*1!Ev-N^je#rBQ-TS%L^50izH4j-6XxhObS&+d&AQ(y0 zNB0s!bWcX??k$KyyCq&@|C2t+uDc<#d-KIoLe!s;+_pv;X~JDor#th-1Q35|jQo$~ z!~J+~ozg^$UGti(b?nfy%bN7C&*kBToJ27*W~#)WiL7m6dzh78tg`G1{^ZPj?~xXu zQI|--hd5nPV2OP+`6)-xV5-x>de4f8gopKf>7HG0e}s^98upQ~cQXUWxgY5L`zcgT z{G+NIG5bjxT4Kee4{R%T*Sa2;0aeUqelvGCji8r3etbS+LKWeC(7mhc{{H4J5C7R> z5kuX#hTvBt1@yb^c{wdAp>iJtQ)i*_Z?_HRG^K;Y-|S5HPrv?CPq&ORjU zG&X?ly>;jAJ@w4Ko2KU1%YB0J>f%yfXC7K=3nEMZLv%C}FcY(Js>J@G?GUv|^@>oFAb{Nl`#)>p*N5+uDX>^PxO@=>#cvsQWe* zmb3jh+$tG)-f6Pr|2T(i=0fKJGB%UeJ?ZE=-Bk2ugT9AcVNu;WS&8cU zMd)a2L1}dO-X{?bf8zEiZTsUchrk6j10&?>$}g{8D-`y|KdahXt;}gR!?&?Tjrcd4!QM(o>pHuA7~fwGI#OI@mNj(1Cn0n#&%)zbTB5SA?q4_5e!uhFct- zU%J8m?Cu`QAFxQH}iq&71Bla4D>0`t}CekyT3Fz%{$%n>QDnVU@~u#Z}06 zg0UtJb82L@c~fL<-8N}gHaTy3>q#xKs});%33NcobE609HBio5jp1%52vv0&O^=WEynis0-GiFwfIV$5P=B1;0oxA6?<}7;t#ys4_7DsyY#rQ9+CT zJ;?$6s9O@cxNvdt2@Y#=IMcglqn7=z9Jxj zyk4oKut*zq3vXE%B?>XJ6$!NP0lPPfu&K?Xhcf1lgHnwfjA7NjzokdE!Sf zsW%(F8FDZHcn>mSMjnlMXO<2eHBA_m!VkZsGyIy35aJFs-LIyN^rU&`OQ#1RcKIT- zji(=tWTOFo9W+)PC)pj_k4XAiBT;w#LJZduJ=%qzH7{~NspotyN}p^KrP}{XUwBe; zsNY=YfY_3-Jv33;#?q7+U(qIN`|EUP_2eE=5_eUo!=tDVHj2LKNeCXdfd1A$mLLDd ziyM}(!`1EW*)1jqAK&{07fE6;)A{`Or*zOi+pH(bOY)MR8yYFX%|qM#PQt+1zVFIO zTW|&+FZ-xO``kvSX#EV}@GdGZ#l~go4Ml{#syuMKy!o39%)F;b1dyK6&qq>?n?F@S zclCOy93%KxobS$5JtVFrH;-^RO8g{8^2nh8N)*eWXzKIe)pB+a6AH!tTdQnVIAC@r zSw-*uO>ExwaV0GR27fp;{t@lTo3vf~nmHl6^bBuz9>67WGY>wC)9U*!;^>f*{lzW4 z8Z<&u>`3?706!Sntr_^tBA7<67~yWn^pvyJG=gu9jcGT!*h=Xy4Yk)%Tge@}E$gfn z{nRh6{~W7ymB~vcH0D?!HnP-1H0tvk7(Mn1u=D{y?$k@xE8v#uxf9c5c~{Y>Cp8p} zce`y_{AU$*I$>;898d3;w&1Dj%pL^SxT%`A!TyqXjO}A(bt@H5qJ-%i8?T8m8%dRX zhk7?QOjqsbPe8FPy9bBaMsfZpBR1RL{}!>)`ot;FcxGyU{f>F9(9@Loy?OVSnF>JM2M6eJ$>(NRo-Ar0sOS;E%N3=$nSD(AeFv8C)f~il)0lE2J;I?L7PhaoQ1M&4t4`prI z=g(iSepQOn?wj`16samVs;QM&Z&TD=G^Q83ffd~@4Mg2`I=2}vZ?{TmU?RJ z;Roxb@0i)L;6PcEzv(-LwZ!=1uP;uY(3`q(}r&Guu(cN z^r$+MLZ|Kh(@BnLiPP5vWp~%^(h~dsen-33LokWlP8|wY=GZx1!4EPz?IRROMtt)z zz1bb|1-jdGj*)J$YTuL+htPt5TgaJjxC z7Tfm|73cf7M$)R;sZw!c6E)c^I0)${q>c?2p!fxnU+Vv2CkzsKnGm&XO3p3GTpICD z=_Qu3YGUd4C!{6rUA`}Fl?js9Wh|7d{Bnd=^f!ZAjjr)YCK8)9v8bblK#vDPhO=`%93~jdh3H@#8NlLRe45_gN`!x0OS!6Yfr+=0uZw8s2|RmbnxB zl;}gaX%O}mD$_-;TCb$l0V7qU9SiRHCkl06PR&&M^Ag7P&}mOX?8IqRH06JST#~hq z@L~DbC#06Q715Yiu`gpz`V(%Mm30RR$D^=x&sIJCE458rdDEgij?Ay%vGS@4glYv3 z3nvT|N8Uu~mrngyQ>icp{T;PY-aHxVq4e813GmzL-^Ro3kJ~#V`@rHOq6(8I6KQD5 z`DMVktGZ7dHV$$SLAXD)mzYN?Z4S;#!#OnU0TlqmXPGvwx7{1Rba0D^XhWK5z&k#3 z&`+p-D30yaaC={lLmjjPVcWiNXOuWRP&k+$wx3)ahF-hEo`G;pv%a|g`leevqwpVy&C$h=S*ZXOh$Ogp}{440a-x@q&qx z`F=Kff2&WHZhKvHL4}o1O4eB*&J>!<=C1OqrC9wz$~T1F_^!Y1i%0+JbvD}xAPi>O zR>j4M|GobZm2zG*i9r2F5}I9{$;|!+blghdvE38BMM;(#*~Bl~;AsHIP|1!`Ez+}A zqKXqZqw2uhxhFEHdxTXef}a=bZWxlD9Xl@p)BHSk|Kfy%L>iR~@h-y6u(x^?yfQ1> zBe9J4(kSTvk`Fqg++M-+#K?P_VX6E)i7> zc!MA(itTT|jo4f_eMc~*lzZTRQ_!3ZBKrSsH zzQ6evJbmQjcI>l0IDciB!*#&WjUS+!U`az9xV3gKV0{(LmS9?LxkHM(xmFcATWCZe5Xh>` zaf#_7)8Wd>1%5wQ_*2OqJIGS&DEu{U(&DJOI*`hRqo&#`t_R{dsrw9##)x{Z7lJ*K zI3EKAQK2d;GqZ#Ji8kjmGy7ZU`M8{y5O-BQ3cDKc`s%t|N(XEOnBj398RH2KMi7%u z%kvj$QNFTXG~N5Bb0vmvi2@xrhM!F@re#DMfnQya5$XUku7*Cs<#AA|Z4YUqTgRPz z6m7AdetAvq%Ky~@2#{5C>O?(8?m23q^EE5d-$>4ko7;!KRo3j-fWUX9sr~tUc;TmG ztNL8BUuZ&KhRXEpn&MzlH^k6HhPsV1=R^}mzv!==T_HJSN@$LCkliXYb|D8I_jDYt zJrN%Lw+qBqGa5(W!>oCY_!*{^&ZGgHbs<@5r+pK5-wA!4g-9S>B)Kegv5Fs z<109IMiy(NRZsn~5iw1O83ZDPcVC7!sd)KgSBW)OaQz{3DqgWk4;a}K&Dv6tfpK|0 zkqMOKUYH7Ji5RX|7BDnbGVkpIWkX~GDP*CC{r&VNZagKiw}1rukX3J;PsaDMMLw1p zl<-29(f+*{(Km|bh33Ji->;UPCjZhXun5vdf||(s2NcwGKZ&$s18VHNdAOpzmx{JO`aTm*wZ~2)$q@Ug1}&+`vbtAkco1mY zqtc|1H7+o?1+lAU+=!KAX#BX5(A8k#L6OqC9f;^VdH}mwdx|1bey1~%m-~?^e#ij~ zrElvldUU#JGn1x1+sT|t*&6bs%1P9SreCD%>~~c6tLIRJH>^I8Hu8O6G3JGj&LDj` zS2*!!j_pTG#s}WeS#SF++0kVQ0q$@DD5d6@5kyFSv4LRq_T_c_J+6r z)<#sMCw+tOKffu<>?R7NWWmkGz zhwZMqMbGQ`5^afCmZJbt67mI~FEOwIK3yPy$g~B_M8NgtlY6N>XOYXof(nxlggX${fdZ_T0W7J_=@&MJ zuU6cq>8pzIL%81@EQxmcicUX{fA^bK4me@4#3qP%`8bKf#Aih#VEJ1Yd&|)cdN1Pk z;ZbjjvZ<5nb#;I67)e~wXci?o4jjuTafZre+lY_|NjZz2OA5yBDg!R&x#{PgFZkIt zug-hBaPM{_*MbgrYU)nwaO3cAn|IBAlrnu9GA&pCk$LFaxRV|dv9l{T8N0L}e0jc8Q%ZgPRk_mQ6-8b3ZJ3n<6P5m1l(V4$y~ zQM2&++aKX^YR6}kn#5lu86<@6;d~X@0&d}a)cE-_P4vn5075WX!e5yq0K1=fQL&p>LG3h=^|@)CqtFY6!KatIia^i^vQK z+`{_$i6sh+=}ZYpTa)eW3p@I%Sqo{45r@9&Q@o@1tr>^8Zod>SDSgZFq$MGa;Cjj8 z4OL~+IC*-wc@U$7@9UcYbG?-m{bv7sJ58cs5I4tiIckHmGZzlp*r+th-{5-@Kd)bB zZ?D4foRsXtK<+odRtUsY@j!o0hXmgZJes#wgV+^7P-Q z%`S*|is$E}FoyT+0(G=W53EhfQuO~oz6`I0gt)XWdBa6Z>aO!~@{`xg&Rdt9R33Yb z*P#lyC6pi9-;49>O=zUjDf`2H5a_J$+&njeaF)(T*UA*${CUH1{PX9R`5xGKq8XSg zz^*tMLAJL^;-gXPuD~6Hlbs1_I%D=g7F;0tu1+|94lEMBMXH&HAI>Q0p8733d30wC2qVPLao6ur&K$SZkp zb~94EQb&m`$4Br7KwMvtX}BlHlioz)-rh(|TvldNrtC?tdh{zW{|#cSG}A>vY+#^M zqyJEjV_t?-G226QoUnJj&svj*$S8Z&)VlN2?99x(g?(S@B22u|A({?+E_!-)fGb>J zl<}B^FT#8koN?D>J7?bM{|qLw(0eYMk&6Gm;^p*&p0yDb+vR~W7|d$z=#1@Ho4pCV zQqzwKT<;V>irYH3N|r`_tRC^r>=N86Fs)%$>!{5LyojlkGLYVNG78h7jeC{y{&uq5+JH0 zvS7a%-yt(uW#x|Us6)K=u5X&u73vm8nD(#PrEX)N%R4qHmV;=PP0pUEeDpfJ{v2X| ztU2f=Bv2E^84tPxbIcI;SB%r7t%IYgotnK)_S{#I84^IH_zho{pxM`1PopH&|S*PHa z6Hj<&r%MS1xpv^~wuwi2Er)-B!WfRmr2@hH)A(qpg>d^D!M4B&Abg;G2L+Wshc~d! zJbDUIHHy;BtEd#nI31xQk77~waTm<^GFqe)xqnu!u?!(G!RGz}({%#&SxDCmfr;NS z3vkwvO-WXE5xY>mfW7W27N!NXQpOHoi79=sZ+`&PMbSQBF~kos`jKbtuW`7_d)lyF zL$PKEmlg9ig)vacOdSIqIO3G@0m)XoZag;sAlyoX>+RAqu$7R`SW{)$7Hlc%fHAV4 zSoO(YcH*?CBv&G>wdQG|j6VIYLA&vQ>96|1>1$lEob-?ASW-LPDExhoDAal3M|lek zs1_~3)UHx=_D_#%&{^ajkPF+F{XB(IlZI_fzb{C%>FZaiw&}P54oTU2GTY=;6bcYj zNDbNb+?@ozRY-K8^$BJp{pN|MN&KjdfP+S^CX%?-CL`LeT!*(27@WTr+QlGi5Q+P{C_Dj3*}4m;kx zlAf9wrvuwSHYAQ2Fy>{rwOlVy0@y!jaDrVq29OtQI$hZTmz#?+HAS%9OSq>*r>J6& zh}Q7aVJi)~wWz3(rC)jPvVjK5n?hVNJ-u7(g*;Wc_iL3p(hF+G%ayo$AeLSL0I`Hi z0bxe7Dj-pU4l88Nznox}HU|UVs;9RMZp#~$L8F*{n`|)I#flegrr8KF_cnUbb8##2 zHb30eTa~qW{CGd07Js|Q6~HgKG7yn_dz9YYco2{47E6dpD zT~+pNkbYefXv7kZs8T&2=%wLni@`{A*%q+S+xUiY>O}M) z^nD|oL=6wEoZXwtyHEgTlEyz;rW}(3mNY(Nss>|IgWbtm+uiK!Y(n>+v$F~r?{Xc4 zghjR#k)$g^ceyJ$}H#iuQ~e9aC=~{8XYHi$PT5Lvjy$ z=x1lyDgNd`zp84=M?BGGX1coN+f813-vZz_idvK)pCgJvTZI|p?4Ik)ng+@wch8ny0JXv@5PO-ciC-pI^G$N`wsbaro(>`fZ|Dg<7 zMyF9WBXY~6v~tGtO?7pfPU68+T*>ItU(+8g(BpBSm0G)X&lAO>c*HS9*YH8gf1L}^ zuuRP5^-}7B-*hRm0BwS!{Kt-fXI2B1<8I5)vbngfZAoX2!WtF7Zib}9Nq)Z}3dpix z=-+~>x;3mQJRBb=D0*#8CF5}%9QYpVEm#E^!~)%0^15utvzGZ50Kv+k$x9#7YIbDL zcM#xpcaOylBdLxA_AL8}b2{isH4Wo$A~BJnu5PfWsWkHT$3+YUNeWpm8|Mn1mital zLa(|QZUKQ1v{c$uve&ul)jGhZK-!i-3dWsKI#l=&zg388!-UN0%Dk170z1*Jl{_pe2nXw zlFK#|$Ox#dgN#3j8YM80Ssh+#9<2ODvkXN0g+`Pn@qBut;Xcg9w&#vl`_iP)4BcG) zMaibnB|*mIsSeK#i#(a=<2J(V4Kh4mX*b)V^%+xzjG@MoM*X&O8oMmClS_nY71TvU z_C-J<{R12BA-&fQ(JyZ;XGmGw1b0o_bQu`{LRKq*%^$#+bVAODuCH`};-aP)$-Pb^ zzQq6sh2@^OrVXcBGtM1U{gU`jsy;(-P{PaDN$bMy-Q)JMo-6#{R z)0c8bpmVqQ-pZY%Wrv!6$RL@+?wnW&vdnM@2u$8OU6v+)%HVFxLz(3r#q{FH_hN#n zHB?9X2nY8#hvnfd zJaZLVCu$EEydozFHC$=vH_#7oDYK~_wxVH#_qZ*bOxS=oP_CO36Lv1LiG3iA%L&ZC zku#-%g&lzI&%0BtZjKCc3vsZELpIv4^<%>&# zY7>*HuiqHk)pP7Y4lqaqS4W~Ep|hXsF%((Q9;@8GX5^)l?{7N%{b`u1{sCxD@C)vG z{s7EXNQh>2bYF9SC3_%wzGmxvYk4oi(KZl6a7JVL=n*FiF}g^gXUQMm zje^k&m58^@)VuEMy_U$XF4x_d7hsQ6GGn8ff&G1EGfX;!X5sAJ6j?pbk0(^6$VLkC zP>9%X>qCv*G8Ts;&Ee(WRFlMw{b#+&6a#p`iqNfkiaZSlYG`*>t}gr$Ha{#L8F6w$x=enN@}yt~a4@S%Bti5*uzLWU7XU2RlkyaFmxQ=J&4=<$hK{L+Uz z-?7acaC0Yd&2ZfTg|*MevuF%N76~u`i-*im*=J{$dmhJ$dq5Hzs7rEvvj1zyV3}s}P=qK=$N2b-mm?@jDU=_KMbv3ain(n7>IWoA@ z+>K=sB8^1Hia#1!G1Dne9gbdFBpF^uxIC*&cxq_bVB{XHs2k<^`$9$erH|J{%W$lE z^AoPGz#$=7VtNNL4L@ZY8DEeD3m~m5c>u$&*HcyHbUP(5@9jbBJ- z*zUgX1BL9tz{}a>2Al{jaX<($AsF4M8c^#I#UlE2(1zxvheC2tTYJ{<;BU&WuLLs= zfUS;>OPAVlR#$}wt}V*{wrKi0@4_2$pU}qk-XWmA{sAP6H>4>wh2v3WW%yz4$Z@-^ z!E+km8sqK7?HYrR=F1to&E+CrH&34+0_L~>Ld_Bqochw#PE3OzHd)>P-TRvq?j;zL zg*!)nN$$B(0oCfrNNLwRr*}(-`6xezS-C64IzO94!tV9g7l(i@uh4k5Knv$d&y5RJ zA!-og93kopAgyQfO0|AbP8PZY2^e|sFg+!F|5Tdy9L4(S<+=PexAdVs7__^{%{A4$ z^Hm83iT2NmI7}K%nw|i-Z#V2#-~B+H4b7f02hehee^)yh-D+d+O3_dgrg{5)4J6=- z_GN+|gnAidmiugx+PJTu^txNaX1#iJJCWF~%yz-wH{D9e37PX6wIaWDR6Wq< zCN3L1mV@pQkBae%y@GZySSDiKEzN=y=`RfVW8O@E<+>XTPF?+cxKnuVb=7UN_|7t_LrVFi>TPU59^}RykmEd#-m{ z>wT6caq<9;Og1j!61|+#hk?1005HhtG6KIn(NS-V;=1!NSq8oA&{Vu(l{>dvoJ0=V z&OOXHm7@GSCz&*{otW6Jk?R|E+-4?VzbeI^rdHpXsNs1I3}p$x?Dn@UZiL4heA482 zB6H19u~-)vruS%_nG~$JOr8T(mvYfwq&MRI+u|kR1?UsQUsaYfr>qGxKr8wB=e%;@ zV&3f+iqcSzM*>V&fFpVuxm=?nG~R9B^HqW6;&VAr(oj{2>j#Q)mD^nP`~nX<*~y!r zqwqtBe-KIjAXxSTfpvJl(2Y()*$MuJFIQrHgmqGO-gO5Oob z4-X?iL++OJ6gZWH<^zX$+?SD1OpzFAZ?KV(aKl6P%o)4fE+P!2yRxzZIQn}=ed=G( z%@Eq8FJ5J)9|Du`MW;(|=YSxe7$%Vll;Qf{*Xx(I=RGG&^FWuECw0909=I5(u`nmp zmcTaJY!cjPoSJ1x+JRvUPO-4xSJ^-Sya z^*QjynL8n)4~Z8V$zp$7Ibb4o(Iv=NXf`7X`gaL)5rQdF*M*yV7DgrK8T9C zIR*p2af%d;GB32=@@=Fss?nE#a@jm0+Eav}NMyvGURjj_G8MjEFVY5=;TtG8B%lj$ zpjZz_nUhBFQPmhhuo3&4oE`##d-oZsh|liPK2)>dt7p2zwAyZNF{lE!iUn|AUoeuH z+^lx!jdmD#c8YJ-4F;q1ie40@yaZyHL722 z@$XA6>hB+EyEK1)E-&hQxD+)$?$aVjbZa>&sZm+(e9X>UR;+Qp5&FBNEM>5BIPH?} zdKiBG1<^&mbbGE%Wb-22ne+rOsFWQ^YIw1^v*^0&cx5pzCPSVBd=Kn;69$J43<$C; z?~edH%BY3c$X%{@6kmCcH~LrZ*d(wa5-x*0GC z3P=cXz?98d6JqGcs7v+d_joBn+k@J|!^fh$-~63vRq17ro3JMgTLJ7LRjlUvFA7D< zdRDw#4Z_h|4U3{+r0l1O$w;x#N8Pc}a2h{JTt-Gy0d6lNEb!a*SEuwhrUuqMhV7li z`TWY~gA1^2ke=sE#NqDlzR1ON^AF<&BP6hs#Wo+`XQXGGG=Z5KS=-CrfM+S(?bQwJ zzJGn2BotKfA~uBDuJEc+)G1d)`J9el=vXCtaBdd3V_`JRv90|&6KHfK5;I!)^6&T> z5q;~b_|IiW#-3k+GeuE0O-z@n`&Vt<%Tn)i-JCOL4}ce#q_BnKkT|RH|GpJ}T^Xvl z7y>-}9Jh;OD%^@ql5iV9{68Ex2Arf{(o`KQWIMBAMLg11QqWY3opeKw2WYh2X3 zRqm*Wh3kCyg8~@P9qh+DhFbjti8`#a7EBI~oFahs^^|Z)cH_b8PKWVu6J#s3`olr3 z7`U@lh-tYpGkxDj{^wL*Z={jZ*F2-={~wi$y#oNZ&@jto5|TGQlg36D*$?4x7|p|^ zUzjbi{lIOWAuktk2Se-35-}p;79p)KBwxpDfUh<$cT70*yT;+(ii^}R#KMe0XsfWK zs2UPT2~_Gt)5XUQFH@g2=W30XAps~?4b@LjQJX9*lBPAxRKCNwn{eYOc>1p<>9$}7 z)Sryb!f{1@hoU<5Zo{VCWDH7GB9~{!bj~~fTpR}9)0x=;ogQJ@BgeAEL)83%Dx>5# z@8cs;&qb5PhN3+Gg0+Yrj$S)AcPy z*$$hz-hrZKGPeN<#f7Z`gSV=yVeXymcqQ z;&yl7(~SYFkDQx*Spqe%EU+T%>n9Yd7h8fb94|~L0!Eqs75vC9o|B3s^s1akP@F0m zx_E9|sNL6m6^fDAbUk0X@zVfDWE=SZ20$OUU9wgG|4kCxlf`SBo6qX)1YZWz_FEE! zF(Gf6aUOZ5-Fi%=$G@xb)ncMN*&?G^c62Cjt@DOuYS~0PbD`9)5sXO1<%9TvDe6}h z<$)JTxT6dtPz2-@m96uCwE+3AomUCf8jVHH0I8}Jd$xJ=NR)+0tnrO}4rmi4FTYqO z(km;EoYjsu1BUI;R9?+Hv(|}N*WHhyreVxrtdyp+s&$l zymWa;(sDMNF$!cahOp-oi>esU$H2B&vXo|O;t9XBHM#C{c$mcfT69ZnM`r`ZzH$9u zx#~+FfEfZ*VfntK=UKu6HePlNj0Ru*v8JS0GOuLlAjaj(ULE}vWL@bd<$=!c4Byz4 zHQ;kPH9Ld-IjQU$tzz#$3NfDYI#dqX5dX=g;tzr3%FV1{+QS}Pl%%EDm~$!v<-aPy zoH3Uoj38j47ZBdJc`A8+^Cdu<(dCezTQ2|~CmxMCOZASY2wVo(W8QBKvCP8SCw&HtCoSgmd0JLtvc`A(8f(% z7kA1Ah@nC%yIYrc*BAIzKU>VAT0ij(_UT5HD{}+pAdo?yLQ@l$n&$w+kgxr@rI+^2 zAXA>SDnVUM1#YNy`JlJ++{jfl4rESuoeQUz7$o%qQuC&x-%cQ`mRg-N5Gz(o^eTQ5 zU{Cdy2t!%OZkZJgq`NjDJ^Nlqm8KCFb_m=-vTo?#xih)}_$X@5 zZWb6du>-$@lx1Yu6>e`H>@bE7=sJQPkrB7T45&na4!PgP?vE&WpO7WX7l9DTk;AeM z$uHjN*vim4&WydIwgRi@3rmi&JB~1u+Qv83{6yravF?1ou+Ye^ad}3mfl?Gxwy;(X z8@&5ki&_TKDg!yXKA&60yF#`s4x%@u8Ap0@LQvTA1tg{gjYe6>sxI?A63%9Zykgk3 zU}zGXT~=x-wO*z&NGesqXE9dmUKWsvIhi=MC5e+chWo%9my`q>^1BwikNvfbCKT{_ zp&f$GyZO)QAF!~Lip2DVhr5y3&x9UE=Q)S^MHK4o7 zHM?FM%iL~C#giJ6O>)q61GS3Q<7^0nZFsADV(H^{k`hgKi{zN zr$IA3Oq7Kv*3xY~)P{xh$%!?GR@uY*)?){D$p4`4taIAlm4)vO50U17inFBs^4U_M zJ3<26wQ0?HIS0$wCdhcVT_@u0clpu;?)K5ys1AokY-}w7gVpk|pvJr&b%8E>jrngJye&0?sbh? z`fm*th0=-n9usx=LZa#^`{3$t`rS${B{0p>?S0ORecmzy_~5hRA_M#T=(AGXVvgp> zp-XjgYe*2ry4(^i-k8WN`l6~&{O}N({VPSXzQRQv0+pHA9Kfo`zF4fD`Q&4E6=Z{0 zx(;j$nYTgxr= z^PcY7CAa5ZNM2rsDEk4|85bTOoNLM*Ov5B`AWVCN&KwZ`8Pp#KmnkFX(tKj1g>S#- zO8&ykQy$nzx8sxZx1+bo819CsQYg2acwGmJx=6##EN>^<_FWGg#Gy$ol4NU>33a7x%En z=HbAO8b5NgvvFD&LF$zHRyr%Fg5j$~oPEhS)BFSHxwNDFu?8%yV!67ZVMI|`K>f4L z*Q27rY*m2+@Pj#u@6X+hcQ5I4Jw5F!r^hF!B9Gsa)sZ;N_E{89_?WbR)-58CdDvbP zR6ju-xUCaAlQLClZGE%%{RQhzH*oQ%11Ayr>a`+o1~%>%GKol3R;U@kTKV}o)Dq44 zGRP+HwwNCcPtzMmkg@~NNAJKe*RW^DH0UXJ+=-Q?x*sX5O?T0_URkw16%?n25yeCk zhbl(B>+KzR1M$wYIRUO7$XoHoKh|g_WlP^(sU|$$H!TTPa)3QH& zOWAO-2MqwX7#NEOg7H}B{FVQ{k#HO+2uvmDHVqbsP9CQ)>|I(aVpwn(*tGb(Zavk- z;O>bD?&pEvy1oSGI}oywzD9hbE#W7;DLrbg{<32E2EBYGOhGyBqHat#ar z96dRXsmdbqCz*r_5Yll5$%n1{(4Iv0h|&3={Cq^HyJ8eq^FUIBZK8*Fimd->a&$!E zPrq0)w$#1TogM(-!-`0q7Cl>g^OBL{Ey&x7_MbOD2vE!P^$L|&y83Av_ou$Tihoy{ z(ptReq+vjuG5Y@WKi3axpo5(_8CZoJ_{2WraPJmwb5C4-LIq`qN>Sh%@cMMU%kyy{ zXR=xOQ`f$$BgiS@?!5Ha_M)`WKcMPGua)30*n2)%sDG2R^ciny%*{aSFw7lIqgq6QCB33$4;MSk z-5IL`O-$J!%T=~X+k3tpIX{J^9K7+wg-Ue|1MyW%GDHQb99?|*_ph}cBI^t&yFw4E z4V^57e6}sp8l^Y;s$sY$>HIR#7UGRHT*N}R=ZZj5*xPNefvy#eo1ZpHmTgqNi6}tK z9Iv!ZS1){nhZmL4mhf=Y7I%oCNGfXZ%}0FCWP6Zze!OaKplrkTV^bGC{8OtZ=fW)m zF=Kn5cXOE+Wvo(H>iGCA5O>5DJY8m^`s`+1r=eDUBCO88vD@DW7OUB>?U3HUno;;X z4a(FfAd|m9Nl4g%pSQ>Fn8KmQ6&iT{jviyFi`ospPiO2GcBL&L;o+`m^}QHf)1D1} z#?ejB57rgnu7w7f5=$4MihUblXx9T*bSz&UEFI9TrWH&K+l^P zql*d8%;mLMtQV%rBv;k-U}YgD4&(iF7*FTIaP^{)&dw~kDBQ*89Dd_Bx^DWKb+e%% zCU=4IB?o_oXl{^;0)_>sXlP6yqle$DJ(A9^8gG{f_A@jaPN+UHhmfBwY`@@$e#L&%)xY zczRna#YBTStjr?Ql~LX&m+|&D0XOi27r0}~+{&2udN2o{H(*zZg6qP-P^0y1ZK@h}IEAeB*byzOo|(9M#nkOMtbny#CY@JK!nUn9=1Vpzkw zt|xP0VT(SscCzyyaz;w{th!r77a!PH!CJRWEnJ2c+3(UskkiK6-rszXL{KMxLlb4;l$F(AhGEm+TLPD3R)fxg+r`U`K7qO8 ziqO_h{`#hOYd-u12v53Ww+7ww-LdYk;z?Fj8zOwBr5+*>bB)V3s#KhNML0*(;P(9e zZEN>w2bUCVwL>zxn19*(X{t)H`N{c_3-8mPZxg#dRngo~E-`)2!wo9%uYt|Qy7UqN z@LN_|s5OlB^EKMrulL3Y-@Xz6YA3hS&c zL96?%Z)GJvhGsVP8BF=|i(5j68R4RpTN z74&wC-cZ{=TK9ImK8_v-5H3sdnSz2L!li!jY*#en3Ho;qRvzM=oclEO2W%(d8tK6w zLB6Z*$%KLL4K1$ylL#T;1aNXxR5A^ng-qGN)U3TgW!Yc~@R|+cou#eG{~-piiCbK& zqa=_0Xp8rx@Cw&H$+E|cWpf6EuiI2!_ZeM#LEMGm#f7+W>fTV~B&J5JZg_NYv|+EX zq29#O>7XHYJ$GR#hAG&z!d1$sXuxbl*$WZnkE~+fqQkWpnHxCv+_e$I6F|9zQTEO|%}tE(T_sgBNT_&0s}#AP;jQYL$? zVmmtiUvJm_)zr3xgJ=K=O_AO^mli??rAU)r1u4=DT_E%#g3^L0A|N0j1f)oZT%Y;vJG#qNjAyk=d zi^|mxHX{4PAH3e;_iLghxMy@>_$c;C_G96;i5u;iEC=&}10$zz=o#dlo&R2EEVh#_ zSnFtaz-`w&3>;iY5#Oi9eOZ=$dQ{&q@I&1-(`|IEs=s5gyF&jug+`E$;_sN{W|t60 zM!q+$d3xxx^{{?(<2t_8vXsufZ;r2j9OmH`iSaS6&D=;1sQ##$AJExzRzKQR`S+eJ zZnBIkoXV)lR|4Uefy*z+i%s8jwJ}|P!Isu$br z$g;6r14aO-la-sull7?@Nuy5unT2~w9A(ar*Gu10=U+wi2U+O=S0PWD&J#y?2hKjZ z+eSS8iwP@}!Nfmg5(0o$6W43zsNFFoP5^$C>)a7d1>zBILT>D0plF?+!6QE+2J1L5 zA9CFcgrh!x&dZR?bIc^UME5si1923yrK`R=opPZe*iA!|zj&VFc6R$y-qguB&s6^s zM;-)X^l)Q$DPnBIUpl8cs}#?fU@wK79gilaG;-~dKWXq_2Nr?ue(bUk<+`+7?&`TF zI(bra+NWURI7q~#@u!a<1iG0sG4iu>EbF}o;2e_YjcQ~U`wZ(Z6ynD)zf}z5-!dm2 z??^19V23U-sAAulhjUmc_ne!zueDId9k;;M+8+wogQ1q;yo8J>gz)-+YQ2|P(5XE} zM@|d6&ehb@HKQP;b9q5zpMOJjqBT4pbh8)es3i`faEuDo+qES^hhwXSK37?};=E_b?D;k}baz zhsu&@RPolNSCUurC+>%O>&#rtcVvQsBDo;Ra#@o9xD1>jD_ z0H1k2_h9;=^qsspni0&F**Ryu7Wcutg{(i>1KBq9QEQ>b>l^WrRX$;3Gp_j$ZipsG zY?0aah({u$ENNphJ#T+s{hPm0uQuJdl|0kwIIMPYjfv72ya13@plsBOU5?c!$2-k< zngQ%7Dk$Si0XqQd*;(HT9Rn+M=>qP%-8Ns7e5$~H8JS8Yv>`xh1!$wM<3*ta&Rxq< z705Yw9XVy#+P43uvJ#{<5KME}%gu0GQ0suiDh^SW74sGo*>Uyt`23)@3(*^lxvyNC zZw%uty3KA8|IJx>YUGYgjLp~kM$!e4vccsfHO;3F=Jf&Q6;Dq>b?1-w-9qc;nOjAR zu-JTdJuqQByp(?yxcM{XfoDr{`?)kBXy0jE3*hyt?b^mNGE93Bknp8=H*)o+NTX*B&lZ728*rr`f~$ zh&-_8l_LqaT=}WBskUGdq~lLAIOw1{O9rK(>udUOXqXaEDnH0hkAm~Ze5&aa9s-l_CzjbCb03xB#OD5ZjgEz=n3#XHMN=nuiGb9``?7CC{ zf*(_^!)a=d?-!bb;<~rME~V^C>p?E79?wTlq#S_IuiCFe=gZOwML|`e6`IV9RS+;e zM4zaOGki{)^jP^Xd#gz{hI?@6B39iJ=rC^)ay9n14G$-!Jbl2`A6eNf|7=~6Hz#ot z%9Yldt*9J;B@1h=PcI%cl5kSziY@);{GV~V&cHh;N!9d8qdI^u?gpgjeFn;$U;=5I z+(W((I%0y_oJ@rw=p16O$>2pd9H?I}WToZlnI;BS$yp_3=u{FjAmHF9Rs6G~PrRgi zHye;z(fN?(*j9i z&I3T^TClnx>tPJK7`&`=CYOA@dH9o?d3lAjLm*rUObD>%-bH9BH-Iy%mMn%%z-GD0 zbRh+VBgrWB&gM#FY=YgeWi(@@9KRedhOgW`V2F}jL7=lDC5MZ~QBE8y6}mM;I&yk( zz7c%+{C=&d^0FoqWgmV&-vLY8P~@*m3U;ruciXTbOpzm9@2VUTewiG|2);lc#^IbUpEgvuI$I9`U=g~oD_$2-1L7~P>F}-j4_Z6cHfwBA z;DTVc29Oj;q8-8E5ODWmfc;*z+nOK8i}LS<@6Av!6oq@56g}j683#r^p}J?}!4mG$ z10%N(@3$i^6`_ab+ny6>I?W$%5bCph6o5394t63|Z`ZSzobT4$@bOmvte4K=v98;o zY6Y~n_?D}FW(`A%#`rH7%^0zE9>=mUCs~C|n-fnqD|&L1M+g2-4Ft~T%;4R?4fY@xaU&;{Rfr1jxePt9(9R#)?}pWwojVNWA1jd~ch zy_(9KeKbKDP^7_xaKr^{YB|cKZ(~>Lg!N~)Ga$PuB$b=1M1xEF7(zBoM{X$Z;m-2$ zNeqnEYq~?MgN~g^h*e8A|Hy3_osYU4dvgsqXDEkKR_-y2_Dp$TwU5eXb#c&^t4Ei6 zVf2sj+VYTb?Hn}R*unf87b|^MAdC(URRnj5gf}$kjKbZ&-*sRdaZY^R^){8NPD!G( z$A%5|tq4_`vg(zurjus}+m>4pJw5LS#_5I>#g2p==;%!pv&J8u!*cqm?A}nm&5!8U zt&_3v|Dc&#>@7ojBK?PpqL1M-{*Q;&L~xIQCm~P9BMKhJRx*86wi|_H6^i}QK`h*L zS^_pQ`kk{P2sIHpWs+fCF!=|-)(}?uETpwC~fEmri#(d1pX&f0=RF?ix zqBmD@r^BB&bF6fCcXWAH&GcmS52My7Nu%WC%+&5H5Sj={i@TxtUpG4<3gOLDDVhSf z3~dKzAv+k|3sodHS%7EPSlj$wHkD=38dU2@g_vyVmzL>k+hS9Ui_+}mdaw?vbDA6< zl9khz;XteX3k|&N3~&OweV!yuts50YMldz|vJSL7#UDvFun!RMV%5CMWl%x_0Bno9 zDV)g1H+~k#pkf1O^0|?mF;R$MNZ;~U-5J~W)&2p@uQ1@QdeKLX&F{aB07?}+-ZBH2 zvfUtz@9L+hzbY&9M1O92)kUD8E`34p$9IXXa43kC8=m&kY%oNr&GI870|#=l5A)A` z-H?Y8NHdOW#4kfMj1p*?YL8A__xEgtbhVv4J%^{=mVzdiGf4G>pLqwNY#VfdZxQ;h z@79LbXhlmImNBus2c3Sl z@t)?{v*)hY65AD34tv`TZdF^X;J>N+qg{)@-D{oUI`*SKO3tf$h!m>eI+QE z=ZU+)L&3C}?&wpQ?cMp*ttpasz%ulZ7Z9Fs0u`N>+{RouWy{@o=xO>u8ftECX>i4B z8t#@|@xFz{15%U8#PUwOXNgHcJR-fXbpu%^_pVY2XK3(oK#lW--bdoCZ0e%jaXO^X zztvMB(NG>A^jREn=1;ZkUD?@Lgw+|FyPVP7Tnm+ZE-Sukfj(=_SfqR_!q7HA-%U79 z;h*J_!wXBz)8E;Vlo}i@tu;QJ2#H$UNaso_+NEeE{g=)iN}3K|5Y~@aZS;J7XU)TF zlLy?#VAb-^wDRQ`fank!ifymyO0M7P%%KUW~O z!dnmc6TcB`Z-a_ZCxRlX1@G+{jswx!6hq>MFh=*^)wlU-h}>_(Tm=XK=d1h|Mo!>+ zH=R~w+~c0oN%47SQ!C!4?FgstXr9wG0Q~_8e$lK~!*uyn5H_w`uyl8A%7o0>sAArG zpeqpJuY@=@rN9lr!^#Z`GmU(5Ct{nLsSK^ zk;0uKR|vR5(-2+qfoIEIJrN`oXePT~R-uo!rK^(~a%I+)f4?SQx_ldAvcmeAjMxIl zAiwC^`0Oq23Y}C_M68lsg~gRhdnPUYkuquRS~`oi!`Icq%>zhm(0tz?Y!qMie>)6J z=Dx!nYZ98dR!Vdw7(g@~D0tF3rDaa%u+dfKE{AhMJ4knkGRo9&+@`EWRTMaDb&fBX z0Pi*sz@sRex3-`0JzL506D`xn28PuzNCH1bxipwNY~EafM*1ij7MA@I(qdR~BfOHJ z2uzU7%{{X5mS&9adW`Cf+!%D8*PT*Rrn7w)z?YTid&6rKb`Ja(0Mx3XqGVjN^`?OD zp+}K`SD&wv*4JxSMzMtxur+TuB778pS2nYE9EB27UlA+}QC`i42PukaVTQq;6RXdY ozxXHtT4{{Z;^)@>pFb>nIPXH#1D^Cc&Sf=+Q!14y8?X4gz&RYEaQ1LYaGc!F z&SBjF+g$QDi)B{Ff4I1@OOt?qJOAVeCa(jP?#Pams0C>TUja*j<_KX;Pxkn!rx z_@a*?=ICSb#Sn|!qX|@8v&61*MY-APlb2vIlp7QPT3;3-A5aF|M+LBHCGgQ)lM$u9 zMMPsmZXUMg9%e1w*B|*`6m8Pw%Kq;Sg9Y z_+MBVQ>3GFUeODI^AjURrrF0y{KKu4)6YqWZ z?;h2NYrcLXVzE}5{Q%Y5~_=M8^=J4#XV0LCTB-P)xMw`Xhrm_KJ>q~yU+zL=om zQHdj3M`FoH7#IL@FlT6}Ruq(Yd79Kgw`KW%Sl;FUqnT)hc>st+-v|LLA1jf8#rQ0= z{&&u6T{O1TYjbl$0RkNT6u>Z%ORWXFHcjo?^*Zf;sC`C;KUGg1M?L-*u|cXp{XX1o zd>aWiVm9zK%eerS58Y$F%(h^1Ov6z8mn+=zs+!Rzp*NKqjne#AF29_5x*iI+Y759JYI$#FS@ym?df@YsTZyQY+;m(RI8TwHJNH0mgK>U| zrfK*IIgAbOlL*QyH;B9TE(ikps`gXO?O!^E1}GKoKH}BH^=(tguf1&k#)y<9V7)yd zJG?23({AJD*#~xoj_OG%5qS}caS;viL^z}<)j#haBBqZ~m6MU8TH0b|$P#6c{xA0u z+@vRt)n!-&$H%|_>aJ&^zmTK%a_gfwFgaw&`~PY;q*m@=R-7zP+0GA#sVCDC2gL_MauaR49dF21{Wlyc#|LC&wElqnCe^d+CDl*bz&7CQqdu!)%moJs#` z*PzEs*!!WrcCL1lC~Deh_Z^v?Tb$QQ_SZ1&WVHFtvb@{|2pG$J%Qav%x zh>+zCq*=lYod5E5AEx+WE|#-R?#PBiG{Js}U~Sa2nu@6^t9anHWW=>&<1XZAQ>4X# zY*&8X@_!}SxGehDf9X>fT)Z?mK5u$N~9NRo9sQ$Xf zg3*^_6!Bw?;q#&YctcEhgZXX`6*$zvz`6eIg7IJfnUF+Xz&6?!^}Xj>G?YptceSNc z0k;UawS*02`LwO0mP0V5QU$eQthhu?Fv&1uH*L4Fx;y7z7=04QfSHCSFoMJLQ0Vhq!1 zG+d0@;`(i@SMxM9)q}c=QSX)>7v_o0$#Z-|LvS zW2^akY(#565xvRc+xs3hdgw*Ly=HH7lOV zsih&JvF7h$k#e$sx%}apAuD|LAq!>}!tqRSJ|+N*XyS`CZ@~4~N#2omwDoEoQn|}z zDj}rx&(mirL|j}pGtv@IeKmpTG3X(!JIy^cjw)7GZ@~a;;AcHXkKh4(Svk%v(d3z% zP8)l9w@9eF&Y7dWsFl`QsfWjqH*LHI3OLvWZTvXFnh^OYtD`E;S zh$3M`=6BMulRz^BIyEkkQTUn{co%Em0TFR$l8gH}KYhq8HOQ^vE6tfx@pw<{d_`H@ zWXd8M&S6cxxWQyP+dKs+L<3>+*H&++1R^spwy(+U`TB$tdjL*V8SL8mM&kgyRRYdq zqhXvV(jkmVP97`db`V=9WG2Bco^4pZrSd}H>n?Qm*=fcP9x5dX5&Ve{E1EF8N_yRD z&&zWs{M!LJK`&o8;lP`ly^}Wg^wGprDxe~e%j+eMURnjb?q^^96ZWs=00!hh49MY$ zI8N*nNu?wMQ1cVX@I5i5!krb|{-JR}zZr_yGjI z`cAvpMszQrNg8K>dfoz%|L%i-)ma%^>yJA7hlxjN3VKm~BtylGXu}s5gVMs%CEeEn zJw6ZF8*I*^5PMDOlP$v3YpHl=VY^=3-4~$vYZcsr8M?F^+=&9LU1Pt4Dm1-ie?GXSXDc1AO0Q;27SDt zsb^R8U{PZCqyL9> zu!sa&J9AU2(lLi&is+(p9RWrF_etJxrM2$RG0>jOS#aOAPwROWg8Bs@l6Q|xo>cgr zg1dn9e-0>kwxBlFU}R8{JL@y++8+)8|Kil6-GqV?#jpGkw4nmnzOE$S@&~{}WI%4& zj`SY8XtL(FR&NisAIpqNgE#INj6fk%V{rf2jCBV}rNNsNAaM{3lx8OVZfjEH02kTp zO9tdR(%0@^CBBVPZbu}vwa^wOFa0j~?m6%4^%59|^#ta#lV!cLynsz@w++$|stJ?c zZMDIU5-IIbDhf7R^3zHFpU{FCmQs0lq#YIeQ8~)gLpr@zsKxctUgZ0_}W|~SGMgbr_JolTm z+K}&xc7KDelF~YE4+X1+#~dz$k+9HpD%QG#D7 ze;cOGf1&JlCw1q*=~g-b6v(&sbYb+;26}#eM|BGbhm|I@?jmu%Vc}vWLTae*PC@a4 z$qDn3e;Sv+ebBeb$a98s7y)ka7k>tr7ZjhZg|+z_$B zaUf0&LySSRF~p^!H}m~shWcJ}EpPM53OZCtSA=5rh)&s`R{8CbJ+bDzWK`O}5l@?$ z0Jy+1z=Qn3RA6t0gvDov7IH_)8&)m6PEDasu5k9y07Bx79<LicdVoUX0+z|E0*SYN>c1?J85TnDt(VeePJmD( z`kGeu9!$br9$ge)eEg_1wm#i^tbqVo8OV?;)kF113Oh1O$U?S}!ZTepll$TwwJoLy zi%BR4T#aO|GYYqnTE8f6h^h|(KrENNh6qHMRZcCU*61=Mv$=__L@%f2OBQH6?0|<` z9jV5sgK|+mTIBH1>oCrggWip$Oae0ASwJ8jN*~tzR?d`ER?Hg@WpGoXz*Tg`OXZt!h%c9Hl8xgwVX$kEwP0^ByfTzafVOgSl=%53j z2d67hBvguLVF-)g=o9sn4qbWoT1L#%Z^R2g zM?>M?G;ulF{VeD{Za!VIioUC-qZ;sMON`B?{kdFd)y}(p2~+@)ICn1$je|nvY~tf> zEN8p!=PqN`h}0?Po~&SN4XtX%Ak$WfaXvXM?kv-9IjO_JG`PCxM*w>5m>eu|AA;>B zSyMVMP z$u5eJ6y6l4L*sll76 za@29Uo!*@s^7eOkt=tcg6tE!H{$@W>5iA#FhoU zSbK6dz4jpfQ>2}RorernpRA;ch-jz#B2%AON$JFk+Ap;-Bm>+bt={D699o7NC@GTW zudPD4@JN$1c9v2xM8;B|{ray2CY*qoM_eR5WnZdn4A8uA!_=CUj~1DSXY(dS+IJYb zW%Gjs<)+vCe8pQR;>=!Ak|x5@#mKX1tLv7@?gRyZ3&TSwOxd=!$3Bl}e#!j3^qco# zZC?bgX0hoS{8X4O|4`JNB5@d&YeZ&5|La9UOc=up1mr>7cbdBA_%`?@cNQqhBziab zEDJs?2>9ZjX}9f-P8?Q{m|i%?T)+lCI%|fjcHP?9-z*)N^I&d!6A-M2wy#c?`|gTT z{}Ipu8(?2g@RK86z(>r#20P}KPd3Gc)WAB$&$tI_ADOiY{aLaEs=ly(JI+6w+#=q= z5TT!%R8bs%DmebE?yA-k_xY`kZ++_g;+4U4&TCy8csVQ2{+VjqFqZfasaawrMR4vk zor}2y`c1!Dw3hLkMWtOiIq6~lP{{?9Qy<5H>0W9=E;zGR&fgW4*ZP#)j5em?ho%Mz zVm=Q1HJ7dXaK7m37`=Ivi}i~CD zm4e*$h~OlYsqE8THp=jg8Izmg+UziDBVS{j#*?5e{E_6DYKg7S$OE-0FQ9QWHTibd zA?5cCyTGHTFH*;N=Bu!8Pre44|GeA7wQE5Qn5d;IiWTtw=!%d=Mfm|QNwcJ=*oQ1^ z0TNR>@yOcgTO8EN%ezL^q;4Y-Ce`QVnT)jx2tuLg;hk3Vt5Cxf#vYs^P#eQWyDzTO z6>b)5v9j^%qJnd@E3LJce-Rs*1TC#`hhww~nM(~Rv&}`|hwM9M{faSpNq)kbe!1ZD zskMKeJVyHs?wC)hNX55KCULiEW%TBt+;TmY@*pYCP|jjeUo8VIx8+VF*j24hmMfns z+*Bvi89K72aeMQ&Hb&x4XGIoYL%K!MOjpr!ADB=6W@$2y>sZmO-+f~nU3Bm~ekycX ztfp&x=lKoABtKTolN|8*oE6g+Awy=xB|@8bKx9rZ`dAEo-(3{T8UL!fEtoWz2G_kt zqV3*Y*Un5Np@;^RiLB=?Tf#79uR>UG1{Ft2@F4HekE1=!rsRs`nSrA1&&V$s`-hnn z;9K;0e=v7~SWOombOX?pYo?iISKi|n5ZPs`>$8+#tr;)YToSJz`3gL;pb>2%ShIEV zvbsZzH24z@IDEu0IDr$j*=`wh{KCFU%9Gkln{16zVa`*mih4kyL-=yV3DlTz_NctD z>u^%z&m%d)cedXSw`q~`bF0mYUqFCwPoDp>H7U`QjysQcG=Z%h9>2C;GxR<7aZ8Up zjb*lNS*HvSh8A9*R}bq5*E%QPorOVT*%9;jmV?enuNSTmo^?ftS^`u{z6IJcyT%0K zf6=ti-tOq8TP?5}ga9$9F@Ji^gSl+_BY`%_BWJJRB{kiQ28*#<2yqhO_^%_~Z^S># zZ*wcf+e2>~A_qpkEGWKK$|`Or_xiqduCLgYHHrhnYq7OnHM$X?-ZF>g`gf@LPsMf;`U>bAXoF2G1xB|N`rhygZrI)xB29K-_XFr1DuC~J_i#O&)^#jN`2y%7iL-K>GR|6 zx3jt0Y?#!2TdW3pfcVHLsf)frq=Gi$|4wR7XQj}R@z1q7&?!-~a6wUQ-2TE7e+&Jn zDeZlj;~S&JW6FN!tSI(_Ps;E2LF{#1se~JD;7fZG)->k0zNfdMGf5vrX#EteFT$2L z%4@W0tfBhHxv_aG^nR&Y3>&BJj*ceB=NqTaf|5UlsD}2D)4|SpGz4(Odg8GIqnT>eM0I7|>3*ouU1v5NEp92W;00`b1_*Rux zi4Zr|_DbCBT)(W1nBJ+9U{Xp4D)z)B>dne%>IzWb$$*J{+ zN^yFoE@VnFQ>i4HuR%J6#5V~^HOu5*ZMB-Zyh_Pwk_PospKTS|E zF{Sh?RjY3ubK$Ib#l<$!k(<&ATv4jJDdlYlj)(MXpl(YpAJ3p$BZqDyWxqumMie z7MFTa{{=fvhlgN8vvAX%^}3=~9@Q4enq9A)kvs0X?m)(V87}cOEKe(j^U=x6VY}q# zs3`ZWWOaYsMus=(xvudgiGCqkA4a^|1>S|$h)%C{19&)^u5Qt(X;~ZCZV{fNp|G?` z3Lf*CQfxVy59}~nguMcjY=+H_4|sZ1>7Kh}$NAb6hg;1z*3!C<+cm>g36n{wQ$9wz zLj<#*SEHc+eLKDuDSguu!kU`5yi33_T$;_;{xj;f>DK}74~uJM5vZ=}Cl?V!2&C1I z3T*9mOq`RgvTX*y0U8%nH^6}kD`j-E$S8o~m$HbO4XdFE)YTR>c8`5a%~hg52<<5( zkO7JONW;bRMHpd|fEb&hT4(eiji}b4Dw8%=L2CBB#9QSwR+EwT?iBsOv&+;$@?7v5 z`WS4$T#VsXS9Cg+W5l^Sg9{2fiUyyKJ@i+hNruAEAvO0(umobivG@)MWDJmWRjynK z9}x7HUZ?|KCv>eB)!+3s$s53oIXocTlvb;jwh2d!8PQqu8sIg}6Q|us>_$o4flcA~ z+h26vk8E-NZNsf^m(7+e?gR52vxw~xsEU^XtU+2AP3jhpKsI^dP}^$(R%6w5edic0 z5XTQ0R|f2CcGREJTf(5zKL`L!=lZ^@L4^Vj>t7{9f%c~Pbf0a~Ufah=CE#hVf7L$O zOz_Z7cMg#{Rk8IMtvyA)U*D~&_b-kSA3T;iej;`V9|<16AemmHPE&>)n7<`|4&@O~ z3#oZng1rI%jeXU>`OEnW@?!=I%R#X)%7`!K<}Jxg*n@^SuXm_{KlU2e?K)Gc z1JC()sbjhwMmBNJQM9cBS@)KNhR@H(57Kk9N0KxW{NlCp#j{7g40r4|eLrEwonA{y z$Af&iGh&@vE_MMsN7)~vOR>)+0ieqF(e_c^08=*RAN*=q(2`P~I&Eae>OU{=&kVDA zxL7WN)GKgJwE)PpS81tVKko#{444!(@3Qx2;OA#B#=gvfjH& zMm!6|YI1%ged2m=#$Cdv?#yCp_?4!i$<%T?=kmhQif+Z;c#Q~Eye*06mcO@+9|>Xq z{9mA&@wOh~Q{zW&MSkw*78=i?798~j*imY7LLN_AUV>N;ptG4#N zaITyH(uD3+w*>r%T>|yQi#nKim4G?T5=+u}DC(?%BEcTignwM{`&i?8n30dxvd#aji? zJ&gGxh8_j0Jy6(~_mI`ikQKYF|H$E2;Ei8{()T1L%s`rwd~WQFw;QH!nd+hiJR%SQ zfB%~>WAz&gOmgop1C&ymLL|bxTbXDSt;ej6a6`Z^WuW^j^DlULFA>jD-t*At$xVDl zgnobTaFfI}BlAYj1!R?YX1Jk6jRu^xrW2WuQk6uTQro|kkJg%fT&IYyEvv^eDJgzZ z?_T=QUlCH2KD$QH^1+*E&;=zwAdzd5{`$wXRfaP}ca9~{Z5dE4bkRm^Ww%i>#xvpKe!1jJ606qztMxgT zHU63rSJ3xJ|1NbZpkRi<7@aAILqFMi>D&@-@E0STz&)B!NREPh-(3K_m8zP+;PcaWw(EElU^U-h&|1^a2jA-{*5>=-fqbudrRsSH)x+3< z4VavGafU4@2s9cXtCE6%d_>%oTsS&irdPEw6g<4y$;BdLy=$1@Q+#e&A+Tr(>1l!ak1HpbegcuOR#R-?n{pkE%t{U2Ul1YRT~NFOk1CyT zF05SO?rnN#(t8geO^SdIR2EJ3TW_3YHkA-wGkqXtNP=3pZ~cqtw8Hs7f{NAS%v@Nk z_GU+zYE*_q;Cs$RQpb{6i9EU~vgraFA%whLHp9}fcLN8$Pc|K(H+txD#Rm}9FJ}j8 z`D_*Vh%_Gi>9wAu`)K#viv9SpP0lD58uxfkJ)hZTiHW_8+;r&3oD{mp!*ps{n-k`F zc01Ki+ToT&992|jqp@24kc((PaT{aB^nNLG+bL;4GE_kX0JHzn; zJRsHCJh??E0D$LbLbN1&p0vvBgIg$#g|})&Z>2f;&^~ue@zl;~6;T#L=-cYf3%O>r zX<}YTJbCTB-}Ea6$R>6-ZuUGYd__eyK)YI&`GwSW$9ICsUw!r$N)aEgyxCkl)!=gp zR@?>EIG7KZ{|W%gd6jE=O({_w?LIX+N&e=`PT*de)2&^C`*UQobPl@nEPsK#mw3`S zl{fgB(#gUpcP`?CcQ}7%!!!@gekrqW#7d%{utlz{>|D}``{foL0DwykB24@EI&3ii z?`obP8|MDank7>{keI8hYr(E#t<1d3b8nF?T+x~V5YrCfWW;;XF^83^1+B-QPY1mn zcXIae4W2lUIOKd}&$gDd%O*_4(9<3)T(sWL0Z+w35iM}w-fyhO|GP@{^==q=)oQV& z8-#PO+wD2GS?$=GjZYN=Z8axA%Wp-WUdMEYC4Pg^ct*1WEhC!=;v!Qx-uMwdEWKWP zRtlvZ4tFW_bGw=V24&&`044aQUvttw$+)V?n~=D`$D#qHQv|*jm$+6^)C!A*Cz177 z!QE%bULI;zdY~)kG1KR)E3~6p{AJ`Zf%^GEv+@-M%D-Jn>GOlOyH&n)= z+12bUksaj{VN0(x{9y(AH}Q*LSd7>kcSJ-t}{ z+5iV+J^gd8jEfN3im78lfdE}I*$@KQ^TNaH)A z>=po#v#|P*=MbzJ5y>x0Q1$s$7Up!YqMo=F$QEG4q1{gSeYHQU;@ACuIu$O6-?>4D zWg}mSMT%$M$tTt3?MS28?$nN(`s7sSV6|wmI%KIQTlafKl1gPoli8HAG+RN7$sZUT zeHksmVv}YLkJ0;pPD+WnplUD&guFHKu2qDmXun0KiBYnm&BmcVlV3!$ev0PC#To=|a3^0hPQeQax zUIcmHw3G7|J`D>QvUh+;pe?F}3qrPv;kyCMTh@+V=U!aT$=iW(E54CSHS)tw~f;nB!m zHzo}zF)lr!wJ}`qQ{yF$Jbxj0BW#e}!~M*IVPm}`Mtf-iIKCa2`OyJmtLwiR7NC~X zLH!KMkfWlCrC!*%8%|64QVoo6*OLT|Rf!bmTXw-=*pd1Mi858IW_F=BwKnMBE?s23 z=*%?ZjuxPQrxWNUHY~tDAmUm$Il2g>OG0nNB%8Hv4DRgaO(}P}-U)6^1%_14SVjbr zvF>+9NR3npw!tbE3L~=zwwDGUX)nA6S66hE`bl3Nnwv>!89X)c`F3DJP<6apltg8) zAR9lBp*@U!LY`F~H}V@cCi|@C&TGBCSRxzNF=yuOK^R97O2jfAsudmvwO}l&W1gV+ zNPyiiOB0>`aSmKa z+An<9Z)%J~#XOdxJ5efWjPL8In@rEN6*Ua-a`0Cxp&>_VC0K4GpaVGhS*!KigonF( z@|w%H=QJ9f8bd=Kx-uY~QWQ9L-AIV;ewE64v-Cb*m-Yss6f?7CLUqUl6di^#CaQf_ z#CUzaO#~EUyci0g{R|4beT+WI1t(hpKMGE!i=Mc(jCs^qxr%Nd_HjF2&kCEZxj{a; zl`U~udcJdrOCM5c9Utu6A72Xf?s)y+{nKCuGrx){YZk=4mmU7lge$YUZwkfWDH7{x zD^DO4{KoD80(b^@sgWE$Ae2nJG84`AV#P_*fL%qaCYGG+oPR8MwJLrr*;uq5RD1_; zr#w`03rCNOAd&vUX$}UzlxklEH^t=MF*j|<{?aRcQ29FlyfpUZ3KjVKLv?vJBfWb4})R~QV`?CH91 zlQV}~_(?PMAsbmslIXX)<%Jf@9R%_x#F}TZ+?`7Z-%%U@QYZik6H>GI?H{Pm3Dl@p z_o2v-I4UU93?#j@RulykvZmpwnjV&(VwmYZCB6Z9I^wR!UDR4y5brwebEnd?w7O~1 z*qL{?a8gOM|J(ztlb&2iVz3#Q&=&9Os&LIXNtYV2?=C>+L(WtKQw0A3-WaAI~qBu4?8GiLm;(7o83XIR;m zslD9KwQ_Y2-d_c)=L^vpGbNvcy$iF?zi+T7$Q9!#77_Uk-W^cQ_8x`XR0`Gx+;k{QByJ{OH-10BHc04r5= z(b??R*-AZNSRWK1{z`Oz)>tw0UpIkP&a+Q@%DMhBAnxZO&Rj}bdAVJoAKUC^TJo@_ zIMxcvPPgF%6QLy+U&7BOMGBG9)Q#&z#EBiUYn|3_J0+ck6d39ksF4qt!& zA_Q`XoF5sYgM4f%Sr&c7!RsWq-IGm2#@EiyO`L5-Eio|AqnA)XK6}U!*g)5GO@<7S20tWJs{vXISZpUEkh$at*1p9s=R8-AX!xLc_k|s*$p5^Cs;~X;(a&203{|YvhEd(d)D?!Mqe`9xb(VG0gJ_25eQ*G?)ce-RD zUb^uZtxBHop6G_0W?}6cL(G(&p(ydMKQr?BL7{=(tLV}|`6WZj-RDtye( z9HMUplp>#O{aINgCA|bmn&)B#?r*fYC zTSaQJwE^Ok@n|QB{yVQRv~j;IruEwr9_AI1JE*(m-%O{f6A;AvWxQPkP99c(G=&ob z6`UXr0FBP2hOTUbuzd6-vsH7IfFt4Qxk7V!-3^Y*lDRM+#EpHRHMcY|OsUffI=V@_ z6Uk%)lGlOfz&E-lk@|)%h|On&O-Vz+nwg z5kFMM^`xY3irX5VMoSY%%^Uf}OfQ69faflA_d>+Qd|j>*v-ae|WK|q6SgkdgaO!VD z8o#}7>-fl_c5tUzG}n7&?{JxF9lmc zL&xdU$+r+A;#N}_sRRx@y?}_onm1`Er1|oqFh1&rkA9$HHk#-A((O3k}G-q!K@mjWYV zp0Np$7IMS|XrPuZI!^C~yvdDEkE6$Sok!W}Unkoj@y&#u8B!l6XYn3^Dg*1~H?E7h zz`wowCW89m&}ju{uZz-Fh6s}#quGG9H+vwVgXs+fwkDF(hGWNg(AWZ)(;1D6(V74z zj%?k%j}o^zZYJ%D*q_1pjWV)N*ccU;u$oTTT|uO;LtDr7#7^Xy&MQ%_KwW{IrzC5$ zAFd40&l$e>=&^EovLg!@@YT3}?B{}+v8muG3Z8;BfJ$9}O249IoY1zrS5LvYr{08) z{&0ROsA&%(sz3C3cVNVk#5hORihI+r^SetI%5uTB9D%m5jpzmpeq4{=O83uxDx!sV ztSTVRLV-3s7x<*T9K(3A8+@JzNVI^3)r4?mKqA_L=1uaPJL7>5FjPmu*7 zsQdoCeEM&7Gzl~rw5n!8??1rN`4Pavs&{+~X<$oePeiozT6FH!FK<}PB&pJHbU5W4 zs9~%bLknuWa}W21I$$Th+y1>|;9{Wf^)I%J&TeglUMm{6cm@=ulKQtx1B_SOiI+P_ zEpC_9EbT9v;`P!-*NcP5N8N86haLrgHt(~cP?*wZE?72`#un^N@8$`=;c zf}@@C4O5S)RHH&;gP&q=9nAGvtE__y-%l9-+~Zm$&QdBsXId!2!%SEtB$J=F3=#2* z0m~ofO~(!v>jt`oGp}$?=u&VJO*tBc5NRc%Z(>}(_9Wa9sypz7lwi$hwSl-vL(MpC zB@|tReQR*XnFo;N+=$u-Q#Fp9pruQt&>ErPAzXAcVmX{S^;UThR#fB23G|Q zWeQ+5zVk~L0 z__nRnS`$I11{ag!4(lh;dQWH4`7#Usa_tEnjt09TUrm?Op^94-PP6aoM&sUv~F(R>7wOOW=t5-WyI6H z%h`2@OyojXvOfKf1~G@Ky*M=@f;$Z_VD^q}v}#H{a~^ni0uQydp#apc(Kba`x;za# z9T+TXlz2%O{fa;D+P+o7eM!E5H~efVcu!lWeii8Y3K*zBX03_T#Wtl`^u{p>v{Ut~ z7IpKvv{R)fl=s5ukLhJ^;knA1WAs|_y(h0;huI#C!0K0i%9E(%w>BYDSkph<99al9 zl*mBAle8d3r5QFU*u@jc%vMhsgvoPGARV=Wy2n5wO^yRMpjy%Spu0_{#O#J9r8(UgGPp4$vqzRvHkv?(%Y1TkTM-2-C)-_ zYV=BzPOs&_{EN9F5uj^{RV@|Dz_v%$uff;?@O|)aEatY2G@WTeB|U0CWAHCdR%Ns!8_$$f>n7oWzeBd)yd$Q3%(y6*7sYLAyu?^Lx;@@@@ceL+lJHj)icWkVfHTFKqksJXxBt@ z+F-^RD)pvK-oKKEntdaj|DN%~ncd;8=e@jlY5Ccokk{%)kl}&6UpOn?{W1be9;kg;BwzGg8D|!H5;GSL^27nkw0EWkWc3`=-(X&!(Pbdi#!g%8^%aH>E zHt^lcV5+|3+M|aZ!hb$;5+UM3_0c{@iYEA z-^~;9#OfMtUEq4wat!Ivn=lwru{3Q7_Ek6lPH13Y!|ZL)oTrQ(p6j$#5;}1#yWT=2 zO{;hbFNK1YsKZBgslu2>aVO;A+vPZ)@1taT?LS?uwqL*CGgC0Je+y%mv=#;OK|b1~3QYeBbJ(=*3*>8>zP~LBwPjfvFMMZ*0Ml zZ(DaqP^Woqyo&-5Z2w^x66PC@1^ZKI#Yz+M0U!5s{Z&b85$94qS}FF5;r0A|N!hx>6l$VvhZ~zf>ZHiN zS}yE3>7*eABwz#x+zdVqL9y`lZ7HMaHJOZGDw*Jyc^b#|`PN+@TRgw`G@89~R#P7Q zC&AE1J|RHcI}C1HOif$W;khdEf-x6jtd6(XQzMa`8E1;$r=0j?&3Aw;l^PuD>}_vE z6u(b3FcGnIP|xjxC2b^EwY%B;j&hI8olGEa5Lck$fg0+eGqr!z;|mM-bp%~q+IP1u zv|HrVY29L$-sDt@gj(=#5#A5oG-bajrX*1dJ@RFmmPghwlf{1;aWt0h-lleeduh|^ zMF#r>-kkk5c_X^7vrNMEJ#AcsK2shz6coeIT37;<=*arAp zk1d>XyuP$w!cE@FOlW&gRk~-!2EUgH=;8$l-cm{D=46L@Lsr^Lz!>E>HwghA41$h< zIgr^4k;ZMqCk_Irw|BYnw(4RNT%5BlVQew0PT!jg(WyZ}mv}&fD+x<AUYKk@l1oXLessT83}@S?P$Hc^?=odHwS=9sth?}TY#-@+qPqCCq= zu$3w2(i;?PxYb?4Su-87x%X7FZ&p!L3M;h|g+eV9f$g#c@go^1@sEzs2~h@yjbApd z_P@-u|2VAFQF%R)(qKxG0Gx(v2{wfB#k0#a=H6GSZUks|nK6=cPbN=%;`GF!Y(4afj~7S7_RRf$(hirV%3Fr@2hr4j zioo}Q`aewUP0Z+ghwS9T>UP}aPN4?z0;?lY3AC28u8F;34+94M901fLCRaq$Bfa?iUN+(kthOIDCjvY{csUO*}KPgx@$-#ZpPxWcb!X%+s;L zS>W_%GJo~N2(A2Ug@V-r95Gpn5bX<%N~JFMb79u<(oQt#BrsBulM@-RHUNBym$gmYlv%Uv4&j}+czmP*mAlsd&D z+i;WLj}Auo>>M$)$sMw%23T#b#}6msO6k?A56WCnPF?3%yhMI46g#+4NezLre0d#p zt_4A;VrKAt5s^qB*xGFZZy^%hgplwOqx^Y9!(&imdgvi?wW3ERn4r8Ztzw&>2j$fn zl}}%DE8&#~kgIcv=mzelY?&JzQW)*srJ|ldm}>XX^E7>nhTT}GmcNzZ4L6}npb|6?;adNqO;sUo zxl;_F^vj}8_~4__kJHniv**WuEJh`6-=20g*E^q<1YWxc#bL!wQ?f&Dq4<7m=5=r< z!KLJy48)M}{fM34(nd(u!c0CdFAkS`bful;{CRwPW-ozAEW}9G!`}?gE;}*h+ka1r zXh{OrtF+$gE@#Vhn(LE)$U&9gXn5;niXG8KKNk=d#?XrpIYdlqoK-f>e#ePsBLib} ziVMY96;k`c*}}#2)t#MdZ-g-cXTOB)>nI? z7pMNT#Bbb?$4{%z8j@+6JC83ruU0Eu)zufee3s5<+=}Q=w|qZ8iCfUx{zLZTWBZMb zJ8TyJd8JxRD@Wc^STd$gzADNH3K0`{)wINkcdKCXovSyAH&KpDvT*%$ehD-yl1H$j zu0o0Sxi^h-idUjWeTiL~&a<(v4)-<3V>~Mtmy)YzKDuQL;Vw%+zJ2b~83OjWcm{^h|G7Jmz-|(yZhdI_I}b;i>j>ZodMB znaKK}9FMnrXB`Qf%y#^KeloFZ{u=x=VS4q2gu!B2ONBGaRBba5h3xqf^fJQO!eGeI zypfOOk?;NQ&BtUe3VMS($)ZyjCMTj$!-iYHXSG^3%%3o|atOqlMM?$)@cicER@jpA6#!y1KNOdPMs2 zpgJao-#&1tA!X_EYs>PJH93D$?Ko9^9$XdypWPuI{EHH7`bz-JgbKUZrtx!55!Zt?_KNi4 z#~O~1C&I6#Zi>WkQ_bmr9Nlm~PY8Cjia-g^innM{eHTMA zep}y?(w=juUrD!J64dOeUgAv`5);3Lhc!6SyR!?e1h}MDuiW+CZP%dM@s)UuOq`}B6DI`b76Ox>BR%xQ79GTL zzh%e&sV|=rSz4W5(;BY8nu@P0pfPD#^2w8*NST3_t!{hmS#EvNimC9e5tDE+(k@pq#~3g0n6z#-6_5lt)Ms*DBB`tUThf0}6*} zoO0=vs*?9j+Qo(~kE+jtWf(!#?RgJqF4vVOt1*n>AvL@|e}?)8UHss~4U}Em+pFsg z$X{=NTnN;1e*6y~6SO>C{d4*Ly{hH9wqGQ%NVgn_w488$eM4z$X1nw-#V(oK;|0Tj zLf5T^yczExx20(p&Yu(8E%N?Jpn-vd7v}b?rz@cUqv@;TqU@fxK_sM+k`|EeZctK6 zx?5oB?v_RnkZur^?(SGpS{kHVdY4>af%oS5zQ6zWv+Q!8IcMUUYi7=3kR!cW6#s4g z?xm^d+5>kQyY_c>!}q`GZTYAJE9d8s_W}Nqt^jr8j~A_Gi<{g^WO4Ca7qLdpq2~o# zW@@B}SAPiMYSm+x;mk?&k0$owVw#>0QPlrX{XTQH7=B@h8wglE(Y|jrO9V)xwaLj7 z%Ka@#!}6bap*Q_+@WR+xShbGQVlWcOYrCmDe^gCzZl{6pWN0$-(F2!F-`-t$$c-Ay zCJ55!Wt{3MXRr(7y-5FDJ1$JYWmLg9^JH`C;FB3)`#_#ISn8T#aV5VLg>Z@Y}wG)v5ylu^P)E;BGKf?uvDmvEbMQVMP@4FN(+QOaNhV6gs6 zU<|-2wf<}*zwE(8{8!0j$KOZ(r@jz>9OQun9xbXjmZh|79&boO+%z=2eORbr?^wtd z7#5`vOlP->eut-lbB!+W)k0vqw&aRVO1SbnK^oBf0C{_}ActVwIG6e!n6VoD0cMgy zU|WynR8Fi(9_6-q;7t*3lXn%Ot3=DrjV?_plTJtnc{`h)-Q}ZLsUrh57bS(@iHiY( zlO{tft^d|%`u?4a5@Pa%!LfVT84>9Mrjd}^yIeU`)B&i95sxpRONN(w0H;>Q!Srt8+|Q$_ZlAM=4HM6WnAxwA{moNp*kZ5ZY`< zb;Y;Ja&o?kCmi&7w(AB6W*u0{EsmfW^ZoDfci;x~^vRUdH03?9Fu?q@cw01icC^|0 z&++O4|CJRk^~jtn8!g*|n(RqU*+q0e1Zmivwxo^z1{{G}Snvx}TFIPfYP+IC#UdgZ zNzS;ql@86B*>7>q^m+m6DA#yjQvdQNVJndwA1f(UkI#6~ABG`UIq2jXu@?_$gz^Aq zhIAQfgWPPa@^E)>Bhbw<2HJ9}^Ifywa}of81GBX=^~m)2S!-KyfL}C)H}S4qCHhkc0`F{!3-m{MYKn}( zEa_O;Wc@prr^IJhcTAcM(CXT{SxP(A86XYzBpvOA3tOS*cx2~Hmq??IVMFAU>nCi~ z7o5@K%b&HY@?zMI-XApZ#W~qUCG9yVR`7*sfEc}3a|`Bl3_+X-j_XZ9;CMeU2)Rier8f`dzM%#QPDxM!EGGO%Y%?I;{T5rZHRn3wV5 zSoiw*arTF};CG3*v37+uD=|O>ZaZg8Q%tG0`?0Gb@$*o`4Lg;f&)YZb;xJqZ-=j2G z+LKG1M635`f4&>OOpiNhgp&X%Vzpz*?^XNg%$``32M-Ni(mlIZNL#+bVpzQeeqdeLHDNWG~Jl50VA`P2vl zUCR5P9H?wG?$b!eo231{-U`Kmwo5#a1nx_~$Mj4EVB^P+*SA0oh2kK^y^*%NsUI~x{lu-3p=YWAW6PD;wC@BR}Zs3 zdV<>VQFru}j)TV*e-{V_#ir88A({ZS_NeyW0GY~0vk81mE(2HC&>uqmxM4*MTO*V3 zc>U(|N;=|o>kdr!^6Tknn~Ek1f08uZQ}58jtW6a-p>hV8r^vfs&tz&xU=gt+PL7 z$75TTd8z0H3GReU;fvn)uZl+5X6&QWjtVS#nAehJt@*>PT`c~vxrYG{rL9OIg#LBI zJMDmx9DLhgeFQee+4&JA@N%9b_S6eM>1)Opg|kj4 z|MgMlCc|5y=Vl34Kcx(?;CrTPUgQnx@F^A@UKp22rStC|FC?Y&jbP`Gdv5D&!*V;d z(q4acw8rR3V&}&Pr1WKLsJQsn(6&Occ|*X@dlGll?I`*N6M;j_2dVq!mKZwzFKO_m z6P+h)fywm`h}V@E6J_ire+k$E327aRQ+^6=N~2;-!J`*ZGKIS|SboOl!YV#Vh6!*E zspgC*p?R&3Zvr9V>ou=2QKVNl*YDvm-nXR;mB$jh@Q(De70l23=Azd;_xiH?gqOqs zlSlJb^lBAhM$}(7n~9{W-i?D@+Ng#(IX?ZI5S`jNSKZ5y99Frf1TTT0N~_#jLPnB=$W!1HbGc#VesDDe9Z zsw_;4_@O-zdzhqtmY!KHKbx=E(Ve2|;}_=_NEqbdzxyHw&|D)DDLl_|(LSZ|>ALx| zQd-}fo)8^fxT)O~8|zTYEX(WNryc)7`cYN4DezN8AD9rlSmp>Il7nJs$E)#LrQ3r< zJ+mk<)AcGdNR_k!Y8hQFcUsZKet)qs^NsySWg;Mh7t&n)quIG33Yhi~)#JmPYB4LP zJI92&ur%VNj(}yQ_MvUX6Gjcymbusa^K>UoaFLXP$JBpHrD}U$oH1*A)ZS9dU#zqf zKbD+f%5x4qQJJei z3D2N2#8$G~=HJqt#TFMrB+}C&bOQ(@MWD1E)_@9z! z)SuOgkI^u!KMLyou#`_mKp88Y4S+e_a;>D~~H!resKDB&cuyx-3 zC#h!DecxL=-XtBeeOGNz&g38HXhl@UG|jrE%wy}cu1#h^jwxL*cP`Gs9_B=>njvcw z7eCNbjtxvR$vTxyb$w-g{ZPt1YFJxctYDB5Wv6R$P#?wOS2Z2F$>jQUd28jx?tKZE z?$>VbdkQ$b&m=?Cp1t5>hh~I&u33gMt@CpF(HNUe_~V|5mlQQ2vNMEBe- z4-NY2GZn=pYh}6bTeWpgrKqJ~8AtJ(>mBf$3RW71zLTf@Y6t_d6Un+$2@4wzO4=vw zpVX%dvb1AXkxp^(yH>{bwDQs>XD3V5ehOF%mv$ zcVDA~2%xtOW#GDZ!*l)hP+eGW`-n<*b_s+0$HOzZEJSC+cM~Ey0A@nmd>K)+{$BvT zHVk|AX01F+k8^NkGh!!UkLcx-bBm8k#gc+U=1>!Z4_ksn0ot=aY6|{2{952ia!{*Q zoO?rx=&kis68=*u4uXlEfwvy8IRiVzm^84CBPXWvk9s=ic+4TJoOiLdckxDBX|2C? zI%)dT+u6BgTOhyZmT$$3VJ$sn3Gs58JW&MXB?jbG29&lRe|Ez#Stc~4@fy_xhINE7 zyt^6c^!VZlw*J_yeJz$1PWW=1445#+CzwD-DJBqN1ZvcQNwGurih_#7CCdbTe`4kS zPg?3FkwR?XCIlRv%7vx0Jm1%H&}utEpYG><1W&R9aWe35j2fE@!7POLy}!S`xS&0^ z$UNQ8g!IhM=o(9W3p=ys2ychX8{Crz@EoO-vj;2ox$Iz zwOZG7{Q2uKup#3dF=mtyi`@Wg6UkZ-JZTt&`5a~*FBS6^jG;WfaN({CyUG8wIeQLG zSdh^(C(~i}D6P>kQtHPNZ}VA0k@M8uxciTTElG)b*?i+!&9kU}9=4R&uKV5#@XP-p ztX>7NOi( z&G8_pf%nmUGi0wD#%2hwKihbqDj$Dago6JEr>epjufF5IkKPD-?@xAx;Lzvwp(agk zKIHjRIz2%bpz}9QX3%TjK~cUI*9J}gwr#TyyGH&u;ro@d_}BwDpLo=@K>n-k%|ays z&ToOBDXnghfXa%BlmO1UY1ey%m?FTPp8ALp5lkM(ilNc$<=mp~+4gxTgzZ7)DqiF1c=x*%k-H|<|9E>>eWlY_Mt zS0MCAeK?c^PARrzF%!0ZN9qam`svnWleqgS3pNMOV9DcH^LgD3dsy%H3wo3}2v84Y z!Fkv~hk^UWsk)#x@U5F5{1`8O)M0V>@;-DTFTnD|4JeI9{osUMpKGYt;xsMw$bJ`| z{KmUnk}9GL;$vJnDdYI}xbZ{n>7q3Wj`ZsahW{FagZQ5CVT5)WI-TKo$UVrvx%~!|!StEQI50VSom`>!BiJf$NCI{|=T$QxqOt|N+osu0u>EEXSJvlQ z6SUh<`!8Fbanz>}0+UDB5Tw|o!^Toyc4R=Nv5t0H{WX1ExUwi`*|!i}oysqM8LF9y z@XEh4OD5<2KpHfNM3|4P;z67*DnZ;h8lwwhAQ1Q8o`LOB1<+pj#dzh8VUku$VpZ`1 zEof?d66xu?X+f84~3IBqofix-_6ZQ?CY_Bf|T}76^LqiGI<%@t| z{%t5gpa<6|B^I#1u#~A9)`FqxZB&yeX#AsVNO#~_!1jH23ob3MB`z5W3KG{Ay~a-G zD$z2b!@%S_E)#x95Z5m)LFFpfSxbRu;2X+HTs!uhjsnTdz@!8`r8Xc=cEDKrGZ`^) z4@)({dTq{Rcp#fd-2p-0t)VE{p$F7{X?ey^yW_&j1RNQZ74!#OM=P4L780feG|v+| zi3U6QrS~dHc#Hf@_>%{Pop({j3vfiu+M};KI8~>USp7_>fx@_9B6%iPPCx&h-zr~G7Z2kS`Ox?qfRj(P>22*HO33W2SxvacNP`q~i)X|l4wW+m8Ur34z`7*w;Hpv#mx zx8DFv{;aC7p{MH=YY25=Nn8#4fs?r4A{(aKJD}dyly0c-6HoiSuGvf7K#bR~J(jSH z1DQKyc(tG5ypxQ|HcnvCo|gS*QEb|`_AE1p*A6aE#HA>HBS5Dd$U-Oqhce101QoSc z(<-UszVF?=Vl+@?#Cq7kA{fRI7whEBNc)S56SmsP!rjoex;5rW7BBOvfR&w{z1WtD zGWytwY;qP*6dteAsN`K4fZzUaOGXjd>6=FuavxtlANo{q8&vSyTWkHj_g)D?Kx>tC z*hG61R$P4Wg309L+PT{v#Q9+<)5<6oXC2mXIo9042tth?Ybt0-&bI*C5Pv==5oA4<2?~p6%_$81%!thY*>82%d_16=b>er16+o_{a#da~R@>8s@Y0jI7(Z$M9#ju=r_HavFSVyCNE<6dS_Ken2RA5ceCzbHrl{Pwe zO|HIIUw-?x1Km$Hx5mGjaC|1l4++jL+@^H+;a(Z)cub?2pMWMKg`e#*AHN}tEeHVt z3x%CWAK!2L!Y+&y6J;k!Xkt=^CTc{VhFKnuD8Td!;$}RfR78#Xo1=CPf8l#Y>}Niu z; z%6ESLthNiqK!oF6wm@mAlGO-h37JZnW0FVf)V=7a*;C{o0mtgWwwNec~;Hw0VTfZw` znt|Qk%xa6pJ`O!mEadt+?R%Agr;|T~YWzbzdn+v=7=S1s#@PH7H>jIA6gzK(5&xc?Eb(Zz(#i@8fQo`{CA%oy#_A@H7PPD zPf)_Qbzy(=Q9>={?Kn9k+Rv+K&)4#T@Sg4cBh|&7RZw*C(|u6ug~$w(^F`5R6(U#7 z_J%z9I{@kbqoW04Uw9&6!fUZWiXkY*;LSb63^ucC4`jo2A;mMU$f1bTz`+0AJqhM) zC>Y_WD8ZkA4xk)N0{$NNQc(*7Zl_l*XEHb`Y4q64Xj;GBlGaGs#|QnQ)9*I7R+w+5 zE(FL|TDAbxRX}wd$y;(j^9D0&-6R#U%~1!lx9}GRYUX>bpVi$EF9e{KEvq0o=HqQ9 z7#U)?a5Nq>evW5@+rbJpec!L9%@cAlU!gOnt0>O-7G=7e6w~;pE8^xeZU^{}K1q#B z*x#AFnz}n{yu+xaJ(ys}v8cu`L?^%pd^@h3$9@E$v_I!9c_81Yj)CeXDVe;}hbSo} z;okS@h?|zcFt-#Rc_xWPn_qMGWUju07(UHptC6wy$B3i62b-!hplexK(G#d811%rb zpq93+>yz`B;W`gm8k5>{rUT}Uc}T#Z#kpE|KU&WxRY9Zjl5e$<+KLw9#o2lL<#hHl zINJV$@jwF^Qwj!J_jRfB*@Os@wjXxscahpYXf4|D$oF|(eQd}7LdSr_J@(q&BU{JS zg8`sO!rm8oL4L(ill#+r5M6=Tmy?PrYdt&*<6@LCb&LAtbeB8F$7OxRlFek=pj;;H zdNEhzu%~OELi55Ut9F2=$xS^5?l@iL$;+zrVi`SI-bAsm(8WT_@*VtVfd+Icl5pir zk=Fr;Cw0c8F?^&aTUo-pwX5SLZDFN?LIM(iWTM-$jD=?2{fA+c`%W}Euy~IK1At*8A7ce4Gx5hNZ0dHd15Dx*nT{!3hxuWm zt`=P{($OAUpBzyRyqM;>Ixed2TY-#qpz(tA4lINQ#yRzTP|0#^?8P1_F*R2cC&`6P zcNYT_GN0SV3`zna-mDE%79@G@3A=R%4kNaEZu6~LSHZ#d61wIne?Iz*zCH)0GObn9 zRyP2C@}-cnW5#nL3rmV={&re#&u9M|H2rqMz0Jqhw3Gb>Z@J{-HC0f6m1qA}4g(Z; zNs$Lho_%ib)CyiIcn!B{E=94uz{IBw{T<$ocF*)>36Mc z3-mv7taC^XS7Q&k3Qc2leXsks z(GP$q_1!xe)nX5?I-ZGunC5l9rpc)$V1y$$H#c5t#X9kiz)%lQ|9jexkxlIt(*Uwj`mma zFrj6N-^|sjWKPisc%An>O5m;B`tOH_o1pVsmZ$2sz2*q}(*_B+8F!9f9E>~6*x&ja zL(03RaDyWm)t9?iufm4Rz2Y8XbpjJ_fl27ye5!1GlRya6Jr*2aX{-Cc`N3T>w+FYpi2AgB4L8Hop76CkAgM``y6j z;|0b|H>%)MPwQ(BgM%(>w}?-P$uK!0u_Ng=1+8y%SSue~u@_TJ7;BtS7V1`cl8JvE zzkT)k$1n38<5@)Mg@A=0ze3x)7@4D(6Nvi z6JfZjK*Mm8YUw+`*TngF6McB=Xpg2rmjXgrP#2fe-HME^*tYs!h5jk;hihXRl_n7| z&-O8j(2l!TTxF4WpeiO5wV5c-^HJ$IJF!De%5HeR1r6kU>>(KN;>a{;sWUiPDcUZ1 zcvxDpBYw5WdC^f-KZspLy!GlyW6HX;nXWZ)FLc}5+Tb(FP};25l+{H{S#_TVv)9N$ z?tB)N&7l6%^-Xpx&^!CtnreVRK4>KWl7gbxBkN2JSR7C!! zUFMO9+={=0W-Q{;yieaX>t@9K>%VbI@H4>-ivVlC6;BaBQBxr=|LX>DAQrDG3v5W%F04>e5*-~NuRe6C$V+H3ar1spa(p<_Qzc;%TgGDaQ7AC3QF4*D zP<$*~BGf(A?JkUyvILJIJOtJ?0qQg`D;l*KU8=YTy)+H7=(|S3*Y$pSWzc;SOx5jl z#3=;g95$smrfOF5#D*m|y zCbC2MzEcK%wvmZnuXmAVZY#Qe7;3oJ)t%Pq)hhg`*C1cq-t{z3iNz7nBzJT@|Ml>c zI~WN%s`5nm0z5ygs8itRQ5=x)GsSV9^b5hjj_Wfn%&U4jIXM}Pmc-4?4L4mG^FY)0 zCyq%GO@(a+$;}>XJxCJ1I0%5CA7{bD`+I5~?OOwl-dp-ia1Uqp;wlnR(F#!Hz`@Kk zma?VhEVwoMVZdh@N9jj?<8@qK#C&3<3?92It&4{9R>%$gk-9`*dSmy01=GA6lnpDT_805L+MH6G z3j6r3UzCrq-16j)rF}w{Y=~JDsAfjXvoRA3tCH^6-{s|ae1PLoV>9eU7r<$<)COSWEk+zcP7`S zq5HDvSzgabXA(2QT2d0O`q#Pbt_YCIy_1o>;_!SkfRWTL5%PHKK!ZyLo4-5Oy>)G# zy~w;)8eK~^u@+%lSL+ zgCvrBk9Kh;-g&StKo9!kd5Lep5`}n>f;VRRqDNQ|ZK>inxt*K=4YjTIQBk&zukYpX zN^C`h2fcYvN@XM8(qFNEDHM}I-yCuTYD6E==7|jc{Lz;j-Kv!7dQ)yCe3`|Wnj=di`qjGQ4h*Q~ZR4AO zpQ-U}4;U4aeKwMle+<_CC6AL);USlkoIf{OqRKwc;bLb=tWQPb#JGJhiQuTyYX#L5 z>h36*wOi<*37m9(1qU6#Y>*KU8}fdm3JKbyO;%KFA-VArMA}Lh;10@*t~R_g)iBw+TGH$ZY3J2RD4c#y;8r*21`E6kJ<5oP?pyq#&|;cb_xK(d_A>ssBnu znAvq$UaGNKCr^K|jZ1*{-FdV2lk~3g*z*pi_L<-8zXA@y{wxm3@C18Pxs|kc1$Uxv zlk=wL;meb0QX39NM!Rkx6TvLOh`Bk%Un_&|)AT z`20ae$RuYeDdrRiqfkM@Sk7Tjsh@G@7i9Dhl$u*O_a)0^UaCl6*PFb(pg}P4{y?s} zwP#@|uub#WXEU_?pbWu{Wn_`$eMjDSC(b&tsc$2H)EBEs3_M4w@;0`NyE)seqWYgg z@zqKlx%TU&Nz6F@d9ZkGQ)?>wFMEm+yUIr=AyJSW8EZHaPx{D?MegO_h2{n)v~oiN z#D5y7%Qol>b|?nN{NWzqR$K17zGL#jM^@va^=dwRgLX)lQqlIA>}>e9C(~x%F!)Prj z-8nG9uQ-q25r+$yQc^9&Ru|T2io%_@p*(5J9Wp0yAE+V6r{bzTiARN?X(@QAz#OxMYiGWl!#>;7{<%L*(8sE8rYLd--~)VJ z)aB-;Ki_V>^139BR1f)x3~IcuaZ`g9z5?1kruLe85VMGxTp$c_qkp!c32W1?u<&;k zZj+|)8}<}^36tKhw#u7H41Iiq>Q?Mls24?s6lRWSBI4r5chhy(1}WQvF;W|F`{cIG zotOUrd}VwTx(D~ci~EFBXEWJQ&wv2yHu<#O4fh(7=(hmRh;DB%_oudgn_juX8WeQK)moCSl)fpt4R7eBvM zzR*zY4 z!_hKO@b=}Oq7zhld#7Od$s8H1`e_K-62*#83Q$yuvxjI1Z(1G+*KX^7-LWKUcC?4! zMBC~(Igt1L`1@CqCv}Jl3@EV{hOwggXOw4e4uH2RRg8r5gb)0dV9dA}a$QuGM#!3p z>A^Xoim~7B=xWPF*4gL%7~0$p@zNnoda^o%yKHeAkR>5QQ4w^+xKSW)rG?W^?v}k( zN%mmW;WGuS72ZD4CIAIup!xmJq%2Sy!)seBIQ?r;B|W-fc%!pvq_UYYHRebAwEG&t z$gNdEjw+c}7K}UKW*O6zppubqD~o}qz1L?C#6eF97XlkLxh@)EI|}JBZWkjuG%e7( zOSWAsv}*LeLX{iyJ!y`;^?)`9IO8`)loYqXb+sLiMHHU1{w zc8dCLI3gg-->K3YGPZb$kPQ6JCemSo?0o8tvI|#!43Kj+;34~kTk3ATa?f`Ih$bnw zlv{C4QIe4KmKXxhZgd)98Be{(6uXhbBoTKJkk#RU8!~Vm@VVY&j-W4d%Xj0>^k&x9 z7t{gRSY_>r|1kWdV50B#iaRS|FMX=}H+ii&_H<-@=s`Y6x<%A0f11Kl`{wYQ@*Bf; zf1YiwKMD-}q(MM&HZ%&4`3z&gUqCXU-W)jGuuylPtW-MbJ+2Ncv1r=;`x#?zO)vsD z9+nnv^>N<9eeDsknBHiQ8XCpC)1k849~@_mO^aJgy6EbmBudyhD5~Fmw#G)vh?F-u zE3l34+$DhT(|5l8{1b2kF`2%$X(24MDd@-taAd){q1qb2cYU411Hh|G^7fp=&0me~8FA%nK6W(pC|2eJsFKGMUZB;mJwz}A!RW{U@VK(qtn zT{gxAJGnyTL)Ik4#ECh~(DpewO-saQxu)nwN6D`8e zOPkT1`oWU;HNG0)@^g+425_F3OO4s~7Y=f{4aXvvXfiH6y#v0ZhgXK4t@;~zi9T`t zHSxu-lw;2aO!V0Ml(ymNm<|5$)b^Ffio84f6}D4+JB^_~nu#7Ga+74i(_!-Y0xxFc z693I0*KY9|(h*De62bh?KgM+M&dVcHGTS*tJB;z%9XmD_lhZvpYJ+C|JtM5QD=F0d|$!!)|jYWL3<^Ur#Wr>QJJ^ zal4Ay1mi0RIW|X0QVej+J@(RQ@%BPqzkkr$rJX_0F?eitc5{rNm=AU%V4ZPqOdouy zgQ~bhbcxKU8paqwphwo#4!uLM2<2BwgU!H}iFSs8eWo zmZddY_sYNy+d2QOHnZlvn_4HSzH5vuVgcUAmr;b=>R9OSdBeNic5z_s63SbXUJcA0 z6_uZql($a|4ub+UT7|u@Jli>B%Cs<>DO-OX^C@fW==coMy{0Mmcr;`d5M;zA77oxq zmLA^kT=Mxp@lpgnP}KN%xl%QGtfB36mU4qQTipq__P)3i!mcZ6s#saK&K`MRnHwav zv6OEB_9m7wSLNyfnJ&H$82&dsz}qAtJgkKMJwy$!gNcC}9n0)}0WM0vXX{x|Ur!&K zuLE9-w!S*$gm5+R?$xd<4VuNLWb!wvehkxgp`ktH?21EG?2TBjhS^-djJ9tQ2wA<& z7$!RU60384I(XA<=BOc5^{UoTwy~%mnurNG^yI;M_0M7M%+KBqn!*-s~OfD{r1U-cQQY2XAgV^M$$z-HZd-Zcu#;o9j>9;%t0}SybpI zs{;_OkQTaoy{h1dRO$7$RpMK6_NKl?mN;sn&R&7dBhkph8u8C;(|KKH@M3@C^_N>eOu%} zAOLS(qt2QngxM9+b%+NT9M}ol)S$2>;ClUY6M{;4HRf*(|FUiiGxN|BBIIF=r_#Ca zQ&x$eCBnitB>a#;N0WaelCPeQffFsP#jieIWfS`Z!~lxy z^tOZHR+7{;;{!4lLbiZ5lhv4|1|TQRygm&0XPey8LSjYo!fB-S^*xY4INzdwF6V+jIMG8YYU>?A z#Aj6-TPvb~>-`F(d(7-VneAe-N60ikkh}l-{3+|eS$Qmjr{E1a>GTnbiFmh%KqPT_ zXa@Kf+R+B{;T%}muPCLvm?HLT#{E z7Q#F;yuF4r!s4HJmmBIcD*IdR@(At2SXe4rWBE`EfyIr?%w2Ab-i*)%H`zfaa}1Ba^&N2RAXXt$bU`q(W6(EF8cY*+eC| z54W}u_98gH#>+X|(E`vNfCz|wD}=`?qm$fJWXbNyJVjG2(2d>!^BnsM9Lh+4YHyc8a>my*q6|F zD&V&t1D(sVGl-Q9aihOK^`vwd*c6_q7X3MuZQ`S+As!{8l9(y(8PT2ckil;Q8D~D{I{PFbmHqW6P4=feEJQE=jNlPx{3&VYI%~8(cT(ySF~y zr+|P5bynmFykl5b^-<;v;P3u7JjPp%-R<((A)iDs4d;hDwdH;CpJ)DDNOUmxl=AQ( zA$K7uJpHT8&g>{I%Ywf!&7c8mh}|ei=3-u^)@yw+-8-9IF;~;pZQFEv-$*X9(}=K$ zNt<`yb!$OkVR^3bagUiNU6dDX9*mGZ2L?F1Q#+}a+YMOJQ_kf5^}PQ1Jqim?y1#bV z;+l9^6mMNblo0Fpj)FQ)8w( zG@bj2$zo&8b}K$2Cxdm|IHd-?)jlbjFR%7>yZ(;O?l`E2g6Q0nC>i^~sgUC+X49;Zg$3})_2Mo#|Tojc>`%~VHS9r z&>+N#bu)LUMFxB=0RW~IOawl;3T=cF|H>0bS8Ks7)qDwg*B{y5G=pF1p!dPT7FVW} z7?r}qJqq*iRQqu{S51s8o7w4<})Vj{Tjw7D<^wNNp1FKi&Tprh@1p(=fST% zf#d|B*VSFcQUM~O=3*eBZ2$AW?3gkvoO{2CSAaHYhrNN$AS!!}8+9^s&td+s?0lG# zH?g|orw28N&90qn4wm7_HI430V2(!oof;_s4F2Ju`f?ubKuf{){;)Ae*oWzIG&A&4!+$2ue zgR}Cud4*%9Yy(`OCx;Owp-8|r-WT@}xlw>T&=vLjop$pVx*}&Cc|rbJ6sV?`0s`18ls8s%t9Zpk_J2@E-spa zj9rDov!dO=!a^lpAP;fO)B#wf9;)JVmYcKgufrS)l!M+cPpQ~f3dZ=#qP?0!KzJP| zFa1GNN-*WM-q}74Ca9)qD;@mFX6X&!9Bxwb)`tMaPZyesX&k5&pwzPc%M*K@*SUM( z_q(jIW&D-Iz07l7aT*^qDz!2;Z*lw4qQ8zBQ@Z61}K5i>X%2Tgtuaf4p*Kcpr9)$l^8P-mcz_mhzy%y2Cr?X3Vs5fDe$ay@tCHg9Pum9gP%v&&Sl(`geeLM%MZaCnq&*u-tM}`)`U~n(ShG{<)>+z zMst<(`0%xfNHx=)=r%UiS$`8CO~o7RG9fj`&Cc%k2L;_hzXrP>m&@E1`49i$*2f>p z7xw2_;u`d7X{f%$c@gz5o=)GCnw0@r4Y!#3lxUglo7+v``1<`mc|U8Jct#8wvsWi; zgaPH`&y)7r z$d#=W9U>QrvNzWKw6DuYb$KOrg5pJE*8P?jQ>~#am-?XCUfZxchDH$MJvf=BEI7P| zRDRZk&#>H|G$N)5^5=WETMGi$r0eDbLvj@Xh)0(VjXb>!<((Ml zD+xKe%cQB6dP%2Xuk>z2X5!?Rx1f-6$7gY#i(72_C{6^a5jAB~M7S7VyrZ(c_${5y zRdw)w(DWNM+SjCQPRx}*vfeiLodNTk00*}`f96(a`%9O=tAWz@qkjt)*4NflGcMkD zD9!a~Md>Z*Q;^E5l0vGjA1{Ugp0tyn_uYlP4}e1Aaya6C0L*ma!ZKiq_9!g0O%jOsi6bAPMKg~CImr*=fR}%#SapO8hqUOs7UV-(Lwm}-(VtbR)FmQe4_qc&+aqM6LTG22u)u7y&oKkK7DX*c_l!FfedZb zxm=pV=`l)7qNt@JQLDm02OYdDZ8xw_K>s`zd-m_<7RuX-5JAU?|6DaoDA9Vx+ba4Iv=6p4t( zo1}@jK9{rR0FF5P!EsKjWQ-5Iiw5OE9QreG#{b8ktLDygFnt3At7phpj3-WP!m>y^ZQX@rkcJdD4Oq!6_x%2LexC6CdFlWcem03;PPnx>SovHy3$>; zirxuFC&@@Kq|Q~y#X2IyAxtld>R9(BYGioLqhtzrM-1fri!(IGoZ^_)2q#U%M}5Z> zSK0HwH?N8sm{#WKTm{E2Ry|TDV^C^kJjpHDDE;ZNLdG}V)>2ozNB=xwL3-84?RAD2 zMYAZ6$c>pcz=?o~8RcYAoy`8L2J(o%*7+f0upg5WuJg3ie1nnMDs!>jLUV!?e!3;ze9+61st!wDNcJM44*vtZwzEUabbo)-b@R{QbIrFk)|hfPBhk z2c8vkO`^00R1ArD1PwoD0QaLzda(Y6;sOLgZ#sDMhlT&7tQo~Fz8qx*IzP4e=p!WBMvTKMJ|%zj5@h5lwWwROC8Oy(w$ujbQ*i*wvx)9R+n@K~W8F z1(gUaUDq&astzFEU$MF%XJIzbdlc%7mlHWi=;0fg;4#yJ9zyCauevg0$QViOy_vh_ z9801tpxkii50Vum{?Nw$2xr0U5HySWiL>$};O;U3ANKw06n;B^-v@j~BZvM;z~9vW z*V%POHMMNv1R<1!5Ts}Tfy7G$6bM8q(u*R3of5$tl1RA}At(aoQbIxr#efDSf(3yW z3o2j*r6q_UAYN2ZP%sGy3KoI|u9WvCJoUYwZ@v9%pLNdcvuDnp*)#k5);bPp=gRUq zrm7STs`r{Zp{V+b6c|^hn~XJUvtrGCXNW1aLxXCUijtZQb-_!qS2Zy)ohJ7j{np8~ zb8_-cG<_RQ>qASZ4h2HpxRY`o$a~JnA_u`Sb@6c~Z@eO;qD?v?(GBh^oRPs!i$fRs z8i)#j7b5~ZqfY~qikEhxg7XLyA4}h0Qj>P;zN?hG)0tV^kM^1732KE1WHm9YM!2lc zbmD_nwSlk3N;0e+L9jhdKTo@bH;hU6`ZZ@2RByF90DGiUA_7jW7cqu8OBW-=h2Cx% zahu!n&{@VU-{<<|r2wFy0C;Z3!j~WMcsmtyL!}=uBfKx`|H3=*0wv za%V!kKlD`x=6TN6%p?Z1pWY%TFCi{A|rDIl}*)`IIA6xW$dA;n2Tp=Z3; z04{#}mo-aPH%~|F8P)cP03J;ajzWfSG}CvrVVD8#48hiPyPF{W+=&d6?AH6)n`uyN zw%ujVSkOx!mGYJT^x_^B$yxosuZDn~t&BQ$Nqzaz9JIsK$V~6e8UCx%DE>~O1w*Sk z15&raJesKFnRgrQGYM!WP=akBPk?Db@Kt$&-d@#X&1Wk^tV|wkk#`)#z2EHFHhxOd zD!JXD%4?+vvS=Qv?&5wsZ>xHz{XPkY1xrN3N*PrL;FeK~!yrQg*i#Nv7>fQRJknIb zGCVyUO&HL)aQ_dZ8>V&O;y<2PvqtjKK3aHIMGpE3z{LGp5FG7g|3Px9T@G677#HkK%HPK|$Oo>Y2TU4nJ{H+J0I~yEqwn$rIzQABm}qEb zZXuh(Ue}atH+$vj2TEwH)w_k~;^7f1(Bqp%htR^_`qzUe9#pV|8NKgX5F zXwRa*4^Ho_PnsH)9}7J0Wq3w=ndoVRRH-VNf5SeUvYs{+lAohht~ymTxJGi}3FZ%&ARd#;^ta^1Q(=y7m?T2@uKrbJXn zu4eiU6bYi0+PmV|v11&=;f6bjjmAA8%sS@x&SkURr&`R76s5Ox;O|vB)~?GK$wTi` z1Qj6=LKb1PRo&!i5YMRy2n+T4X}b467#>u|0{e~3u2DBi5puKJQm z?N@7{N77ZrJc6Mx2``$gYo=q*kksCAkkY9@r)JWZz~)HWj4DJ06>I>Djju&G$f|n4OVNB8PF9#m(%fds;4fP>#YP0@$i=6GXiG`uEB)|kC#g{|h8TTM^%G#=)G95k&>;6+ko z27-VAoboYs*Kyxx23(P9z3t26^$5ykK73uSpTlNIynAwodf(ifTZrs&FUK(aKpO)5 zaf%MwwF3fMzUcE>(*iGcU(4^vCZy)JAgf}GPeQ!AX1r_mUZTGLTU_X3jmZ<>G3MWn z0-D@!ESbkZ8TDAMH$E~Jhm?HI>$onPwxbzZo#UwFmUrKH8MBo00pE8NOUi~{uPz7c zT{rn)HrgjfHp4~%%{k<&TL_}G^_D>~^t60z$F9)Q#isS-s445&R4+|`7{dt?0da&Z zPbY1|t3a+prXfA@bR$jeuerbf?86}t?@J$G9E7`@MgM0T&OnfP+9yjTQDjZATggjV zP;*UT{cy>8hEG|*$SMtNwCASoU^C&9DheU>H3;;;g0?*2MPl0hG8;Or!bI2BL z0shEv0S-UVo`wG#tE}FwYp}|dR9Kljz{<3!Z*$|#w;*tr!Gf9!4EQ|&28?P`_xI2} z(hn2N6+dYj%z4zUCOd$eCh3%p71RmgH z2B?&lww`jSe$XV>f5SHM({rlqF+mnSqJ1!|xPGQtgJ@A`Ulz7$lX!R;(c<7$`vVB# zv<95=M3umk095TR1-9ojo@MffZXzwd$Z`JU%c-gp4`1cDlBn)Hwz12)j2t!-^b@NB z#y$Sz{eD>7gEvvyHL33AiJt6)BZF7{6l2^A6z=COY%Z9J|4*|V7$nLySYG{?94T1)zZzO}PK+)% TzR>%C4FTe{X}iZYH!|~IMJl&$ diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 7177ac81..95a4e584 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -124,8 +124,8 @@ namespace RhythmHeavenMania } } - // LateUpdate works a bit better but causes a bit of bugs, so remind me to fix those eventually - private void LateUpdate() + // LateUpdate works a bit better(?) but causes some bugs (like issues with bop animations). + private void Update() { if (Beatmap.entities.Count < 1) return; diff --git a/Assets/Scripts/Games/DJSchool/DJSchool.cs b/Assets/Scripts/Games/DJSchool/DJSchool.cs index a5f2f3fb..86c6d14f 100644 --- a/Assets/Scripts/Games/DJSchool/DJSchool.cs +++ b/Assets/Scripts/Games/DJSchool/DJSchool.cs @@ -7,6 +7,13 @@ namespace RhythmHeavenMania.Games.DJSchool { public class DJSchool : Minigame { + public enum DJVoice + { + Standard, + Cool, + Hyped + } + [Header("Components")] [SerializeField] private Student student; [SerializeField] private GameObject djYellow; @@ -32,9 +39,11 @@ namespace RhythmHeavenMania.Games.DJSchool private void Update() { - if (Conductor.instance.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) + var cond = Conductor.instance; + + if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1)) { - if (Conductor.instance.songPositionInBeats >= bop.startBeat && Conductor.instance.songPositionInBeats < bop.startBeat + bop.length) + if (cond.songPositionInBeats >= bop.startBeat && cond.songPositionInBeats < bop.startBeat + bop.length) { if (student.anim.IsAnimationNotPlaying()) { @@ -49,6 +58,12 @@ namespace RhythmHeavenMania.Games.DJSchool } if (djYellowAnim.IsAnimationNotPlaying()) { + var yellowState = djYellowAnim.GetCurrentAnimatorStateInfo(0); + if (yellowState.IsName("Hey")) + { + PostScratchoFace(); + } + if (djYellowHolding) { djYellowAnim.Play("HoldBop", 0, 0); @@ -75,20 +90,18 @@ namespace RhythmHeavenMania.Games.DJSchool string[] sounds = new string[] { }; - if (type == 0) + switch (type) { - sounds = new string[] { "djSchool/breakCmon1", "djSchool/breakCmon2", "djSchool/ooh" }; + case 0: + sounds = new string[] { "djSchool/breakCmon1", "djSchool/breakCmon2", "djSchool/ooh" }; + break; + case 1: + sounds = new string[] { "djSchool/breakCmonAlt1", "djSchool/breakCmonAlt2", "djSchool/oohAlt" }; + break; + case 2: + sounds = new string[] { "djSchool/breakCmonLoud1", "djSchool/breakCmonLoud2", "djSchool/oohLoud" }; + break; } - else if (type == 1) - { - sounds = new string[] { "djSchool/breakCmonAlt1", "djSchool/breakCmonAlt2", "djSchool/oohAlt" }; - } - else if (type == 2) - { - SetDJYellowHead(2); - sounds = new string[] { "djSchool/breakCmonLoud1", "djSchool/breakCmonLoud2", "djSchool/oohLoud" }; - } - MultiSound.Play(new MultiSound.Sound[] { @@ -105,11 +118,11 @@ namespace RhythmHeavenMania.Games.DJSchool { djYellow.GetComponent().Play("Hold", 0, 0); djYellowHolding = true; - SetDJYellowHead(1); }), }); student.holdBeat = beat; + student.eligible = true; student.ResetState(); } @@ -131,11 +144,11 @@ namespace RhythmHeavenMania.Games.DJSchool { djYellow.GetComponent().Play("Hold", 0, 0); djYellowHolding = true; - SetDJYellowHead(1); }), }); student.holdBeat = beat - 0.5f; + student.eligible = true; student.ResetState(); } @@ -177,12 +190,44 @@ namespace RhythmHeavenMania.Games.DJSchool }); student.swipeBeat = beat; + student.eligible = true; student.ResetState(); } - private void SetDJYellowHead(int type) + public void SetDJYellowHead(int type, bool resetAfterBeats = false) { headSprite.sprite = headSprites[type]; + + if (resetAfterBeats) + { + BeatAction.New(djYellow, new List() + { + new BeatAction.Action(Mathf.Floor(Conductor.instance.songPositionInBeats) + 2f, delegate + { + var yellowState = djYellowAnim.GetCurrentAnimatorStateInfo(0); + if (yellowState.IsName("Idle") + || yellowState.IsName("IdleBop") + || yellowState.IsName("IdleBop2") + || yellowState.IsName("BreakCmon")) + { + SetDJYellowHead(0); + } + }) + }); + } + } + + public void PostScratchoFace() + { + if (student.missed) + { + student.missed = false; + SetDJYellowHead(3, true); + } + else + { + SetDJYellowHead(2, true); + } } } } \ No newline at end of file diff --git a/Assets/Scripts/Games/DJSchool/Student.cs b/Assets/Scripts/Games/DJSchool/Student.cs index 8fe7b805..79d925fc 100644 --- a/Assets/Scripts/Games/DJSchool/Student.cs +++ b/Assets/Scripts/Games/DJSchool/Student.cs @@ -16,6 +16,9 @@ namespace RhythmHeavenMania.Games.DJSchool public float holdBeat; public float swipeBeat; public bool isHolding; + public bool shouldBeHolding; + public bool eligible; + public bool missed; [Header("Components")] [SerializeField] private SpriteRenderer flash; @@ -24,49 +27,88 @@ namespace RhythmHeavenMania.Games.DJSchool [SerializeField] private GameObject TurnTable; [SerializeField] private GameObject slamFX; + private Animator tableAnim; + + private DJSchool game; + private void Start() { + game = DJSchool.instance; anim = GetComponent(); - TurnTable.GetComponent().speed = 0; + tableAnim = TurnTable.GetComponent(); + tableAnim.speed = 0; } private void Update() { - if (!isHolding) + float beatToUse = shouldBeHolding ? swipeBeat : holdBeat; + float normalizedBeat = Conductor.instance.GetPositionFromMargin(beatToUse + 2, 1); + + if (eligible) { - float normalizedBeatHold = Conductor.instance.GetPositionFromBeat(holdBeat, 2); + StateCheck(normalizedBeat); - StateCheck(normalizedBeatHold); - - if (PlayerInput.Pressed()) + if (normalizedBeat > Minigame.LateTime()) { - if (state.perfect) + eligible = false; + missed = true; + + if (shouldBeHolding) { - Hold(true); + shouldBeHolding = false; } else { - Hold(false); + shouldBeHolding = true; + game.SetDJYellowHead(3); } } } - else if (isHolding) + + if (!isHolding) { - float normalizedBeatSwipe = Conductor.instance.GetPositionFromBeat(swipeBeat, 2); - - StateCheck(normalizedBeatSwipe); - - print(normalizedBeatSwipe); ; - - if (PlayerInput.PressedUp()) + if (PlayerInput.Pressed()) { - if (state.perfect) + if (!shouldBeHolding && state.perfect && eligible) { - Swipe(); + Hold(true); + eligible = false; } else { - UnHold(); + if (!shouldBeHolding) + eligible = false; + + Hold(false); + + missed = true; + game.SetDJYellowHead(3, true); + } + } + } + else + { + if (PlayerInput.PressedUp()) + { + if (shouldBeHolding && state.perfect && eligible) + { + Swipe(true); + eligible = false; + } + else + { + if (shouldBeHolding) + { + Swipe(false); + eligible = false; + } + else + { + UnHold(); + } + + missed = true; + game.SetDJYellowHead(3); } } } @@ -75,6 +117,13 @@ namespace RhythmHeavenMania.Games.DJSchool public void Hold(bool ace) { isHolding = true; + + if (ace) + { + missed = false; + shouldBeHolding = true; + game.SetDJYellowHead(1); + } Jukebox.PlayOneShotGame("djSchool/recordStop"); anim.Play("Hold", 0, 0); @@ -91,29 +140,51 @@ namespace RhythmHeavenMania.Games.DJSchool { isHolding = false; - anim.speed = -1; - anim.Play("Hold", 0, 0); + anim.Play("Unhold", 0, 0); // Settings.GetMusicMixer().audioMixer.FindSnapshot("Main").TransitionTo(0.15f); } - public void Swipe() + public void Swipe(bool ace) { isHolding = false; + + if (ace) + { + missed = false; + shouldBeHolding = false; + Jukebox.PlayOneShotGame("djSchool/recordSwipe"); + FlashFX(false); + } + else + { + // Missed record swipe sound should play here. + } - Jukebox.PlayOneShotGame("djSchool/recordSwipe"); anim.Play("Swipe", 0, 0); - FlashFX(false); - - TurnTable.GetComponent().speed = 1; - TurnTable.GetComponent().Play("Student_Turntable_Swipe", 0, 0); + tableAnim.speed = 1; + tableAnim.Play("Student_Turntable_Swipe", 0, 0); Instantiate(slamFX).SetActive(true); // Settings.GetMusicMixer().audioMixer.FindSnapshot("Main").TransitionTo(0.15f); } + public override void OnAce() + { + if (!shouldBeHolding) + { + Hold(true); + } + else + { + Swipe(true); + } + + eligible = false; + } + private void FlashFX(bool inverse) { GameObject prefab = flashFX; diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index 2bb316da..bcaf01af 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -191,11 +191,11 @@ namespace RhythmHeavenMania new GameAction("and stop ooh", delegate { DJSchool.instance.AndStop(eventCaller.currentEntity.beat); }, 2.5f), new GameAction("break c'mon ooh", delegate { DJSchool.instance.BreakCmon(eventCaller.currentEntity.beat, eventCaller.currentEntity.type); }, 3f, false, new List() { - new Param("type", new EntityTypes.Integer(0, 2, 0), "Type"), + new Param("type", DJSchool.DJVoice.Standard, "Voice"), }), new GameAction("scratch-o hey", delegate { DJSchool.instance.ScratchoHey(eventCaller.currentEntity.beat, eventCaller.currentEntity.type); }, 3f, false, new List() { - new Param("type", new EntityTypes.Integer(0, 2, 0), "Type"), + new Param("type", DJSchool.DJVoice.Standard, "Voice"), }), }), new Minigame("rhythmTweezers", "Rhythm Tweezers", "98b389", false, false, new List()