From 57fdcb2d05ffad2a3eddaaca2763a81f3666eb18 Mon Sep 17 00:00:00 2001 From: kawoppi <94711066+kawoppi@users.noreply.github.com> Date: Sat, 23 Apr 2022 09:14:50 +0200 Subject: [PATCH] Visualizes blushing on characters after using *blush or when they're drunk (#66321) Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> --- code/__DEFINES/colors.dm | 1 + code/__DEFINES/traits.dm | 2 ++ code/datums/mood_events/drink_events.dm | 10 +++++++ .../mob/living/carbon/human/species.dm | 6 +++++ code/modules/mob/living/emote.dm | 25 ++++++++++++++++++ icons/mob/human_face.dmi | Bin 98268 -> 98303 bytes 6 files changed, 44 insertions(+) diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index 7d7325e6007..261ff54fee5 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -68,6 +68,7 @@ #define COLOR_PINK "#FFC0CB" #define COLOR_LIGHT_PINK "#ff3cc8" #define COLOR_MOSTLY_PURE_PINK "#E4005B" +#define COLOR_BLUSH_PINK "#DE5D83" #define COLOR_MAGENTA "#FF00FF" #define COLOR_STRONG_MAGENTA "#B800B8" #define COLOR_PURPLE "#800080" diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index b8939c26b94..c233fdd87a8 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -365,6 +365,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_DONT_WRITE_MEMORY "dont_write_memory" /// This mob can be painted with the spraycan #define TRAIT_SPRAY_PAINTABLE "spray_paintable" +/// This person is blushing +#define TRAIT_BLUSHING "blushing" #define TRAIT_NOBLEED "nobleed" //This carbon doesn't bleed /// This atom can ignore the "is on a turf" check for simple AI datum attacks, allowing them to attack from bags or lockers as long as any other conditions are met diff --git a/code/datums/mood_events/drink_events.dm b/code/datums/mood_events/drink_events.dm index 513b5764387..8e168707601 100644 --- a/code/datums/mood_events/drink_events.dm +++ b/code/datums/mood_events/drink_events.dm @@ -2,6 +2,16 @@ mood_change = 3 description = "Everything just feels better after a drink or two." +/datum/mood_event/drunk/add_effects(param) + // Display blush visual + ADD_TRAIT(owner, TRAIT_BLUSHING, "[type]") + owner.update_body() + +/datum/mood_event/drunk/remove_effects() + // Stop displaying blush visual + REMOVE_TRAIT(owner, TRAIT_BLUSHING, "[type]") + owner.update_body() + /datum/mood_event/quality_nice description = "That drink wasn't bad at all." mood_change = 2 diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 1797549ea98..3d1a283631f 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -581,6 +581,12 @@ GLOBAL_LIST_EMPTY(features_by_species) eye_overlay.color = species_human.eye_color standing += eye_overlay + // blush + if (HAS_TRAIT(species_human, TRAIT_BLUSHING)) // Caused by either the *blush emote or the "drunk" mood event + var/mutable_appearance/blush_overlay = mutable_appearance('icons/mob/human_face.dmi', "blush", -BODY_ADJ_LAYER) //should appear behind the eyes + blush_overlay.color = COLOR_BLUSH_PINK + standing += blush_overlay + // organic body markings if(HAS_MARKINGS in species_traits) var/obj/item/bodypart/chest/chest = species_human.get_bodypart(BODY_ZONE_CHEST) diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 89e9aaa8a14..942659f79a2 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -4,10 +4,35 @@ mob_type_allowed_typecache = /mob/living mob_type_blacklist_typecache = list(/mob/living/brain) +/// The time it takes for the blush visual to be removed +#define BLUSH_DURATION 5.2 SECONDS + /datum/emote/living/blush key = "blush" key_third_person = "blushes" message = "blushes." + /// Timer for the blush visual to wear off + var/blush_timer = TIMER_ID_NULL + +/datum/emote/living/blush/run_emote(mob/user, params, type_override, intentional) + . = ..() + if(. && isliving(user)) + var/mob/living/living_user = user + ADD_TRAIT(living_user, TRAIT_BLUSHING, "[type]") + living_user.update_body() + + // Use a timer to remove the blush effect after the BLUSH_DURATION has passed + var/list/key_emotes = GLOB.emote_list["blush"] + for(var/datum/emote/living/blush/living_emote in key_emotes) + // The existing timer restarts if it's already running + blush_timer = addtimer(CALLBACK(living_emote, .proc/end_blush, living_user), BLUSH_DURATION, TIMER_UNIQUE | TIMER_OVERRIDE) + +/datum/emote/living/blush/proc/end_blush(mob/living/living_user) + if(!QDELETED(living_user)) + REMOVE_TRAIT(living_user, TRAIT_BLUSHING, "[type]") + living_user.update_body() + +#undef BLUSH_DURATION /datum/emote/living/bow key = "bow" diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 3249e8e4470d356c47fc20a344a62834eec9acc1..ce29fc9c662b81cad6fa11047d3115592b60c713 100644 GIT binary patch delta 13937 zcmX|o2|Uw({Qnjqxf62DQLcna?%W}j+;XQP_ib(;a#zSVta2wLxnntIj!ID^X;_Tp z97dR9w*B9JzsLW##~!2lOz*uvulMWqy!@sgrPGf-ISn^&IHPq`cy*f9y=Kq&^+GCV zF#$0J?MKj6Fq=GKl(l?i%Hy7E zbH*lYYs`lG#3b_Lmi1%TPn_ggLprm~KBvY!V*P_*gv7GjN)hwT=pLk9gS?|cIxmi= zTSPPM_s;f|*5;EAyYvi+QY~rm4NAH$?ETe0;s555*oA^-DCWCha0)rg2m%)@S3Z? zi5nW>4%@t;aPh$9YJx%clZXc{l?G70^)lxR^1J(#_Dq=YqmSltxwljODeb6ddT=ku zv88sH(A$H=xP(`@y*XWOs9kI<^;8dy|Cp+C5a_w!O5Z?G8+Nw{+PQl%qS+>Ys~M)B zyof?6I`dHp2@4}Mk8nb5|J*fHvd9Ha*2yQZv?MYi6^tOf%$ zSPXgZ{*Olav4y_sA4{S29UYH7l^+fdTRf{cR)>3JS(Oyr`d0a1Lcf$t3lin5?TEhe z_HC_6uTnu3;pvH|cPQg6NiR`)bl#ox6DRJ3_*i*dIOP<%^Y9ko7K-dEATn62Nz$Sf z)9{s+rs=d{dz*(JC5()W3dDSiACB`|-Zu}cP>n)K49&%h@wfI6KCXn)8%|%93v;MB z-Zr=$cZ$q1_QmRvei%z}(TlhlDy$1Ea0@W4&LRRbu6N4=e)qd1EN8Ef<^GvYuuLaWHYxYg=Q z&X0W^+Hls#r_whIGKV~x(!pIYmr3$RKSIQ;Gt6b(P!|07CHd(cP?G~>(&|E30Sm>6eUk#ofS~St7H$6q3c5|BJiz}kOBfdaVL3b zVFW3k14`zbN48m|g*+elrtmq-8|avLLBS~&#=xa-*C?8IPrk@6JW=8G=TGvZo`p?u z0k(%`l?>t^vYGT;_PDQ|v66Uxo%Wk!Qc_aVMCz%I9d#ay3u2w=t2+1QN)I zx^_!GB~a~P(?soM7(%#`tG4=FirZ~zOvrTm!7p;&RupE!NT0IJd|?!!PhPx)zRaWb z^;&$gfty?Ex@Fbh7=h{wpe&=x;-)!T+Vb`{>x!YzDuNl#BV0E|LOZR`pBrg~P_0+s zQi4UPrgiAn*2L8CurMR)&G%24VK6b+RYN^%)ZP`iFzaSb>i98!j?}^s6v7B@4YgRy zCF_cnback9HM`q;qVY1hrr;G8A98IWM~6P?uUZQQIUk8)is1~7+IR1x)5mQJw$#N-t}$q#a%+%;6Jz z&{tWJe0i0kmK4~|u9+`nDG?T(#Kn@VKlXd#_qLQ%ZB8`vY1U|6$C|v0t9XxM1`oOu ziq{x^nnxXBQXZ-iyNDFIybdeagspO-OpW1!&=dn(vAC8fr#2ORvpkm0-uoS?e)^@` z?s_WXAvpKEtVeImw6S#eW65k`Y!V~PTD%d z`L9=QZSHB&7NK29_?Cx<@Gte3iCp>va)0$%oH_z6#!A~K{e244Bldo{b7%GCDn#uy zLT!@@*GEFlnAQ4eI{(7Dj((_nlGHLiN>XE*oE?+OW&BXbB|10@2|w6z(U`cGMYe5- ze$ndn;#t8n>oyj9&>#8o9~zYns+5GE;)=FVwh8#q9CgFN`M79S-yTd9A;gbd=&c{i zx~e1)%GXnM?9xI48oz1~-8$(XPCD>Sh8Xk}P{;kzLb;|#x1&V9d4%AUyAo|vM3md} zYLf|_W@!8sF|K$VG1=<{#-_nIby7~EIrO@!&ex!oX^l)jL1olH*rL3&b0KzicD9`_ zdL(FS(`}z$`*>=v00Lp>5+Z>6t^GRg!t*3|``u|y9j<{L)ZCBpGkz$sd`E#bNPF>q zF+}5sHu%>@=^-|q%d;VWVP=N=E6%XD^cGr3ul0>DMMW?8K#yu1SyC%2(j{pXn3g~A zXgY=(DBoh}Sw)hBHXa+jG>E>qM!?-IyL$wtf>tSiQxrJR$bp$!A6tB8a{q^E)&qwc zzE6F97BajAu-{9euq_TF>tY&YUWXfA3Y`vaEvO>(dI&H%De!9)a{u=d6PYYc_ zwx=o_dGn}mcKp)hq$ry}O5!gu0lvxZ4v1ULc}7Sej@b}Piw)dXwQCQF*luADI4UWz zZ`+^~fi@Z*#``ha_vx(SN*WpmrSm4I|8y|%&GRP>Ef`c!3hr;I?fYx^ z)`(2{tPAt^b`W}B$Byayrure?^=jCsj-Gl$j6)dqsSj;UegeCx=OSbSd*>vee-;|JrhMv*!)WX@r&z`=hJ<1ouCDNXpZw)9>2~*JGm<0;U^&>$d(WrFsFDw_U`0f@x_sg6NH0Q zd&0Zxtr!d@fHF2Fz*b!P?p*3<(X(gqeXGMQh==7bo9M=OBqtDbw_l{X$(weXDb7%U z(C#kLudkjsLR|eaA{~6^&Jh4Ys;pUW7DL(}4-dr<1_OU*TRpS&XQ}ijs&Qv_aZ#pm z{Ov!nj%Lgmt18|L&)HzQX?6WetTW9~egw)*8G#=y^sKwFg?<9aSeR$CBeot=iTTvm zwk+DW-|N|1PqgzH9a=5!EnRQd@Ij#W39s0VS*NKpxQdI6oK11dhZNymN{^lK39pdsK?g@ zyuH?|6n9ZYV?HS(REkQpt=`Vgn+RI_?6()_cgFQvrB$HrbRS1c($hX(@9KMw0UuyS#_8s<`mv#7EbOX>muI+dqu zjYg|o3Dp3bpJr4B`^mgM+H9k)s)?@qwo+Bp%(Y* z(cmMy2fq)@?~9aQ^jZpTy^X#aCT(3kx&Kj5k5s=Zw~RpIm6kd0Zefbo$kq_3Qcl(v z|F>3p{;!z1kS0HRLaWczIL2N z<%jSa8ik)ee`ZlpRh`+PxY_erR`LG&^(+3$Wj_GmU{O{CMNFiZCw!$xi2uVss=K;| z#zTNwofIlN=H0{{jdz*i0em$oOE4-^gw)2m`b}NcA10qMK4>A;j1CN1S>m%UzdJByr4@aZcWcHv^F&{h%^58<+PS)R!c}1 z#dzN?zoueKh*p{z-!gH|E9-#xB3a27Y%kBQT+DItcVRHVMLxS_MIq(~qFwtp7X}dn zE$ly(DocohOF9o{f4Arf&hu{RWoMkf0OLOo z>Fe)jDtiWuc2GB;`k+s#!SwXS?IwWcLRy8vHms0FtVSlL5>uQJix_5xE^u>UB@Q(b z!W@#kY_fjFpdTR5!2nr+#aDfijbrk(uFVM-fv!ke)KH+YZP)NzZ+9FmD@oE}hhD!7 zMUt-B*Vty8mWvtIy>hp|rPcg;mA3Ft-ChAzNMP@Ubk&5lfB1BT{4}x#Wlw=PQ+r6F z+X0w24j8Gq%_0WbGjE#Tu%-4)h{j`PnxPDbsMMl!tmGQ5_~WZgnD=DFZgqFKztp4L7rxD7qJ z#KKS^!ju{+b?(uq#9)E;NVQHmmYsQ(5qYI!sY0y`(Qsr5jpX(*Y&^voYKE*`ul7AP}P7yRa04n>_a2yBP-i z<}tE2seI$Up-DNw%E7H{XgoW3!W@<-G(4b%UM4|i|DC7~J1lXV(hJeaV8_9z(puTC za2I_~zcFy|eU>akp!e1i5Ht#!`A9-mXwtMBjuS9uUe>Yk@r0p;L;@)lziL!tYi0kd zp}F~JuM!ivDEt*{3h|E8`#zIPq5Q+wt*^DwI;xt|EyaF5&#wn$?UHq1mi^Gw39-O2 zy5QreGKKtaQr^viKoP*Nrnm`AR6_Xe3(b#LknNr-`StS0HzJ%UCcDInVb7S8omts{ zQ+@#A#c8S0(Flw0LN_v4NA&{1`Ku7=Eg^Q=y*c?@ao$1!#m&N44=^Ll^Y{!=h}by0 z+(p_UO-!vKEviQYW2sPE3?(|?EN2({)&sP=Jvi2j$o4ct36|8}#b+W*+Y!0V-BVbA za(q!ObF+O}=e4yn^-JSJZB}VO=ioyJqff)etYDHeX}fQ!50o`#0=hmG739dI>Q1RA+^AN8RIkN$h8M`(tVJ_Cv# zdgO`(cV)&Kv#WA;{XFm(Mwm<1j+_J+%-m?a)!7}kQU{H#Y8WM~X5%pU(4Uz`FaMNq zuVWIfC!03^S%I?fAtz_1W?l6@wmQ%G)MIIGXrjPT?UfCjg(gpCTB1=`m=+B-jcnhT zML^UD0<~iwU+wVE6;!$mFOXxDZk*6nq~{K}i)}1Jq|a9050TwuqR|JNaiLDX6Vg)e zgrCfBM!p9_Y~kZvaH(Zg$;gsS9YA3kg_%v9p*JxEALUDO`#PbZ?te!InkHUS)eQFq z_=aE6Nvp+=Qv3Pd#XjUH$Edg#1QtZ(tQ`QAd6widZX+$g!a6Ea((1&~ef#_K;CV1p zUsQyMzMWLBHUR6xxEME$CxKEc8;*Zd)tCBQ?YwwxfHP``MCe;t@g*q>B>PXUB?t5> zDFJfjz5RkQ9{gDD;)4O{e-q6{jPalu-Ur{K2sv0n5D9@LO;Y;U;PV`XbIVsXqww|ryLeA7RlC*FOH(I<+ zqSH3JI0aAIxRZS30Tmj#;EM0l0pGM=)Mt*S?-VoF5;xE{qsPx?tLg7weqeI?fo*m2 zq3Xj3O8uhOi$Tgp_5LTg@UFL^(|s;P-t(nXhiJQcRBmOn9KkMQ$gQAy|RZ(3bC!22@EtA zByM*wNu)i3uH34ggg%%J$5Zh)rATBhc*o-tF{m zg~u$m(Nhb3{1jQM3;^|~+QVQQ5eJ_OvluXJC<_Pp2{;GJ-2sk(SE7;~;FowvD)~38 zt8D;E{~N5HV|r#`2ldqfZVsoRL>%GT@Czs>NBD&!tt8YFN4VsbB2iTt%_Wfq&zg~? z>Fz{kwUGJ8Ux88RA@X!xt>Zs>+4*cdgX=j%4~T$@bAlU7 zPAzy;%c5Iaz_F|-;k)%D)S?qyf@#IU_wOxX6qhqx364VR zIm7kf(Avde7l2lzPJF@9BGJtln{5geQY=4szD&&?Sa`+thwiVE4{52NKV@tGXi*I4 zFTaRkEE}U%mvgUsMI%1XH#X9DfMyx5Q&JOGHvS~V4F>zSrv=08Aa=bGKu?D0R*(K@ z;q1?CWJ}g>Z)tV*_uHYr|5-Qc4V10V(88w4X`YFR+hOOtaPRQu)uVv4xKf7h>?66K zxYD!8pkXxXgkC$OD>*!Q?rx!>ym44WT(8a(enUH?J2*n6=4$Im&BxVIa8r}#19L!o zW&@J5@xTC!08_>N``m0yaM(8^2GT({rJn#3)rt|bLtNHxAJvx;PMLvrB!xLN-v~5_I@{NOi1f4qt_b7ebzCa_)bT9vQvu!SzmV2RsuqOgS2Fij! zIWi@M>rh~CC;fZ>NB@-IW%G*ORLs4`1A8+n*E8e7lz!!|gHDX;+<(4k{GoaXD;`P( zR3cC1UgIeg-4)IR0pK4nnRD^t#aphfeSnuVL+gmteVCGp%DnGIHU^C&5rA>T-PC~) z-&;A0YPE7f!JjyB;&9Cuo`2{$=<%^az-pbbQVA}p?cZiMw4OgNQZH{@+yAtGcSQN- z1QsvykJLfU%%cb!;@o1r+-$OWAYc z?}vRq7Z!@Z0HQN$b~su>qA|4Z=s`k2Xv$3utoHfhP{TyI{CO=6+(?Hbi$QM!1eo>- zkHV4yHDmBADuC15D%=OXH`8eo%4LWE z(3qU+Qa$>>>&5F)Z!oi-SiS^XI=gW@CMM=~*-Kol>r?Qlfu1+)$=iLK3(#SJS%46@ zlx`;Vlz}tec|2EBQ!`>~k^AK^TallDNx9`SSEoaEuU+_Q>p)Az)>cVf^O2!e>B_PC z&IW~W6_wk&)IcGoqA3W=S?nezm?6Q-F`IEMD97|X(20`tOA}Iu?^MaGVke{DBBsYL z>d56j962HK=wnWX5q?HfFyp0@f}{Z3oxAQITQ8qiNl8yXRxYmf^xJ3sQdm~stQPLF zC?`*PQl9A8brngtS~ve$xNMM!Ie`LKO7ptdMruh2SX4wSDWg!c{igcmO1m1FF z8JY_Tj*Xq%i}mm@idqP6rSJpw#7waVJ}*M7`gwAD#2AEl)MtMgZwA*rZJX%d6J1sAJ7hD6HJSeDP0=Jvhsh-t!uPkkRF&q^3pvl{Q zScEy%T;`q6>04pc7;Vze#;iU6srNGn`4IXfmZ@$BLsP_V^TkieKc=Zvam*av@h|sy zz)dHIJB!5kmD8sD+9rk}!p@Hd&i%x2H2&y!O>$_fQ(BT_ofAEG5KiJG3>97OMY+bM zw}+GN#Kwx`=jQ`Jr>ByCrF~L#G3W203@DJ2fNameqXTB=zvbU@bnNAaTw@ZVch(NY zA)u)Sm&YWXr}nlcUAtcJjB6u8czjh%N?JOIoS|Be>0Eo{0rd?OpN(M)m}^E-KtO7Hv7hf2~#0;<}xc26=m!#x8#`s69PIWAV)u!FS%1XZR@Ur zhNCMM|G(;tQCUOX4Y~1|XfQot1+apFg&b&-6i1yAia*h_!(?Rx3hK?>yLX#`5xC4r zIJ|e-7G41&?IMSNS+iP`7@f@YnS%iO4{Vz8w(K0`jSqt^w97P|w0>A^uA8pRcih9u zUznDAkNc|pM083^NfpGt{4u40)U>R!_Hz%rvNVfeO$L>GUPEJoBJ2R!C%D@KH5uG0 zi~aHYI1;^J{C{D%*NX`9%JYBwGr75TY6a+V3y6c8T{pZTi(Y9l2!jmAYluiiIKSS=3wNusM456ynsCMs!)?6NU* zn}0qf2APY4Q+rz`X?k;E@0*Zn!FsH@kWIa@3#B)JjvNIIcap#J>6ce6`$$*|))%R1 zjTh>q;DgQky2Msrh5xN_LWKCicm0eFrb-qv_}lZDmh&WW2?z=G zWW}s zWMq|D%1nRwdm0!6FVh(t@p!f7cS$!PilfsbNRIikNT;Fb=YAuZ_XwbML+ zm4HqT2)ztUh8+uwDkGwz%4T#)M*-9Izt7xSC~|#pknB>zI&~b>$g83C!vY5`abu-? zS@!EgcXbshl<$~tImZ$RxLtV^DQsbfQmEu2&o{FXVJ?SywQMnM*?PKqRSxKuz}?|6 z0fzbOQYmQF>VkDW9VsKgqyGG(>+$>}yrE-_4z{R;Tw78xo(4 z`VKkS-~D|JvjVjS(xuWw95KuTKE7&ohL`n_C`|g#f*W~rBFd>vw}dgMC;#BSX~`f6Hp0Gmsv& zMClQ3aWkmFl)WkRovPgd23qTX`>-bib8!vf`5Z`?i<8sAZloWq%f$CDN@H2^t0K!+ z5`mBX71}yPW_ku>NEepe+PS;z~Q+iTlaadbq}S@7gf%^ z?s-}cbg~Q2A74D`WW1~WwV0|1Ndct_fE~G9)}ERA|Gc^&GM3gFL1NbF>hDbjZeFMn zYPIUu5q+RtKFl@Fst?>(W;)dgpVm3}QvC4e2Z)h%T>j;T8tam>lYSRa>Ajo9ce}8A7?2$;oBUXKgeX2&fP!9@4soHI^_ei8q5SBHkd9?fJFnz3?vC4@Ll7$ zJSfU?OF;e&$}KG%2>u2@D=8b+ZFNd+op*HYde$r0W zqdPO#t>jR&M{WYe!cb^F_>$9KPJdZOTUlAzru|>3f?-;h`k)kh{>El%g%{1-Zg)*p zMT49Pt`|tz_%gOQrm3MJ=G1fM#W$(>h53&_5roA*;#W8%<*!D(eq*A;al9Y(miucN zqnJB@axy;U-TZwilq;mYHOV$%JPWq} z#S7q$1g*9AKlcPm(JC^UpiJCrjpVi#KJZ0KU!z-Z(N^V}9nRg#J1TqT`p5^2BGyob zr<)@9OM8O&`-eI=TXKC%+nbtsT(a+|cn6)NsGtxhoYkk(l31U)udBEM{tU(aM!XM8 zCdEY)@e~6a%(t2wB>0Et`ZQ}S6;QhC$Urs1HeoOeJnD_8Pv03kOXi<2up}8We zFeHn;xRlC1#t{Y546jk9U}CNB#mJm|WD?-#7JE0ggmN3qHl`!+>o;zQL{N5j)nc@Z zLo)xBTs4s`2S9Y8WYoBBoN)>%oyV4KbS|Gf3gzcScXlr};<;zu&$mus{x(zVlVPmSp&1^?C zgd(pd^}2yEtXX(6(RNL9UOnwiCgceGsEQK&O#8U61ZqH*6w|P+*oF5(7jm2D_lJ3Q zt_4&V#nHm_tirfNkW?sfnN2c=vkW-&C-U68=YnSx>3FdTCqj<{c+$Xdh0FQ?ei44zfi zmXIZ(rJ*4KaIFQcuF9Lmf0~ALMy8JKj4u>_aZ+F&QFaqx64i=;jVR~hF3Sflv%aK? z|EB$L(BTO(nn*p>>4y}O8|?=@G3{SfL~87JqSkH$D1$TQ^2>meeUc`d3@CAS`XYrM zmj6-Y%r8`u0m|VI?VW%+AkA!_ErG(@16!S5+g5|Q3;KOv`y|M@^xvod-HiO7h)6Qg z)d{tbH<%8T)PClI#Q)NyfyNC)+glp#r{hAlRU4fYNSZoP-yb~GCb$Bwctz^zxazlw z*$vOVmCYy&_{@3krK8^BJQ;sL(@sGi1l%;nMG8j=PtjBD5xd;puc+@a^y;@E%YUo* zwTD(mP`m!{Ko*o%bR5Uq%xkE?0Jt1*TJi(nvhW4e#{jqr{2J;Y0DcQv(5W^;;f8E!0Oh$o{?!``;|0AD!i1`Hp|t-mJ6VQ4)x2;j|4gdDc&s7 zS`vn7MID&zMJHmuPYw=pfJp_W>=Y2nf|`-rpN#?@5L9|OUi8*NPe7u^CMA|jd1as3 zVzL69-wv&qd!wCuW?-*czJPib1h;}% zyMoTI>=4{=I%%~kg&L8j(|>7x#jX^mPRd|=-9aa%zq*7or2h-f;$&Q=Zb>y!^6$AXy&mJr z`8R;7uodzTm;|5iT>y9s=qaEFgSzF?FR`owlA+bOSA=drHx^_{&k%K143LmYPaW|D@P9B`HxdV_6+b?&ueNv0&;;kqeM3J zx$~oW=q`;y;HU2|VNH9L*2z0le8l8#g_!UsfU*L2t^vpe$CG;+*0@f;BxQm+3T|qR zB?TQCPxs^-Nk3odHOU_ao@N3C#(nvKSOWA>AeXt+*)2tO0g7LdN6uQoi#yrRF#K=+ z65xRBH0c5rFef3w8<(13QfAlF*nJG9-bWgAZpXBUd_Vr6%DUhFwC|G{JT3Z6z|{$> z6+rRklhmMcK=i>u2XlgiYrUu8hjFs zbqp(;djg&5Ce?|x;W`&DCIWEdezDG%Y;ylFBQ^{Cd(gIk)$#1vGjo+A`!A~|-&AxU zJiNVGQ`}Zq32lH2M_{I$@uAms(8lknaXQP}8o*Nn262-{h?;QR4C`uQ33Rtq^(F2Y zgWB*}HTioJxE@=-jh`>;57T6-KnVd(YRV;cHW-Ma)?r%u2MW2kF>lS4PIrjb{n(Mz zyw&ccaDQurxD9|FKoMQU?LSK+m4kDEode*C2#Z}?b@piA(Cc7Qk|tVwcx}0}@REZC z>WRK8#INr_4c9~R#{nEDHD>`?GX_K~depl)7BvQZAdYQQHRjbFP(uRqueFA&r+GtP z20RA|3k+xBlDKM8TH3pfC=56;;5y;yzZKfVKV6(m}cFl?w7^zK##<>U0BKBKmSq?q!Vez)cvrVll$5T;F zt#4QQyIm7{y$sMq#sKl85a&RkF_@e_BF?DzF>UIBC&A{6p(W4^pH(b5Wkp9t3C`Y~ zHSJv_Dm6VYQO%4$0e+rH4>-m75kc=kc(s3!A^aHXb@AH);1b56_cTudb5;RDfpqfp z<{lRdqtf~FrPP>}Sg3)MK(!i2z1iDO^=D*crUM3* zR6Br;&98_ymK+Ya;kcx_Efu&zuslpwu`D|8%L!)O0l_k@h+W+x^;jdXMe{H(#gm;k z{LZ|@@&ErAKsHmsgToX+Fcf=yvNObyqn#bLzCPSr`tI(nFwWqD34KFD0?z~2gFiUp ze%N0aZGG6l3liB5;2ItVj<$36O*=7Co%&Z?C!m!R^^I*3cD8o!nm^XwCqV7z4ub=R zuEx_WsWpd-2MIyuB7K&x-v-m+=+)#Rtyl?QrUKr@*4qWGe0}?C--qY}KBBlVN7=CF z^xvMVHQOkXqGr}_kiM#E&bkKFwt!KB25BDEXRqT`%)sB+ExF~{f zAjlm7cxt9tWIM&A8LA@44s3WZr3zfM&K+K4^9xNvQ=6ReQ_LD`(O4Rlv>gRZNubJU zQ|?Phykyw0da&5M-7h(Pvq(D|#E#V$!RZ_%C!p83I7PLe3=9ms51M6)pJMq*Zt`oT z`a1gi`pfwAeVR{sM;t5URQ3Pe_3z&WpwgGj(Olc(Zp8glEdC5k#*6m{ZwCkS{Ex*h zW91Pfzm?v$O?!eRhj27;KyO2U;pv3VjroZga$!H!{^7lsCpf%2OQ;t#>o`8_n9`Z0Dql zWBwe(&GnxIIx=_yO$dlqB+T|@_npIq0|yvPFA%2zAmv$6k&yz*pvwA436gjB(>I~U zao;~5(oc9cJAgD87;NpdjOFaxnlTHTkw7xM*JKatT3L|?g5<`^_{Fc+hh%&V`c^(e zH8tnn*3`gZAg%)f13c-Bzi_x*0{!p?)7J4itiL^#OM?Gy*UREGymy%Kx?+L1*Ky~0 zrU-itXe5|>aSMmX9>b+`Ce6jM2t`c=K^;?;=|3MqEM!QB{=3yLC@2Ug^F;3O!$)ah zq=2Q*G910r7Cgrass-XZygt`zX2E0O!w5+y_xR@V9uCP0F93QD8U5_W^dlixlU(uN z0NwW@;$&dc%K>%$K+)UVi+tx$6YCc7eI<6vSEZ2Dww)Rvdj_=Um%}nZX#o7ZqOvmg zmm+BI1qFw{D*+gJ4i5j z#LI!25LDrcf0YBeyD5a6+g5%C|x#Tde*Y!u=yEriU%_l02kjs3yIoBr`*`l zp4OIrsTZ-t9jLkZX*THe)2jf%jbRxufzM3K4}WFBl#qiGjD@Qo(RqThiG@o;klp2f zc=`?}YX{g(?SJkkU4N}=qIYg=eh*vQY4*V(ljD7Gwd&}afVTrQf-Aq`gtVOZcuE77 z4n(e+nBiGEn!X+2+I|$~`tByv>iZS2oRxJPeUoVV|5r0N@MIiCZ!~!3^#T}Mu#)Wy zCJDMQz;qkst)Xh0)e-FgLhHHSnfi-o2-+-mt(+iIG5|bvAiBj~I=nG%0?*XWm&WM$ z`UQLe=8FMK!eJyoXd7);ewnAP_nV{Y8Q3m0?*4fVUBY5Gz|gRQaRiy=09c8+IGq(9 zI}OFyF!NN@AdWC~bUfwK@%fpuRLh+nA1X7Dn*Sl_hAUL(FzT$yg0=v-C9_xpacg%Z zoUK^Tu&zeZnOPVnsuL*>2M3wmT_Z1cyvZ#oAYY^h?%B?<3)(nHTx$DL!pFfn=6?R< zeb8OfvhG(s>eJ{_cNZY?YwOzn`v&Vuu25H?egw2TuMQ${Tm8FV^tL86B!gknhqd}r z@-|F5%1>73{(s=89zF!R{wL%N&Kaq~m`%-%LwSfN?3_Px0F*B^y Izy09<0c}&|vj6}9 delta 13890 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 Dr7G+O