From a88489ca6df5735b2e5437268d9ca81610219618 Mon Sep 17 00:00:00 2001 From: Kevin Poretti Date: Sun, 7 Mar 2021 20:34:48 -0500 Subject: [PATCH] First pass at implementing generic state machine component; Create protagonist states as a test case [git-p4: depot-paths = "//depot/main/": change = 22] --- .../Protagonist/BP_Protagonist.uasset | 4 ++-- .../States/BP_ProtagAirborneState.uasset | 3 +++ .../States/BP_ProtagAttacking.uasset | 3 +++ .../States/BP_ProtagDashState.uasset | 3 +++ .../Protagonist/States/BP_ProtagDead.uasset | 3 +++ .../States/BP_ProtagGroundAttack1.uasset | 3 +++ .../States/BP_ProtagGroundAttack2.uasset | 3 +++ .../States/BP_ProtagGroundAttack3.uasset | 3 +++ .../States/BP_ProtagGroundAttack4.uasset | 3 +++ .../States/BP_ProtagGroundLauncher.uasset | 3 +++ .../States/BP_ProtagGroundedState.uasset | 3 +++ .../Protagonist/States/BP_ProtagHit.uasset | 3 +++ .../States/BP_ProtagHitStun.uasset | 3 +++ .../States/BP_ProtagIdleState.uasset | 3 +++ .../States/BP_ProtagRootState.uasset | 3 +++ .../States/BP_ProtagWalkJogState.uasset | 3 +++ .../AnimNotifies/AN_SetCanAct.uasset | 4 ++-- .../AN_SetIgnoreCharacterMovement.uasset | 4 ++-- .../Private/Characters/SNGProtagonist.cpp | Bin 11196 -> 11416 bytes .../SwordNGun/Private/Components/SNGState.cpp | Bin 0 -> 2974 bytes .../Components/SNGStateMachineComponent.cpp | Bin 1656 -> 5960 bytes .../Public/Characters/SNGProtagonist.h | Bin 2654 -> 3006 bytes .../SwordNGun/Public/Components/SNGState.h | Bin 0 -> 3302 bytes .../Components/SNGStateMachineComponent.h | Bin 1412 -> 2032 bytes 24 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAirborneState.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAttacking.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDashState.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDead.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack1.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack2.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack3.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack4.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundLauncher.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundedState.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHit.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHitStun.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagIdleState.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagRootState.uasset create mode 100644 SwordNGun/Content/Characters/Protagonist/States/BP_ProtagWalkJogState.uasset create mode 100644 SwordNGun/Source/SwordNGun/Private/Components/SNGState.cpp create mode 100644 SwordNGun/Source/SwordNGun/Public/Components/SNGState.h diff --git a/SwordNGun/Content/Characters/Protagonist/BP_Protagonist.uasset b/SwordNGun/Content/Characters/Protagonist/BP_Protagonist.uasset index b141b89..6002bc1 100644 --- a/SwordNGun/Content/Characters/Protagonist/BP_Protagonist.uasset +++ b/SwordNGun/Content/Characters/Protagonist/BP_Protagonist.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:78acb1d3629cf0d04e04cb0d334c093094d79d6a2f2c6c7788783363e472ba1b -size 143645 +oid sha256:94556feaccf05c37e58a2dbfd066f742808e3114eb7a62da042fc77e6686b360 +size 115507 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAirborneState.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAirborneState.uasset new file mode 100644 index 0000000..738a719 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAirborneState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e56f5d6c26e8cab05af33ff371a171fc358e49ba36afee97784069534518cb6 +size 5516 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAttacking.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAttacking.uasset new file mode 100644 index 0000000..dc64c30 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagAttacking.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8734825ed04ee7b12e42d7ae6067cd08c68b7fcf75ff366e5e3a46aa43950d9e +size 6436 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDashState.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDashState.uasset new file mode 100644 index 0000000..9e53541 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDashState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64f02d347101ae6db3c730785469e9b205640d3e51a9a290925dd5d6c23d1f89 +size 52836 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDead.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDead.uasset new file mode 100644 index 0000000..f93e2ac --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagDead.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:404cc5df6d5171a2509a230070449fd134696f75d2880398dee30e512d1d3d29 +size 4887 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack1.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack1.uasset new file mode 100644 index 0000000..bc03dbf --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:657b81baa7904724692484c9be5d9a470f6baf0aa71155f36a9a85549357ff7f +size 4977 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack2.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack2.uasset new file mode 100644 index 0000000..80fb24b --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c0f218fc283b30563793243853a34dd7d6c6c6416c51abcf19d30c8720d8221 +size 4977 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack3.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack3.uasset new file mode 100644 index 0000000..8a38c94 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b1ca6a8e226ec04525562a96578110abd52ba3822c31c472ebe803e026000f4 +size 4977 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack4.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack4.uasset new file mode 100644 index 0000000..f3d562f --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundAttack4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3107173e9f39aa3733d92c770b647e7291d1e024180e01ff74fa81162d7fc0c6 +size 4977 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundLauncher.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundLauncher.uasset new file mode 100644 index 0000000..b9750af --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundLauncher.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca71f0bd5bafcc38562d39659a29c6c23ceaeb901a8b781d2e0f0244e90855cd +size 4981 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundedState.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundedState.uasset new file mode 100644 index 0000000..4b72f0e --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagGroundedState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f2eb6e06563ce18c9092ef11f7b0c9d641500743c2ca26700ea23f1b4cc2e3a +size 6271 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHit.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHit.uasset new file mode 100644 index 0000000..463dc3f --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHit.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2071913ea6211dbec39311fdadb500fbad1dc0586f75918bece51fd88e880107 +size 4877 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHitStun.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHitStun.uasset new file mode 100644 index 0000000..94fce91 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagHitStun.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6026bd0611a2f5bdab4886dc7036f10ca5c9a30de4deef512af5a98997680e86 +size 4918 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagIdleState.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagIdleState.uasset new file mode 100644 index 0000000..cc75010 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagIdleState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b76c69a6197519538f2b84877f274b5900a3346ab5143965fecf2220fdff1b94 +size 44927 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagRootState.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagRootState.uasset new file mode 100644 index 0000000..7fd3735 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagRootState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b5b5fc037892ecc7192e655b75261a85de72c653a5568657b5c00912347a5f9 +size 29289 diff --git a/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagWalkJogState.uasset b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagWalkJogState.uasset new file mode 100644 index 0000000..c107516 --- /dev/null +++ b/SwordNGun/Content/Characters/Protagonist/States/BP_ProtagWalkJogState.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34f8e3e622ed2fc85ef3740fed39a574e67be2680213969e4f70adc43e82d98 +size 44916 diff --git a/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetCanAct.uasset b/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetCanAct.uasset index 45ebcaa..374ed55 100644 --- a/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetCanAct.uasset +++ b/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetCanAct.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89f6f8789d420edf37974550d0cf963f1a99e880abcc35f43da5e936779cf944 -size 38905 +oid sha256:1de517d34d7b10a6ac7142b998e56ed146380a271231263843815f277a505568 +size 29843 diff --git a/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetIgnoreCharacterMovement.uasset b/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetIgnoreCharacterMovement.uasset index e363c5f..c1e0d60 100644 --- a/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetIgnoreCharacterMovement.uasset +++ b/SwordNGun/Content/Core/Characters/AnimNotifies/AN_SetIgnoreCharacterMovement.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a9d984f9dbf446a352537c0155e701c9adecfeb304c56db194a3ee04ea2f1e5 -size 39164 +oid sha256:b6f84f161dbdaf29b00bd637c80af2a088e28e9b77fc5ae1971c062a6650797e +size 30043 diff --git a/SwordNGun/Source/SwordNGun/Private/Characters/SNGProtagonist.cpp b/SwordNGun/Source/SwordNGun/Private/Characters/SNGProtagonist.cpp index c3b8d41f45d2084fc83e05934e63f9d19b6785eb..d99146e6741f39a848c669a7f48ce44e9b2a1c97 100644 GIT binary patch delta 114 zcmdlJJ|l9&J{DOn1}+9phG2#ghD0DvW$*>k$qX3`nGAUhsgoO-yrumZ+;Pe?vM7t= U)+@}c#GpC(G^hLKKP(5-0K0!0bN~PV delta 12 UcmbOcxhH(XK9@^6-yDwtxyU)hEl1NwnC*BH7W2`nZyl2X;Z~XFG73}KM9;OV`qJ< z;|CNuws&Xee$M#spH0~mC#N!#sr-;w1~SKcPwwzOlOdj8;5v|nT;slr)f;)h&R9nB zU1fh`{f)fB^%_ry&~b}hN}sBZ7*cbrJjwl@sl-4g&^yElCu^$v3fiYQ8{?Ww0^fRa z4C_6-MYv+=!0Osk(|KjTD_yCshO(|_e(L|P<@sA!8*7x+Gt_hjiz7%RYI`PqL>|Gn z1Z#|mzJ{_7A0xTaI6mN?(%$1E>Ga}vu-#G03{(|CrgOdz|jS!YGeQf4I|O8_Zv zt4SNHnq{#`?yY7gXer&1_Zry{Sugt=!XD#JH0mas<&!?r%$qiqxR8(9H!-SojjT^l zn>O`mmzQ-hU;c0R)cKt6k2e0d?|`Nn6uW9Hm&o4J+Kx|vLNWm{8fo>D7MWg8F&K!U zFp%I;?K{Bau!T;dsX3;sf2?W&P&Gk6#%YgxPtIjeF65J(fNetDr@(z5a%3c0`GQE< zRYdV9?dLuD3YidmRAmnb_UJz1okMJ6Wm>~EH9tU>9Xo@~2>W~=lydBl?<)T|tQlW8 z)Qqf6{l-G{mb__poHCQ~sFUY-TSHA4-Ns6sbP(xOIf2~I9FS8pOax;2_1MVwa5X#3 z%>jIzgE?cl$K7MF$kjm_Q9+UWsi zDJMOr7pM9qo(u^Nb)^?%%{$og=m^wu2n1NJJMvji(W?&da*z7}9&;{RH*m%i*B)0v zAugBG#V>`2lv8;oLuht4UHPmybjyw$DN>IW8*zn`cOb!uNgQk-&ZgcwLA;#FGxeVK zGQW#fy_~U$@A6gO4?Sp~gHybnvVXo?y;PBj{koHPh^X#F*{}BKv+tHN=8ExW)3|J< zk6h32i%`ccV6ul^_=fCHu#(_+f-c*tslc{uuc(Y^@{#T?b&}Vby=^{Qj$u^=Z4#Ar Y7Qgw*yT$sIcR4+?`BvV`_|!V=A7AY0l>h($ literal 0 HcmV?d00001 diff --git a/SwordNGun/Source/SwordNGun/Private/Components/SNGStateMachineComponent.cpp b/SwordNGun/Source/SwordNGun/Private/Components/SNGStateMachineComponent.cpp index 671f1fcd1c9ebdb62a23340e24c8fc7ae2440e61..c4aa5bec59e3d8a0d6dcacdf833881a284f80040 100644 GIT binary patch literal 5960 zcmb_g?QR=I6rI23DYmJg+X&p0p8+bh&W9?}BqELgAyhfe+8C19^2SL`!~^k?z&ZDN zd}nrN?Z#A=z24cG`!(mDduRXs=Y@OWGI#2xZtQ+{h3mUp+@HC7+)v#l{(ph*p_{oI zTss(@xH+DT+|d0dbN|Np*KP;jm-zQRWZdB?XP=6U0<&&0@>%eCDl_`-3UV*8B6C|J z`x?^6SXq^*m=8mEL40kIS14x)bGyS~7 zf7(#U(}CEV;R)q)ejg*TP0wU}BJrAF-4wG&vY!5(Kib}1x4Xfr+&vc`ALO@%IB^%% z&(-$x=@@e_U~?u>9Ek^v!^r)KQSSLYBEUURS)4gUq^@O6iTOS8yL4aTNe}b5CX~yV z^xYo|X+#7gHOH(0t}3aGyUhIzYi79iMGmFRFvB#LqH};>?mwS#uNZ6Z^%yb-kf8cU zvR_0qb!Na5HS5k^i;ljGk7Uh!q5Trq8}|${GF%IM)FVdW+O-$@m?e}?@8=2Zbr)W@ z5#5gH+Fy9?pJeVkv2-e!`$pu3zOJ&2>9y?LTl`j0U>TRY zE|4{YPt4aIqF=fbMDN>#{#UTdR(6*2W3<-orZ=`uqjZee-$T>Il9$pNbL^VtE753D zLhTyqR`B#I_X>C9g%fDuo=;s4rm2oRN2aA$pI}uOOViBk^lM%NNtc1%E|5kJn?Reb zu=(e1-@SK7u<8&qjxc+O_!ET_$u=FKr(Mka3BNh`PPLE|hj>!LE8X8++a<&Z00uYZbRZ&W)bU@$5FG-b7YP+Gw30gC_2m=i+l!l3-`oyHm_lRt4_^~ zheh_a5_ltSI>HLmniYzoaECq)?ah{16skz_yUZ-HIOL7CSscRHhw?uS4rq^|L9viw z&&Ze6al=ScMAKHM5%X!#rYzVJ#(KtqY#V*kX>rYE^YoSQG{=rZ@Jd0=ZOQ*B-^DP~8*nvZb-wq~`hYFmfI zAK?uvwz5T)nI7A}kuk^_UC5j-Wcu3P6E0=P5u;aG$neb0ja7PrD{BL}kgKi)N0h=& zq;MY~pR1G~s}V6&X?MkneudBDIwVH(|Dy5@bPgpJr_kSn_2frN_S{I$(oTobOV8I_ z(cM*a{s1(N;lJU@n7fWT&kEX`+nP;zcC~i3wuLUQNiXw-HF#e#iuK!UVtl*=+ee-{ z2H5>V_)l^D236%P>g*n>?jB_E{&0~4>yV$W#YYQN)p?e+-l-)eO&6I`*G4{^`n^|j@6H(%Q$XvCi)&O8|~=0u(CLn@!rXM|6YJ-+uQ_r_SRQX{K_VQHN1NX4YFQjAI2R78UD;ejhhU}#0n=W#Zc}Lbe02A}{%yV;HmtS#! zOudnLBh0)(M@DJdzc$TTmFs>@U1JVBr#$j2Lfh9{;Ik>@kEYD5bH{GV z(HZuZXH;UJ@%LV`t1W@8A;xm7c`2CLK`!mUH^mS4ka(O*4eS70JX`ZwD2ee3ty$$A zEjkB6F9qX8#E^A#gi;Ui-o>Bzc@p~&)d_pXeOqOLKVeiQgbdvhj>w_0I?MDtk(2W= zBK;20e~-D$o?^*(tz|7_&CvR0JDu*mn)O-NMQIO)EMeO%zO>$- z*Q)(X^~~06=X$KF#nmp1tW%e&l{}2vFNs-xPkvoiSRa>^7G^N{lOE6Dy-D|d1K;Uz z4zt{zdcINFO$bvNbx-2e%{EvM!Co-bALEl&G}&M>=s|NILK#{E)u*`M=GbO9Q$|*q zt%xIuIlh~;w{y1`siM$#*Cnjiw+8;4$ai(DnQ_0u-hl59dHUD>n(x`d)qI;qzT>+z v_LpI=?K>d$pjM^ZTb)>uCN1<6g6Z delta 36 ocmX@1_k(A{3g*db+?OVIF$-{WGH?N5Er{Hl%XgS@atpHp0M$bZ0RR91 diff --git a/SwordNGun/Source/SwordNGun/Public/Characters/SNGProtagonist.h b/SwordNGun/Source/SwordNGun/Public/Characters/SNGProtagonist.h index 51d72fea6dc415b9a3368941a4be9c4043c4edcf..19b846055b2252462e6d085c2634d005dbf65f05 100644 GIT binary patch delta 133 zcmca7vQKn&yIbu5x<-4UfKmd~B$&|VP1@~wIu+b8x8{`))`8mD}Zcoczl1{Et?mg4QbHSK`ap>5eG zY&7w_%f9}nyiKv%w62plz{<=%U~gy*J0hPktLMbMUGUs>9!EAM1EHa;56Ezc_EUQ^ z&tk=%@ex)DzsY>H;#R#pwhopXw&5_!9G=2VSsvvUWkDGB@i@g!$39vMk6R9r9^Z## z&?c+Idb};;l-Mf!m&7M~=U9?di+_P5vj5G+v;-C@`YF~uCR^CvKw8)}$WF3L`FGK# zeE3WgRtYkTkw`zHv*cv9k=qA}F44DG)giIz>Y@CLh)Dkm?9UyuRk>5vQ^$k}_QZ;E zjT%&OpWO>&6Ee!2bY#>X?~dW2@Xzw9NBKI7q3YYNr_^tr4M8j9>k;$F2%G!GeF!#U zgqS`eMsf50nZ!JA%Ot5qF60^V@hn&>MX^JCvpK$tweG^GiL1(ut>LBP7#VrpvJ>_f zS+j2IRLfiUIx&;Yc~_{Gi#{XHO;|F>eMbEFS|5P@J?W zed%|?oGW%}3)xMw%kpZ)m||{KrrZtHyGIlzNcfEyD!SBVqbX4rThJ-9zggBgRG`kug-ao&GAH-@g0y5u4b1t!*Ip!?AnX@48j9c8t2PFAbY=HzX0mg@xW zx-&OLN0`a)2{CAv%;4Y@TSew!=T!9!DW6b9O-jR16opT;1ET}ofKVKzrQibmflz;N;1B&7IIO0rftX5b3ks5n3n*kI;>>|7 zaRClpg5OJmiM11XzUdAPzwK@J$qQ8dDXKJ*bg#XMF}5Y7}$1r>#

jt6-8Y5;%=5roUSxW`jG;BkEMP*3+IBnu<7g_U$_Tgy3G5lqvnc`vt%v{+& z#74j!R7Xsvr&~lA-G7PeGStO%=9v~Dj2$!AYzA(OGfyW(Gq!;1koZVJLF@d}Yk|x> z8jH2ur1^cerpzLsFJfFauhgu=Q|8}U=(y}RCr#YSX7aW?wd~jJifgSr<-NWEE+1-H delta 49 ycmeys-@-lN&SoygQ%sW&v58DJU@M#aj!9wj2{r{r5iSNU22LOZ(X|ZLU>X36)(esV