From 8221d88b6c26e2ac43d400f9a688642b8c8b4721 Mon Sep 17 00:00:00 2001 From: Junwei Chen Date: Fri, 7 Jun 2024 13:14:10 -0700 Subject: [PATCH 1/2] transparent enemy collider, swipeattack track alive player, statuseffect ring --- assets/heal-ring/heal-ring.bin | Bin 0 -> 181440 bytes assets/heal-ring/heal-ring.gltf | 142 ++++++++++++++++++++++++ assets/heal-ring/healthy-green.png | Bin 0 -> 20720 bytes assets/revive-ring/revive-ring.bin | Bin 0 -> 181440 bytes assets/revive-ring/revive-ring.gltf | 142 ++++++++++++++++++++++++ assets/revive-ring/revive-yellow.png | Bin 0 -> 38680 bytes assets/speedup-ring/speedup-blue.png | Bin 0 -> 38679 bytes assets/speedup-ring/speedup-ring.bin | Bin 0 -> 181440 bytes assets/speedup-ring/speedup-ring.gltf | 142 ++++++++++++++++++++++++ client/main.cpp | 3 + client/prefabs/PlayerSkill.cpp | 18 ++- client/src/AudioManager.cpp | 2 +- client/src/GameManager.cpp | 2 +- server/include/Server.hpp | 2 +- server/prefabs/EnemyMover.cpp | 22 +++- server/prefabs/EnemyMover.hpp | 1 + server/prefabs/Heal.hpp | 2 + server/prefabs/Revive.hpp | 2 + server/prefabs/SpeedUp.hpp | 2 + server/prefabs/playerSkills/Heal.cpp | 19 +++- server/prefabs/playerSkills/Revive.cpp | 19 +++- server/prefabs/playerSkills/SpeedUp.cpp | 19 +++- server/src/CollisionManager.cpp | 5 +- server/src/NetworkManager.cpp | 2 +- 24 files changed, 520 insertions(+), 26 deletions(-) create mode 100644 assets/heal-ring/heal-ring.bin create mode 100644 assets/heal-ring/heal-ring.gltf create mode 100644 assets/heal-ring/healthy-green.png create mode 100644 assets/revive-ring/revive-ring.bin create mode 100644 assets/revive-ring/revive-ring.gltf create mode 100644 assets/revive-ring/revive-yellow.png create mode 100644 assets/speedup-ring/speedup-blue.png create mode 100644 assets/speedup-ring/speedup-ring.bin create mode 100644 assets/speedup-ring/speedup-ring.gltf diff --git a/assets/heal-ring/heal-ring.bin b/assets/heal-ring/heal-ring.bin new file mode 100644 index 0000000000000000000000000000000000000000..676b8947821abe9e8313ce6f28c5975fd34c1117 GIT binary patch literal 181440 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 literal 0 HcmV?d00001 diff --git a/assets/heal-ring/heal-ring.gltf b/assets/heal-ring/heal-ring.gltf new file mode 100644 index 0000000..b835d20 --- /dev/null +++ b/assets/heal-ring/heal-ring.gltf @@ -0,0 +1,142 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.1.63", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Torus.001", + "scale":[ + 10, + 10, + 10 + ] + } + ], + "materials":[ + { + "doubleSided":true, + "name":"Material.001", + "pbrMetallicRoughness":{ + "baseColorTexture":{ + "index":0 + }, + "metallicFactor":0, + "roughnessFactor":0.5 + } + } + ], + "meshes":[ + { + "name":"Torus.001", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2 + }, + "indices":3, + "material":0 + } + ] + } + ], + "textures":[ + { + "sampler":0, + "source":0 + } + ], + "images":[ + { + "mimeType":"image/png", + "name":"healthy-green", + "uri":"healthy-green.png" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":5184, + "max":[ + 1.0174199342727661, + 0.017349302768707275, + 1.0174199342727661 + ], + "min":[ + -1.0174199342727661, + -0.017349302768707275, + -1.0174199342727661 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":5184, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":5184, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5123, + "count":7776, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":62208, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":62208, + "byteOffset":62208, + "target":34962 + }, + { + "buffer":0, + "byteLength":41472, + "byteOffset":124416, + "target":34962 + }, + { + "buffer":0, + "byteLength":15552, + "byteOffset":165888, + "target":34963 + } + ], + "samplers":[ + { + "magFilter":9729, + "minFilter":9987 + } + ], + "buffers":[ + { + "byteLength":181440, + "uri":"heal-ring.bin" + } + ] +} diff --git a/assets/heal-ring/healthy-green.png b/assets/heal-ring/healthy-green.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f899ac94d3af326f7165cb0343811bfc7e01df GIT binary patch literal 20720 zcmeI4KWGzC9LIm}a>h$E_R>K@MLep4RKen);GkDcYa+B%5wuPjtOyPUbO;FbsvwF* zv^Y3A2|6frCceKv0nS1o`#jib|ny%*uVI;Zks9(nXMZvX8sgpB*1vQn?SX^x(+&i_KPc|OwKuz` zoOUX*Xa{`HtBAAtT5b8eB?DH=lpXL~jZM!EZ^}%94$RA5JK#D_J_?`r_u4a)i#FH+ z$CzAr=R~<+&6ZAIj}>70(rIJ*`1QGZp>px^-^bFy(!t8>0bCNK2<`(mhnisko5?yz z+Q@m8Q-CsnaZ&CD$^gm$${>U;RX!EU0LlQ$0Lmbhh@cFh44@1ggi3T?&6bxbgZuMu zZ!dWPvLZaH8;%1Yw85~E7-I0dU>8Dli$WkY5E=-bS|qVb;xt8d!>Ef z^!!Nf3y`@!0WpA>#5Dtm0mJ}eQs_pt5!FUi8=-q7%Obi52^Vtiai@yOl3;Ff{ literal 0 HcmV?d00001 diff --git a/assets/revive-ring/revive-ring.bin b/assets/revive-ring/revive-ring.bin new file mode 100644 index 0000000000000000000000000000000000000000..676b8947821abe9e8313ce6f28c5975fd34c1117 GIT binary patch literal 181440 zcma%k3AiOik#!>qj?35zD6-k8z=((q&1%0_)wqD-h5{nXASgQE0u9Kbfb58ffR4MP zxS}#B4efsORv{yx=l~*%ivG0Xf~W%`j*jaeCvL>;bKyqb;QRRUbYy0{dYR|Es>+JU z{O&VOYv26+53cy~vk$%ey9xZnbx&(o+;`p5LoVL;@(kYLqEp)|j#)PM#e1H1c?SPu zjZ@o&PdIt*vTyy*Wf^>adrG@#(Rp*He)UP0W$)a}X7D?%KA~N_|Cg5@^P;`C&ENyiIiY>i0UucW z#fQCS+YE-!Mf-nwaOa&bRsXZFU2~!9uVNdM@`ZcJ6ls~huak3CUtJpX{ApTeJeFM23`S0=%esP$=uY1p_?Q+pqcgPoq8GP3k zr?#s^Uq^lW3&RZF^Nds4#iFlcez9_x!OPA(xm{oMwb!ke4>S1Te?Cd|^|dQ68)op$ z?>$lVwdmRv!wkOfloQ&8qOVV`y<(Wb&;9P3RbQ8$d+9KP_j=EpRbO9y<)y<6HlKsf zul8TXcFl#Zzlv>43XM+{+n5&`|0=dQEi}JXY@8{?pDH#^mLpg5vx<%L1LA)b@44(0 z)z>$EwOyCNOE(byi@yHp3)^)W{QLb+Zf_8M?Y-f4T?U`N{##UEJM6fm%iwcAaH8J7 zHh#*sT?XIw82NiH_pkHU+osFlFRpx(>gyL9FYYpUjgK9#`r7P(r*|3rvfm%q9whg# z&-`TTE`uNQmE)kV6+is))?EhgGx9%x{|vTkE_D4>Y-3Vre5%;SywLbpvCV0r`K@Ab zW|`c-oIkU$ak3CUtJpX{ApTeJr`~fyd%Qd!-hSg*T?YSV_Y?H~b<@RXbs2pAv2Rv= zt+n%6T?X&D^PAc|^ZJtNJ?dPp5Yo{MftR*zO_E zhu>~b?=twJA04gwI`q=hx(t5Fwnw+iMPHljby}Cfi~n?#>g$i&oz`Wr`5ch{Dz^IZl%|5=CY{p)|0f3C~mr_H}X-@g`Jeo2?X$Gz|M?MFpl zr|f)5m%(=(`1*F+Z65jLmo2=c%V6_4Apcct*IelOtJub*(D+objd`K*uVTz8H0AR< z3%_&3p9215uyL{wKdTs=zd-cm{GWx7`RCWGz7E*@M_mTL{F|?9PZ53n@n^Sn8T`04 zUZ?9Dn?LooE`yifdYIn7-oD-sy9{1%+@bpZb=!Bo-(~PokNP*&*V!lC+GX(W-+8s_ zYl}T@=`#4l>km4)g^;a=C@)MfA!{_j<)ujBvYrY?iwQ|^xg_dg5U zHJ5`|Uw;+bm=qeHDz-5%H2zg=b6RMAtN4f!f6BSSpA0rm7UE|W8|Mea|0+K7f`e6G z-+RV``V2nfg$L{X>&fdrsL$XhoPUt&Yp09W=rj28qh6u+uQeXDMxVjI-Sj}cf4#F^ z&}Z=e*B+qydhNY`?=txO_w3&;m*>MDyyI_O2LIy|`>DQudF)@i4BqwO`|0||c~}3X z%iw>xb>H>`dH*{2oWFD#Y(59%zl!ae3tfK|+n5v@pDMO7FEsvDY;#&@eyi9xQ;0uR zylBMF0)A$&aehGjui}mO-&^(d)kD_nGq~Gu?{<~kzxLf}y*`6K{cn4zzLtG$-9Cda z+;2}^pTGTY>+~7C&PFfQ``7n2S*Oq74Q|~-_4S;kkLfe`AuC_3?_XCQ{^&k~-+JAP zRA1k?ZegFn>ohOI`uWliAGWa1;A@(PW4#7g_*uoq`2q32iq|@8H`UkquiK)};Q!iv zH`UioJ8#iv@V+14RrPhoC7bsdeC0*Y!TQhKp+DHH&)^@Q_-ws@9d-MY`wafW3!bI= zTE6N@eFopK^qKm6*!<;*eFi`AHM{8g#=W~evCrT~+`g<`Ci;5+Et~ck{JRy)^!e~t zmu}i;u=yO2|0=d?E_D4>Y-3Vre5%;SywLbpvCV0r`K@B(Od41V#h+o`@@vg>wz25-Il61{&d-hD}*!M{6W+mXJ`*tXB$=AqlF zzIJ)&wtWU)_Tz0-Un_sSO`pN$b3p#9*si(UyZZX8*v6#L_*Aitd7<&IVw=-K^IOHn znL_-jV&h~Xepaz@en9-M;&;4m3%!5+(^mt9IY5&*0N8**i7HQzH!lW`V3xv`;+zg@b(j*-DmLOtDdC#`r`|p)o1YBU!JJv(Mmr zc6(xb&p}(yJ?S;O^cno_TQ+U)+3(9sA9?$-K7)UL>87f$`&KOLGuV6%$bS{vH5a=6 zDz-5xG(J^qV_s3*S)CE;Qu&mVY^VC59K|n z&)~=Hwot!+$-7sd!RB*7{;T-P(e)Qxe+Ju_l(konPZisk7aIR6#+)vc^?9G)S=cyJ zh(A?qoGir8DmKm!TA>U z59%}cZ)>cf_pdJ=^@=`&&ubT`zV6=iz&?Xteed5J#BUsM?E!rT-~5ihHHbfa=X>_= zGx%r6{tRF6xZ(n@| zo6iCHuVP%Y{Cy~X{j;!*NulwnVjJ^9<6p%#r-kOXij6ac_*2Ek$wK_BVsIYMhtB_5 zc=48(tG*<5qtD>y{NXbAUn<|R`wYJ0Kxr@flJDew2Jifq6%FEh<=cCo!f(8^k#G8Q z@}0lmIe~w0$mdmG5=YQy@b8v?PW2^m3VjAY>GDfdUt7(;q0ivccfO=KMf4?c7JUZ4 zeBmW}|B~2^K7-BYfc#f6t{Iy0>z{>fObU%p72B8>8viP`IW085bv)uvA^udcak3CU ztN7W%f5dEn{~7$#8_#NxpYqA~oX}_Rtrwrw93=XZIIKQ{AGY&Z4dSCD&a2Phhn|0? z-oGS{tk2+b)fsyKk~p8dY@gX=T+zuVJQUlM26XYgT{o~HVeIKDoEH{I*B zMq(BJ6yXHdIU&S^ig~q3fZOjXee-+!D7MkBGHqI2{PZb*{3-Pmxjq?NIe-;1N zXRlp?^$p2g?lbt6XMS_Z3elJ3arPPfs#jgP1nV1;C)#K5RhNHh$wJYW4nGWhwDw+wyZ?^_0cUh?Dww>{*dGq>-xOh zzcToflD73-eL4SU;U7ufGU7KrE$fFFe1qgIpCbCg`e6n?Sn`%{5Pe-B>xUV>qv>;$l$eqep|QT57#Z-OX4>&c!}gK zLtpDj{6+?UK=Mv;|9XSOZ)EVDlD7@|JadL*frJcwfm|#{Fwci9gI>^Qke18En^F z==!VJ#-z~rRI!bDq4BR`%qiZve12zP<4hs`RIzcg5I?KfI6ol%S8DjSmNh1_-4slmNB1uw8YP6@be^Z z8TwjZ;^#B?8(y#=|B5D}%3>yiKehUM=}A8GN$jEkj@bD)}`Te2C;NJ(y2J*8q_!pA541N7x z^1m_|K1IKp^OeDN&4sSNifv3Z=PQG4%nOZw72BK^n%^om&J^NL6&oiD@w1A-dAxHu z|7YQyC2tw;UyG&8;4>s|8S5J-N}0irlDuW;Yi%hr_ z;5{X88Txvmlo`B@H5a=6Dz-5xG(J^qV_sfPU4>B{G5f2^8@046+c++ zThQ0P%Y7_^uaNr|);GQn9VhTUa^Hf!&XW6B245lfE&1j?_d22hh^}3^4@g{^d;|M8T>7I z?>bJ_4<9SxDN@M*Gc_)&R2{1;hA%;1e>-BA7}%q^95#0xQ_0y-L;*GZ;RXiN4(bER1WGzYpa%cKx%kjY*;LsbU-R zLgQb>Hm8N=w~CE3h4@p&#>qnbtYYK*fcRg<$H{ju=SV0eD{LB&XVt78T@?t?gf24 zS-yj1@JaIB2;Y~ne{Tj~EZ@DbzVQuiLgQb>m{YuS`TWkp#-Bp`sbb?~A%0dd@|K1F1MokCkC(U&=xa{m zI5PMuiQ9m__K@$`8N9W`ZQ%a(Tlr3&!RJfd2K4nD`3|4KPnNh1=<8V$yOF{BO56tY z^;3!C$l&Km+y?aZXNlv;;4LL?1Nz!Z;vh2k7>V0}zTPfz92tD4#BD%d2T2@92Aj_T z`LANT=0ewB#Wp5|#;1yH%nOZw6=P1JDWBh2*f>+3y_!E&Y@95_&nh;~4~YL&jJQMS z3$ce8jJT^)L|=%*%3#EG-6Q&1Q{ucb7;$3@MPCn+IK&J_TpIL+IJFE$-YoQmIJgW( zUM|+>uN|GAG7}^37y5e5==_wK7;%Tt7h(f57;%Tt7tT+~VDqVGrerX#U-rK$e*Lqs zjZdNRsbU-RLgQb>Hm8N=w~CE3h4@p&;3U>GoS(C>aehGjui}?V-ZJ#{3yGu8;AcqO zyuN=)9B~HUD{=E!-#AL*=ri~H#m3J<{H$W*|A6>k#mHMm z{@2S_d~an2BX1M>`tu#%TbaSg3&s8Gg7vOnnZd|Ag}&B$-qxiW*1w~YJOmRo&n zWd@ti0r{_DyXHdIU&S^i<=hL$<5R^p=7q+;ifv8{&2JThGmGW^<@}k2jgy7=S;fZr z!7H}8$@yQ!e*gNM?8A}4(67XVEG@DRM+W2X!wS*Y5wZ_Q2IKFKjLF>LvJXcF`~7Qo z*@q*8{hswX*@q*8{rYs`n=>8&u1|1U(lE2F3)GM`5b(3 zwf`#i`xjk*sbRl=(fE`a_WKu&f2m=c(?auG#eV;C{>b0zQp3i{Lj0^^}?30wi$os|pYh&4mDT9$$yioM@G1*5dgORt4{cUcNeWWrN zKIQpy;QnV}yXHdIU&S^ig~q3fZOjXee-+!D7MkBG24}G6hVy3@Hcl4eXB8Xg2gLs> zrZvMRgRy>s^$l4+X)+k=Gk89fJkchDea%qvP@4>y%lM{@>(5{tlS1QD#WvegE21_VLYN^En{@RczN>==!VJ#-z~rRI!bD zq4BR`o6|z`TgAqiLj0*><76RzRxvn_@5|2rS@>9s-`G#~q0eCZX1(-2*@ruW*O&MW z=xbBihdzVx{TiCT&gDw66@f%GBQ_Mz_!HZVMZ!{SU zpK^ah%!c}(g*|?QuD{foSXxe!HAiMzJ4UC5jQ@^Y%};;iJ!;%;kt4T zSO%NV0r{_DyXHdIU&S6jPvcW+7-KGf-w-pe<39^~{5;KXsbS+xA^udc$IlZ#OARA_ zUid!%|1%hQ%ea5NUCy!0;BQLK7xZ<5oa2|l2U`BuDRNF=1|#nj`jR}u!C{3yx)S}gj)Ig=TTb1R`Q$z5(U z*nAGie-&>wy8eRe&tMyqLgQ1#Hs*!Kzlt%ZSkv(NorS>}+_RiNv#@cp5I?IJoWDo( z<@}$8DQCIOV9Hr;GkBrohvNBA@b+H<4LVA^w|&0yMdqs?I2bEC~*+H<4L zVA^w|&0y>)f%h-jf1}M{+H<4LV7afTzGVN6HiK!;jW&a6&y6;N?;h9ru{dZpV)sR#Kw8-zv29^V(b}( z{cU9bs5XOb&m8O@)n>5m&x8G=+6<;WquLCnJ)_zTe%|W+quLCnJ)_zTrahzD45mG! z+6<;WquLCn{iEDJ_KylN?H}dWkNu-Uj4?sZm+T*<<1-7}m}Acu?_9EusPj7u8)vZRq4TGTjg#2((D_-#;5^>BWF1lYKMT{I zy=?~5p1o}b)1JL;2GgFsZ3bh1R~d8c-`i#|?b+LAFzwmfX0Y$sEBoKJ8BBZjwi!%& z_O=-epR)fp_Uu*vv#?z=_V4xUuVUK2*T)C@_lB7E@AdJ={=Ff#ImMp6KEG8=`}aD3 zuzzoeY5!j5C-(0RG40>${Kx*iA>Ly3{_|}H&yDuqUiz)$-q>dFZKM6Y=eGUq(QO7V zk-XD|vVJJv;oB5mz2|(pB!O+ubL>CgW-#qJ-)6Aw-;Vv~+YCO{_MewHi#CJzvHjQpU3^tzw@?XWY|GZy6_M#6l?LY71gZ<}2Y-5i7=Y9OE*ya>_&ink<@#_8Ol|Oj@ zaxP87#>qnbtYYK*fcRgdYJRg4QJtwpo{8PzW{-~_a-?jS*Z3eGv=cmZ|wrvKl zW9O&5bmup<8GMbMpR)4n$F&*!T01}GK!sI1RRoN}AN z+pj+VtIc4EtM>E1+6<;MzuF95wfg+8HiI{nyk+Q1;?Ua+{-oqBFB5%9oO_$Wbmmu^ z!R8ZZe!2fD#x*0p*ROvTwlOJRTKOg)pDLy^zkK|07FdXFPI3O1&u#t%PlS1QD#Wv=J#=nYfPH}#v&u z{-RUc4F34Ne_bNa$vA(x&ETJ(v%=3`ZZr7iwchFHFSi-|goS7M`O9qvU;CJI{ru%N zgO@+!ES!(LRPv154Bq6gr~3KJZ3aK_t!LqU=K=g@uw66GT=wg)VjB~jx$NUp#Tavm zPs5qZI{ve;%_+`Y_W7-1;|$JUcK%c`IJrvnC3(!s&so?wkMozE|5bdvRqHP8@lD7=Z zTSolhW4>}+o5ALDK>n-PuDQ_lSFw#rq4B9=8}mZrU&S`3<=oZtTgAp1edo$x<76Rz zRxvogNZ!Ak|FiH7H=d>X`i!g}X7E*#x4BI8^;=m#%-}!mbe8JtU9vut!GApO%trp^ z%)Lz34>R}@$!mqaz9j318T=B-n}xnkll8+4?j&z{x#&ysblVKxU-EvTug}Q(VFo`& z@`@3E_)=Lv%-~;3-ZJ#HjjSJLu=yO2|0=d?E_D4>Y-55mmwkMy*v7oj_*b#bX`%V8 zV&hC9{#3DXvJgM37@R*y^yU1Yg}0TwW!%5se8n5v4Bl1pmah63(apGkN8uFKUHj;EX2<$2IoI2`f~oy!Y`7%W$5epe|~+N!FNgCviMwjfPAyg z;Kxhe@<&Bq8_GBF3_e-%PNA=(g?2EYD4Zc=@1`hTx#GuV6%$bS{@GrInA zvRr=#+n5v@pDMO7FEsvDY;#&@eyi9xQ;0uRY@95_&nh;~4~YL&{9VaghQ7{{_`?i- zlH@HzUuQ}DRR-@MdCMzAUz@|K~mFG&1Y2A?l^%XmJ#TjJ9)_z=lkhQ9t) zV%{?Ndy=;deIdRsgMTV{zl%g)h}p~Fb0lvW&xeQ)%-{ngZyC>ra{h9g!RAwA4l~%U zSz`_}*v3R-4l~%sywLbpG3FF8hd#fvuyLjkf2!CxS%{xiY@8nu|EqX~VwOMG|+7s*@3^WnJ?bDqKPle}f<>v0m(p26!#-tzI1|Ml%hyr|7! z^Ep_5wf`!%Yc6#CRg5u_zdyytXBM_GFEsvDY;#&@eyi9xQ;0uRY@95_&nkY2@L#@9 z4Z!~lK2P$Np|5{BYqvIoZ<4&_E1)mQf63s}C2tw`ul*#aCWBuidCSn(Hza>2gO^L* zGM*1_m;9g%K3wvap)cedW$>KjEkj?(Z^~fFnQF2BhUHJq#Ke%e+$slMi<%-}akt|s(#wv-wCV98s?_pirDnZe(ZTvO=l7AZ6M2FYv1{p-h4 zX7KKkD+_(?BV`6ZMRIZRe7L=o8T^|ww$=OBAEnITXGq@iL87l+rOe<uax^1_CGvS?qeDJW4UiZUq{J( zEQ9|b_bupax!lJx_y)OeL0^sB$1?bdlJ|@CjeF%jkin0T`xfqB@0a^n2LDd(ThP~? za_`Du^En{@RczN>==!VJ#-z~rRI!bDq4BR`%qcYG^E(S0XA1GBij9+n_*uoq`2q32 zir1I-F6iq@c@N9rugY^L-oIWc&!HLoF?sKTzMd=ZVHx~EdGEsg>lgAKmcjol?_JQ> z59K{9gV&SyF6irp@*bAK3*@~E`ue84XJqhc^4iPW$=H= zdl&Y{-bCKRGT3|$$bS{vH5a=6Dz-5xG(J^qV_stunaz4z8m5G zb*y|x%HU7QcQ33T9xC6#GI#^|?uF;WbL2Z%2E(V^9|!J#7Pf0Hbp2I~F_HL|;^Q+5 z+n5&`|0>3u;+fFrcNR9z6yi@68z&3#vx>oad43x>|7T&uZAg6YiX9}5BZIG&xDDLD zULfDGGx+Hex3Nm}b*IE}WH7$Fk->LK+y?ZupTu!wu=yO2|0=d?E_D4> zY-3Vre5%;SywLbpvCV0r`K@B(Od>Lw%wReHqFpHZ`n$v-X0V*Eq0fhxkIvVaiRJtb)z?0w^E+l@ z#MMDxSB=h3nTh4h5nYpi<>>s8nHYJ+(ANf|^G#;r#S(WY`yVd8PvQ_W*!&O3e--2U z<@;Un>z{>fd-z^cieE2jsts?V1Z+ ze-+!96dIo@wlOa>{#9&qT4;W&*!WY3KUHj;EX2<$2Im*a^P%&97DnC|^!4u1`IR#< z@?MsUzCJoSzj7u}St!-S7CCrR~ix{{0-`LU_WyYdN?-@zQ&moi5vWp74>*mXX@kBv`H;|A>G@BlwH{yohL z@F4PI^V<_2fJ@{jYH$4MiHE?>s|VPPpFQy$*!lked!&~;-}0t**EQyv8xLBuGu#0O zS{okrkA2#Y9==xljJMz6KMPtLvLEidaNP~s{_y9wM{V=*A!(#Uem;KvJDVr$a7=sa z`yM|e?Ucw*)c)Ito-+K7=|+wrjgL3}4$WIArg6)>LHw-`{N2U;e74 z?F9?JG|!rf>?kD0=0l{+RywuaEhlT8sQd?TtS@@ldrE*^Qq)@m#eQ*{5hn?^7>WV|jbz zolBdQ`@XL;+yS#*xbMfm@#6NGqObKHa(c%aVL#mWZ9A^p{#o?3;Pz*9tdYpi6Q6%> zbBpNfnfI+2vUVarQTz4(cI@zHqOTu+>O*s^smQ+7^;dRBh`wHV#UJKbQ;~hwmv7#0 zC-<+1-0+fyH5J+4|CW9F&E)y;EkAi{!LGF^_NSxkLc^({Woe@Q<1&fbkqKS<^J`N6V7Z{Q<43B-5&h~m)+C6^S(LFa{56O5*Iv3=bMxL`Z&*`oH{9L74Qt2zcl2{rYg78FPVM@8`n^;c!y*9!NQ*mSv!%RsJ-#0CmyQSBD?XkC!VX;BKs8W=zZ$w z9bVD?{XuihF8_9CXSf4qy>QLFa>9x=8|0M5UOE0~lVNFH$pRaRJzmDkZ%9s4AVNJ2!aCiSU ztR3^;(a%+_P3fyTwd?Qc_foAzer$Yt8aLHip^6ZwhS8-IG@ zp=vF%f4AMGefaCw>hIou%yZRRWS^oPy-(dSw^#e8zb|dJ-C^zCa0kqK;l3Z}c5IJ6 zVy*Vr4esh#BkYI!eskfPs;~E~@#&5=68R}lIKFwmJRcsn(Iy>hC-M`u|HN1K8=fcn zdgZeoKF^wp?APpeNq3v9Z!CV>{tas?vVU^@b^2f7`S8d=!e;lKZH^ALGHynO3n#~O+Jd}#l}nycjg zb;)CwbgZ4oPt<0{;6e6MfQJv!*lz)8m=m>+k9JQmsXPY>c~PxJer$ew;)7}}@)NZ;{`AB{)mmgX ze)hz3)mmhqq8+_YedC;++dJg@*Qy0u_MdqB&h7cXSlV5(#+I(N2k7pbA70e{R^Goh zc-lHWYlQu<);{!=&$@<2g|G8z$nqs@*?*469JLbQmpQ~D%(pPnA*Wc6crCN*p*!c7` zZmPA&kBxs%^P*ad{Mh{V#0S+{PzOiVNFGL;a>-R36JpqSZk48_^tX9p0=#1$S#^ueTfcQ))dCqAgwB0o`k<4;dKRINpJ z<0m-oJXftncGeE-MVDSeyPuga__>=8*7dIa9_C}>+_-9yE@iL z4n{Z*ufn{cSgnd9GTE z?5rKui>zhn`i8tS^@clO)(iKQ_q_(|8}jaj`{h_`?1%fx`(%UlLwWbY{dlak$dA0o z>iUMfdv&ax$WPQ>-k)`SL*BjSSyPc+-p_S?L*Bg_)>LGd_x}#-8}jajcd)V6BD<_F zbXebzcdwQ;#dcYz&@~Ntf0}5+n&LKwJGAFEtR3^;;pcLD)(f|{>+k9JQmwHc?rY=I z)3~YDB0o0%JD-lt?OzQOvu ztoikZu}<$=YwoW*S(k6HJ}+yB-d_8%URZ0g9;*71wL`p5jqxUa0k>iWE_9d@jp z$WPQ>)_)7u=Vk41o;4NOWqn!K=Vk4%VNFGLS-*GhBd`)40mYHZCFRGr>AjKtwnxp z{Ck=g)mr4o=C>z4sMaDsQG4T0PdrquMRwz751zB8*v@+4Hmo)ImfYa`vV61Z4ddI_ zgm&1^t^ajVvxmeVF5mTe-d_8%URbm8J+Hy{W%>4n_0X}_*bn!W@5=M|zAWFqI@V6) zCu%R>FAKge%eSw2)>LGd@1y#CS-yQWtf|N@-(Nd?UzTrQEo&;W%lF+5-0^@J(61Urn@OO>rB;9olmn){*(|@N>C6>xJ9f_4o99sn*yJ_qFlqY1~w6ksllX zp5{fh7WuLH?THVnwa8D@-uTlK4^?ZC-T2vq=d3BVvtGCj>qTOr8pKCQ%tdb)u^SWG zVLuWt(jY!cVmG|K_GP`WW+fh_L41_NZs2>~SZnNu`$}BYJmRAycB5nMM1G?75`R+= zA0@FH^Q@`JF7Z7>#79Z&hUBTO)>>qj_@NH*Q4+g>7>=>lBD=&Vb%>9W*o~Go#de8v z>JSqp@fQe6PeFdVB55dST5wK zqV^I$S`gnWv4``lsmLzzsYAr~O6+07nu_ca|JotGS7HwlgE-b2+a;#9Lrky48&0%g zO>rBE)9nz`EAfLZw_#0j8^ayia~sx?`R{NI+@AHq?d|$|{9fFb^}>B^e0mx;)f)TZ zzBc|n&5LR+@*{D*^N8=2*hA-oYAx~;wKx9s#6#6uWWVrZbImHz*M67p)w8D9&U)cC ztQW~eX^@{HG4H)$#LiD>hy6&r{yg$iBzE50YhTt2YxZ|bK0d!no)3Tes0|Q*JnqYS z;l7fGFpvBciJk9QJM4%1M(rj4p&&m+V&~^sQ;}WrD~8BVk=Xf$H5J(oVe^2wGT8sSH{Py4jYbWv(wKx9s;2~>@?Z(d@+~zi{ zDQ?4h;Wn%n!^r)b&<^`Sz8Uf>CI8IZYhTt5YZm!z$gh;#FU?8wzN{DS z+g|&Ex!dLa>!!Qk)p1|e5%=Zx+y*&&$gh;#uX)x~WJgXQ@+&3xt6@#C9eIYxsg!&# z-$eQ9d$YVrKrQ{|ePi(A5))covJ|uD~C4bAgt=eQwaT~)O+H)J$k@@d%4cwl! z!|m<*d;E^vm-WJZZG3u+8~0_sa9hV{a2STB*j#6Be50jusJeTjYO+Tp&e5$-GYLb@CGWxa4;C~t6o?O zY+ruxn%(bzxwKjLlsEN;J7DwU_ph-ApL+Hk!&k_A*{Ofs$J=XPyH3AWcK@39XGONNcI0pDxQ+aM zp7&=(Zo}H)HuCp>-k%$}4eN{B$o-}9=SFVB`r+9m-+YSM)=qEk-qHu{kaj> zuYFk~+}FlOpBuR^>qVX`FkgQE!rwa86!(qVvtDd|dvJs8tPyTw{LyDcZo?YkHpb5$ z+~zi{7jDCPiF72-kR7di0PDI3Yk~X9J5)#O9^<~O1@0@)x1Fzha9`E}a+rOsgZ*${ zntl_t)w7*7!fj;zt?{*bZo?YkHi!NCea$hKZPr|L z_j0UbjJ3u(;x>jmw2yRT{&n4++p`w9uU)^c+jC#ml#QFOAL4J0>XG}hres|g^X2P@ zV@c=19MDUDI4WcaE%S?DgRz<|98*d)AbE z|7wuSjBloqo%JH$zZ(D69NAef^8KjsZ_R9Hjc^M>uDpQt@+%6OvR#UeXv z%6O>Xzal&9#rUb;n%T~J;Wnln)k~zKeGk2}yZBd2o0E5ZMQ^wRW-V}E`F`Db+!Xg^ zO-cMlhgd|!sIVXI%bJq-jSjiYh>eN-u%;wVW6oouB0o`k)|A9=G{|K}%ui%zO-cMl z1l0 zvtEp!8Y{(i))BX1y|5P8E-_R+@|rFF5Ln}WSqt1(;;%Z7`{ll@DTzN+eIdq@{cvB_ zl*Au)$Yn-sXXJ-9C2@xH$XQ10Xyhkq&zh3>!v?v`h*^#7tSN~$Yn;3K;&maQ>@v`DT$MxN6s>GA0j_dd)Ac1&o{_rM$ScKXH7}`eB-$)k)8D-@#iganUOQX zcGd{Dk@)r&xy;Bz;Wn%zZev*UR#*$%-u!Fc3b$uX+3)4?^Z1*fdgQ*W1sgYypU2-E zkHg3Ks2|pp&6mf|<8PX3ll?^PC$ux-Ne`YxcGi^f(BtRzo@H_M;HTPIFUE7^6Kf8$ z+(%SvY@ebX)eCFEu-eyt@Rt2SYtA*Fe(TP?;SQKJweHi`>7ORKD!;pM5%O8adgQ*W zDarrpkjso5x5y9jz+F?4|J5Ov8M$?lAJ&xQdCend8M%9rpQt@+O7g!N$`NT+7JLdXfCE7P-vGd5r9=7s=;pk;{xcO185uxQ$`W=VC3`&-MH-Xx4Mb;NSDV z##*r7%k#hRH^KABaQ*6swP54s`Cn80u%>LjJpT)S(>#w1zs8zkJ8Q>y-h=0neTsHeFRTUD5wrw-!DhGvW=$ct)AtHsKiro!1zq`G0g)fp z6m;c#1w?*WQ_z*~2@v^-+OwvhE8i<1va_a;>+5?3M0VB`bme;mM0VDT>dN*CU_0xG z+Zfh-WY(1ZT+d$~Yl_>mrtJ6f{N=Hx*bi&U#?AAW@i)iwpfNt`hc#vM<@w8FO|hS- zJ!{H%qIu1cowZ{;^!#OT(({@Xqb+O7c&_=&k$sAGR4=Rr))AfyY2O=tK2(j8re1f; zR{eJ*7woMUKG-#=dgQ*WDLfaB_qqxEu%?i+id<&Nv&7y4V{Nh@))bx#eNUUnPt=|@ zh37)w>n5_ZrjYCFd)-8K))bx#eXpCy&U(RfA)XI$zhXPMk z%I#TG_IvsM8>%npmHn_5Y}|bRjj^WK4{OTi%lF?-Z{VKd`*Mu!Q?#S|Z?F~&`~Fe7zJcdTtZ`s{1DG|nsO;Ep z`^L4}Jsx+LK2y3Lt-bE~##+ELF4hn6EFAe^O?`RM@!bWYuiGEA3HHWWtxfX7n!>t< z@5vVViQ2QK@P6)lwMBN;6moriueQj}nnEtI@6{IBSua@E@V(mD&br_>hIKzE)`I<9 z-#<#9520CZ&swnG%lD7c=R-VivLDuhjhpWug}*tz4;98o{jjENzI^{EeLlqVCi{un zv!;wEJ$Mq?C$ux-kMAF)&xd$^G=8d`HDx^S!Sl#IMLVh&)&lDYIn1>0D6sD5#+s6S z;diP!OOW04;o;77W(R~pkJ8Q>y==&dnld37Uv!;ya zy4PrApQ0Vr3v0o!@88?gzS+RKA1P}Jxt;i?jBf($2l>z5mo?dl^nlhgB;7Md>?HCVz|6bJ>{^qltHDx^4Z?=(rigr{l ztOdhrM=TWLqwtN|a0kqqI$UC*5EF%O+U$q>vZfG^g7_$WGmreRrjWDhXFWuISX0P} z^)nqJKT&(u6moI>tcS?XnnJFxpY;&gSyRX*_Ol)$JL?7c$$r)Y+gV54#<1=u&ziEI z>-*1-HO1{&Q}%oL{_|r^u^-lgjhpX3kH0y-k3Ggm{jjENzI^|A{l1Lv)$Au~&zdrx z^oZSv?5rK*VGkZgcGi^f9C?<`Th$udr)Wp@!dhS*A%~gHEdti_AXrn#?UWqPR&vW+ zgQ`dF%bG&&sGn67`C&~VUenJiiu|yqkQ3`?5=DNZ_N*!7;`&)dk)1V#Twgz{D6+Gr zkW1`m6-9Q|3-XiwtRl9vF1U?hJr9MoU_aN-Pl0Cr>=pR;^HauJu;0tiPr=^=KZga^ zuYOnyHg0}?%2YqBDVr}pKLvl&{2UgHzxs*Vv!;wEJz@_dJ8Q~#sIiBUowZ{;@4@rP zK1DmK7uJGdKmV(zbN7JtJR{Z=@;v>lJ@$kAXYb3J(%ezGe<5Z$^23@!z5#Ml5EC8w zVND??7WpZNxsLoq?O9XE#r3oHB0FmexxRkZUSwxYA(zlaY6cd@r`MF1U^14((YB_H+IGN@&*4zJz~m z&swnG%g?XG-vmDg6W6bPSW`A`etsqX=J+|77$5b+nzH%w^DFT;&CkKa_^Y3&J!{H% zqUTyhcGiyZP|vT7?5ru{r=MR5-uk(g;J@0ZXh-!zTEO|s(=_FFZBJUjxyfUFQD1Mb z`XWu?+~l#osPBXy(iF~99_x$xPWWL>5gt(A2|v^Z=P$b+asKaEQ-pE;@>Dx(iZIR{ z9&3$oVNDUn`N(6f5ytt*V@(mBWmk=mzTCfR!TbZep9i$JYgR1~_UnIuAJ!CMABP9{ zu`&1amoff+{_?dkZn)3NoeMNTCl=H{WUj`@r{AI^DAKbO${8Sx9cH=)Z;`~>= zASW4l%91Ol`No1f;3<01zR2N3p0ebb`Oj@7r*oeDa9=qSwzu<_=UF3>AG+_%vqmC6 zbU(tG*JHgzexmktpBj>;N@S<|)R1))+37yzoNvJM$WHeu&F8oK*O2XW|C(sS`l9=n z|6JAAl)li~knUgpdqE>5@V@8$be}a_$8fDZKzGRDM4qzbnKi5t_QP7E_ojw568WL` zrg_##k<=fSUdFokJ@?DYQSJXEbkcH<}VfSu>6wa8BIU#=b18m%8Tvpp zKb-JG>xVvWSoa%7erP?==L_qHCGr!sr*%T-3DytiBfIfO_uynrMRr;zbe^l$BKs8W zs9xy1mF{zG-;rHwSZ{ZX_56muTTN(<{jk>PyH&#)iTu!aD<3PIbv_^Yq3>CRwG;V? z+S7Ngjx`n8={r})nu_f7oy)n}fUA+6zH?1zitY6MYoZNnhrWOL&sB{~>5H}cj=q2S z@1>HC-ST=yA` z?DYL>LN63|q31MM9F%LVksM9O`0m_L+{J{}*bi%s;w~E2NaTm&E*jQI=AZdfCcABra&vUVarQG1Fr>{wHgo#G6gOD#AV*(uJ@x!Oo>vF0mU ztnY-K;tYG%8rv!UaH0*xO}T%>^tykX!zQv*{Gszu&l`#C6ldr>S4~CsDcV7t zVMForEyV!4)(`{l81cZGt8C{l>lt9KHTJ`rrMUNoHDYndt>mjs_@TIWA1j=7-b8*V z9)8H$iTp(EDNep)O+|K!lXouZIYp6u!__${J!>tpTWmaXQhL@D+YKWRWugu1&io@M z#ec49ZAxF&8pY51@1+`v{80S7j~n9WyT}j4!~1+8etsDFiP}?~yz@l07TGC&-g$_a zUgwpbO~+cZ{El97uUghrWS^oP)eFvrwey!-!yV3_WW8`-_v9U^Xgesk)86qde#)% zDgSGt4Qq$;zx?N_)~57Tol^dn|6a&3(OhNZEKB~^gdfWP@^M4{R~PxAd@i3aC?ks;3djjab z0IoIm!&;-fK5 zeV_1Ls5!{^9V0)s|4%D>ZTVQWa{q54KeQjzkhK%}iQ3aXQ5|b4veQ0M&dC;>jO?^e zRL`1XyY26Ueb^@2u%@_;VXRg3+=jJ7`$zTMp7p}*Y5yqyy;LLYhx^+2VBaSnH`Q9? zhxUW=`NIBD!^lt6-sTs3vN=zB@FcPuf3PQ;^H4Pv*=heM=Q;L|Y9sp;?I5SWr9BKC zV;|88y>MUJx6s>T4^scRSgV-md&%lOMO)Sg`(drozJ)$kBdrB~Y=1nQvpi(&M1G?7 z$m_E`MLX71WVikOaQ^ayrXoA-bJ(+{*iL&JPPAc7aU0st(6yu5WF47*toilap7p}* z?fS8&sQ+HrW36XD+}Fkjdx846sn#MtHvZUC)aMKP9}XiwQG43w(0QU-i|ocj>>cVn zRINpJ+UL-@jXl{~w$uKH6Kz;8vv3O>rCAkJq)+$lAPPeB*Ne_-55}d)5om8pgY^&8)rJStP%FZTC@GbasIN8m1-^W zL;J}OSv!%Rs6Fj7-?645JMA;CIl8w0yyocISq~F-iPi8k9h~zGIL~&8pJ?p-<%u?| zDQ;sJu^XEJxXp4gg8FFExOup2*drh{`^HN|$;3+s{fLT8|~bRNWn zcG!=dAA$3iy*=U+b&mi$KV_mXoqOWHi)xMiu-5GS3!J~)utp+3bRNo(wG;V?+S55H z9cwDG(>W;6{ejp=v6!8$WR- zk#k$M#&*_Aq&qpwva|D-Tf;bic|tqv$Id^(IeOk6=Px6k-p~J<=xgUI;r!*6`?6lR zubtn7bMzY42>ao_c0Lr&{~EG(B0o`kI_IlnO+|J(=Sy>R?ffszC$zKndOF){q77?` z+tArw&h19x-(43Cbi{4w{I7{NtUEfx%ljf;-u)w1*ZZpO==?9ge#FcB_2ayuiN19H zmya9H?dsSMYt6*nR+d2itWZvoTE3XT|^Y|vT!+z}iKAd0a?X@p!hc!!QP$Eyv&#%-y0_^IO{gAOQ{2Y*iF06`pQ=aJ6t`i$a2wVO z@-6M0W#|PM=f+NGhy95Ec{^v>+pE4xKJ@-Oo24a$j!G+Tr$M_p{DBZo}H)HpoB3{s59^8S0DMY`k*g;jW*$r}8Z=@p|ADs7!`#Z)*`?4-e279&1{yN@X`?40euRH@ccK$N< zcN_O*jmZ1gyq&*1p(*YgwP#Jqds(q_nJ2WycGio$e+}*YWjrg6wZ?YVi@aZS^!_#0 z8f%2x$op4^{7St0a2wVLw~_a$4mr#A{x#Mb>w?=D*7qsa0=GB+{{993{{A)A0{6A+ z_xCSczxHJ<*!cMS*VqsDWlh=m`}-HhS@p<%SQo|zeb0*gMD1BG#vh!&jORf7omZ`~ zM!1dfvj?}i4eN#5uwEh^A(zt5Uv3R|k~cY_1@0^BCylQka$nYhtdTZ${_=z$?#r5z z^}~5Pf4PbLMD1BSvaVR{TxPsekF~~j){d+n4(w%rG+jAS%5w|g{>-Le3%)hT6!oRj>EpT7Eew_D;wM|^V_GK;D z`1txE{^qD2xi4$V#^2WuG0v(@_QRSoKIl4O!dhVar~c!L=D&Zjv{~!qLtDcgFl&MPe&FjDH49~5j`FPMd3){4nv(Bd4fe;z zcL(;veOXh3g+G~Jyu&f=Ust`giTp(ESv&GwtoS$R$j;i4?_Zsrzl=5KvDVnmdXaCb z9ew{AYmM!!7x{kF+4;-PRn;16gxkpXsSf#-_@2dWSV!E(uz&v=Yk}LFfB)_b|Jt6l zVAt>8zs7#JFKfZZ$G?AJ98{0&hc#vM;@`h8&Z1@5M#-HxG!r8 zd6n-Uoxj{fexmlQ9f?aE+PTb#$r)>n?W`$@KkV%MWyJi9wZ?YVj>NKdcK$MAipE-F zJL^T__c}X&8L>uVt+7V9jl>7`cK$MApT=5a9dR4O8u!au;P&Pp`OS!3gnw<%TCnT) z_(NQ$>XG}hrfhtA#QH{lSW`Cs9)CF26#HRK86SGdQEnnXQG3>o@zCQB!AXxxR80I- zP2Ke5yPDf&AJL=Aj?P=PvyQlp@n7}AT41}x%(r&_GUDNZH6EC?aHHfNZz9ixx81na zgr>MJYf9qh8#{j)@$+LnvLDuzoU7O1d_BptMEv|%o9riQ&)Si=`k|f6jF{4~*4WP4 zk@)$}&R<5%>R4-RXYC;W(9U1hTwm83+gUFXf8N{q%ZTG0YmGI+Z6vRT9Ev&*3Msc z4Ql=u_hl_0pUuu+ZX!RdDdfx9`OC=D8EcdMMD1BS$ltSbnUNDQ)*9PcJID{T^Ouox zG1eN}Sv$x-M1G~^e~q=qcGipJfAu&Y7CDcRo%MpeM>~HRc_?G8u`alcVa?}aE!fZX z{4ep8o}2dHxspsdm-?MX>k&`~w8rxYr$i=numyz>6)*9PcJIJfF z^Ov#j#8_)=XH6lO*v?-@uKieRY-hb7KN-)5xL>iIb-`^6>wX%n1@rIwZ>YYYQEty# zu&w^gr4{O23$M@gBIH)$+4{OTC-}m28eL=76hc$)#Njqn`iTp(ESv$rb z-+x2(1^uy|wPXD3!Sl#IMLW9x25W(Jggj*5Z_Tjohr?Pxz8UQwHP$2dWi8;n5$lI| z7LNR|rsS;8#?D{%-yON9*#BqjCu+~yLH?ed%Zxo$##&=LYX|S=cK))@b&Ka9wzGDS ze~5Q3yt_np)(+Mbd{4H>&U!(9vYo%|T2QUAF1U?h-4BYjU_aOQkJ9HuXqMZv7VP)Z zcgn~QYr)3H_m9Hg9MvZKVNKci`~Fe-d`RQ0eppjj*O2ut-6tyY6Sbev&WJz0f0RBS z60g+GnlhgESTl(1Q?#RcVJ)zZuojQ?d90Bb*8SXAQ&_LG^OtpB0M{e;Wi24D68geg zPUMF*g?u?Xe|bVv>?dl^+Ci?Yoy%MzJ8K8IxOV>Xgr?ZennJFxoxhAd&Bj_|J8KH- z@>rk8+FoR5yw?=D*8L1wQ}%Ox|3h6f#F_`UXD!(E_gD*z{II5Me0={y zjDu>E{jjENUVQ&UUEjcZ3HxD986R|?!^lt6-gv0mG5+}ehv4J`?5ru{x$b`$*{5hn z^}i-`QNrjVOz=P%DkexmlQ zDdfuH`!c?nM0VB=a&hhaWuNO7>(Fdx?I8aU-@NecD6+GrkXLEvFY9`@YmM!!7kpQi z@4q;IS-(-a)>s$Z#<1?k%bGI(zJD(?>wEvgzwh6RzZI$}`@Qs=UgU?hVB_Qa_fGZ0 znzDKE{d;wNp2k`Iu%?U;x=(N9Cu+}{G9LEeVPt1b;k&ZLPW1Tp71^g~NB6sCEf`ii zVxjE(W$dR7?EBA;HFdb;cG~&NuE9ofH@&^?UC)}5{pVXh>w&e&eppk;O||ovvH$#7 zo9riQ&zeI1o}J5#J(@d{^8@94J;WwNcGeVPh7ccx*oVl@+Cf~DpXm_USue<| zM0^zDFWAmH;x>kLKY7-a{aoLFeyk~O&ziE|3%Q~CecH}6*SILeMMMegAp=zKrkH?1wdFe9(R7BR^4l)|Bzb_n!x^RBLQ!O&LFX#BN0PDcVuJ zL^?t&ubscFak_qP5o-atoqkpk`{BN<1;kU@`ODZdf2>XR!|AD?DKOR=+gVe{547`_hmoB%g`7jg_ab&Lva_ZT*GuQ8jJ3vg)(hf#{Y)aZ zvo5%eVLcCpHD&(&{1j+bHOTE*3-)^bSyRZVKz<5h!y`Lu3OO6dPeDw5WM}OlFNMzk8f%U1tQX{^(D`3ut+6h+ zjbS~{i?v|>{roTZ@w3C=-_QTT-wM@~{a$|l7p~LK|HAdFAJ&46o1gzR)emdR=B3BH zM1ELP#s@v;EAkVyXH6Lo{rs=7rr6HfF`na0*!jplMLVh&)`DTRBgfLtU&eWtz`&^Otdc zv5vTn;STv;tSR&F z=U0w3#qC*BcKv>S6bhc#t<&~qvyKT&(u zj`7gXuf*ScKi3lcR6A?Rc-|xTE3!|~j_PH>f(7lY|93j?js|U_@~Dlj(fX*o_~MJT zJ}Q5<(|KASl{=mHD*O4<%S$faQtP8qu6y3De`>kxyjQ6`Dy1*}!#LqTDNnI68np#&Y!5h>^C3u7Ss043NAC=$@>Z20;8U6g}C3u7Ss04pT{im1U4eFy3q(MD+ zGb$(l4c@>WmEaBPqY}J9eN=)ssE^C3u7SY2{HHt*!j2mEaBP zqY}J9eN=)ssE^CHOP?`O{1A2K7-1{*3xhFToqsM^CHOP?`O{1A z2K7-1{*3xhFToqsM`@8cpgtcO8;Ir(q! z2KJ}~Z%`kV;0@}d61+iuRDw6Ck4o?c^-&4lpgtf;Xs-O7I5t zQ3>9lJ}SW*)JG+FgZiihZ%`kV;0@}hmFOeGqkW?iyg|FD1aD9umEaBPqY}J9eN=)! zqn|&$1aD9umEg~)|MU{PL48z$Kd1+PM&;zc!5i4461+iuRDw6Ck4o?c^-&4lpgtT3UkH>jUhE?BTg`BN*w8`MW7c!T<=1aD9umEaBPqZ0fX{ru@Ac!T<=1b;^T zrZ20;K|T00DkuL9-oPG};0@}d61+iuRDw6Ck4o?c^-&4lpgt^c!TgEz28 zC3u7Ss043NAC=$@>Z208L48z$H>i(F@CNl!3ErT7TKS*)w{3x}4~@Q&Oe?_~*rO7> zL48z$H>i(F@CNl!3I2?J{`3;OL48z$KcoKBOYjEuQ3?K_9{d@Vlm7;9V2?`h2K7-1 z-k?4z!5h>^C3u7Ss043NAC=$@>Z208LH)GyXFF}Je}8Hvc!T<=1aD9umEaBPqY}J9 zeN=)!qn|&$1aD9umEg~)|MU{PL48z$Kd1+PM&;zc!5i4461+iuRDw6Ck4o?c^-&4l zpgt9lJ}SW*)JG+FgZiihZ%`kV;0@}d61+iu zRDw6CpH}X@_x8%4S_$5uJ}SW*)JG+FgZiihZ%`kV;LqsiPcOk6)JG-wGwMIR1aD9u zmEaHR!Jkn%`ET$B_NWAJP#=}x4eFy3yg_|bf;Xs-O7I5tQ3>9lJ}SW*)K4q%Gi7-6 zXGbM?gLY8~-k?4z!5h>^C3u7Ss04pTKYw}&-k?4z!Jkq8=_PoB`ltkdP!Il$%E^C& zH?T(~c!T<=1aD9umEaBPqY`zs|G^v7Mi(F@CNl! z3ErSSDo1laXB>E73ErT8RDw6Ck4o?c_0!4)3zjK=Y9)As`ltkNP#=}x4eFy3yg_|b zfL48z$H>i(F@CNl!3I3oy zD#07nM9lJ}SW*)JG+FgZiihZ%`kV;0@}d61+iu zRDw6CpH_}Iy}-CVy##O2E-Jwr)JG+FgZiihZ%`kV;LqsiPcOk6)JG-w^Z)rc4|t#I zKmMP+_qk++B6~!UO;KhxA!Jiz@0A^q5t5y~SN7g}@4dH>O%eb1>mL8#|9|uS=FJ7H`rN5KiJVvzw2G?0eH`rN5H`rOm_O=7vU}qWKU}qWK zU}qWKV2|ZFvrEN){dt?w4R)5%4R)5%4R)5%4R)5%PxSoQMmN}5MnBR0v5ju9vy6VQ zqo2qL&(RI8vy5)Avy5)Avy9Ijc9zi%c9zi%c9zi%c9zi%_E^4>r)+#bZ!@~V&N8~e z&N8~e&N8~e&NBLmo*&!j20P2>C%Qkj(G7N%(GPa?6FK2Iy1{jp(G7N%(G7N%qu={@ zeepHmO`{uJXBpjKXBpjKXBpjKkL48GE5!HnHlrKtETbFjETbFjETbFjETf<3`LT^| zu(OPQqWfbT-C$=K{a{BwkrSSy8(e1@-C$=K-C$=K-C$=K-C$=K-C$=K-C$=K-C&Pp z{F>?IiT|~;jBfDbSVlM4Sw=V5Sw=V5Sw=t6^J5#`U}qWqMEA!wy1~ve`oWHVA}2gY zH@MC+y1~vewznPV20P2>20P2>20P2>20P2>274?IzFaN7pSKy^U}qWKU}qWKU}qWK zU}qWqM9+_Hbc3B`^b_45+vo;6%jgF?`iY$I9NpkL%jgC>%hBh)+Uo}1G`hk4ETbFj zETbFjETbFjETbFjvAn%i&G>%aW^{v{Wpsm`Wpsm`Wpsm`W%Lt0Keo{gc9zjkbboB4 z8|*BjAMEHSa>8?TgX=7#8|*AczxQjt{u=P6(GBir8QoxK8QoxK8QoxK8QoxyWsa*8 z-_P5OZm_eAZm_eAZm_eAZm_eAexm2cHoC#iGWv<`k8N~=on`cc9sNX3c#dvxon>@` zon`ccon>@`on>@`on>@`on>@`on>@`J(i=73Ew}&#~9n_20P2>20P2>20P2>20P2> zCwhKtqZ{ljqo3&h*hV+lSw=0`(NE-r=jaC4S;qFZ1KnU}8QoxK8QoxK8QoxK8QoxK z8Qoxy<<==0$9MBKqZ{ljqZ{ljqZ{ljqZ{ljqo3&cv5ju9vy6VC`(qp3U}qWqU`IcZ z6P}|RTxS`tJ$9DS4R)5%4R)5%4R)5%4R)5%4R)5%4fa@`GyA*ve%@wugPmn`gPmn` zgPmn`gPmpc6Fon+(G7N%(NA=LY@-|OETbRn=qGZ*b9962ETbFjETbFjETbFjETbFj zETbFjETbFjETbFjv3w;@^Z0(=W^{v{Wpsm`Wpsm`Wpsm`W%Lt0Keo{gc9zjkbboB4 z8|*BjAMEHSa>8?TgX=7#8|*Bj8|*Bj8|*Bj8|*Bj8|*Bj8|*Bj8|<-+kC|Sc_>Y}s zbb}wqGP=ReGP=ReGP=ReGWv<0AKT~#JIm-Nx<9tj4R)5%4|enuIpI03z3o6Z*jYw5 z*jYw5*jYw5*jYw5*jYw5*jYw5*kid$m3Hy{yv^taJIm+>JIm+>JIm+>JIm-NdVXx9 z8|*BjpXmPBMmN}5MnBlmPvnH>cx`c=Wpsm`Wpsm`Wpsm`Wpsm`Wpsm`Wpsm`Wpsl* zmIq(%7~jv^jBc>AjBc>AjBc>AjBc>AjDDi$$2Pjb&NBLm?vHJBgPmpcgB|@uPI!)P zaGhmzgPmn`gPmn`gPmn`gPmn`gPmn`gPmn`gFTkFx9S?-&)bY{u(OPAu(OPAu(OPA zu(OPQqUXmpy1~ve`ibt3ZFGa3W%Pp`{X|Z9j&5+BWpsm`Wpsm`Wpsm`Wpsm`Wpsm` zWpsm`Wpsl*mg%LLK}Y;+6Zy?^bc5F}GB@MD=jaA|WNyZP&(RI`$lQ#C=lC;e{Qv)O zMneDJ>v%4{Z;0o@Z=RzY?2&uKcl7_Cqo3%0IR4{EaE@-UNA3~d(f@x=e~-WLI?-SF z9wH8$M}LoQa31-8e@6P>Il93f`G4O-`rkRa!5;a4|BUT_=jaA|WW3G^&(RI`gvQs( z=sLQ=uQf7W|Ago0276>~#(&Sz4feC%Qkj(G7N%>Gi?)59#%Z|J>tsN^p*Du(M2C{LV7E!Tl_w7wjyf z6YMOb7wjyf7wjyf7woZp`E@sJN8Mb0-Ornjy1D$ipEn(KbNO{YZ#wGc^6P%ybkq-? zi+=S@ew;PpX2@vjs0^Z(AHZZ5y>=S|aVAAcXq zQ8$-g_w%NsZt%LIqc@2^2--_=CKkmQhuiv-g`@#O- z^VjcN@%>=`@A>QZFM59b`_~(O{k|375AOf(Ir_nMmS4Yb#rK0B_uupA>knS1`1dco zUU>id-+A=)C;A=|uK)L(uF>z?`1i<|e*L}`-w%G=f6t?@J9u5=-^bqY>-VkresKSP z&!ew9c-`aQ$KLSk_pSJTaQ}bLqpv&oyu`ncB`|%i;`@1<(G7N%(F=B#(F=B#X^Y=k zMmM;hW%PobWpoqWAKT~!JIm+=JNk*7@EpD1I?MDqiQid9FSws&bc3B`^n#sbbc3B` z^n#sbbb~#X=ggiR-_P5OZm_eAZm_eAZm_dVzqa_DWpoogKeo{gc9zjkbboB48|*Bj zAMDZlSN!Xh;2hmxXBpjKXBpjKXBpjKXBpjKXBpjKXBpjKXBpjKk7fFt$M^F#qZ{lj zqZ{ljqZ{ljqZ{ljqaW-nqZ{ljqo3&h*hV+lSw=tD(NE-r=jaC4Sw=V5Sw=V5Sw=V5 zSw=V5Sw=V5Sw=V5Sw=V5W10Ru9pBH}jBc>AOh0%0&N8~e{Vby!>@1_3==rgYZm_eA zexmzh8{J@M8U0|7{`?dFdL=kVH`rN5H`rN5H`rN5H`rN5H`rN5H`rN5H`rN5H`rsD zUK)Jw4c~ua8r@)L8QoxK8QoxK8QoxK8T~}hk8N~=on`bB-5=ZN20P2N;V*hd{Pzv< zEd2Gqb994qmeCD%meCD%meCD%meCD%meCD%meCD%meCFNSf*=uJ?PIzY@-|OETbFj zETbFjETbFjETf<3`LT^|u(OPQqWfbT-C$>#ULX4NGhUzg@4?3R^Z%ct8=SL@Zm_eA zZm_eAZm_eAZm_eAZm_eAZm_dVTl^l&bWeOgZ!@~V&N8~e&N8~e&N8~e&NBLmo*&!j z20P2>C%Qkj(G7N%(GPa?6FK2Iy1{jp(G7N%(G7N%(G7N%(G7N%(G7N%X^Y=kMmM-W zmg)OK@%_Bb=mtB>=mtB>=mtB>=mtB>=qGx9Y@-|OETf<3{@6x0*jYwD*wIhqgy-l6 z*I7n4*jYw5*jYw5*jYw5*jYw5*jYw5*jYw5*khTV8Q;&_jBc>AjBc>AjBc>AjBc>A zjDDi$$2Pjb&NBLm?vHJBgPmpcgB|@uPI!)PaGhmzgPmn`gPmn`gPmpC;&+zO4en@1@j>@1@j>@1@j>@1_7==rgYZm_eAexmzh8{J@M8U0{K zKamrjqZ?dj8QoxK8QoxKnYQ?yWpso4Sw=V5Sw=V5Sw=V5W0`)<@%_Bb=mtB>=mtB> z=mtB>=mtB>=qGx9Y@-|OETf<3{@6x0*jYwD*wIhqgy-l6*I7n4*jc76erK6Jckw&R z=mtMO%jgC>%jgC>%jgDsEYrsn-_P5OZm_eAZm_eAZm_eAZm_eAexm2cHoC#iGWv<` zk8N~=on`cc9sNX3c#dvxon_kMcb4gM6Th>JZt(N7jBc>AjBc>AjBc>AjBc>UGJVYP z{k+ZS20P2>20P2>20P2>20P2>CwhKtqZ{ljqo3&h*hV+lSw=tD(NE-r=X5RpI?MFh z$L}no8~nU1qZ{ljqZ{ljqZ{ljqZ{ljqZ{n8Os`3NKW{U-!Ok+e!Ok+e!Ok+e!Ok-J ziJl+Z=mtB>=qI{Aw$TlCmeCJ(I_Udo@vm2cb9!y#ud|G9a39O)20P2>20P2>20P2> z20P2>20P2>274^GPVpnXE*$;&h;4L(on>@`on>@`on>@`on`bBJwLY54R)5%Pjr85 zqZ{ljqaN(^8vftcDZx3q!Ok+e!Ok+e!Ok+e!Ok+e!Ok+e!Ok+e!Ok+e!5+)e?|FRx z8D9fp8{J@M8Qnym``AV|*jdK*wgdfOXBpjKXBquO_s2H6!Ok-J!H#|+Cp%jgC>%TfE|;`_mm`|mmWiJl+Z=mtB>=qI{Aw$TlC zmeCJ(^b%jgC>%jgC>%jgC>%jgC>%jgC>%jgDsET`DM zD88S!8QoxK8QoxK8QoxK8QoxK8T~}hk8N~=on`bB-5=ZN20P2>2Rr(SobVjo;5y6b z20P2>20P2>20P2>20P2>20P2>20P2>274?IzPuv7pSKy^U}qWKU}qWKU}qWKU}qWq zM9+_Hbc3B`^b_45+vo;6%jgF?`iY$I9NpkL%jgC>%jgC>%jgC>%jgC>%jgC>%jgC> z%jgDsEOXq3_0>@1@n?C2+Q z!gF+k>nx)i>@1@j>@1@j>@1@j>@1@j>@1@j>@1@j?6Dku&hh<2G!Wb920P2x-gclH z>@1@j>@1@n>@1@j>@1_7=>FJ7H`rN5E!fddzw2G?0eH`rN5H`rN5H`rN5H`rN5 zH`rN5H`rN5H`rtON}hf3-Mr1{20P2q&%N(;18*AL;C`0T4R)5%P4xWOMmN}5MnBR0 zv5ju9vy6VQqo2qL&(RI8vy5)Avy5)Avy5)Avy5)Avy5)Avy5)Avy5)A$8wb_N8|f> zo6!w+meCJ(meCD%meCD%meEi2{Mbe}*jYwD(fzTFZm_eAez2pT$O+HU4X(3{Zm_eA zZm_eAZm_eAZm_eAZm_eAZm_eAZm`Gl_Eu-&`+1wu4R)5%4R)5%4R)5%4R)5%PxSoQ zMmN}5MnBR0v5ju9vy6VQqo2qL&(RI8vy5)Avy5)Avy5)Avy5)Avy5)Avy5)Avy5)A z$1?qQJ@Ng#&FBU@%jgC>%jgC>%jgC>%jhS1er%%~>@1_7=>FJ7H`rN5KiJVvzw z2G?0eH`rN5H`rN5H`rN5H`rN5H`rN5H`rN5H`rr&&g@(9{k+ZS20P2>20P2>20P2> z20P2>CwhKtqZ{ljqo3&h*hV+lSw=tD(NE-r=jaC4Sw=V5Sw=V5Sw=V5Sw=V5Sw=V5 zSw=V5Sw=V5V>!k4`|%jgC>%jgC>%jhS1er%%~>@1_7=>FJ7H`rN5 zKiJVvzw2G?0eH`rN5H`rN5H`rN5H`rN5H`rN5H`rN5H`rr&@a1Rm{k+ZS20P2> z20P2>20P2>20P2>CwhKtqZ{ljqo3&h*hV+lSw=tD(NE-r=jaC4Sw=V5Sw=V5Sw=V5 zSw=V5Sw=V5Sw=V5Sw=V5W0~hlapgFk4waL+FS$y@N}S2*Tm|kc;#Zu@*<2N_I1?SBqGSi{lb=-*9z_b-5&5GOj+?kl2t*!KLIHbKerbxbKSV!#NJ#!E-%-U>r3p* z6{P>z`bTa6aRB!zSCkvb{Y?Cs`Ds$txNyJH9HLeCXg_}m4#?|C%)BoCV7I79=hpWfU;pP$NaSgae+yZV9 zaS_*q`;J@8Eh8@DnsMKA%emFW)m&??CAX4WPh8Kn=h|{>xy{7QTxYH$w~^aU+|G69 zx^i2&-NfBoFRll-liN$&%k|;$o+X z%$xig&g3_78#tYJ`3;=QZ{xObHXrg^xRBq)?cjVq5x;{=#P8wuaqsX+`F&hc{s4D~ zOU}Q`AL8ESk8sDhRQze;X>J&If_tA&&!6DZ^XIrT+y{JS{tTCyzro z8h3@u%IDy(a5?xJ+%4`SJ{NzB%f;X3?sA{-dHK6sUj82UfXmMp8 z|AhOLf5!d873II+|KYyiUvU3&#re|wzg%fv;5oh|UyfLgS9pp4lCMOp#2dWESKz-Q ze#JYy#aH3KCVtHayvJAPYY}VlaeQL_8@?{FE}w)?#@FW?5*zX<_>_EOJ`FJqf09eh zf5*4rQ`3=-Ps@MLw;{ISGw~VtR(uCy2R<90g>T1qB6i|G}_-@2*{KtH5{s+D% zu_vF0&&T)X`x5)|1^7bzkNg1Q0KN$S89$I8OdQM?<3Hzz@WYA2`BHodei%QBIEpXJ zm*Ge9V~Jz=ihOx~G(V9zk*~^E=Ew6>h*S6)d^LU&KaDtzugTZuXYjL#v-moEJ$?>9 zk2sHSz&GL-@J)$L`S%G z=LJ<*!K=bLehn`Ry0C`Vg$?{B-V|(M6K@M!_-(u^_`){c7k2Qw_)thB?BWv%d-#3) zJ3>-nAD>h>z#rn13n_&|d`jU6f0R!pq!EttX@pb!3I07Hy>Nn0FP!7g@E-`7g)@9+ z;Szs=&nRRUF7VlfYy1^HtMHL*taP*NyIEGH;}Bz!4U zAXX4G!4N75RftstOK^m*gzCiVf+qyR*Fr5~Eg?=wEPNx>CDs*^2+4%{LL*`$A%*a+ z&{$|nY%07jq!zvvS`b?Z>4dbx_d*+D8zGaBL1-m(Aa)S430Z`8LKk8eA*b-6&`Ib< z>?V9HX58B^DL_=8FhF2}6V;bbKKc6Mhzk6Nd|> zgc8CqVH9zcP*x}-j1)!_M+@bJio#f7JaN2GS*R*Z6ebZT3Dtxe!W3Z|ahgz5s4dJ8 zW)Wuzb%c7t9AQ3jzR*BuC@c^b6Bi5L2~C7W!gAtrp}EjZSSqY0t`=GgErpfBdg6Ma zz0g)zD{Lli7CH+Zg^j{i;#Q%n&|TOr>?H0KdI-IQ-NIhtUZIcBPuMREBn}il75WQ@ zgyY2H!eC*La8x)=JT3ep3>8ia=ZWWqUxg9ES>Yn_qVStAMz}0oC0-TA2@{0t!cF2$ z;df!O@TYKxct@BjOc(wV?i23|Glkj0L*WVWi7;1~Cp;CN6Q2uz2n&V3g;&H^!ZKlr z@UI|>OXyf7tPprn6;}wVxK3Cj$f7B(5lnHDutCs8TihVn;uc|>;EKMuP4LAX!Y&~c z6N$ToMB*M{pYV=&n0QziARG{qiK)Z`LMri?a71`lOd}o<(uk*o6T*99dhvviUOXq9 z5k3$zif4q3;sxQ7kXg(sUJ|m3SA=Uqb}@%|O~@hM5N-({iMhmELN4*Pa98+5%qQLz z@`?9^2SR?akoZ6-Bt8-z3x&m^;$xwx_>b^R_)IJ=J`;+IFNGJv=VEE`g-}`)L{2Oz zmLrxE6;Tqu6e|%ciH4|&6~rpUDxxJi;#XpIVs+6I1MzFI7O|EXCngrZ5t9>>iwA`y zVm-03n1qg$VhXX5*p%2*d|ym0ek-;hwh+^aX~plwR>W3f1~HS^Mr=oHCuR||i51#l^(M;&);bagn&3xLj;5HWQbMD~T(` zmSSshwYZkJR%|P_7uSm$i5ta^VrOx)xRtn7>?(E_w~M=oyTl%1PjR=nkGN0lBlZ>d zi-(Da#Q|b}@sN0&cw8JT4ib-wr-`SuAQ+yykB|a7BiF3s#;&bA2@egsK z__z3q_)1(RE)o9~d1(n9E5uczD9O?)QI^(->qJ%3rFEh%Z4ft!resT-L|fV-ZWCQ8 zkhY0|v_sq}hEif_rK9q7wU8L^B?$XCnF6jp;KQX^_U(6%*l75u(&{0q-AoY_55(i43 zNkyceq#?v1(ic)O>1SyeahOy>DkTk5255_+0u!S}6S^y&}GnmPt#beyh2jsHPSjsl?{2FWXKz&jgl!l z@TX-XSHD_ey)DI60}jM@lLmlnzKq4=m< zeosCky(gcLPD$^}>Eu&VI{A!rPD(FllFvz*~c=|s+3c{ zA>EWdl5@*9rQGsu>5lY?oL{~p<(KbE_oRGsVfmg^Sbi)$k_yR1(JIWu*Ipj`qS7KNBV>y@HP3}qTDd&~*$UWq~#J+Mt zxq#e99zYx*e<~M|`^$rggXPcVV)7t)C~>GC{2h>l=qZ0%6CdL zVl(9fCB4#IX-RCUWK=RMt(CUKwn{c7yV6d{LCm52Dd$u=D&3TvbbO-ZR=O&^h`p5j zN?xUh(vR3rDXbJ!`Y1mUe^QDnpDO*8LBv7I=Sp#9uric5R4J*HR(?@N5JxCqD&>@4 zmEVZJDHWAU%4lUAahy_B`AQkDOd?KFzE)}|zbn&;)0JDxHX(l#i6o z$_8aCajWu!(p}l2>>}<`dMiDZ9m+o9KIKQHud+uuL_DMnR0b#qlq19=%FoIW<(P7U zctRPb3|CGmXNYH%k;*9LoN|G9K^dcrRW2%5h*y*e%0%U=a+7#dnW9WqZYXz&ca<5+ zH08GPfcQX}qs&t7DNl$`lm*H><&pA?_)J-(ELQ$eUJzd>OO@ryONCRH)3H)ntq7{5 zu2v*nE)ar31wR%!Ht-P0TAQ=1W+sUN86)#hqTVoNoXnpthFwk5Vzv#HtDc4}v0XZ0gBr`l2NPVBCJ zqUKV&s=bK4)ck5*wTIe|*iS927F7GF{fYh6Pt~I8PwF7zAoX*#xH?!JN*t<|R7aS`AVg=PyE2_V#6NnSkuhc5)ICU~{vih}JUHx61PMofOqt;TVsQroDj)HTF4YJ0VV zx>nsp+@y9`I zNxh-oCEitMsMFNj>I32fb&fhqy{A4RK2qnY3)Cm-GvYIKk-Av@M}0wjp)OUIt1nef zTTaJHb+syJlD1lvv~}uwRn`n`y=rKi)s3pAIod|m(YC8wRZ9!Bt!kj{R(GnNmRQ@V zCf4?=d(}8CiMCfwq8(HZtI4z!+F>*`fCi^^W?nmQTB*=F=Xk z_tiXF0qwq8Kzpn{RSRiFw5Mtj?QiwD`k7Wtd#)DK{#9S8UuY$?S8553*F>$9R)$zc zquXtm(@&KORc?@iH_`AR;{hpnb=wT zNXwyh)VdS9YoBPjw60n&VlOSfmRIYc^&$4r3TlP5ep-KGf9+GPsP>aKh&V|5Tq~{( z)`k*?Y9+PO+ArD&;s~v*R!$qKjUkTFDrpt8-?RzD3EEd$6>Xe0nK)VdTC1-8u1zOS z*S^teX;ZbC#F<)Mt-dx}n@gOlHPjkw^Rcx@euW4ca#1Hth$ko3=&UMck$J)_Q6?v^~T4M~FwXpS2;{G3^BLgf>hYuAS1(5YK48YNNEX+9l#8ZLBt0yP#boUehLO zlXp+FDK04SlU<=$o~Tnx;GYM$OT;Yg;u-5A>~C zpzqdpYMvga@6_V-z1n^)v7SWVuO-nBYKOICdJ6rpmO?+O9oJIosrBPpYW<{kT6gTlc+6Q_j{k)b*zpP!w40wL*Fk{i#+&|66;meWn-FpKHbRf3;WI7do%M z(s+HfCg>&fvbsQrs>^yAy&|!qZtA*TUav~5s=K(%s{#F}~{{T;ow zUWZsmPpT)^>*)=M4fJ>QRC*)539*U(o}NbkPH#qRrl-@>>)-3GiLLd_dPcpa-k#WA z&#q_H+v=T(o%N6O9C}B+JF&a|iJnXEs`nuF(DUl~^ZSCd`me-a^>X@``Urgtag1I`ub}^?PasavztXGd)jVZ>p2Y5f=dgno{AP9LR@)X(Ubh?n%S z`e^-vevNodpQw-5ujsdkxAZCcB>jedn|NEFrq9st>i3BE^jZ2G{ek|7_(-3pFVLUp z&xp_TMfzg>AN>XKg}zK*uK%kG#&SAV>nnB6P>hwjVyxHK>XKm?YjwletZ&pc!!b7M zjD%~#!>yap3*o; zJgE=YPwDR&>5Wr*dgHu)R{y}rY@F3I8<+KqdPXC=aZ%51T-UGaS&fg3tNKUApZZPx zL*rxPrv9;UNB>LDZR9cj((@Si^@n;sqk!>HFJL^@pX!B-BF0m_i1D}nT>s1{W<1x6 z887u$`WHqi`3$`}=i6%EtSjq*lSVpYR6Y@@PKjabd_jnMeo zs70)0Br@JHzA@?&>l#Uo|kUwvKZ}*F2pWIP9ulW$>>JxX5=zHF@7+55_=kXjr>M$qc5?qQP3!C z{Adgy4lq77iW&or!NkGF=SFd3h%uZv+$e37G=>?Yh@*^h#+SxOV=Qs3QOT%aj5a0` zCmLTFRgCe*B;q8ax>3WJVoW1WGin;OjTy!);w+<%QO}rT%p=Y-8W@d?1x8b1Q{#Q3 ziSdWAoVeU*ZZtEN8moz`jn+m>W2Ld4xZY@Qv^CZmn~9r^&PGRLqp_8^)#z$;H?|u) zi93xRMlWNxv6r~l=wtLV_8SL@2aW#5PsU;681a}f$oSbfZk#5bHhwXN8YhkO#Pi0l z#t7rAahZ787-RfqTr{o|uNxDLamH2SCh?~6yD{1L)3`&tV@x%s8-E%1iT90}#%$xE z@tFA7m}|^8o*IjZi;ZuMg~mU|E8;6-nX$z9*AUGmbgVK~7`&;PD-6|KXRI+~(=^u@ zrn$-3VCbf8ZZK?fi?PjcP2b#R_~s5{ml2wY%w0wzbC0plc*jg??lY2_2aH2TaxCJP-8RG*pvw6nIY+f=h7#Yp%<^?0WdCjYScwpo=3z`p%g61RRiBZ^mPJC`G zGM*WqnZ?a#Msf3{@xu7rEN#9pN}GbonI+9~#B!!$O6HelC1NGhFg3G+S%p}|v`okR z%B)VTZhB^5er?tw)-vPF#O60$f^o!P`(WG*KzH=CQy%%$dP;%c+C+0tBTt|zWH+na68wdO|RMzf>Y+1zYy zC2lpln%&Lq=1$^HvxnKs+->e9?lt?E{mlL5K;l62Q?tK$$UIIwZVomFnMcjj#M9<4 z=1}vbd7gOQ{M8&`o;5EMFPme`-^`2VRpM21oH@a~Zr&u`G=DcIn}3>jhYpO|yadFE5|Iq|vqhq=)F+k8cQWiB(9nE#rhwS8*3-8S?`xvvtPIY+W)hm>I3C z)&(=Gb;Z19X18)!*UTK&4fB@yk(JB3W#+POn|IAmti0A;Gp}{ed|>9c3Rw@#Le?Ym zv02zEYCSfKTK|~O%ulW2)-$uX_0oJ{er}bvUYMmV!Q!lvRykrhOR*&DOREC0f~8r8 zRmrMCtYTS~V|`^+CswySE3m${Y7uK$aaLmM8!I_6xpmM?V%4)6TS@3hX{E3lT1|;f zt@o|e*0)v*VhbysmDc*+YC~*eWwJ6@t*my$c2*WEo7KVUMC@dJXyvrJSlx)-tdFhS z)(=)sVoxiNmCx#J^&|GP3RnfLAFYAJf!1eM5o>@oggC_d!YXF{Yz-$4w@O(htYOwD z;wY=ERmK`=jV6w^%3Bq!vDSFvc&oBi)tYEcB2KcZSv9OF)->WYtEN@knqk!^*0+*c zb*$Oe0^$Ozk=4MOXDuc!w!X8PSc|OX#N}3VtC_XbT1{MSwYFMXE3LJ}wN_iJy|v!j zNZe?3v^raxt*ykZR#&ULwcXlD+-dc&dRe=zeZ+lMAFHpm-#Sb@Z2e^Qw+>pziN~$M z)*$Psb((nE`o$V*owUvq&s)D*BdoL5MdC&4H*1V_*}6)+YK^ldSl6wa#GBUd)@18X z>kjdbHPxDK{bkJ|&avuRGpz^KQ{q!=zBSi+Y&|DFxBjpeT7O%wh_9?=))MPqOSG5J zvC3Lu@wRNQpl^n+vDR6tt=sD?-QHkrvP|2yH(9p5#oA`Mwr_82 zy~o;Xy<;c0_gcyAL)HN+sh!F`V5PE;Sx2mQ?KJigD~)~1I$^zMr?*d7>FsmY8S4W( zqkYE8XkV}{S()vu_9ZK;eZ{(FWw&$K*Q^}&4eOTmk)6xFW#zJOTX(Hb?1#jM)-3Cu zmCr70-?IwaPpn5)LA$8^$SP|8V?DDzwTs)&tm5`d>xK2XUD|$Om9_<&vrF1v62G)1 zTd~X86^IpV%{J^xb`@e3+p-<|E4v1V4KeLP21MDHhA@&z`G5cqG zIB~dL$}V9Kvqus~+GXsr_9%NaakO3Du4s?7#}mifmF=qbM0+xEvR%!tZcnkN6Q|oX z?OOH>dk%4qUDvK-&$bs37ub#L2KGFAF>$f|o!!JMM!Tck+1_k#BW|<1+THE#c5h;DJFnft-evD6?zj8eee8YqVd7!? zC%eCW&^}H)ZV$Ex*+=cu#MAaK_E7tzeU^CE9%27#pSLd(FWSG^W9-ZJRpM29oISz5 zZr>u_vVXTH*?-!1iFfU(_B8u1`yuh6J~nT{C!=%D&gfjQFWH%$tj;Ant8>M^W@mSDI@j!+&JFvf{gIQ~xoPKiZrgY4 zPn`VD9Xr2s-@a$(a|%26?843y`;lGHDe643i#q?<&+Jc~;?6U>xbxC}VSnzFbY9pc z9nKM)($1H}FCEEIoN`VDVg*NY45yM)l~~oW9NYQI35lVz)ApPi&Nq%nM4SUJKs9r6Tf%TI_aDiPAg(7Cxes8Y2&mfws*2P z*_;keXJTjPLnnvR#pzD$?tJXza(-}n6MH*(ojgu2=SSj?P9dj&)6W@59O!)J6mbSP zLx@A1FPvh|&(1L7FsFo5${FsAB#v~-IAxtt&S>Ijr@T|q8S6|SPH-waRh)^=*TkK$Ic4iP~IJKOb&U9xEagI~ZspHIc77!OWjhqI~JZCX+vGbkN#98DlB`$TEInABr z&Pw7+r=`={S?#PNu5;Qt?VR<_CgLWiqtnUR>}(@$bGka+obAqT;%=v>)5F>2>?iJb z`Z|4_ea>OxVdp2OzjM$zPCV`mb_O{|os-0q&QRwU=d^Q{c-9%={OX){E)g#|zd2)^ z%g#08HD{bN-ns5fAx?3sJHI=(oWF>FIn$h}&Rypr@u4%zndv-mo)Vur^PRcQ6X!Yc zx$}p!(D~c>m-w%<#98LNas+o79V?twj_4}xD*A^(Yn-)?>Kg7^$8a||8y(Yi+>MUo zZgI9ct{b{rozUIs>~I429e0QGj=R^{<0N*IyL+7E?jh%Zlgv%!9&l2*$DAY1yY74L z5$8SkgmcPC@IqBRp&N(N&o5?-rWO6S!7oE&*Hus{F&AsAWb+WsE69052IX9e~ z?kDaI=M(pibKA-7=67#9`Q7`@Jtv=A*uCczb{{*BoI-9<_mNZ7{l|Ic6mg5W&zxfJ z3+JWtxm&`0>6CEkUt4ucx@CxET>6LC?w4+PVtH3{b+>|BnONDSH#N74Tb)?l^lSni zxP9FI#QyH5?q}{#?jYhI_Y1eUJJ=mc9O{;GOS{9|5yTO0S+|@!(*2G2n_JPXAXAx()_1${zOm{wUzT4Ps4=?d~?$@&a$08+g0jU9RUP_IA06z5VW9H_l7q?RArQ2i?PNGB1U9 z*iGRbb&tC#z0}@uH??=tJ?*~lrS(p`X}xpqdG`Y^gLmG|;9YVryBWPK-eot7cg?-- zX7zG-*WDc6pYAR9Lob(i%gyEe<=%Ba_VRgm-F)6d_r9CQE9BjG3wcl7$8G`dGw-qc znfKiN+b!Z1^Zs^=dH=ev+%LQm-Yd6+CwQV)$}2-GW4X?ac#WUz| zJ;$r;)gadJLeKZAd9{hPy?4AsUQMqKv5uG2OYYV48W0*M`I{K+foed_i11`!8&pL@l*96x zHh9~J+q@sVZr&De7jc)@+w1A=@b(e+c|Ur6y*=I`;vsLKH^4jK9U&g^e)fiV$Gj87 z6W%ayxOd7sLpW%WwdZUS>y-MB~?}B%gc-5QeP4KRGw}`jADc&UShIf~E*PG!@ z^KN_hi1)l%-W>0N_lWq&o98X?o_NoQ&%8z6V(%aC1@VQq)LZVo^f-Sx9jm<69`8&3 zYWf$z)_Lna+1LH`p6+kOz0=&um)1Y$o%cTQFA^_$W4%jW z20xpB$;;+n_pW(a{G9$ZFQ@;fchmdO&+Xsza{GUIcf61NJpLUokAL5L=;iYZ_z%4T z{$uZ{SI95oKlO_Ee|yip&-`NkbFY~HulLIP!Y|>!@=Eyhud4bb{W8QdzT&I?mwp9e z1>f`yzr0_SSk-rZ+pp}`AlC3h-}kHewTZR;cl<eulb5F7aK`l%OQ?icq5`$LIC{Zf8u z{}+D*afDyiFXxZ+#}LQ(mHdkSZ~g@01ph0)ia*YuOq}e0?N|4I_oox5```Gr{HgwI z;%vXZU)P`M&n3?F8~Tm?`Tj!ULjPO8ssD$+gt)~2-f!VA^IH*H`I-IJ{tAB`ah>16 zZ|AS^HxW1aUHne|27eoIoBxB~&EMkhAnx#c`n~;K{vP5UzpwwJzt2BFJm3%T2l|Kn zBg7;A&;Ahqn16zJ!XM@j_fPp}h-ds?{Zal|{}S<%Kh_`ZU+}LHulW=G@%|P67V(xp z#h>Kg@b41u`ZN4#{%!vO@qs_bpXJ~49}yq<^ZW(=6aN|UnZL+i?EmAxAinUI`pf;7 z{z~FXzm30&{?jKVSmi6hdVj4i1xB#eH-gRnMqdk@V59E@+x@M+6?nl`-wSs7yZs=D z3wHZ)!CrsApEyVo?Dvxd2mQl-vLHop*iR80^^f~0gVe!sKXq`@KkdICqzz8{X@hhA zdH;hTQ*hqT6kPT%`Wb?3!9_n?aNWP^X9;o!SN)v9pZ-n%!ytEX)6X6J<=^o?4)O(e z{CvSf|Gu9mC=lHD3j~k-r+%TJNbuAz68!By_dg4Y1<(Cr!N2}1|BHYRUio~m+82Tn zLD@i{Lk;AhOi+1q$HVe`P>4Wcs*2LC9<{)FxGH6e1A7l@*25p1R z#LmG-L5`qf(4E*l_$0^`bPakDdj|(BN0%uR*!s%V0z>hBzju6jTU)3nmaJ1YZSJf^os`#NUJJ!Pmj$ zU@CEHP%HQ*m>$d|&J5}X^@G{LT;klIVbD03A1ov;489GT27d%gh)aUzL5pB%u!^`U zXcM#wRs`#a>w*qJyI@VQiMT1~5_AeS1lx$)f**oz!IoebaaYhg=o#z?_7L|3eS;r^ zeZc|ZfnY!|FgO$(Asz{S4u%BBf?>pALFwR^;6!kacrF+fj10~Mmxz~wvBBuzLU4_E zEtnXL53U3^h&O^s!Ia=uaGQ8Lm=??k?gsaW_kvl$oZvz5i1;X&7c2;#1kZ@ifyymffB9{)&^2&glhvM+#GBSw9pAR22Qv=*cw=2 z5N-{EaCfjX@WQxoXAl?e4fY3#!zAJUAW3*II2KWkWTT!!lt-V#Ux5^{{+cl~^@&Lp!V-)*#jh!_W__g*Aya!$jdb zVePOEu}+vYOdi$?8xR|W?}n+uM&WzJ_rlY``(cx?dH6mZ>BA4gW?^e$>o9YeF>D#O zC$hgrk6VMk)eFh}@N*g5P<>>B0@KMA{sJ%~NRykY*ZSJ;QxCoC8i4*P}uiT%S* z!=m9&;UMCm@Qbi`_;dIR@t3f4STY!f(Rq;Y{Mpux?mCoE^?3&J7!ejl=ojx5RJ5G~svQ!f+XJ zS=b`{K3o#6BCZPCgss9A;X2~FutV4`ToY~}ZU{StUBXS_7UGt$Tlhn`E!;ue5%vsw zhr7Z(#64l(@W*gpcz}2y91so+4~0jFN5aA3knm`Dig+p<9u5mngy)Fo!cpPK@Jx7# zcqtqkjt(z`*NE4`iQ)M0N_dNSE1VKe3U7qBiMPXP;f(NZc#n85oE6RqAB2yHkHUH3 zg78VWh`1P(ow@70dEqNsEZpMVOJCDr=?))W`G!6# z_xbeNcMMs3$d|u8V)OsTPu^MzYwNInz4N{z+Bu><0vsx)05Kg9;#diVNa%^@3UTHEER8)qd&d5x7YdW@Sv#%Om)wgM+G$|s2~3U4pwW2 literal 0 HcmV?d00001 diff --git a/assets/revive-ring/revive-ring.gltf b/assets/revive-ring/revive-ring.gltf new file mode 100644 index 0000000..247d301 --- /dev/null +++ b/assets/revive-ring/revive-ring.gltf @@ -0,0 +1,142 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.1.63", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Torus.001", + "scale":[ + 10, + 10, + 10 + ] + } + ], + "materials":[ + { + "doubleSided":true, + "name":"Material.001", + "pbrMetallicRoughness":{ + "baseColorTexture":{ + "index":0 + }, + "metallicFactor":0, + "roughnessFactor":0.5 + } + } + ], + "meshes":[ + { + "name":"Torus.001", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2 + }, + "indices":3, + "material":0 + } + ] + } + ], + "textures":[ + { + "sampler":0, + "source":0 + } + ], + "images":[ + { + "mimeType":"image/png", + "name":"revive-yellow", + "uri":"revive-yellow.png" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":5184, + "max":[ + 1.0174199342727661, + 0.017349302768707275, + 1.0174199342727661 + ], + "min":[ + -1.0174199342727661, + -0.017349302768707275, + -1.0174199342727661 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":5184, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":5184, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5123, + "count":7776, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":62208, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":62208, + "byteOffset":62208, + "target":34962 + }, + { + "buffer":0, + "byteLength":41472, + "byteOffset":124416, + "target":34962 + }, + { + "buffer":0, + "byteLength":15552, + "byteOffset":165888, + "target":34963 + } + ], + "samplers":[ + { + "magFilter":9729, + "minFilter":9987 + } + ], + "buffers":[ + { + "byteLength":181440, + "uri":"revive-ring.bin" + } + ] +} diff --git a/assets/revive-ring/revive-yellow.png b/assets/revive-ring/revive-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..6a62860ed140e21d841307e02f891855ff118cd0 GIT binary patch literal 38680 zcmeI4Pe>F|9LL|f%WATwOBP~QVkg1Fb_owr{#ntDu-d#9Yh9BBI~Yie<-t4@5_B)T zbdewk4+Y~PIs`>^F*+!9D8WM%q!3B#uKQ+Ye{bGKf9Uc#`FO57GatXdzwgJ~I5pT` zSKC~xl&Z@Nq_av@J4(emYvTExPj41`^FJbE+5R3i|Dt78saBOqcMpx9TYG!D&P^qH z7w=qpRqr0Y-|^-0@XFZcSN&y%fPj*3*pY8s3ScYJb0?O(pD!ah*^+l8ul?w0k7 z)a0}i>CDbG*}o{IzK7pT;acff!kukVs)Xm2BxczDg_o|If z{>ze)=;++Qp%8rASIenyQTuaG*EBf?`)0cBSBpM4V1Mqew5wX$vx(6EXW@pLoF63& zA=hiGimwdJp0^`()mpXvxf_xx)j!jC-F~%r?ikVu(;?EaX&LEQEC=Zz9T{~9SQe8Z zVA)It=^!0roBV`f{lrO=b}GwVICOS1qv zdgFocK*mBbR7OZAUl8Dde#ZkL9i(G)Hd;)09Z^B~;uBs+3q>xF4$=`r3k;j;m}^)t zY-%wXq+?KwcDqOi=@{En44aA|?4IZj>RJ0}Lls%!y6c_0r9bqyIo7zlk3%>snp96cUm@=%Nk zve;fyx55@#bwjPzmrOis*@Gp1+_D`SD!T-7jD{(9I5z*t4?P`_|u@h?21%> zuK3=r74^tc3T*xAM6AWVUGZ&XzzN5QaztCnlP++8BitZ9#~9m+Rs$U1m!6vos4(eh(ys z!EhgN^}qoR*|JA~uufPfta}7F!wQ7UV6XrVaLThyj)sFa5>NWNG5s*I2wgq z07o*>JHXK>{8Xf1{$2)iKEJ|weTX{J1@#g*B|J-x#y~n$FV|=u! z;dFyBrYSp?nJ}h4Z%lkJQCISO-FSVu^d~YiF*s{4;O8G5AnWE|Fn@IY8bi8z_U;g`wcSq~C#+Gkaz461V70ph4 zbv6fYX=&{@qf2e~{a35YU8(_aAs-o>SZ%LhaNk|O`RRRF@kAz`EG~Dy^&`wjKA!a7 zcd9#Q9=7$>`LC8N&iNl^v^5f&UL8B{M_7_h%zxiV$MYZxNXH|0q=R&v!w;j5JI9n` ziG=0J*GLEH=z@h>#}hJ?$-a<5I!MP^rZL0vOfZ?8>m+17NC)YtMJd*GY=G!lAxnau zkU=^~$GOhNYO)?ltcQ&Vm4xgdgLJG=^o9)5K{{$y$o8i%WZ3?6h0OK+zN?j9fTLw7 zWQ2^|Yi=}PIIG-pT+x7`5>jBmK{`lB4JtHXctVEW9X;)_9;AbGoMjpf7{1+PdUsS3 zvUwTlARWDsPXmT0Wa!=Tg$&X`I?ghU1`NB=6IdiD#}d6eItf`1(m^^ZWN5&!0itJx z^zL{<2I(LjI|UBZYcyc!k;Hmvz)(rZ4l+o`3dJs2SEB5{mCn?o4^x$10R6KMJ#0!; z0dqLbV^hL8+bstJ(m^^lMFg`4n-YPtD+uPGGG$Z3x5A2akd7Ku*p%>v44V?3kU=_s zAf3YIO6NxDl(AHD@B6)rkFPx4Eg$IBQ5^6fFTGS)%*SSHo^Um7Hp9s=^tCni6Ug zq8){HlyD5vjzT+%ivZaw94P@xzyVGuw?^Zn@_*KX8+sPhIn+7f0g5^&kiUQ<1W4tA zLL0!*OvD2mL7@%cXeQzTj-b#6a5NL~{3SRA({t|3ixcm*@0QM>GTD*w%-V2n{x<{D BeB=NC literal 0 HcmV?d00001 diff --git a/assets/speedup-ring/speedup-ring.bin b/assets/speedup-ring/speedup-ring.bin new file mode 100644 index 0000000000000000000000000000000000000000..676b8947821abe9e8313ce6f28c5975fd34c1117 GIT binary patch literal 181440 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 literal 0 HcmV?d00001 diff --git a/assets/speedup-ring/speedup-ring.gltf b/assets/speedup-ring/speedup-ring.gltf new file mode 100644 index 0000000..b38975c --- /dev/null +++ b/assets/speedup-ring/speedup-ring.gltf @@ -0,0 +1,142 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.1.63", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Torus.001", + "scale":[ + 10, + 10, + 10 + ] + } + ], + "materials":[ + { + "doubleSided":true, + "name":"Material.001", + "pbrMetallicRoughness":{ + "baseColorTexture":{ + "index":0 + }, + "metallicFactor":0, + "roughnessFactor":0.5 + } + } + ], + "meshes":[ + { + "name":"Torus.001", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2 + }, + "indices":3, + "material":0 + } + ] + } + ], + "textures":[ + { + "sampler":0, + "source":0 + } + ], + "images":[ + { + "mimeType":"image/png", + "name":"speedup-blue", + "uri":"speedup-blue.png" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":5184, + "max":[ + 1.0174199342727661, + 0.017349302768707275, + 1.0174199342727661 + ], + "min":[ + -1.0174199342727661, + -0.017349302768707275, + -1.0174199342727661 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":5184, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":5184, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5123, + "count":7776, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":62208, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":62208, + "byteOffset":62208, + "target":34962 + }, + { + "buffer":0, + "byteLength":41472, + "byteOffset":124416, + "target":34962 + }, + { + "buffer":0, + "byteLength":15552, + "byteOffset":165888, + "target":34963 + } + ], + "samplers":[ + { + "magFilter":9729, + "minFilter":9987 + } + ], + "buffers":[ + { + "byteLength":181440, + "uri":"speedup-ring.bin" + } + ] +} diff --git a/client/main.cpp b/client/main.cpp index 51b3d43..51e57ed 100644 --- a/client/main.cpp +++ b/client/main.cpp @@ -136,6 +136,9 @@ int main(int argc, char** argv) { modelPaths.push_back({"../assets/swipe-attack/swipe-attack.gltf", false}); modelPaths.push_back( {"../assets/player-note-attack/player-note-attack.gltf", false}); + modelPaths.push_back({"../assets/heal-ring/heal-ring.gltf", false}); + modelPaths.push_back({"../assets/revive-ring/revive-ring.gltf", false}); + modelPaths.push_back({"../assets/speedup-ring/speedup-ring.gltf", false}); modelPaths.push_back({"../assets/arena/arena.gltf", false}); for (std::pair kv : modelPaths) { diff --git a/client/prefabs/PlayerSkill.cpp b/client/prefabs/PlayerSkill.cpp index b2f7fa1..c2dd76a 100644 --- a/client/prefabs/PlayerSkill.cpp +++ b/client/prefabs/PlayerSkill.cpp @@ -9,6 +9,12 @@ std::string playerAttackPath = "../assets/player-note-attack/player-note-attack.gltf"; +std::string playerHealPath = + "../assets/heal-ring/heal-ring.gltf"; +std::string playerRevivePath = + "../assets/revive-ring/revive-ring.gltf"; +std::string playerSpeedBoostPath = + "../assets/speedup-ring/speedup-ring.gltf"; PlayerSkill::PlayerSkill() : Entity() { PlayerSkillType* skillType = new PlayerSkillType(this); @@ -31,15 +37,21 @@ void PlayerSkill::initComponent(int skillType) { printf("PlayerAttack!\n"); break; case (int)SkillType::HEAL: - // model = new Model(AssetManager::Instance().GetModel(path)); + GetComponent()->SetScale(glm::vec3(1.0f)); + meshRenderer = new RendererComponent(this, ShaderType::STANDARD); + model = new Model(AssetManager::Instance().GetModel(playerHealPath)); printf("PlayerHeal!\n"); break; case (int)SkillType::REVIVE: - // model = new Model(AssetManager::Instance().GetModel(path)); + GetComponent()->SetScale(glm::vec3(1.0f)); + meshRenderer = new RendererComponent(this, ShaderType::STANDARD); + model = new Model(AssetManager::Instance().GetModel(playerRevivePath)); printf("PlayerRevive!\n"); break; case (int)SkillType::SPEED_BOOST: - // model = new Model(AssetManager::Instance().GetModel(path)); + GetComponent()->SetScale(glm::vec3(1.0f)); + meshRenderer = new RendererComponent(this, ShaderType::STANDARD); + model = new Model(AssetManager::Instance().GetModel(playerSpeedBoostPath)); printf("PlayerSpeedBoost!\n"); break; } diff --git a/client/src/AudioManager.cpp b/client/src/AudioManager.cpp index 72d5913..bbdde6d 100644 --- a/client/src/AudioManager.cpp +++ b/client/src/AudioManager.cpp @@ -114,7 +114,7 @@ void AudioManager::Update() { // int off = (position % interval < interval / 2) // ? position % interval // : -(interval - (position % interval)); - if (abs(normalizedOff) <= 0.3f) { + if (abs(normalizedOff) <= 0.5f) { if (abs(normalizedOff) <= 0.1f) { text = "perfect"; std::cout << "Perfect! "; diff --git a/client/src/GameManager.cpp b/client/src/GameManager.cpp index 6f9abd2..fafba67 100644 --- a/client/src/GameManager.cpp +++ b/client/src/GameManager.cpp @@ -161,7 +161,7 @@ void GameManager::update(Packet* pkt) { players[network_id] = playerPrefab; scene.Instantiate(playerPrefab); - if (players.size() == 4) { + if (players.size() == 2) { Packet* pkt = new Packet(); pkt->write_int((int)PacketType::CLIENT_READY); client.send(pkt); diff --git a/server/include/Server.hpp b/server/include/Server.hpp index 97f3ecb..30db506 100644 --- a/server/include/Server.hpp +++ b/server/include/Server.hpp @@ -12,7 +12,7 @@ #include "psocket.hpp" #include "EventArgs.hpp" -#define MAX_CLIENTS 4 +#define MAX_CLIENTS 2 #define SERVER_PORT 25565 class Server { private: diff --git a/server/prefabs/EnemyMover.cpp b/server/prefabs/EnemyMover.cpp index 7d6102d..1d4c095 100644 --- a/server/prefabs/EnemyMover.cpp +++ b/server/prefabs/EnemyMover.cpp @@ -3,6 +3,8 @@ #include "Client.hpp" #include "Enemy.hpp" #include "CollisionManager.hpp" +#include "Health.hpp" +#include EnemyMover::EnemyMover(GameObject* owner) : @@ -27,9 +29,12 @@ void EnemyMover::Update(float deltaTime) { return; } - targetPlayer = clients[0]->p; - float minDistance = glm::distance(clients[0]->p->GetComponent()->GetPosition(), position); - for (int i = 1; i < clients.size(); ++i) { + float minDistance = std::numeric_limits::infinity(); + for (int i = 0; i < clients.size(); ++i) { + // only target alive players + if (clients[i]->p->GetComponent()->GetDead()) { + continue; + } Player* currPlayer = clients[i]->p; float currDistance = glm::distance(currPlayer->GetComponent()->GetPosition(), position); if (currDistance < minDistance) { @@ -56,6 +61,17 @@ void EnemyMover::Update(float deltaTime) { } else { position = glm::vec3(); collider->SetPosition(glm::vec3()); + if (CollisionManager::instance().checkCollisionCylinder(collider)) { + if (transparent) { + CollisionManager::instance().remove(owner); + } + } + else { + if (transparent) { + CollisionManager::instance().add(owner); + transparent = false; + } + } } } diff --git a/server/prefabs/EnemyMover.hpp b/server/prefabs/EnemyMover.hpp index 3634b12..7427dea 100644 --- a/server/prefabs/EnemyMover.hpp +++ b/server/prefabs/EnemyMover.hpp @@ -12,6 +12,7 @@ class EnemyMover : public IComponent { float baseSpeed = 0.66f; glm::vec3& position; glm::vec3& rotation; + bool transparent = true; EnemyMover(GameObject* owner); diff --git a/server/prefabs/Heal.hpp b/server/prefabs/Heal.hpp index 9aeac2e..9a957c2 100644 --- a/server/prefabs/Heal.hpp +++ b/server/prefabs/Heal.hpp @@ -12,6 +12,8 @@ class Heal : public PlayerSkill { int amount; Collider* range; float radius = 10.0f; + float life = 0.3f; + bool dealt = false; Heal(Player* p); Heal(Player* p, int networkId); diff --git a/server/prefabs/Revive.hpp b/server/prefabs/Revive.hpp index 39f7659..5453fa9 100644 --- a/server/prefabs/Revive.hpp +++ b/server/prefabs/Revive.hpp @@ -12,6 +12,8 @@ class Revive : public PlayerSkill { int amount; Collider* range; float radius = 10.0f; + float life = 0.3f; + bool dealt = false; Revive(Player* p); Revive(Player* p, int networkId); diff --git a/server/prefabs/SpeedUp.hpp b/server/prefabs/SpeedUp.hpp index 96bccd2..f4d1782 100644 --- a/server/prefabs/SpeedUp.hpp +++ b/server/prefabs/SpeedUp.hpp @@ -12,6 +12,8 @@ class SpeedUp : public PlayerSkill { int amount; Collider* range; float radius = 10.0f; + float life = 0.3f; + bool dealt = false; SpeedUp(Player* p); SpeedUp(Player* p, int networkId); diff --git a/server/prefabs/playerSkills/Heal.cpp b/server/prefabs/playerSkills/Heal.cpp index 31f6e00..dc7cbaf 100644 --- a/server/prefabs/playerSkills/Heal.cpp +++ b/server/prefabs/playerSkills/Heal.cpp @@ -6,20 +6,29 @@ Heal::Heal(Player* p) : PlayerSkill() { range = new Collider(this, p->GetComponent()); range->SetRadius(radius); this->GetComponent()->SetState(SkillType::HEAL); + this->GetComponent()->SetPosition(p->GetComponent()->GetPosition()); } Heal::Heal(Player* p, int networkId) : PlayerSkill(networkId) { range = new Collider(this, p->GetComponent()); range->SetRadius(radius); this->GetComponent()->SetState(SkillType::HEAL); + this->GetComponent()->SetPosition(p->GetComponent()->GetPosition()); } void Heal::update(float deltaTime) { - std::vector hitObjects = CollisionManager::instance().doPlayerEffect(range); - for (GameObject* g : hitObjects) { - if (Player* p = dynamic_cast(g)) { - p->GetComponent()->AddStatusEffect(new HealEffect(p->GetComponent())); + if (!dealt) { + std::vector hitObjects = CollisionManager::instance().doPlayerEffect(range); + for (GameObject* g : hitObjects) { + if (Player* p = dynamic_cast(g)) { + p->GetComponent()->AddStatusEffect(new HealEffect(p->GetComponent())); + } } + dealt = true; + } + + life -= deltaTime; + if (life < 0) { + exist = false; } - exist = false; } \ No newline at end of file diff --git a/server/prefabs/playerSkills/Revive.cpp b/server/prefabs/playerSkills/Revive.cpp index 936aaa9..45ac4dd 100644 --- a/server/prefabs/playerSkills/Revive.cpp +++ b/server/prefabs/playerSkills/Revive.cpp @@ -5,20 +5,29 @@ Revive::Revive(Player* p) : PlayerSkill() { range = new Collider(this, p->GetComponent()); range->SetRadius(radius); this->GetComponent()->SetState(SkillType::REVIVE); + this->GetComponent()->SetPosition(p->GetComponent()->GetPosition()); } Revive::Revive(Player* p, int networkId) : PlayerSkill(networkId) { range = new Collider(this, p->GetComponent()); range->SetRadius(radius); this->GetComponent()->SetState(SkillType::REVIVE); + this->GetComponent()->SetPosition(p->GetComponent()->GetPosition()); } void Revive::update(float deltaTime) { - std::vector hitObjects = CollisionManager::instance().doPlayerEffect(range); - for (GameObject* g : hitObjects) { - if (Player* p = dynamic_cast(g)) { - p->GetComponent()->revive(); + if (!dealt) { + std::vector hitObjects = CollisionManager::instance().doPlayerEffect(range); + for (GameObject* g : hitObjects) { + if (Player* p = dynamic_cast(g)) { + p->GetComponent()->revive(); + } } + dealt = true; + } + + life -= deltaTime; + if (life < 0) { + exist = false; } - exist = false; } \ No newline at end of file diff --git a/server/prefabs/playerSkills/SpeedUp.cpp b/server/prefabs/playerSkills/SpeedUp.cpp index 9654972..95d1619 100644 --- a/server/prefabs/playerSkills/SpeedUp.cpp +++ b/server/prefabs/playerSkills/SpeedUp.cpp @@ -6,20 +6,29 @@ SpeedUp::SpeedUp(Player* p) : PlayerSkill() { range = new Collider(this, p->GetComponent()); range->SetRadius(radius); this->GetComponent()->SetState(SkillType::SPEED_BOOST); + this->GetComponent()->SetPosition(p->GetComponent()->GetPosition()); } SpeedUp::SpeedUp(Player* p, int networkId) : PlayerSkill(networkId) { range = new Collider(this, p->GetComponent()); range->SetRadius(radius); this->GetComponent()->SetState(SkillType::SPEED_BOOST); + this->GetComponent()->SetPosition(p->GetComponent()->GetPosition()); } void SpeedUp::update(float deltaTime) { - std::vector hitObjects = CollisionManager::instance().doPlayerEffect(range); - for (GameObject* g : hitObjects) { - if (Player* p = dynamic_cast(g)) { - p->GetComponent()->AddStatusEffect(new SpeedBoost(p->GetComponent())); + if (!dealt) { + std::vector hitObjects = CollisionManager::instance().doPlayerEffect(range); + for (GameObject* g : hitObjects) { + if (Player* p = dynamic_cast(g)) { + p->GetComponent()->AddStatusEffect(new SpeedBoost(p->GetComponent())); + } } + dealt = true; + } + + life -= deltaTime; + if (life < 0) { + exist = false; } - exist = false; } \ No newline at end of file diff --git a/server/src/CollisionManager.cpp b/server/src/CollisionManager.cpp index 2c51b1c..2d62bd8 100644 --- a/server/src/CollisionManager.cpp +++ b/server/src/CollisionManager.cpp @@ -237,7 +237,10 @@ bool CollisionManager::checkCollisionCylinder(Collider* cyl) { if (collisionCylinderBoundary(cyl)) { return true; } - GameObject* cylOwner = colliderOwners.at(cyl); + GameObject* cylOwner = nullptr; + if (colliderOwners.find(cyl) != colliderOwners.end()) { + cylOwner = colliderOwners.at(cyl); + } for (const auto& pair : colliderOwners) { if (cylOwner != pair.second) { if (!pair.first->GetIsSector() && !pair.first->GetIsPoint() && diff --git a/server/src/NetworkManager.cpp b/server/src/NetworkManager.cpp index 0ef2207..5be1887 100644 --- a/server/src/NetworkManager.cpp +++ b/server/src/NetworkManager.cpp @@ -157,7 +157,7 @@ void NetworkManager::process_input() { // printf(" judgment: %d\n", judgment); std::map clients = server.get_clients(); // TODO set miss time to variable - if (abs(judgment) > 0.3f) { + if (abs(judgment) > 0.5f) { clients[client_id] ->p->GetComponent() ->ResetAllCombos(); From 430a9671a3b4a40bedebd490514d8a78ca4ca7d7 Mon Sep 17 00:00:00 2001 From: Junwei Chen Date: Fri, 7 Jun 2024 14:14:43 -0700 Subject: [PATCH 2/2] revert changes we don --- client/src/AudioManager.cpp | 2 +- client/src/GameManager.cpp | 2 +- server/include/Server.hpp | 2 +- server/src/NetworkManager.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/src/AudioManager.cpp b/client/src/AudioManager.cpp index bbdde6d..72d5913 100644 --- a/client/src/AudioManager.cpp +++ b/client/src/AudioManager.cpp @@ -114,7 +114,7 @@ void AudioManager::Update() { // int off = (position % interval < interval / 2) // ? position % interval // : -(interval - (position % interval)); - if (abs(normalizedOff) <= 0.5f) { + if (abs(normalizedOff) <= 0.3f) { if (abs(normalizedOff) <= 0.1f) { text = "perfect"; std::cout << "Perfect! "; diff --git a/client/src/GameManager.cpp b/client/src/GameManager.cpp index fafba67..6f9abd2 100644 --- a/client/src/GameManager.cpp +++ b/client/src/GameManager.cpp @@ -161,7 +161,7 @@ void GameManager::update(Packet* pkt) { players[network_id] = playerPrefab; scene.Instantiate(playerPrefab); - if (players.size() == 2) { + if (players.size() == 4) { Packet* pkt = new Packet(); pkt->write_int((int)PacketType::CLIENT_READY); client.send(pkt); diff --git a/server/include/Server.hpp b/server/include/Server.hpp index 30db506..97f3ecb 100644 --- a/server/include/Server.hpp +++ b/server/include/Server.hpp @@ -12,7 +12,7 @@ #include "psocket.hpp" #include "EventArgs.hpp" -#define MAX_CLIENTS 2 +#define MAX_CLIENTS 4 #define SERVER_PORT 25565 class Server { private: diff --git a/server/src/NetworkManager.cpp b/server/src/NetworkManager.cpp index 5be1887..0ef2207 100644 --- a/server/src/NetworkManager.cpp +++ b/server/src/NetworkManager.cpp @@ -157,7 +157,7 @@ void NetworkManager::process_input() { // printf(" judgment: %d\n", judgment); std::map clients = server.get_clients(); // TODO set miss time to variable - if (abs(judgment) > 0.5f) { + if (abs(judgment) > 0.3f) { clients[client_id] ->p->GetComponent() ->ResetAllCombos();