From 0d5b938c52b5f7fdd8fd260a400832c2592d1dc5 Mon Sep 17 00:00:00 2001 From: Braedon Date: Sat, 15 Jan 2022 12:45:08 -0500 Subject: [PATCH] Game switching fixes --- Assets/Resources/Sfx/metronome.ogg | Bin 0 -> 5492 bytes Assets/Resources/Sfx/metronome.ogg.meta | 22 ++++ Assets/Resources/Sprites/Editor/ui/button.png | Bin 0 -> 4675 bytes .../Sprites/Editor/ui/button.png.meta | 96 ++++++++++++++++++ .../Resources/Sprites/Editor/ui/metronome.png | Bin 21555 -> 21063 bytes Assets/Scenes/Editor.unity | 53 +++++----- Assets/Scripts/Conductor.cs | 29 ++++-- Assets/Scripts/GameManager.cs | 42 ++++---- Assets/Scripts/LevelEditor/Timeline.cs | 15 +++ 9 files changed, 202 insertions(+), 55 deletions(-) create mode 100644 Assets/Resources/Sfx/metronome.ogg create mode 100644 Assets/Resources/Sfx/metronome.ogg.meta create mode 100644 Assets/Resources/Sprites/Editor/ui/button.png create mode 100644 Assets/Resources/Sprites/Editor/ui/button.png.meta diff --git a/Assets/Resources/Sfx/metronome.ogg b/Assets/Resources/Sfx/metronome.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a18a62c3b3fbd6b87383e4a7b7d23083055f652f GIT binary patch literal 5492 zcmeG=YgCh0wkH8X0!VoT4T?-6K@toOf#49uHi?2scu9Cj(9D!alz>tR;FVUV5do73 zh#??`M9!#R8J zvvJgQDzOUW)*bCFT6x1wCF=p`f;(EHwW zL`ISm0OmkO!4=g#;-!o-_Ygdaq%}-QnEx4~r843!6W8>d3XWRCCEwn1lS#Okq(f~R7$Np8*6f`d-jL1+zu*M!t>N57YUXS7_=<^3il_>Y zi~8~kqX+knIzNEEqz;|#tvNlW$r$C?XmqAgwnK&GIsJ8rbADWD+vgk)`6Smhmiim9 zaIJ7m^QiG69*z|13Xk@SQ6_myVWIzh<>)2mJ-9+~vm*5(P6S7PORD^S1c%_>4<8ov zTl_4cuPTRlxCoPgCpC~tTr*GDmekM(sP(ReML~T1(d`0f4_#)Capyz;a_x*!{H8O8 zvMGw|RZ7nx%2!u?hG|IGba`~+v*ycoTWshsifMi@iVNExRcD-Ma#MBf({bx`Y5||B zGi4NXDlw^;jd3<6Nq)I>h$mcO2L! zJe76pLY`(0#KJ2QoUSdssJV7<*80Fx%yn3L*+0(yVt(J&6q&In&*j5`KKFhV1pMB`3b6U)Vs8$=U+;)!VS)B*904)M+lhlL$W31do| zJ2P4DWDb%dYnVk3xGM91WKIpG=)QlE8&5?Rs@7(g?NMm-r>mdpwN~$CPO|b$x$=x$ z`B+{=QIts(8pB2H-l6l)x_+^}&75sgGHft&0;S}4GN+sFvIS;SD=l=>F!DcY?5a3OKP&{hH5xF%WbdNJwj+!Bh>ggI>V(R7BnaLzXC92spSh#PM$I@_-LCmJ@HX175Jt83$bhK4`!dGd`%cymnOb zwju#IXT4o|}RWn8=m%FyakA|Knr;$WWF*1{{Z2Z+}xA z*8u>3Rgw_a7hIJX1!Q7jwIu*5aklHvi}}A}-&2T^Q2;omja|OqWf)zQC}gQ<)*lN& zsM*1lEIbNfMkBv&6~leGC54gX4(u$z-TnCC>x_tp{$)Ceb|9S=JhAnp7#2Z_H4Hek zuYR1}fV;K`_f1i1C1`lPK(kvQX5Wy^r`c{#9^eBa8Fb(CFPqQSQk1ZMG7P2Dh8MR+ z;6o#$MW-IbmOWNzDVhdD*LtYvn(>N)#a*)IEt(OEho>++jYTUoj}(XmgWXAa-Ln4mP%8SA}*i0Q}0o-Ae^*uC89-!}rpa2`osZD!!grFAz{IfNZrt{ENlrNq8}<34l{#KEn^?Xo86)N#kXItUeeNziMl5SQr7Z-+Rz zl~fx4BE+@y5>g8TDHS^rYU(*Z>U>6U%T!!qQ~TPw0u_R5YM)-C7WnkxBjHGs>)rQ~ zkk~|j99QDd^U5{S3o@s|Sa3@!)c3`~z`=uA+zD(C=ji3}b+{F- zGNWTI!Z#!gy*?zukhl`m6Ea|!5p$83SUuKAV8ikf`ph};4WTwyB^ZJ$5CT-^uA4Ni zpdghnU;mb%Q>z8WwOC_`44Pb@c1=D zPCqwKuPb4`=L68&@IE0dW6r`Cnw@1!+jQL70_hNscWz72%11Tzvph>udu*_n$R6VH zt8%bZj6ScxQ&(P6#u+Xb*d(l@XBN=6G3TQ={RDVq=Kx@4@8gKYvyL3G0sbs*F&bD| z+pNAE$YQN0)pghG5ApY?+5iAse$`GP?&3*ev(!PT6|1U1Pl> zOAeM}mlNy4LgD=V@8x^kUdUZlSrZxcEeq-az!ltu$JY(8W{vjrgC`5G0M6c-M5Qy? z_D1q1@CpE~Kqi+bKl0xg@F9z{HHga(3EK{jHezeWIn zeBnT@MO9z)HOCzxVXy5!VuuF5wn8mIf!80_eVS%Hd@t%m{LqY~`b>}Vc;w;RdVxJV zc($2S)1J00MX0AJXQPhO&XMJ@XCu#eS{YIT-A4cV_dl-oI?_DuAm8tfCGU61=hA*$ zztZ9sF_8VSSwPU2Qt>I>&8IiLUF&v~w+#!bUMwT*siJYaPL^C&p_>YW&?;s~ufRMa zRVh(QZq{2-Hb#^>)yR_F$^SXoJKg*IRP3L0(G0N6Hp$1jD*m^ApCu$`R1eaWeWDAe zoq|7_>piz~k|^!LNn_1z*e%n^d!ts%p3EqFqf^a=Z2UG-?q6;TWU+N|x`#3IpNfM1 zJLpSg`e zm)CvuN)Z4_Nxa;)jD6o;VKn96RK#mMujJ?wu4f)>E%wIkBaXD);CR`mP6tko+Un(o zEoZbTZG5T$_*ouzhU&?c?KQWA8D2?tM@D=)nia44g_?ZrWXY3f|FzrW>W4)gv0vVNl6}~& z`NUt$?RzZ!+D}G*AB6U5@vNh`U)b+h6@FV_W6s_=SJ1q8%fb8}NC`8mQIb)`1Ppm| z*QKA(Hl6dGkAZ7ADj5{Un8g)hUd#<`*==oM;re-}Pww2V9+IUCcDs849c?kj{fcx6 zcL^KTimt-!G*1u*rZ(z@vb;PCS#$H?>z?4rlC6<@xw)Y?UDsAhe%I?U_*sGDQTqsU7S{a!3-n@0 zvo?IRWrciEe)X#+MOS6Q>uG(^+S6k+Hs&l!?gY_~5S}P!quPZNG@Z z?@BWV?mcg&#YwF3jY`5au*&`05OYK5?`JO4xw)x0F;nUG&4>RXRh(_34cp%o|4DS>lNDA$ z0fe+n=TBxH+?wltVvETy{>}Y5PA6wFy3~-PLSAOwQ>B)yvU%~cX|X8g^xDgT`luI9 zg)yhnL|s`=r*%_NFARd^MLCk;xKmleqYK}EfBtMcx=oxdJnD^w4I)ovwa{KpO*ti| zq!?PCJe8!1pr{_AO;0!ct~Ku>-!`80nGwETUpDUwT0i{!?>}Co4X?6%Sh)x(t1$Nx zgk`9jBw^8gifs?EC_xzG&N|VNHrM5+$$9xhMA`gEfB&(gbU!~>vBp+ZRA9htfi^j1 g2z}^~8u@IIZ3cGy6QpK1g6W+X(z4KpFt$tZKa!*Z#Q*>R literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sfx/metronome.ogg.meta b/Assets/Resources/Sfx/metronome.ogg.meta new file mode 100644 index 00000000..8fbd89f7 --- /dev/null +++ b/Assets/Resources/Sfx/metronome.ogg.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: a7fb99219f9c43649a79cc8a86ab4c34 +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/ui/button.png b/Assets/Resources/Sprites/Editor/ui/button.png new file mode 100644 index 0000000000000000000000000000000000000000..08a13d5559620924a0f03f269474aaa2c9e31f23 GIT binary patch literal 4675 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 literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sprites/Editor/ui/button.png.meta b/Assets/Resources/Sprites/Editor/ui/button.png.meta new file mode 100644 index 00000000..ff6e63b5 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/ui/button.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 77703dfffd29ca6439338d6adfc62c9b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 30, y: 30, z: 30, w: 30} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/ui/metronome.png b/Assets/Resources/Sprites/Editor/ui/metronome.png index a50ba7c41e8e9d7493e4f2ef282280713c8f6705..73e18155bf1648486660414529925ede10eb78f9 100644 GIT binary patch literal 21063 zcmb@u2{_bk+duvtL$qO}vhRvy-<4*_PFYf1>7n(I2R^E$6{`JA8Yi7`8_zjGVUHUvR- z8XD+WAP58el>uSd0)H$7_pHGmTYU{q2O!AyUG#rZNO}erf^11~v$PJhK4zkU_wkak zcl2>^k_q?Vz+ABCHIv*5LkW-MCm4|L5eay{w}ie>gwvUatg8v3eqq_Iv~V5 z&^}n&J3#bbGw3)4;Qifv1KoVQh3GTdJNR4()D!_x|L(!d_utcc2mGTa(3otny|1ji zj2wMWn*$y3{~qUi!QXRpaYwwYlc$rHlXqYMjFtcQSYKD4K%W3tpa03!|Ni;s)NMc~vFq~+wL<&`WI6g3pp zG!*2e<&-t#EgsOvBJSAkf|$?_{W>DFS+E3tKt=;)$N@f6`d6vm7N@%{`GquAN&RS$|Nm>=Jh*y`Fhi_Hv|23PbzZ+aMd(ZzkD_tr_ zn9*5HO&xFVpe`-1D(@&Qr=p}HZSUaVD6OubrtBo=sOD_1tU|ZuO#{&|a0`H=3;E}M zoN)5{=Wm{FLYp?BVUMTVx~2%8e#lOaBL95s_TT8^|7hiZejnuO1e5+R4*&1!0Y1)w zLH7PmS}vfw|E+P!{?CLDu)p}f7TwWV5suGMQCiu-SyfuiK}k;9!QN3#+8M9pq@wDe z*TQ7~tMP4q_aA&K9OULl;IQd`{dcH<|M+*XaqqBM9G0tV%Xo z0*~~kxQxAUE?z$;Rn~WzL?V^tCCo6up9X@=h=@qeju8Z>qm!(~hrnkFBs7A-m~Zhz zghWJIgjf+B9UbmQ6p=)dxT1!zV=zwa|LI4I;d`^CV@1f~?5lk|I6Gv&6>V7@Nn!Z( zy%=UTY~ep_Zn5p-YZOr-U$ihi;>ko1xtUzWQFHZ@IP&d8L4pK6sVhhwVbAL@|J3_y zok6W4#cn+7lk$#(OtV*SO_CI3BqLJMi1`XDquh>@?bIEJbhN(;+L}~oKXe*-9PLlC zkp4R&coI?DTf;+@&zyW$%nm<4gk%L5UXhS6oT!1Vz4kp!^vQ8QO;hTq{M9;zP#Lp1 zPf9V}j%*b+dYHRl3p;(^!`*P+awCN-=-;}Q8z~8W5-lPBS48nQmyo*ag;&XY zabfj8)KbGD&u=A;H;gk&y!ks|)ttHEGqUz-=186FRO!^}CGwRHHnXc@c{BcqP*=d= zi^?0hzem^qXb{IyFIkRYagwRYb*(6(!EqPlidkhYf#>yL^Ku?%jex}Wd35rDzk&}M zuETuK$C=OR^d3NE31(-DZ%$ZPtAT7m)c8NcZ+_TX?qux9ndD}GS+xv}$UhLAW!fkz zBf8LPzWPSijuL#o99`16zmoR;!Xae+-X!Y8(2+5cFo}aBr{%tbP zUya5}`u!ar?f3V;-`8wvDp~g)D&s~W`Hv}6>SB3Z^X^+O{(jCBu6g4R{LWC1{hzKk4R=z3lXm1j&Ak)|| zp1QG)Z%dPR?SC@)F(x8HFnn#|QJSI)t8+(Yd~EEtc8=~}Oo-@+T4ZaGu<$4{B*2WI z_z?G!7ppXW9GYAiRpinCB<*mB!i%7pgcld4_E4U8Y@D^OkJQ|EEIlgEIMpcmj`$&j zuU$BMNe!vC>Ig#Vgr)6Npn4jd_%uJa-%cf{6P+Z^n<#(H2r0ix;}HQa?kGF zyRD!5i$AIPt?`mZU6*P3khCR#&2xDf6v1kRF#0lOU#uR_st;Y9v|pJW=F$k1u&H#< z%k(MM4GB>{7e1#O$E(Wf$&cr3@bCQ>`1Hs-OHX$W+bg~}F#JrXM1d$;Y{XX5+p@A$SmisQx| zY-b}Ddq0)hUm4$4J4Gt&puDZye&2I+8xeVeeDC0z$0N%tPu?(-*H`L(Q7H|_RKG_3 z`QuL(U-ft5Yd)-^W_lLodqWEO{zZt)Nl!K7Jq&*l&?9j?m7#K z8Ch0~NHTr2F4MpyGu0ZC!?HNpd$iZT+tpTce8l~jMS(yNwWI%})LQqAy>ku7y_1t3Jzi2j>5uCQvb;F}YEltsQ~3O_rC z^5gSaveoJGLws+XLB6-@)@}ckT2z<0_r=$$?RySdvv>Ku-HTp{o)M7;e z9{N4{sN;7DFDs}C=Ws*n_jXp~JE{r{Y5RFvocs*x=a3Y(2Y>N>d=%W{4z+~Z2-&F1 zXZ~de&P{1=P?Qp9XPbo2;@n%+o~+EOCG@*ryBdWih7B?Z34XZ6nr~Gipcl^*{pt$y z1KsO;y8Jk+L0i@@gXNL)ttryMaJA&|O*?)KK0omyY92Kx$q#O!C$m8>W?vnRHv5JR z4`$&>we*m-sc0y*e=|#_ZIF5VVnX*_ExUw9R)r!FGtg+RsDxwVn(RoegPM0rmOS3r>-yE!W}(xrma7+M*^Xd_Nba%lRl=X|@4GO`@}S;clKL^xD2Z!mq(Ht&$BYZn2pp2?{hre0GPy80gAv&c zOWj)eL*UdsOWi-7Bcc8E#RcV@51lN+44`G1Iq?s}Z>|L(Lh#k=-BxGsW5kb$?fT)1 z2pw}VVh*1PBi~BMj^k1BOw-$8g&6E)Ml9^()Y%*4yVQ%%RHeXo7HgjTCpK!e#S+kn z+iF4}uKVG!JW+{Jn`fQ{7*T4iHX}@?IU;LenyzH1aaqBevNFdbe|S%tC44SDg6&yb z9(OAgGoDavLJ{eo`8B1Xz_$?)SDAYc0!^fD_PG@6E-tg)mt_uX<0ow=DCY1#Fh7VlD%N% z^c9P-#+Y4sqNF-U@Vz|pF9p(cAX$-bN?SwL496=x`j2Z|{%M?iB;XMbe$tK6Tm`;0 zd}Pe*JChY|zV>VGB97w?iYOLCo8?jW7h9$o+H&f0$vZ^pagw(P$-@#!E6D7tnT=qOvf z5U{3%#gxUM5km~NC2+E*fd27|A1P;)9D)zZ#lTgzXe7Aa3+ytae=+&RDo+(o9uwZ2 zoT1nhi0(Y6@yPzo)h^8Ola`i4?W*JjTfLmcpC3i@tq$=jyXRuMzj1X-CyZ7py_Prx zf<*=7qBSl|at=-r*bdJkk!#&qYcirApVThdob`LVyRP-!8BSd_%Iuq`&h0!C`2i?6 z+(*?+IF3eB+FfOjl)$JHeKvyu9h!Bm1~0QVez}zPt;swP>V9O}Pf|ZE8dVkzJ7FgT zt-cezk(}V`J^tZdow317h;U?a&LW7AU`A}jj8O!4oEv|fu~SE5e{O^W0&%Q%hT}43 zpk6Ak!{OHCjI@XgNb523h;}bx>GP{;+WhUelw;{i?}N57fzNZvig>2ibDBpunV%1N zr#zR}GF4K4PUE$thx8uVbH8fh&L6aWp;SGNBpjy48kJj+LA4gf$bu?ZV zurF6eY@a6I>2fLaSzPA2xeMkIpPM2~^=_YO?^XR4{3dAYtF3eN0k`_mw-h(O7Chd6 zF3ih!o%TTg#*(eJuXpwE7TA|qtjO80=}I2+k)tY3%*=?tVK|L;hP?JyTd?a7LENuS z*GES9cAz98RGu^7K7d;H$I08FJCADUPb?|B99jRRNET<5svrazWwrnAC41=Tf|8z) zXlvbtC#5D>#`nma{aF)rK6+*5clH(5F4A+HXjIn?H1b@8xdv1|(mpfgcEP`Va&BfszUT7i*auK${y>pE?;DSqBo z+x=|N*9&#V5(eOV9x-GVV6-Q8e``OGtTcjdcz07YPc);f&tdh?j}i5w*I3`4w6Yb? zJaMb$_lxZTV{Mpr>q__CMU`4RFIm}M*qs?XvUP&%9Gi(QT=PojIJa#>yj|*EU!L7g z@SU9Rz*@C#n|A#^Fz^)5%%j3dcJqf#s_@8@<(ib@N7JqyGb{GpPK*_%@){Um7Xr?O zO)Hbdb3aIxyaYX8R(9_(5FJ|wlRnOe`SyqVzp`~Ci`1<>5aFdJdk zR{K@5zTJ)(%_0;~_u;rn1w3_)3hd}($`(L+l>tZ%T^V_LQ1?NE*DvfMN zx;*~srhjU?cc?#zyFk_F+smO$bee)w?51FU$92%Kze?YLV1@blusP?br5T%v^0t5G z5o$`KnpGbashA>=BiFsi;*L!%x1}P$vcYS*db;!$Q@@F|oUz6_Np5XSrCnp?=NY8Z z;#I%F-E8Ahc2Az+*v6rYxw@10A?88~Tr6-02a;FN#5dR2V3RF2*LxpZt;>iiehZta z1>sge#rc>wu(}W*BH;r`FmgQc!`5j=T-|z!Yz1N5C~IOgUjB2nV0s3`g6L{%jcoAu zuQo1L1x{Fic*ot`3Sdo#VqJ*g$~jlvqs%mXk!)>}pt^?lVD-=vt@(!F3 ziUZt&ew}&i^DVp}SkwwzYI(>11s?mK;;f;)y;4y%zO2}ksn9H z4dpAsz7}>=YEiswh~TOOz+~g0@IlyZ@7~CfsQy9QEp=)|=2Btp(troJAyVJ?S1v`|;i$`y z0WIlMCTOj)^@pob=NEo{tTWDbzrS%BbOoQC6^(t2Sc<|%u_N`mXZ_!cgYr*%tZuZVZIG20 z@_OQ=*KqmV{ci^1ZtXjEIV?7eN?D~3-Mlq$LthB2)bI#%?qfwPcg^ih*?&BPtA|=& zd1^|{>Oeyrx8h}9vHd1#*_b!@OKw@P`mshraE70r^_OIG&ih40Z9&`>*QUQzt;^g$ zZ;VZ+}=o;yAp_$=LT;heS;^dim@gG#0 zl;&-X2MYL1j%jI_YGm8iT-1`Lp&M$KzfILJ4qQ7l^Kus?9Lu(P-yk=JD_H9NRbwK5 z9)U#P;!IPTsClJ@pZ_9l`sEkeGrk56#29t3vX7c|gQq)I3aOACF}^0eQM#pYiAGre zLSB=(vSj~z@cAoEW;w3`rT8=*FEkfEL9vO_$Tg2`N@GJ6G0X}PjZ4qWm-O*A7$EiN z(j&1sz2=;ne7Yam9!N|Uo(|&iVYODmh2b#ZH~t(tp0}VObf+g{i(p5Hvw! zQX-yfhHZcgzc1UJePVldTI~(dLfSkUA?3J=7M^0(v-Ws1fHs2Sw9^XKXYRCs%)s5! zrLXApDD3*i$;YQQ@7o)r?fAB>JX&E2O@RtcZD_fzC$GgmkDR^F*g#-d3FFkIO{{o4 z0{CEn7t)#ag^69@prE+@PM-v_q;FsjkU>FoFVjn2TWn}bn?YIMPyV{6VV5~)yTv=B zop5BTBjdEq+@GFNeG8vIMt16qEV8XpsrE{T6Lf1N*-g|Q!nb)MH;~TAB-#s!*mDUv z`BnbjiC~MVT=+@tVVOC&@etB0@y)DoRWe&zTfvXA=gmZ)h?gG;^KMGJ6(=u+>`47k zs3nM$=$kL#ZzwZD{WWb!xpW^OjxALbT8mT(T%JD_o6e4&XcfDlbYzzln$BJ>Wd38B z>Dl&1)10&5r8DLLh`oOfb-s~=d9@S4H^t4_GW;-fGyHl-B390!ktJT@X>sl37%j1< zU-or8AHx!aM_6f%d|ig49{=w74J`Fj(AMNf(r2EnfayXq&`ZLsemm|v-!aTy%EpKM z+}@PNf#@5LOV~zFnviyiPpNnf(0v=A4@RO7Q{^AVx5{$iHiz#8lMf=Nu)2QCiH4Mm zu<}MQJQc?jy6{mSbWoZi{r1K;ged%^&J5R%y>_$#yhi8m#v40!&Mnp-`d$4dh}$w7 z0)%RHKg#F%k3I2R`^lpy6&fEass>Vznq7j(+TzrH$oL>@ihzmB`nISd3)7GN9SI+W zQL6NTy@0?HWxc<15QLwbKhUFlZt$;g(QPcMojN4*X5yE?Z&z+yJJCrAP-7&5HvSx& zAcA|_vb;tH2nFV?RI-1~_&34ji(DDzF|V{?GBBU-cuxVyhUkC%CTp6qR1y9~ab=pS zPv(q5e#$w(T!x;ZlApYj2}TU;Vd%odg=qA^+aOrg(zwp;?R>Y@vF=d7$-++$$Kzz$t&~yOrFt)0C?sA|iEyIKr&@mRX zm1#l)5e4M|Ie0XFbJ}3d*@jDK<(#FOor(9yvTi*WhMl3dHPaG!l#Mo{&E|#LaiFUy zp7%-^>(EtR?@m&IAFt4rcI>zwa)%pgY{v}whbT?~#Iyg&JrMc6t)%ffL`D@*#rMRc ztRG3A$G73G-X$D&z6v;BV0s{~Hgu#v@z65VfNL_B_(G_w<8aP$(KB~wa!oztdD*g6 zg7B`R2s5H_LSv}#@sn-dG}_o*09P2)6`Wd@*TS~QlI)=suva^ z?oe#v+mZb!FriD@lX#xP-6tvd{RFtcP^u+;zL5{(5Sq-k^n0NIT(U zj;`8d{sS{8aVXT~`f+xlI5h5Aj2%|x!ldP9_FoOqVnnJ|f+lrkG$xW&sGqW%`L?*B z7ge2);kzI5PGzp2cKq<1&gS653~G4?q#)}mwGv3jBA(ip?-E$AA*cBeg%+-E{)YbC z06;e+_=hcBt=?HszlDtRlf}cMEB7pa4a&MWPriht)5ojxA!SpZ6U5{9G?*3_l##*E zsp2|gAz`EazkW#fQwUJ|y6dZUvJT!2-yF{k;~!@Q;z<288QT{j{ZR=Ed~e7U;>4BcT6c|le~%8FfHdE33GeGYG~?yPGSvad@B{-8|b zR&)-2zufLb_e5rgSrKl0oZF5ev55>YVMtwe58Qrg88&c~Sh?rMku{0C^>5&sbPAu( znGyN(79|u0Y3U%`+ZzJts_`u1YDG zO*%va1o>?pD5K->d|baOYxtj!lmHGDMhenESe41y2Wt6&%|qK%c}s(L{F^aYsQBd! z2H3zaOq}f`7e8x#}Q;Bq4G%-3m7T{GH16V#WY(Wu zdB$cXG*rXSj}O58W>&j@>d;)~ds0sg-ESwQWate)p!=spt4Bu6QNbHCXMAdZ)a>}< z2yF>nA6na8)f?^DS0D-MC@ui0jfkGv&P@EpPN309q6vwR6*edE!wu+&Rc8qO_A=zv z*N|Z&gTKQ^PN86XMENmJWaRGreOuc4pH|s*nM;S)yR)d4j|txIlf*r#C}kR72i=YR z(WX?bA_Q>8wR*O0b8UmXwTV>sT&Iw;7Bd=`q_ zn3)}Z1NHWo3b$J`9Pi4ZaNey{UAB7dD<$CYPLv(mx7vA#>Wdht<4qKih}?jI3O7;y z;pCFAVaX5`@4>Wwa+T+21r-`6Tr1O~xSVGoaxPhJf(Yf-mY}o`g49`N$TYOS2XHQw zIkoz({z#Rwymi>kld3Lol?Ztq%#EFk34l~vYnpb(!*Bdv5Tt(`4j(eqm03$YsS_}= z+QI3ra6GUZ?zVII<8;d1`_JvH^>*(zt%Uw*# zdHJ8}A`Z#atvJLpUm-Ijl8^4+2AlhGeu9{k)VQNOufl{4gCsMB2ZLmU5caZHA3>gZdI&M zozFv`Dz;gC8-SG5tsRJ*y&`C!zmMZ?eYLoa)@uHE4Z?AuFt7pYd&n@7r=-p=+w&6Z zT^XGkw;_UPH3Nn3cU&@GL5ULgC^OVZVc*kFl#^oaOwjQ$;>L#_9k#y(8>T0I{y&W3 zxo(SJjXS;LJjt=4+HZ7rbv(;hPwW)vuM~2lwqL8Msi~us`Hp7F>d1BDnsqE<7xAf4 z)EkwXy0TdRwI+ydauJK0UL)&B&*w$0_#8j&MLiupKDy80Lpw?6m#<+d_y0m}Jo5GZEbk=* zo>+>h5PaYYAI6&)BO|io*Df*)K{B3$DLJ5M+KTL=+d?z{`(H|%g$Sg1$Eay z@xm?@Ej6;C1b+or6IvJ^jR$*J-m4v9Hrwt={btF)HC#iA7)BD0j6kZxt16SfLGX|k z2%pu8&({TYGz&k*foSo_?86z6C6IrO#D=(JhCJK^Op14J&!ov7Oc>2Wo~=B2V5ZOK z7nM4A&~{?G<-J+e;Mt*EC7KYW-e^`$t@?`x)B*y?BcJETH?v_8;_sC) z!?4Y-%W%IvKx)++OJ7a~guKqOdVF&z4?-a_;h!0ZtGPIR*@nto`0OBOKA!>($JZQ$ z4u<`%s!inHngwHcaJt;N8p`F~tBA~cm?{IY;HgJ)3IWMDep(JcNfil<3TtzDh z-0%@GU2VCnme7m@zYpS9Zx#qUm>Kq4y~6dQLp`CSRhZaLt{F1sJ{*gvd47@u@EU4AWrxTI810jVcWGbirV!${+OWMF zcWIe_HrFuLoo7}<7@-jY*6rmT>F$L!DSB#nGs(3nJ}P1mqwPl}mLjAfOtvp0;**iNQn%@*Tz?di4F z@{BAbAWnHLdEr^jew534?Di@|(TKet!J-b@RIo7f2PWE#Rra5|4xaA;fkwUaytm}# zOTO_eLZpTFBHChrf?`FqpkagZ%?~^dz%+!xP>4QC4wtKciHgfC+TyCbzseD);k{#7 zivHgX7ESCpF6PN5j=2SwewjCgPL zuaX;R+^6Fyter3F2X}i&gNM(gF8+uav2HKS9hWM_LneIg)IjsT&J3bBT8kJZFIr#axk++`I*Pkf2 zE}?P6IQc~+6X_ZTFfHMChq&JXa<) zRr}tdpeE4N72eRJkm>@m_*x04LB|RHCIQP|4=gv%QfSE&pPq_BQ@deIHm)5TqJ~5n zh9lKL^?9Bl~ief%VWYIdWbu&s~CoAHotR|8OVqT$egCpDz&{ z>QsM8Kj}0_v)^+)_V@Vt{#RpJXJJ)Edf#vR+$dAVT{>0{!JOs&ROfv(bgbGo*Zd4? z>Qk2LB~LswptnNag4D`6905nS_MQWnYxeba*=%Tk)EOHptI)oWdJ%^)V4O?4Z}=Ly z%@92Jnq@s0Z)O1E$|+m7B0_-kZj_4nOsNOd3k6)1&1T_WD4=%kYRgj!Wcf^>#<-ol zDgfm7CI#oo-lctm{j{ogq4*D7-0?T|+6mC^GC<4V)oGV|(e;!cvLJxC%=$HOtJa$k zz&~w4XmlMHo#c*ZPihv%=`q};S*p;|VK#cs4Ay!Jnj}zTc9T|JAoPNytWX+>m#&hX zi`yG-*MWm)XTi6{An8WqQ5P9!Uq>G}Gk=z9Dh#88U<|_M&Gi) z55m{@ME>@-axnA2t2m(bo$VU&b?NFOG&4~Se4Jg$xnLJ*_)=$R-rA7Ac^54R`bX1X`I}|H&SHno?w(s zMWd3WrobH&UO+;6WNw}YP#|Q}J>Zj`VCEt1q1EfLi=R1tn)?F)s%@HF*5>AyfKgGt z`iP5}$f($~fCy3jBcZaS`>N^6ekF%$imBbZkt>%VI=qDxaH1wIgMgTQUT)=JMc%8J zX=Fpiq*Y602J|hT!qG5Fm@qD@=J$o)jx2qF>UayXz&N{|ted-&ndo@vq{jKNwmV&z z4-tR^^T?aJMVVQvF$OO_kch3DsUayrrr|j{BZXvPa|W4nfw zIIqhH9aBTZlI6!7k@(!r%35^x`z=$*#a6T28-*M0?lb3%_!@+9!}OWbJk@PAhM*^V zYO_=wgyfb7$O*3Xu%al{J@6ESP#I8?egdB)m`_N^bG^70aWphFQ0GYGxOAXoaJ=K{ zW^9Q0SHsU}Vz|D((XZ%FHYyK&4Y>epp(r#?;od%e_JJB2;tSs0z42fd%l*J%_Uy?a ziCB$wmgA7ey$?(YYyckCU;oP1MqZUE6kPLRhLZj^2m!%L^*h(g(`2W&8M0$hyK6LkGQk2M@BMpj18}&m-&xcl30l9c^l$(qpsCU6~tIb_k~U#QsR9xjnkq zB#iq6z@y)rovN-ney*|{U?vzWBGEWSfL>k^X1-dFW#Y@cD&Yy^yF2Ou`+x(Kx4Zd% ztpTV_7h1?~*sy28R7|lOmZD>VkVbbxWLS4!;$s-3mru^~gjSmxbE$*HU^Y?mW0uHb zZh&?TH3-VT&5Itr)c;+bv05==EwI??Lcq$GdbIt8D}lS}sX;$G?{7v6`LHF=`21)d z;oSY?u@A!8!H|zOL$zLsS4Y$!e^dXE%)0XNMkLf3$aMuT(2Rzbi zOHoUp6=IV0j5=I?S^X_{CyU%tlatR6zmER-x%|R#N|8zqG#_#(4yTmf7})-H8u6hay8{x)_uD0!_u<-mahr5C4diu;w84GT}#2psrR z2@Y}xmz>Z|DHO1y-a?NlJoRa>P0b+O-B+lF`oB#@dJm{Gv@EUOut)pJY8I?}ZYuHI zlktlUGJy8K>M1x8k%~e@!}lfv3PjmuN6q>dU!_FrA?(?#5C*@$jzi z7q6;S88qU2#zSz?Rwo@KHlJ^ zGTfSw_vAO*Jf>-Yb5sl?LpSBexDaNe@tzVpJFvjj`I7=|<9`UKvH?oO_!pZW z#zOP^nnbMGsZ$Rzi)Z2!JD;xZf52KS49Mi;k~$t>IHbBBM`b3Asuc-3pgL)Y;cs05(wP#ooc{8d;Z3v=Y>juF&GF7&A zp(}d}0`TzqncKHlv2IaOvF%u_8#jIXKxLep&!P>!?++M~q!V4g4b>!80MWGrnIN{x z)R=(UT3U?aw_o?Pl9d(59dpb=va&Ei+?cLLcmK$RoV;1Ue!Nemh>@Z()&+Hmq0?Mf1{(@EPrNS}V{Tc1D%V?q?`8KO-SFWLN z|7I&dbc_kqSh~7*e}!;1^yyMqtYU#ERTjP5ndxplBp8wOk~%|}8h8K1p^LvdNvmoJqd$1G z?w_9zlA1V*)752?srjWq2a7BU5BjL`;wRT+L_E|G2|(*n(NhFoRqulkpn(qpdC6rx z1Bp)*C$S4G2GD_0?+!wpeuKhgt(bnfI6Xi=9!p!*LSi%R6n;MSHf$j$havS`sAS~E zl-=XL6GC&h%qLpake~Exa3tadJZdsC)-Q%zBQ#? zfihVfi2aG;O~4`N6S{Yzk$G;av+HF@0AKj* zD`?oLS_ZVXw8))rKrBz4DjeH0aR}iE5VIffW5T7b9F>V!TiEJOBimdDK-*QvDHJg< znwOQ7d<8|IVmGDAhnygM^y>Ln4A^l~ralTPTH0bD8cmd$yLJ{R(cpmT%`s&Mj`g4A z6=KS?g9q2gJ^uqhM$U@@N~s7dViYHTAzKcq@F4?%tbpx^+4El>r}>({C|ypv+D>Lu zq1kx+FFAr%cF+4_{N{p^4js|P&PYtxQT%(b6izS3Ur8i_6CevQK2fQA$>J=oll z(mn@3Sb5Cv)F2X)?e*XUp#*C;nU|H7Z611c<-`{Xbm$+`8BpT(nlb_^bGwN%5i?=* z=CP%vYh!Y=Uq%5l0@^EIYamlr=Oa=@Mu0-B3#1^WtLk%Bc?H|75KhbbF9T;Z9zjAz z57M^OTLon5tsctrUs(clXbbT-%Y$eJ*0xK zP7^4=nM9@91@l8cxHcejUri7-V^OgwupV}D_qORptcNu8%pPDCGxSJ4p43Rkg4J=L zWE+XTsMj;-^Fum?k01+E{idKjAW+ArE&A~_^JpD;y1IVz?HJgp%EKWgyos8r5_2q? zD2H#mxycmm$-fD44+@nWy*7^c#M+qAY6je$K-RnUf`IX<8#Twz`wQ9gA>Z$b@^?PP zH)o%tq5nc{E0Jq|8Me->{o~F&_Er%G!UDV|OET!Jn<7PnMuBPWHSv*Hz{z!X(j$XGrqP z`G0>0o-kGBLcqk@`krH z+q>U`1!V{7)e}aolrL{%|8;;aP_-vWFZJ#b;Nlo~?9i0<3~3}d9H_lI+6FX*Czx_G z(OjGsD*`$hd9jLi|B_f7FW>CW=mdmj?!89LvuorCqqF7k`ht}qj4QDnYb!>FZ1@_0 zz4nVT^_!`Lc@H?Wt1FqkkQ+c^13W*dW_Zj4z#0HEG$QMMhn}x(ZaU!uK+}zNOWwhn zrO?k+Xw)CMbzH*`YynynfI%rHj4JbJMaPb=9JAbsilLW!UG0JhkeX%J79YpdpS%tF z8C2X%=RTDJ;CljSK`-@8Mp9@&dz|=MOP< zv@ZoG9s#}WL?{jW5sjs-{O@uwbxd z-F@-?Az`!6O6|;W2rI5sr1M2(OL1+pu6ZC)&kPD7-zhO@RUXwo#IOP=dh*SIFi;QgOL)v@xbaEB$_}CcioP0~X|8bV zmJ7^Z2?&iqQA{+%w!=djQ7SSt^vZr`9X+JSt`(m$BY~2|3*h`imwpvs0t)pE_V{jZ zh%Z60*K-}J;6>~rSDk?QCIH$Mdrr68WM)upoSxYLJfj#r(}gl(_EJ-Z_9zSj{OE;P zE!?&a6tFk`WK(hRn@Q1@657}6n+!YQa=21gy1KgBlxW~xcL*F-t86DgWf0>7PVx$^ z0LrRnR6~4Z7YgDfkT>1u$J*)qyrd+KgJ-MFJg|K=z{bKu!z2xhopaIZ9l+nv90MwV zWbM|5FcjYqV)il&(6chf`16m;sWd;n^kAN5DCHWiwS1_fo=^?W}67$n9I# zx}dW^_aSAoRp|>-Ug)<4(l{S@jqN{NaNvSRVx^RF8trP2AA%Q9P~-~%l@fJ+lL!8e z6X1$3fKAVE{80g5I6kdgNqcj`MluaMLJ|d5rp+c3Tp_w0%X_NGdU#XL%0O*S-FD^6 zU9o7K-*J>sow^;6fC(mw&TVuCXX&bozAM=Z)YVH`&D1lniS9j}q!0Z`NDmmxmzgc6 zX|mRdKWjoP;JTmD4rOOYpilw=+ZWVzczL8Y(odtVG-Fc|d<%1OUI%Tx1HSc`@P>l# z+Qb2$Nk2pax;Xe(0QQIDLH89nD>~AN&pqFCvye= z1RyoYy^l`-lg44b<5{8rV_XgkoI^ip+f+&g<1k_tHezfFghW>N_Z>FZH|flxm7ge* z70jqdf2q+#n-Tgb!52WgumWGyab&#>IKFSkOmV?%3`>)}#-e%@iKPk{b%-BD5)9^V z`5~wdOb(##9(cOi{af2+x8)0g>SLU`2X5&N_#*lIbDEF9EC7$+XPWs7D8=^kk2L8! z08;4QJ28UqGxgxfnSS`Ho!d-X0Tg$z$!&MB)5i?h7#Q5gQ5l7pB&b2%$1Nv_qX~zO zgHWbNRvSU6*JGyZ90ON~{D%r(<~2`U@&LScI26rpmsMg{Uk6qN+=bE^4mf};cltPU zPPfBVX4qJfBRj0&-Dvc#`pacu%fGcWf8vYZUST`(vnI~+{QRTvsD*i9AlHXZ*U zfB8cIj$X&uX>kv5WL2u)-AY(HLj2q% z?1pjjnt1kZOoOSxT0ies?{YmYVlc4#SQ17@XOhkzkK>nG8{LJBS$oLJjBR(NFr?5Q zJ7&w3AZp*tCBqis6&F(o3p>XASW8Qb(m9`VF2&N5wQmmYM8dZS5u}9&DVO9-5iyYg z!EDurLdTm+JKh#V0BO%7C34B|y)gcMwg~(OFH0N>JNBImu;!Yzt5?y$ zr#gK54ymgIxH~+@p4oHi?l-;`m4I%b#@NY!hUI?KcA4)3qAXAl3`C76lS`d`$S3Ta z)IOh@X%%=kl+(y{B)nQLZl!k`1TH1O9l!WfhX=y>JJ+HXb6*y*P~Wm zm`Nf;EN!*J71*`nXptP9&o3@WC1B4{F86-2`BIxmAeNvw%oZoJT<4h^#!PkY^c0;| zjOW^=`w^Ot+Ks65`E?gsRJ-;c|4zkXocbVl0gOy@ z_Q)(ZG2#sKkl8DX*{b@Dc+jA^v!pE>Cp@))=~i{_CTL4KHtYZD(Wh_;aiNI$SaV7)RUk+{uUSZ$^}{a zZHL$x_02(zFuMgO(sDR&>JqlRZ)~w)H<-?|T|)GgyuZGHH%U4%R*w>lc-?^vYsjM| zJdDhq9C6WKp6I@|PSerJUyBce(8FW?QXrUZkYT0J0@)DvNW&72_<#`?EyEg zOWwG+ay?=X@eK0$Xu0l`DP>&tMq(2cl zM6mX_Q8?ip0y#cX- z4MnHRb45v{%c^v4GAy$r6P;MT8+YRUS-QkIAA7U1~zXBL;^fNB__{{4}d|F!;bK)Xuh!@dO9bX+1#F!6n^6<=6r#euM5ePeB z_xE&g0xGSx#2n@gC7vdeXULHLlUN~n!AE|VlKBzv3w zKoZS0Q58u$TziccT6bacY^M5(^F(cQ&BY=o%`BWk5cVv}!{hf3z)>XIycDqB!;ENc zCOkqSM$&m%_kkN|K$$R&?zbk9EQ}{yT%E~`?8529#M;K?!*HgJL<&+n;HO!pj}kCsi#K^<;iHAUIkO9o&vpB7mg&7-d&Q2ReFXR z&@<2VXR=RngklZ5=mu}8>A$!GukNf|8y7lR43iGBA|nsJo9pw7(|5^T8(L7*DfkeR zBnHgKM)LAO`r{lSk(M2KSq0bJqr?pNFcYujqBoyw(Z?J4oQyfbo1z1w(~X#WiqBZl zwX2vM`7n0*YVLa|B&imXWcdGT@YkPkao-i6C$7#g9XLPv!Y^#Won4$ zZPxsvBDx1}iG!DW0EBvMu7=EEze6+C2$bb?wX4GtsD;q)Dg}NwT_0^`Yj;{uLg*uj ztSbxMrts>Lq=1J7X)XmTdwN*rKCj zc{ndCZ$wi#rc47lc#~B^O6nGD!Kk+Q%v-xb2F_4z4yOx<^#Oih9*Jxo;9VdsZysQd zghyC!Z>ym+iejwr2;kjtULq;q09c$EO|k9)9@D3AF0I0n5vq@+kh`drI>5RCa8 zXJm>D5IBq8Pa=rK!PS@WJZaMiHi=JZCNebiX91*9aIN}#k}*el&ruyt4i9NMW)Yun zas**<31niwuf{YU%Y{h&lYQ$ zJcFp$Z;><6P)xvYZlkm>2XZGK^ZK&Bb7kvxL*PU2mo1b7QLQSCMA~-B#-?!h?ax05 zL@DGe>Se*r8c1IS*i3XP1p92DU^+Tg<%lni@K~;I*iHOpy%qO^f%NwJUXMm_R?{~K zln1A-43@ggccd4UAV|X~BGdD3>;QuKSO>2ha`bNq*!a=##r$RCcHg(*p5;%YcJgZ| z$rEOEbPOGe-$JDFYJX=kLxa{9f}7T?{n45_3T0wntfG>SUg=-MY{ysdZ4n^#>21gw2Sx{8mII9R^=Y( zk|r#5G(JzaH-uQ;Qk!lMexqCCM=VL=W8`uT*?xMUa^NYppVdUf8}&A-@$y`8=c&k31@qmAw*JFBlX%Xw}ww(yBTpwOVSZ_nle=c)!h0g26gP5E2 zKFDjs{rA3$uDN~f1MOfCmHkt%igz5zIi3qZb(WkhCbpklG(*t**5|&$eV%ASn&YD zF_3QetF8Tf5FvdD>s@?rT2!q7hW4`9z1mn`9_L2sBpcD7aOte_vC9$D`>5}+bm zzX+6sCgAvEMv!8$8`psO zV=Ybd-H+y)sZP#;dW)6LWbkXm=`lN1_luE+DLjzISP7JN;3YPo8awa5ORF~RRh zqJu7FScbtj{f$M2#`>>vdA|`Ifc3iQD_GFh`s?N3k;FkLFwu)f#g&ixmjuWD{zhQy z&^5)niTU7#(DxBRh4 zC~S@V_GEf5-I?q3SK=09KU+9yTb{5*2;># zzgAeuD{RbX16G(ZnhlH$TD9Uq9pDpPj&eRb%b>JqiY9x3Nkf$V$M@bqb}_bHYGczzIYt$<|0XMNyK;PQ2B1*_jH0Smnx zu7-yUlQy==S=cc@xVMzyU$hlafAT->1Aq5*7XZuR>DmnMY+F|CU75O%TT#iYaX*6v zn=SxqAo65%C9s35L*?- z;32V{;frkFD&0ooT5%_rDFUAZwm$j4?zvS6D2P}c?n^PGGw$G)1vGQbl_7|t?o zS@Ul{Z;cqRH~E&~Lq5ao)&JiwUvcZSx+Bm>Go?WXN_DU^3Ib1!5<)pOimaoi2x|H# Y&$uj~P4lg1IRg-Qy85}Sb4q9e000=5tN;K2 literal 21555 zcmbSz2|U#67x!}?HmuOMev6HPxB|<8Dma*?^WSgm!v8RZVEFqPpP4=Z?Br017 zSw=d9mzo*QF)>KN-5zAXrXu%0-sdm2F) z;3EUV!UX@!hjg#NKbw7zTLd7;R!;g~6msV-4}xrJaXVukXl`hrhV}81ws-V#aFP!3 z@`cd|qOKL;)p2rlJ09xqWEy(v3^vpQ ztLiAKr75Bwq6Q0iIR)B_gm`&+2dIT;h;FQ_2A}D_mJt=%7!v5AA$pj;p@_Mmv51b3 zzmtfvG)4+5D=RCatSar~XfNj=?<^@ICo6}M!N4B{DU6(&ysVmnoXB7QiNbdNj?QYQ zb@l$*41UrObqx&kRg;kk4i1(MmY4SNcag!Us;bJ!%E`#dNx=xIfQ#ON_90T<0b+lz zpz9QX^>_0Pbo22Rp|5D~;1d+6Aqu4aIfIw)Kg)Ut{KY5Wm`sShuM9?7mVTy?n19Cly7~nA1i1SAZ;Gv3;H{zIKYRRFTD-je z*&-nD=mj{&Ukv%LqXW)d^mURs?G)e>EKKG4VijE|4!-#2Ca zH_0M$^3oU)aWgk>N1xz;1OJ-fq-!7Oq#+8oCMP9}k-{jPk&{=GS5cG0NXaUy$;$p2 zYUtzW=6vzL4pmiyY5yJyGUI3;X#am5?1)u!_VM?!hXcEL*}FK&_9g3!BJjH(ZN|+O2t7zR?5NN zQANrbtKg)h?4aN*=dAkod|e-G5dCK9^Z!V>qYoC=_|LA6O7hCiSa~NYM>%JEDOp(s zM=1v<2L&l*tUOi~gMn|A?EhZP$lnbV&EE6htJ0}*gcY4tR8+C{4ysZZWsIYgtdfF~ zl)Zz4qm-(gilUROql&Y=q7q%2Hv~lOxLW{R-NnE3!_>*|uTP$CA{#QHW{;)Ix`rs0 ze#uUbqJRC`?Z5Ej|7qvH<_Ehv!J_|%%m1@`fRA%vu)V+2VHe=t|5dnT{&&O&*kAZR zlm7p9m49gZucZH582^7r|BEeHS9@<4C$O9{qV&Va&`r#rOOg3s?`z|`f0?7dhl7oy zfBeU~!Vmx0XD4r1+8?a1Tn%$Hf}CPMp?mmD$la+g7gJI{-Ik%w6l^JEh^>shxZ^el zuamfVET1o7E+tTJYV~ArMx|j!$DTVmoHzR-ZVqM?h53wscjgT`dXtCqK7*p{W*(wQ z><*JNT#g0V*-VcXXOc*=T$_R({fxM`J{^qH@~C}mbtODFGvKHC$Iq)8Vf-Fa1Oh=^ zGSiw34mw1(YXuIr4B2VMA50J@S9hj+sNYq_+f8zt z@~5AnL}rclBfVpuud=?o3OwY!{0WKNI+A_gkNx6a>7X=LBw5%QMM3TqEW`;UeREJk zn{UZxFqGev;2o{QW#sp;+7ls=Cj1fQoC#B^=v%|dllqDbPDsxop{*vKjT;-pMgs{^ z1(&si8;r}}#905NUOJ0V8HTj9QGd~>2NW=vvy@L#N@^0GFR`hk=wHTc93anS*N0u} z6(wWU&v+XGkaPGYHsjZSD8CV)is$c8$hT$G>LuGeZ1~K-0QlC%)t%+u;Vuov8XUf6M_N@Y6TZ;P8CAh& zX#0LlEmGZ+_}Q7h;jcd%R=t3eBo-W4ckmS)X5NY1WB$!mVXckf+L-wx-0!nrk@uiVzJ`&B!f=H8fiq@i@&M6JRG z^N_G{q+zHv@)fk+WY<)ck(ERa`NmWd6hsrLV8=yS~ti{XO!^Yh{K_Kn4Hq zoqkGcs{KS~eqWhKTATJ86Xp?pB@~(abb=jPMC3)Yf<7@_|MyK?M$pWVV8HkXjkyCj zVmxm$b={|iOuYU1(z9oB0-E6}o%LGmt;J<=)@+xhrT#h5nTqdOb@B1r3^LUg3|`5I zi)*JztKHnk%F5dJ%&GOZv)!jhXA6sq&$gUGhB(;+c7I|~LKu#O8QiyvuiVw}yrh}K zWxQle=6nrLZDJ-x3AeX#qKOD zEe+O?G}FWue|z}~!}-s~V)2-hh~x#0?NV_5w3L)=qb$vm=&#-6vF4}VU#jF;Ul9}d zZP-q9?eLgVEMY!8zV)Hr6BIjpKenHPn9j5(VJi{2mIMsT8`A$K>HvFnPFr`N$&LCf zAGZ8+93f)*5K_};^zvAeP`bQJVjo@IlgcHgy^6mDi(y6ovndaD8udG%cg*#~T92+Lmunt?^~0OlK%HPAL_Amsoxq{_YeJEPVtr78cw}$%LDV$L3nkcDb2!TxO;p4)~jd4`VbbD zDU6o{wrw1>7TgjKO3-#kak7m`J>Ywr$sy^qwR2`>(Ls|v_Me|Qfj+-kS(xl-Zx;~^ zD=k~p%GW6j`bQZC-to-s!4K?}_pbc5Yi*PbcRfB^d(gjCiZUil6BnFg_L%bO+`Xas z<>F%8vH57w^E@$ecKy=)qkOw{#~skxkK!@%C_)zA)Y9^x;NeTgp;8MNqVJW>r<<7Y zFJkI5whLbE;!jXo!b2bC1OZQz4){H z;oH{Mn~6CM^E1Q3rUeEa1k%dRhv2jC>^jNpyONbBUi*^5uustwIeryWAdGkGRE3YR zogN@2{osdI=6rP3g{j!(x$%?D#@So8Y`LD9S<8R1;h#5je>bTEL!_uA97s<+s1>u$qT4Jv7az?N3La3 zGk5O*b|{2vtI^dhUCD4wNN3C7{6tqrxsPo^;iTdbaZeya=Te}ypC3j}PA(5C?#s)| zYsqiu$BS=-$cB|PS71%sFEz-9zj2uriIF3=FjC z0gD@*(roq#>M$Za8lf+GCJn>K4Yu&}BRBR@{oKe7bw)R&^DU5j?niThS{|%{3$iso zpn_`DpK?CnDly$4L1YUjj6NeN*#6LTzog}h<7(G_s2@Fg)Up{p_kGunH%$0FG4&S> zvor?ECwhiM!oRA|va1$PJ|WlU)0hkUdAkB}|*Qv28@|yk0*kHT< z(=24Va@?9ttf!=Q(Q+_i=}Sp;^2_%b%Gj0p2|g3fqOwwV#;gBP&H!S17)o98c1Jx9 zS3{$&S`IfQHWpbte`5cJsrL<`%;LH8Xen;}@uYp;d&@W!n#qnvUGFqmvhcu33Ldfl z#DW{rXxV?TnznpqjZIiH9(Jl0();B#Si!-(UBFi({sk}gMI!V0Y>p%LOzw>==)+Fs6KX z=F>&1Gjwad)@eN z;bFg0&S!8M(MmXic!0Eb#hob7);EKd0d!U@&=%*Wo@OZf2!+o7$l(ae&|}#v48vk6 zUuavorFDBtY+zUbsd00WO?3}2qs;j|pMX~6;DT&tPyR{pvDweCGDggK$Dg3G3k!eI zW^V43IG6qMC4KB!u(oF(pQ{wo%Mh>C+p2Ixd>JT==Ed$q^N44TS)oS;xGo5gHSxPx z)z=Rl>)s7lwWU{|c^i)`VrK1kb%S~5{k{%hLz;G)*|ldM<}>Mai!y%p6qPMrXh8G0 z+a;K~G>j7-cgBc`%icG?@0Imb z=W_|M8PwUKwFMpG4(z=6!Z^kY?)B&DU^J1&e?8A4A-1HUY z?gW=;ksCSPEu=cCFwcvM+8#4yLsY7@`uSrX_B$W8%F5$${uS}t6^z<~yQ!P^$jftX z<&MR*h@7q~wpeW_FGWjRzF+}I+(THYfcpf4^^=9H`1Wy0)t1`Og&T=6Z4XT!Jn{dg z-}~mc!0?5$Z7nUYK$8`6E2L!0z!<{l%8SDVG`Re@M~@D|sJlOZy4O%haerhD(ztucYctbds-I$;w*xb3dTnunK6T3lllCuSI>`;zOxa4{-=^WQ@1%g-KBonqYwOc zmmt4WckA4vsKmKuEK)4lc$xB~tb9h)= z>iMqc@fhmeyGK8Oe!Qd*0=1o;_wAB27ZKzd=Sv~FUVeg9=hOu#>@;Xd4E;#Oi575rt(b%FX*eX;{wQDE4YQ9 zpHwc+<^g>VN=iOd6HiW*y=TIA65+2yJnv?^ioir4WyF7FSa4Vn9!V7ptK6pT1`c@Q;H~Yyz1HjLYQ^eygV@ZPULlM$ zZ3dR6Vw~0Rb)Bl#v7APb3|#?e-XYY*L0iW!Pnvhf_Q`vM+BcOqLtXq#>^ z#D^0j%RqeqVY(_es8zf+c1Zk54-2pe27p=Ltxjh8fwqfIK zl|Nlq1DWI_SJNIC+`fDX&HR_^XiWptv`x)xdG^~zdK3TR+qZA_?@|u%ncUr!eG+yn z=Adzn4$RXa=Jliew(otD-IXYK=o+_ec*h1={4$a24#}{3pb0Tu6KSkJ^_6a*?*y=f zTQM1jzBf`P5^xb|Yar6n--PqfRe=+vFXZ~Vof+(uo)jtbC)$%CBW!L_*R%SN_I!fR zfje1QNuV?*!M9aa^;b`PXJ1<=#Wi)@KW4)w1~(M+rsm?@hRw0zf|GLz(FWQ;i%qPo zCPR6;=_abC8gmmIt_PT!qr~(M7%{3zSZr#eVwv6XaF%;#OkBL`}?WYgAjE+C8pyPh-(n& z2P0vK`qq(jjPrBM_XouELkXBGf^3R@^py$)Xc@`Ly9GIK*M=>TQq9i$X>6+^2p+m% z2kJqOn82q?TIM~&`V`$lLBOAYv6UsRec+kX#P=d=I~r_|J0H&(Z2E11)NlG-g83eV zZKKH(*KkCh`t58nyMf)9L2CJJr`B7qEaBXNo7IIXzVRenKZzlRckw*$<_TbE2t{a{ zN0g9@UTcr_&=f{I4Lx!e+op+a6OPBAa|Qi)fY43xnCHkm`28u0?QlW5&ewr}y!k`z zT|5D)dd3jD!KIF))CmQKP0z#<-){2Vim&IzddE;^PN{=H?I7P@){E!4)GD*|b7;?u zrp>iN08SDTAh<|=2{(rAE;QjY`Pq!-$7*h|dwhBkL2z(P^W72{(AATTOSGk_F4{}4 zf#1{BGgU%NWu%5nXv)Aa^*h9Cxi7Y5hxXsXeCI}lP}vdtY1|1IxGdAufLcgkK49Zp z@UJaMb;Y!~NgVYz-H8O}wDa6N0N%MpndrIcw@jx+nk;jJGq&x4VB)K-AP%bJ;QOaC z)yNdv9b;C{&skf?pUONl6npf+mv~Gt%A9p%OUqp)iZC%3=<7-&YcTUUXbZj97arZlzw#>(oUkycLzX^6%Z zn;{ytsJ{0#O`=qSb`?7gKPNd22iYR*AG4!wxK$Vi{!(K0(T6Y1k@)5jbK_Abt9VC0Qkv*sH zcKT>gCj%#^y?lIp)@)b$-&#(7AsW^Ru>JDe7{bSoFti7Xa^rKrKPn=1hI_j#>b_Lx z%vWQ&dAg>HnK_NuO#2w|aGC|w1kzM`=;$?8e0_M>G*`XQK#2vOaVIThBm+@GQcjBq zW><`!*fSJ5DOE#VnFPY7<`)Niu+52rAU;Y>tk3!fkv&f+4;a5NQs%r3Iz!fcwE5*`;EF7;UluDGk)v_A@&+c1w3}FWn1qCAD}5@rq=VvUXT=g5N@}PT?XBQG+3k z>Z`}q!<93G^0rk+2&6=sNmp)Tw<8-Z%i-*Y+l`&bxN*+$|=iqvre)QxGtRYa!wE*bNbW#8OgF zHew}kerkX&a*B$I=FgoIV1M17VyoysVU^X)P%Q>a+?G%{cf@>6<~n5`Fq}*ob`C#e zbWeJ!`=P1%Q-`Y%&U!&ErQ-jUpx52eP2+q(%1TR%Zi;KtO3RbzfW7c|UMv$sy5ygj zIt5eqAuUX8ab`G)L~=-Ajo)tWQH~}bq*hi|(oqljkLp)4eCj?g_@2Hoz-aDqrHYb% zZ^=BI51(4|?D_MlmYe&FjS5a>9$ZP+y;%8uW!z}#j;#IV$>>LCqqhq_>v~|+8)|Ux znc)m7xH8iFw3)Ye30U*V+s*gE!w-eez5mc0^kJt3ryce;)u;H|Htmr{Bbo%@kmt_b z3N&!s4iIRuRXJFRqn@jaQz7G-!PabJxqybmcXpok?0<1W!vE}`=5ktE+E}baiOSrJ zTJUuI{(B*p-) z+nvd*dMUH>=kIxWdIqjv&!l_KLjm6n#*^Y6KVH6r^SBXcgikok`sCIU66Ki_sO{$V z5JHi<#eNSuwmWHm{d&ae;%I)_d4G*D_CxTiJqflCo| zHD1Pc=l#XFH*yVNZv7TMnPJyg7D}Q?x?!=nEg5)MILdX5vnJki;%=@e+2)$q&S;YM zGi$A8fasb?O>yMjdg`YM73+!Pbp2-E-Rr^L&n;}a6&b$#d!?`MDYn??=j5bU>G@jg z(gQD-{ogNq9PVlTR>uX5d-~kv;{_^DMOA;*_hG)Qnaxiyh3KAHA-pkN7JEuzf#DvSjS=fjp{X#9 zM~@!)zE|vhLOEu>X6n$-7~Z-d(h2FedQ&F~FdXv=UwVQJcd9d2SyEC$WK|x-13dT8 zi5TNZHj1(5{EcvVKTBlb$Nwe>KUehVkpy7q7-$oimaU6j76c`){wOr_cEUKspkq~& zC2!uPN;Ewu9luX`(D-CCWfPb8i)nEsWRzpZAi|1f`_y3*Fu{iHN{WJ#Qtq>7rxos3 zRq+W^8ko)3cE;lL+wS07JGvPg`9Pz1u-A}u5ju<%d#Gi+2F5|yuW_!(eD^I57wJEP zjS$NI-YXScN{D^sQMGIcIsZy^Dp1BDx1?{X@itA>6yfzQE1d%mXYcA(UDyhOHh4)qg z&mXzQ?`=m;G65c&aEfTI_6zNMVWdUmA;+s|77)`{ku_sEYy%!ePp02t1vYs|UE9Wc zStD$*LP)>5GO~Di*19||cxFh&cLV`Qu75o^FBS(NSd`e@vAc1!N?@`ds5L1Gw|4*W zZUJ<=`~q7E&c{>*&7OE<0uO3ly5%)Q3pLWzZVU+EM7v)Nh*o2Q^3Yq7@EnP)(P5tm zbHf?4QSLWPA_D5va^6!k(=c1~Lz3Z!xPB=6RKWx#p4;anAP)`C9 zOYl3VU}=yxcV0ZJ_H2ZKnuxr7SM?Z9$EH4iYgrG{4QqlQZ3cUNUm-W-gaZt3|9f~$ z@LkYay^r@atY}v-eqY~mcn(%TBrm@2eB`pzuc6xNCYsdQHQL&^mPFD)p&Qm~rYRZ7 z2ju!eGWT7`o*_MOb#?XC*cO|7tFG17$|}yvr&h6V!?VQ3#_Dp@Qa)rJ8Uw4MxUx7U zA*d*%T@rY_st?%%VKO6rv{Mzr)}xOVk1*_}Mk(6vcm%x63?Aa0zk`Dk&pxAjze2?i zx_fw#las<3!EM|~4BgofIdMJkDeCykj6AfzzrXLNvt}onb@koWwc4ge9SK^u#)Y<| z9;D({y0Y@H*aJ~+w1E7@AmgfLv2()PVCM|VJkH*JH@E{yh{tWJFW8TN$mBDTWBw5B z78BU;7sPVEu1-jJZG@RT-(__27;#5jeTBJ~=4&RA&s*}*kOkXToynKZLY|xgwB8CO zaDDs5#m_D_!aQSKarLq0?-55pa$01G23KFd-v^Nt;APAc7VG3AY ze=NojL6A~=XxOEb_e5&SMMWj4KNC@Xq=Rb?z{s1R2H@qffT#g!s(vKK^C6>~62MaW zcXNB)Bs2}jnAgcXK^@;mPs%_=jIFF5b1X#Z9nY?)Jk9)+atLtlue{h$RQdsW%#rJpW&r>lV};n(7@L__Iqbsz5HWjt$OnCizpE9aC5b60A0n!#jhvEq;#%medM{- zyo&T+Y8t++hb&cW7{lX2d#`gj07M>Uq3-kX=Q8c6Cvl>C)?5dbv~$GgI4+0_-)|YTg!yzPYiFLaM$$+ zo4uQEPtD5mdHm?n2lex8T5C`Az5fJBkMEmZt%KAd3@XBhaCILmr7xzvNH{F@qKD`r z;;!|CAzEvIlReUY7%ELY`v=N>dRMMyxqZY*_aVB$Wl+sv`u*~BWOd2Kx$l`~Yo>V_ z$S&M?Z+ZI`{wtQQ#ou;lzxG`nc1|gvu~~U2yE2+^dQ5RNhQtO9)m#jrE{`WeMf(-) z!c6T_tQ7O_Yg*%VY$JzzuN=>q+^)N-{}a2#j)|*kp!a;(`<1UmexL3il&lxrn!xX^w0thG#AH(c*9F?*M#$Cx~OnXvh#`&pBZ z*&{Cj&_B46S64T*`18}rF>c!2;_LA%tlELSNBQvuyX~%as#w-Kx24;&396+mj&Yym zY#`07xp(PlDKV9`TS}w$#886g!mC&5;YK3_MvA%AJdPvWa>Vdm+L9OY?`TG--IB7p zrWvu4w?3@#C$gh~2blsYHP;=V_SK!OTRv2BW`46m0}i_3cZ$9M|Wrk znw=bGpcI|H@VNJdTh}j8??Y?mFN0L^UDOYy7iMOBu*O@9%gDThezu~9S0CrmEcJa4 zPG!1BoIZQj=}_==5qY0)5-eqpX8#g&9*vC1>sJ<^H-TI#aN{b?qPH(S#S~tp2VZ&S zl7b@xy|jZ85@2&mITi}_SQG&jU~2eiorFdpK#v8~AjfC8E_pq3LXz3He^}M0cP#^p z9#O>_XdzvI`FS8Ir)Xgvko?un*QwQh7tSEro;!Cfa((3}HQ4siW;=4QH0JNK=V=rm znwv%^N~CS7`o@}*tg_;Twa#PteupiRK5k7za;xPKt^-bGp*9!4r7l8(PfGHd`-Yra zJyfrzFol!ekimqH+TD?Mo8D=C#Ii?@a_`(}kp<4kYLYdl{TZsgqKYBJ@WAAa-joBT zzaZTHBs6?xrg!FUC*R&!$k+qjlwXCS%flwCA=;x{+iN)zJU?+?8SSl60 z2UP&ZeL~q9XHQ-Vi>_CAiu%o;MDx;fTfsrOd2fPje*kz6YCeS?Fc_~;Y5EE5{`(hNvYKqq8N}g8TFVcfpnj)?I0>ox@6k&V zk^+BNRiy@?tfiR#-l##ILl-0gJ(dmmZP%-F;)TjCoQIceldv6nM4rrK2k4~WHLVff8D|Yiij`Ju$-9r<6$uXl0ZT>c7jTF)63f+0U9~Tlk?{ z2K2~c?JAH3h&zptMJ=~`#o*}T0vGKJE+=FxL0KW!A>hd7vfz=K22ermRNQnT919gj+4EZXBTb8%HxVkXF2pnguLdFXVVUzxJz=N=Z|n}A`fVs z1Ve2F2g|kP7A;n|gWc2)xJ3W~ADciSq@lm;pz`>FD8Vq?RhI*MGJQGZrHZ+Hgr!jP6|2lPD|I^U481YmCwO=T^>LjJ-_X6k90kRcRsGey2N|X@G#aH!n1NarJ)!Jp1Se!>YaZWuIVsv6XUL<{_}h$j*8>xil#zpw0c3KJ5-!nG;F^%9fbV#sed{L= z?|}>>q*_l+1Om%H^-o6tIrA6xwN2qB)OSlW4}#GPp^Qe`u%VHCXiDW@QzTNhL&wo2 zj2;l`(OYu#?AcVkZehhEZ)H3g?yk6C+nR0IL{Ib~jeqRVI?c;t%8KvsS79a8srAY4JU5i(d%M)>U%hSc$pbj7b z9|A5psHcC7?{LaCPlj$kCJ|BK`orV&Ea+x4?WKWJlD+;eCDbD(KCE;w$6W>ZcEWuE z|F0_MfKPn_fO)REQlD6IzS?tU$F?FIc4&5^wG~^ss!kS_jn;&je(hr{9F@~%1O~)o zoW=3v4Kzr9l6KIBX)k{UvJ>JP$f+rn7XM1&9gE5e3k%x`TgC-5bf0c!S0?hvYfDHz zghi4l-RB?;fdYsqm|ch&?I2F&Gr@JRhf`7#kFBoYn7m_dxWBWd-#`4cp+p8i_C!+Dbq zP4^77=OZa^gxz=1%!;1_YCtO{fuKHHF+W1-!?Ns+uwlwVO5O+jS`K z%<6IlTbV={;DWJF1MyHq*AM0lfIz+9vimdRi(xdI`baJXU4xR{0TR@}1E%h5r>dqB zvgMq)$E4!r*-gvX53HLr@yM3(6|Jy>g@Rvf4S0k zLT~nz-amTRPJ%>@hn%7v13geD__(PCPg~Fb`fLhR(@S{d?-@Ssx>6l1 zyDdz1`Y54_SBc7XmuAAp4@pNiOwb4*_RM6a>cj>C>l*(QEuqE=*Z|8hlBaO{B3M)T__!k z)>_M%v==Dv@%GaoG(PEJ3Tm3dZ2GN=oSS{u(()9_9zEO;jy{W6ndgWwIAu$7|90Mm zcgt9Bxa9|WTP2j{6Nz&HEfUJgz0mP^cHZR+)Rt>Wu@c?5mr%FiySp$ei)YqoH$WmkZ_px4@<$Pk zUzHhQ)}maxx#s-R(nIT8D0|FU6}qF2G@s6p&UE#|MF7lt_HWv>i7#uP(DP@d&voA; zQIwYY%InSyeEj@V<65+f;~$q)d)4{v64+@LHf-AK%!wU0w~k1#Q=53@90?08VA{Os z1@9qaO(!Q?ml!w1eC^|woXxJDo-eXi2giZvaqFee+8$Aqk3U0^pIW~0_pFhVyVqI+ zmc9gAWvS1#$y@pyj41jwDapZ##L=$a7^LfQ|HsJ1=O40W0!p;{@g7n0O<~9&3F^M$ z#WbH6JwiP!vlfLO)Z!CAHBdd4;nM+GZ(xFaa(%tvJtp5IFz|OKx9{nm-fsAS7IWbv zk*6A(NhfcfxVg_Q{87l;cl94??x9BZ(|Y#0?aO}pv?CI*lMB@FtN@KocG;{IdWCCn zH|#&*sH^PMy?5lCVi#KOX@nJF^v2%j_tB?&!9lyyqW;YOX`1E#XZEqCVPc`4tF<+Q z@3C+X&EX3)D`1SttoJQnY#llf6_P(Hk>vdvAn^`fe@t6tUR6iE(&HyE@ zUpB#CzR{P6JxVUeJmhfKdOV4WqI_it;d)(f4By7(0N7t6UFGREwvo-tDyIG3kmXHcaL1gNwy}9UH`(rYrJ*XYAs~RZip{6wB z){d>M^wyu_v*;I+B|1WZ(bqayBqt~s(bLJff40Vjz%R?hm6|h0e&?Aoyr!r-90`1fPlExyb2%s zS^L4^3-W~08fVJs`?LE%afat1|Mj=e^nTE_j=djlHkh4yv}&Qps@MoX=8^>_`PcMG z12AbaMrUKvYDZFJ_wrmOvF!6Ry~6V~%-Xh31Cd^u)%?q{MX7{rm9abZ(!EQJkg$xD zR8PP5iJasAw07Z+d;G*qDEsb~Kn*-JLpq~=NM*iZ%BG`!q@qWUw)9#DB+P9fhS0JG zX6-X5?bokg?V$5LWFkN9Ou*yEk4-EsV~Iq)PlMZ6MDVnUQ1+aWZTJ$%AH?+H8`3dY zFvLaBa58ur#nz@$NhBi@Jn;3#b)@_=hw;z>Szhwto!9O+uqFzYVb z_Ucy)$PsuikVF|=gPI(WCIODWd?<8lX+5<{FC}A>c{C~TjV&PHvP~O!;FmyChd3G@ zg;sE=*p?l|iWegDB2XAf)m-nT7u- zG4r7^B1!d*I=yBJIb?BiSUt?FsH$Mh)(JP1fVSSxpFh(R+nS5=P)q~_f;)k|H{?wg z|B3q189K@3bqmFF)XYxhgk5e?QHiYh?et1kXD@B2tjD{T#XqKLIDtJ*D|_+0DRfNo z9X+@1m){SR^_E-<9RqDv?o2Hg^;#82(H8*vd zv~;dxdBxv$nLZLr2 zhdk|3VlW>I6)+jwPjhr@-A_vaR(u^F-qUT;Gi~gH~y=cM~$ZZ1iC}{T?jW^IIX5hC% zT;S6^-5ZQpqemB>LQe7-nwtS05>P#j{qmb%iK$d^U|#J<@$b15x->X#o(bUApHS(Yw=f2d}i2|o>bK?@?Dtf&!;C<$JL6;jv+N)Lj?q18Btq0 zJB+9Y{y+=|4=wuhYP0Yos`NTgeko0`tf!=x#U1T4gN7o?twJcZboQdQDjqokijK!P zBM3Rz0I-4M`K_*EGW_&|$5hczb2uUaBd>7z@>nSAk=4_)ZY-s7@FwFkw0~IILi@nL z`PxvoBJRjn#F3z$HHIgrM_rPBk?!E0m5BGO$vD$nV6@)!dR}&q>iO8&-^7dXl042q z)baM+J95(%C0@nX%d5seAv2z*0}aFVS_KBT=~)Ui zV~hfZ+D(`pb*>IWYNkWk-;;0Rp1Fq48chHm0cheQj&Hra_tc>h5lU*N-AYLb30j+p z-6>(b0Y0Yd9Y1F7VI=B&5(TMzuEm;Z#kP_CxJLx7#_BV4Ag0!kh6cyn6U6lxR0l%&axUA%qR1m7^ibu zx)=m!&qRnFYp0e@6}JnLyO-J#{;TgP9RPyf0jQ2@KqH-vn0pM+1CLJ_eoOR@A(R#^ zH|vO5qn3B?UPEIuy%*0n3Lx`1=*JZ|q$!(wNGM+Jk82th1PDvN74bwwAq!KpaJ6J$ zZ(_=(_ggJGkb|R}Y?C@a?*W+?Q@nh6gf1mJ=20xAIA|j51B+x~OAqJ{Utw}9+8X(p zI8yehb5qIkp*M;+n~kV?b@3DBvzE_#5r@n1MCcnRcxS}VL>|MryuWi5AZmI=13H!I zMOD3SD`GmE8)KQtE=tSr=E&LJwB+PVN8@&lF4fa&1G~c!t>o>SQT+HHgpcn7R%p3G zy<28EKrI`eQXbIT0TmEPFLOpTkPe=0cDaF|9qtlzIS-&q(ft*EY=Il&-g}dZAV_ar zL~5o#)rJLInVMoFpuNtcI(TL}JX7IooCmd~iuCe34nu!?5~5z`zW#_~Jee=dO6CKi ztMiRA4DY9)!O$6=e-)OLT!79>NKxs@Ou7*j8d@qQ3Nm)AwrIhBJs{)x^Fa+q60YY# zFF*oNr*Hc-X4?bWmzMYMkN!_3LBD3fV7rzZeKVUrc>^XMs1fyoY>nWapng=eAWZtv zzUx_?uM}yH{nf!T^b3cU+qh19CthOu(azl`nwhf4N>aD;$lBq}vc4w@sM4RML5sOB zAUj?g?eN!kHI2P%st?T!^hDH3jMcJVyx=18K=PcDmUcfU=M}WA0>%?wr-0!59Qzj&!U@b;9gA?_Opv5)&6sJa4AG}g3$Y; zEX4K;3VG1`4IO0=Q^RVPnzRfw-!uFU8KGd&?UD3K@pgKpc%@!_7tMD$P#E7iwD(N{ zMoi)I4Faq7>YrLMz3Y1h!*v_ND@ofr=*Xu-m7bc42;Il2)z0rrxW2~$mLr)O(M!e9 z`T@b#bGNR20xG@@FgmU&E8LRd?VpDVdR%F!en7@nW9omXtQ#GWq%u;1#6+?$2;;T7 z@-PtgMd%?s(t^-A4K*jVETiX${*3)aB2Q{D^GztmtrALAzd`J`_=_Gg&`XLvMHXYw z$^C|8^d3&oP~kTw>k#!$Ba~$IY(ED-evu=KDg#}{fW1P4?{m8E?dgFwyxb=g)05%u z2$EfR+^KnpE>QO9c1;kdyHqy*I4zraqmyuP5lEz08Xu=8((io`Zw=kKe26!VAN0G5 zYuKAn^1y)(mA0bim}|=Dm$2DOPOZ!S@B%X(`k26sEKUtXZ?qukiNbDb;g(Evaq5}0 za2n6q1G`-yZMCcuq*6NNt4Ex9#cr! zWq41Wm!8QuGIAtWUERv<@ageW8KYCo!srF@F4;TOt^9cgK;^QwIM&I{2`I&&vPzKq;iz>C72G4sG_1M{gYYYS85rR5bj>?hQJB-5*nuoA!Qn!ZWqs6 z#PL-OzF68lfrs*%9W`9Y`l#;c?SI}vWats#VUhJ+csca( zkp=fFrV&!enhZy>NWK#?%@P97MlCO>;_W+k*PyNwjug!AcD;_#bDBIn`~>Ctd7%>p z9m~Y|3DOeJ4vwatyc0KN9pADi6tcNSQ9xl^8z02S#>FMmo11lXxjc>@-3YX@H^HjV zV-Q2&692;7pgg$i396#~EE0NxZkGwir)p&fcy5+*eC34G?7%4|LKz3T!)_(+7LBc? zw>!L!+RSI7exVFnR=EM_(AA9%QGdekiF`;yX|K6z0#7(H^T8g3V-3s_L~Ng+RI);x zrn?_<(nU(G8A?j<3hev*q-q~>*C<@bz5j*V+xPENVf|UXQ>V6rFUsd=a>57DCsMW{ z0E-Z$^X7-%Dv!{ACBfa0x*;p@OW4E_+oqi$A`D+lo|?dK#K?1x3w3qhzt23x4KGvp zOv(Y!!Lv44kRH&WhaK6-cyx7#CI&0zcS#z5ewx;d<36NRqj)c5-oZB&Vg^I{q2C zOJvG!Q9*R_bt=|nI69gRC?Y!WkX-RH3B-<*d|z}GdWj+3*KcO$xacwawS@6BoaT(AWf8=gfLTIHNP{)665D<2F>v#1jioJ0HCz`uB7J)oF;*B&~ouqFt z^2sSA5VbN4*!aR7VY2W~g8o5f>l0GUCtTncG6 zJ9DOyWTe}Tf=qwcE_dBcs$1FJ(Xuw`c2yya93~`)B@FlKiS6+|;)N6tm<>3RL`3z~ z^OrhBhM#;!j&Fijnxa49eEvsjHv1w-$07ZdrI{pP*-1Tij!j|!;=^Oc>xsOs#SvM` zsC@&DWPA&WLs$1zx`Nvcc*uMFF2tqrJJ@*k3LVzviibv1I?&&Eg239~OU93G4CPVs zO#gf6JU819nT?^4)TTn5sr)5<>8Yz7MpV{5@GkTFBRWV=^>Rn#Odn#N32*k-XnxqDfzu3yhcC5l=(~ zt*!f&BGNHfv4Oons?YMy5(|b z^rI2Y%BvxKB8UL0{iNJDJWtw?Gdi0EReTZXM()H!7nem`l2<%(#`>o>6i|^ThU#`1 z8#i&FHjQcdnxH%SiM|@W1l$Q+j4`vYc*r4ko|7cr&16>=i0_QMMG)^u89LeIaYW#1 zD4Vv7!WU+d0w{v1gi~ZcZW0l7e*i#1HZ)1_4Llw<_eet5FpDrALwTldgZd>@F(vlE z5q1ybA(id;#6JS8&#rwqUz)v^l7qoEH1e>M<1ts?Oz)M#RIH0>Hh8j9%r=1Fy3K z3t_lw2X7q1V~j5gPzj4xh|fciu)0Z52~!iTZM!M+Kc$gd0pWhaVHQ}kE%?8EcQ zJG<&~fEDU0FicksDCkM>r@!q5#SY=LQ#p@%VkGus(w0`Gw~ZsY7hZ2@7Bf_qUnH{` z{$NFrqHY#=(Y84fcJZJuGC^(@K6doz)pOSET{P%%*CrnYa6TN>oWxu?%Ei&K7s_$l z01wY{-ouXol5puk*<~o3CIFzAVd)2UmEJ)|hF#qCsE6ex6OYtymi@K~nR_vt6}jRz z==+A14@Ny*`t|%HX=Spsw?@@FzwCnjNgCRRVOx^re%InAKzgs14@X)_+#ra*q_1rh zPU7r8N;bM<@7KhO-}ePoDE)z(iz~aPM&S1C+jpMAdeA?U1j$uppQO})rBzoat$`Q+ z`-~37F8lkr66=`inYu$tGK`|4hCP;Rb6T|LaU|N0rdXUSxS;=0%e6l>aYf;~3xZ@U z4;2vv0#OXMilXu=L{Ng&QlyG4l!qWr+o(kX)_|Z%@Wt{dFk&5~4hY3ZD@3TgK?np4 zii0?ifCwat22{iZLBlKClk{)sk9%kD-q~|!_k8Ev@B6MdMaZ=6&{Na5BPCf5wD<}C z$l0Y_xT+&GMH$`h(RysDKPq@)e0r=XRar>R6b`_WUGvZKfjhTd=A#e395J7H{khLdPysADrLz;mTt<-FwF9 z%M;O&JDCrn%i2MrotjGJ_Df6)Dy73u2dI?SYkeTgS}l&sZv8fN%7j#!s9$a5rHzmO z66|Y7OYa4$D;suWB#mCc_Q=#o2hNr)6y;bUZf|4v0VF$au2GLTItw$rE*k zaFpegS}_#r={)59$P(dva$@s5bl%iAd9(Dvq_<^*E;&Twq%{4*Y?2s+Np@E zNJ1cyl)vC&ayNmYsy8U`Ai#%2Ws9Ls1?J9VT6_mvrwvn{*U8NV+|YMdtNdr6gKHr$ zGz$*LYb$M0HNMheOMbN_P+pooR^53nqG~n)MRYs~rlWic`DgaF^!KOVCno~uF2aQV zDgXtQR>ce`7$pus2`+1}5`Msa57z+GL=M$vJH&i9H;hkQ)v|-ZG$icQ+%s8L(DT5$ z`=JdbWh7J+`bS4|=VFkINOZK30wr(|$Rp~0@wN+))_=EfGJ66(Au0%tyh3a%f)-eW z$xR1Yg_L`jLE6LYx5C^o<7!a_oK578(EiFA8c+8&vkhQZo z7Fge7lG_$Q&(#X(fJvzb6-gXpJuSXOATSnZQ^k<8*yH`q)*kWtaPD@TQJUpgA-$aN zaw9@+x38<*NvB$Y3RHdl!CW zGJBoKRYGrQ!iVYnm{`qStO2TBwQLEb-dYN}j;ta~N;c@6hJMX-(+%fYphZK4{7}am zkYAVZq#LGQ#NR&9!ekaCQNh8eAf91rq*>T zh&u}AMoim8N}Rs$a~h7zv5E~n6FN1irgwdMg^(3(ttH0$Ksb5R(rT_Zhh z6l{u`J5}!c;g#bJd}OPTz(DC&-swe`Sk|@9VM^yam6>l(w2Pn34LdNXkU4&`$bx*nt)oz>Und-?R>CXFz)hhG{-fR}uvN dzg&>sIZcrr|LpDf9$Y=qZofTD!H%di{{k_)Vln^# diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index 3d412f17..0bd0cb68 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -226,8 +226,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -235,7 +235,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &9435784 CanvasRenderer: m_ObjectHideFlags: 0 @@ -556,8 +556,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -565,7 +565,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &129013736 CanvasRenderer: m_ObjectHideFlags: 0 @@ -731,7 +731,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.8431373, g: 0.62352943, b: 0.32941177, a: 1} + m_Color: {r: 0, g: 0.62352943, b: 0.77647066, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -2825,8 +2825,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -2834,7 +2834,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &678553528 CanvasRenderer: m_ObjectHideFlags: 0 @@ -5782,8 +5782,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -5791,7 +5791,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &1345846033 CanvasRenderer: m_ObjectHideFlags: 0 @@ -5930,8 +5930,8 @@ MonoBehaviour: GridGameSelector: {fileID: 1154875943} Timeline: {fileID: 1861169747} NewBTN: {fileID: 1683100750} - OpenBTN: {fileID: 0} - SaveBTN: {fileID: 0} + OpenBTN: {fileID: 1665554291} + SaveBTN: {fileID: 678553526} --- !u!114 &1423699438 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5944,8 +5944,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f86858990a87c764892672104bdaef1f, type: 3} m_Name: m_EditorClassIdentifier: - level: {fileID: 4900000, guid: cbe1a43c8ddc790498fde2e01e66d23e, type: 3} - music: {fileID: 8300000, guid: 51af38323954a8d44874780ba4577fb4, type: 3} + level: {fileID: 4900000, guid: 4b7512c586e16a847a5b8490bf35e852, type: 3} + music: {fileID: 0} debugUI: 0 playOnStart: 0 editor: 1 @@ -6733,8 +6733,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -6742,7 +6742,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &1665554293 CanvasRenderer: m_ObjectHideFlags: 0 @@ -6973,8 +6973,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -6982,7 +6982,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &1683100752 CanvasRenderer: m_ObjectHideFlags: 0 @@ -7374,8 +7374,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -7383,7 +7383,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 10 --- !u!222 &1783491361 CanvasRenderer: m_ObjectHideFlags: 0 @@ -7634,6 +7634,7 @@ MonoBehaviour: SongPos: {fileID: 1567318397} eventObjs: [] LayerCount: 4 + metronomeEnabled: 0 TimelineSlider: {fileID: 770589360} TimelinePlaybackBeat: {fileID: 117889364} TimelineContent: {fileID: 1852819573} diff --git a/Assets/Scripts/Conductor.cs b/Assets/Scripts/Conductor.cs index 3d1c76ec..0a77ad78 100644 --- a/Assets/Scripts/Conductor.cs +++ b/Assets/Scripts/Conductor.cs @@ -35,9 +35,18 @@ namespace RhythmHeavenMania // Conductor instance public static Conductor instance; + // Conductor is currently playing song public bool isPlaying; + + // Conductor is currently paused, but not fully stopped public bool isPaused; + // Last reported beat based on song position + private float lastReportedBeat = 0f; + + // Metronome tick sound enabled + public bool metronome = false; + // private AudioDspTimeKeeper timeKeeper; void Awake() @@ -101,13 +110,6 @@ namespace RhythmHeavenMania musicSource.Stop(); } - /*public void SetTime(float startBeat) - { - musicSource.time = GetSongPosFromBeat(startBeat); - songPositionInBeats = musicSource.time / secPerBeat; - GameManager.instance.SetCurrentEventToClosest(songPositionInBeats); - }*/ - public void Update() { if (isPlaying) @@ -117,6 +119,19 @@ namespace RhythmHeavenMania songPosition = time - firstBeatOffset; songPositionInBeats = songPosition / secPerBeat; + + if (metronome) + { + if (songPosition > lastReportedBeat + secPerBeat) + { + RhythmHeavenMania.Util.Jukebox.PlayOneShot("metronome"); + lastReportedBeat = (songPosition - (songPosition % secPerBeat)); + } + else if (songPosition <= lastReportedBeat) + { + lastReportedBeat = (songPosition - (songPosition % secPerBeat)); + } + } } } diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index ac0cf277..83f070cf 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -105,25 +105,18 @@ namespace RhythmHeavenMania // GameManager entities should ALWAYS execute before gameplay entities for (int i = 0; i < gameManagerEntities.Count; i++) { - var gameManagerEntity = gameManagerEntities[i]; - if ((gameManagerEntity.beat + eventCaller.GetGameAction(eventCaller.GetMinigame(gameManagerEntity.datamodel.Split(0)), gameManagerEntity.datamodel.Split(1)).defaultLength) > Conductor.instance.songPositionInBeats) - { - eventCaller.CallEvent(gameManagerEntities[i].datamodel); - } + eventCaller.CallEvent(gameManagerEntities[i].datamodel); } for (int i = 0; i < entitesAtSameBeat.Count; i++) { var entity = entitesAtSameBeat[i]; - if ((entity.beat + eventCaller.GetGameAction(eventCaller.GetMinigame(entity.datamodel.Split(0)), entity.datamodel.Split(1)).defaultLength) > Conductor.instance.songPositionInBeats) + // if game isn't loaded, preload game so whatever event that would be called will still run outside if needed + if (entitesAtSameBeat[i].datamodel.Split('/')[0] != currentGame && !preloadedGames.Contains(preloadedGames.Find(c => c.name == entitesAtSameBeat[i].datamodel.Split('/')[0]))) { - // if game isn't loaded, preload game so whatever event that would be called will still run outside if needed - if (entitesAtSameBeat[i].datamodel.Split('/')[0] != currentGame && !preloadedGames.Contains(preloadedGames.Find(c => c.name == entitesAtSameBeat[i].datamodel.Split('/')[0]))) - { - PreloadGame(entitesAtSameBeat[i].datamodel.Split('/')[0]); - } - eventCaller.CallEvent(entitesAtSameBeat[i].datamodel); + PreloadGame(entitesAtSameBeat[i].datamodel.Split('/')[0]); } + eventCaller.CallEvent(entitesAtSameBeat[i].datamodel); } currentEvent += entitesAtSameBeat.Count + gameManagerEntities.Count; @@ -183,16 +176,17 @@ namespace RhythmHeavenMania currentEvent = entities.IndexOf(Mathp.GetClosestInList(entities, beat)); - string newGame = Beatmap.entities[currentEvent].datamodel.Split('/')[0]; + var gameSwitchs = Beatmap.entities.FindAll(c => c.datamodel.Split(1) == "switchGame" && c.beat <= beat); - if (Beatmap.entities[currentEvent].datamodel.Split('/')[1] != "switchGame") + string newGame = Beatmap.entities[currentEvent].datamodel.Split(0); + + if (gameSwitchs.Count > 0) { - if (newGame == "gameManager") - { - // holy shit - newGame = Beatmap.entities[entities.IndexOf(Mathp.GetClosestInList(Beatmap.entities.FindAll(c => c.datamodel != "gameManager" && c.beat < Conductor.instance.songPositionInBeats).ToList().Select(c => c.beat).ToList(), beat))].datamodel.Split('/')[0]; - } + newGame = gameSwitchs[gameSwitchs.IndexOf(gameSwitchs.Find(c => c.beat == Mathp.GetClosestInList(gameSwitchs.Select(c => c.beat).ToList(), beat)))].datamodel.Split(2); + } + if (Beatmap.entities[currentEvent].datamodel.Split(1) != "switchGame" && Beatmap.entities[currentEvent].datamodel.Split(0) != "gameManager") + { SetGame(newGame); } } @@ -202,8 +196,12 @@ namespace RhythmHeavenMania public void SwitchGame(string game) { - if (currentGameSwitchIE != null) StopCoroutine(currentGameSwitchIE); - currentGameSwitchIE = StartCoroutine(SwitchGameIE(game)); + if (game != currentGame) + { + if (currentGameSwitchIE != null) + StopCoroutine(currentGameSwitchIE); + currentGameSwitchIE = StartCoroutine(SwitchGameIE(game)); + } } IEnumerator SwitchGameIE(string game) @@ -212,7 +210,7 @@ namespace RhythmHeavenMania SetGame(game); - yield return new WaitForSeconds(0.1666f); + yield return new WaitForSeconds(0.1f); this.GetComponent().enabled = false; } diff --git a/Assets/Scripts/LevelEditor/Timeline.cs b/Assets/Scripts/LevelEditor/Timeline.cs index a0a084bb..981a6377 100644 --- a/Assets/Scripts/LevelEditor/Timeline.cs +++ b/Assets/Scripts/LevelEditor/Timeline.cs @@ -20,6 +20,7 @@ namespace RhythmHeavenMania.Editor public List eventObjs = new List(); private bool lastFrameDrag; public int LayerCount = 4; + public bool metronomeEnabled; [Header("Timeline Components")] [SerializeField] private RectTransform TimelineSlider; @@ -67,6 +68,19 @@ namespace RhythmHeavenMania.Editor }); PauseBTN.onClick.AddListener(delegate { PlayCheck(false); }); StopBTN.onClick.AddListener(delegate { PlayCheck(true); }); + MetronomeBTN.onClick.AddListener(delegate + { + if (!Conductor.instance.metronome) + { + MetronomeBTN.transform.GetChild(0).GetComponent().color = "009FC6".Hex2RGB(); + Conductor.instance.metronome = true; + } + else + { + MetronomeBTN.transform.GetChild(0).GetComponent().color = Color.gray; + Conductor.instance.metronome = false; + } + }); Tooltip.instance.AddTooltip(PlayBTN.gameObject, "Play [Space]"); Tooltip.instance.AddTooltip(PauseBTN.gameObject, "Pause [Shift + Space]"); @@ -74,6 +88,7 @@ namespace RhythmHeavenMania.Editor Tooltip.instance.AddTooltip(MetronomeBTN.gameObject, "Metronome"); SetTimeButtonColors(true, false, false); + MetronomeBTN.transform.GetChild(0).GetComponent().color = Color.gray; } #endregion