From 571584901cd92b45b2af4ae0968b0acc6bcf7e4c Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 14 Apr 2020 19:10:28 +0200 Subject: [PATCH 1/4] Custom skin tone preferences. --- code/__DEFINES/DNA.dm | 12 +- code/__HELPERS/mobs.dm | 34 +++-- code/datums/dna.dm | 14 +- .../objects/effects/spawners/gibspawner.dm | 4 +- code/game/objects/structures/mirror.dm | 18 ++- code/modules/admin/create_mob.dm | 1 + .../antagonists/bloodsucker/powers/veil.dm | 3 + code/modules/awaymissions/corpse.dm | 2 + code/modules/client/preferences.dm | 34 +++-- code/modules/client/preferences_savefile.dm | 8 +- .../mob/dead/new_player/preferences_setup.dm | 1 + .../mob/living/carbon/human/species.dm | 18 +-- .../carbon/human/species_types/angel.dm | 2 +- .../carbon/human/species_types/corporate.dm | 3 +- .../carbon/human/species_types/dullahan.dm | 2 +- .../carbon/human/species_types/dwarves.dm | 2 +- .../carbon/human/species_types/humans.dm | 2 +- .../carbon/human/species_types/mushpeople.dm | 1 - .../carbon/human/species_types/synths.dm | 2 +- .../carbon/human/species_types/vampire.dm | 5 +- .../chemistry/reagents/other_reagents.dm | 140 ++++++++---------- code/modules/surgery/bodyparts/bodyparts.dm | 15 +- code/modules/surgery/bodyparts/helpers.dm | 31 ---- icons/mob/human_parts_greyscale.dmi | Bin 63266 -> 65445 bytes .../code/modules/arousal/genitals.dm | 7 +- .../code/modules/arousal/organs/breasts.dm | 9 +- .../code/modules/arousal/organs/penis.dm | 7 +- .../code/modules/arousal/organs/testicles.dm | 7 +- .../code/modules/arousal/organs/vagina.dm | 7 +- .../chemistry/reagents/enlargement.dm | 4 +- 30 files changed, 210 insertions(+), 185 deletions(-) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 6604811d34..14d9de4faf 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -71,6 +71,11 @@ #define MUT_EXTRA 2 #define MUT_OTHER 3 +//species use_skintones defines +#define NO_SKINTONES 0 +#define USE_SKINTONES 1 +#define USE_SKINTONES_GRAYSCALE_CUSTOM 2 //adds a "_g" suffix to limb overlays icon states if the skin_tone is a custom one. + //DNA - Because fuck you and your magic numbers being all over the codebase. #define DNA_BLOCK_SIZE 3 @@ -131,9 +136,10 @@ #define NOAROUSAL 20 //Stops all arousal effects #define NOGENITALS 21 //Cannot create, use, or otherwise have genitals #define MATRIXED 22 //if icon is color matrix'd -#define SKINTONE 23 //uses skin tones -#define HORNCOLOR 24 -#define WINGCOLOR 25 +#define SKINTONE 23 +#define CUSTOM_SKINTONE 24 //adds a "_g" suffix to bodypart overlays icon states +#define HORNCOLOR 25 +#define WINGCOLOR 26 //organ slots #define ORGAN_SLOT_BRAIN "brain" diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index e022c10007..38831fd5eb 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -262,24 +262,30 @@ if(!findname(.)) break -/proc/random_skin_tone() - return pick(GLOB.skin_tones) +#define SKINTONE2HEX(skin_tone) GLOB.skin_tones[skin_tone] || skin_tone +/proc/random_skin_tone() + return pick(GLOB.skin_tones - GLOB.nonstandard_skin_tones) + +//ordered by amount of tan. Keep the nonstandard skin tones last. GLOBAL_LIST_INIT(skin_tones, list( - "albino", - "caucasian1", - "caucasian2", - "caucasian3", - "latino", - "mediterranean", - "asian1", - "asian2", - "arab", - "indian", - "african1", - "african2" + "albino" = "#fff4e6", + "caucasian1" = "#ffe0d1", + "caucasian2" = "#fcccb3", + "caucasian3" = "#e8b59b", + "latino" = "#d9ae96", + "mediterranean" = "#c79b8b", + "asian1" = "#ffdeb3", + "asian2" = "#e3ba84", + "arab" = "#c4915e", + "indian" = "#b87840", + "african1" = "#754523", + "african2" = "#471c18", + "orange" = "#ffc905", //Spray tan overdose. )) +GLOBAL_LIST_INIT(nonstandard_skin_tones, list("orange")) + GLOBAL_LIST_EMPTY(species_list) /proc/age2agedescription(age) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 1c866ea535..e08d5c509c 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -17,6 +17,7 @@ var/mutation_index[DNA_MUTATION_BLOCKS] //List of which mutations this carbon has and its assigned block var/stability = 100 var/scrambled = FALSE //Did we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers. + var/skin_tone_override //because custom skin tones are not found in the skin_tones global list. /datum/dna/New(mob/living/new_holder) if(istype(new_holder)) @@ -45,6 +46,7 @@ destination.dna.unique_enzymes = unique_enzymes destination.dna.uni_identity = uni_identity destination.dna.blood_type = blood_type + destination.dna.skin_tone_override = skin_tone_override destination.set_species(species.type, icon_update=0) destination.dna.features = features.Copy() destination.dna.real_name = real_name @@ -66,6 +68,7 @@ new_dna.mutation_index = mutation_index new_dna.uni_identity = uni_identity new_dna.blood_type = blood_type + new_dna.skin_tone_override = skin_tone_override new_dna.features = features.Copy() new_dna.species = new species.type new_dna.real_name = real_name @@ -262,10 +265,11 @@ return /datum/dna/proc/is_same_as(datum/dna/D) - if(uni_identity == D.uni_identity && mutation_index == D.mutation_index && real_name == D.real_name && nameless == D.nameless && custom_species == D.custom_species) - if(species.type == D.species.type && features == D.features && blood_type == D.blood_type) - return 1 - return 0 + if(uni_identity != D.uni_identity || mutation_index != D.mutation_index || real_name != D.real_name || nameless != D.nameless || custom_species != D.custom_species) + return FALSE + if(species.type != D.species.type || features != D.features || blood_type != D.blood_type || skin_tone_override != D.skin_tone_override) + return FALSE + return TRUE /datum/dna/proc/update_instability(alert=TRUE) stability = 100 @@ -430,7 +434,7 @@ var/structure = dna.uni_identity hair_color = sanitize_hexcolor(getblock(structure, DNA_HAIR_COLOR_BLOCK)) facial_hair_color = sanitize_hexcolor(getblock(structure, DNA_FACIAL_HAIR_COLOR_BLOCK)) - skin_tone = GLOB.skin_tones[deconstruct_block(getblock(structure, DNA_SKIN_TONE_BLOCK), GLOB.skin_tones.len)] + skin_tone = dna.skin_tone_override || GLOB.skin_tones[deconstruct_block(getblock(structure, DNA_SKIN_TONE_BLOCK), GLOB.skin_tones.len)] eye_color = sanitize_hexcolor(getblock(structure, DNA_EYE_COLOR_BLOCK)) facial_hair_style = GLOB.facial_hair_styles_list[deconstruct_block(getblock(structure, DNA_FACIAL_HAIR_STYLE_BLOCK), GLOB.facial_hair_styles_list.len)] hair_style = GLOB.hair_styles_list[deconstruct_block(getblock(structure, DNA_HAIR_STYLE_BLOCK), GLOB.hair_styles_list.len)] diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm index c135458873..231c1465cd 100644 --- a/code/game/objects/effects/spawners/gibspawner.dm +++ b/code/game/objects/effects/spawners/gibspawner.dm @@ -37,7 +37,7 @@ if(ishuman(source_mob)) var/mob/living/carbon/human/H = source_mob if(H.dna.species.use_skintones) - body_coloring = "#[skintone2hex(H.skin_tone)]" + body_coloring = SKINTONE2HEX(H.skin_tone) else body_coloring = "#[H.dna.features["mcolor"]]" @@ -49,7 +49,7 @@ H.set_species(gib_mob_species) dna_to_add = temp_mob.get_blood_dna_list() if(H.dna.species.use_skintones) - body_coloring = "#[skintone2hex(H.skin_tone)]" + body_coloring = SKINTONE2HEX(H.skin_tone) else body_coloring = "#[H.dna.features["mcolor"]]" else diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index e5ca09c7b8..5892574711 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -158,11 +158,21 @@ H.set_species(newrace, icon_update=0) if(H.dna.species.use_skintones) - var/new_s_tone = input(user, "Choose your skin tone:", "Race change") as null|anything in GLOB.skin_tones - + var/new_s_tone = input(H, "Choose your skin tone:", "Race change") as null|anything in GLOB.skin_tones + "custom" if(new_s_tone) - H.skin_tone = new_s_tone - H.dna.update_ui_block(DNA_SKIN_TONE_BLOCK) + if(new_s_tone == "custom") + var/default = H.dna.skin_tone_override || null + var/custom_tone = input(user, "Choose your custom skin tone:", "Race change", default) as color|null + if(custom_tone) + var/temp_hsv = RGBtoHSV(new_s_tone) + if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + to_chat(H,"Invalid color. Your color is not bright enough.") + else + H.skin_tone = custom_tone + H.dna.skin_tone_override = custom_tone + else + H.skin_tone = new_s_tone + H.dna.update_ui_block(DNA_SKIN_TONE_BLOCK) if(MUTCOLORS in H.dna.species.species_traits) var/new_mutantcolor = input(user, "Choose your skin color:", "Race change","#"+H.dna.features["mcolor"]) as color|null diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 3e604856c5..59651b17d5 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -18,6 +18,7 @@ H.undie_color = random_short_color() H.undershirt = random_undershirt(H.gender) H.shirt_color = random_short_color() + H.dna.skin_tone_override = null H.skin_tone = random_skin_tone() H.hair_style = random_hair_style(H.gender) H.facial_hair_style = random_facial_hair_style(H.gender) diff --git a/code/modules/antagonists/bloodsucker/powers/veil.dm b/code/modules/antagonists/bloodsucker/powers/veil.dm index ecb0611940..671f88f2c1 100644 --- a/code/modules/antagonists/bloodsucker/powers/veil.dm +++ b/code/modules/antagonists/bloodsucker/powers/veil.dm @@ -82,6 +82,7 @@ // Change Appearance, not randomizing clothes colour, itll just be janky H.gender = pick(MALE, FEMALE) + H.dna.skin_tone_override = null H.skin_tone = random_skin_tone() H.hair_style = random_hair_style(H.gender) H.facial_hair_style = pick(random_facial_hair_style(H.gender),"Shaved") @@ -124,6 +125,8 @@ // Revert Appearance H.gender = prev_gender H.skin_tone = prev_skin_tone + if(!GLOB.skin_tones[H.skin_tone]) + H.dna.skin_tone_override = H.skin_tone H.hair_style = prev_hair_style H.facial_hair_style = prev_facial_hair_style H.hair_color = prev_hair_color diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 50dd1e5608..5dc11ed100 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -205,6 +205,8 @@ H.facial_hair_style = random_facial_hair_style(gender) if(skin_tone) H.skin_tone = skin_tone + if(!GLOB.skin_tones[H.skin_tone]) + H.dna.skin_tone_override = H.skin_tone else H.skin_tone = random_skin_tone() H.update_hair() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index f7d251f32d..719d77118e 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -89,11 +89,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/facial_hair_style = "Shaved" //Face hair type var/facial_hair_color = "000" //Facial hair color var/skin_tone = "caucasian1" //Skin color + var/use_custom_skin_tone = FALSE var/eye_color = "000" //Eye color var/horn_color = "85615a" //Horn color var/wing_color = "fff" //Wing color var/datum/species/pref_species = new /datum/species/human() //Mutant race var/list/features = list("mcolor" = "FFF", + "mcolor2" = "FFF", + "mcolor3" = "FFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", @@ -108,8 +111,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", - "mcolor2" = "FFF", - "mcolor3" = "FFF", "mam_body_markings" = "Plain", "mam_ears" = "None", "mam_snouts" = "None", @@ -361,7 +362,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "
9R7eBn_&OmZhkzm00Je&?;;l@{*uZJhrJ+GYXiE;dym|9Rg2^i- zVDTmxpM=62Kj)mIqN0|n2@r-JI&%1M-T3%;39An>Yl+Za!#3qI3tHy0{>%3Tc7;i0 zqn+KciHVyR7Ucg-P8vOVBI9~yGk0wLq+aq9?TE?hLf@X{D_5=z$1dYxu^%n&up-jy z{2ACf&8)}EB}^`5X3AXQp@V~ZEfxEBk_k9i!?wnA+c4*FuY!Vt2iDfuHUcc9k_1+H z-vhOWZlgaB8jL-)wf)^bis#3=hER{44VO1Xdq1COV0c)((MVA3ilIlSh$XH5$+O$v zVJjqx74;EU7vUG5Ck!RZ}UW5AU7KUJT~P^f&N?v|mAudly{ zX80IkWU6}<%ZiUlJ|qSJWUm%LIW_Ui)tm$h0R(0a=Mbh9-qoqNDmGWLC)O_?3$Aq+ zAqj`U FZn@ax xG+XZjd2D3$iG@efMKF!Q5$g+~uQPkQ=_K2S5t_gVj7yyKn2eBx}*#omX%Zg#A z^_RvPCy0xSTjGBGWE5E6-fSnRX3znY5#-R=AtHWK<{=`Gof(?RIXMsYFuM-eSXDI` z(9bcO>4gR1jR~zL85U`e$9k^wLg%kyh+}Mh>4cTW!%@C H3M-&Y87R9U=E@8tSO zM<>4)38vhrN(u|{?F6d@8=IXCOP7tFX9}#J^7GYs8dsV`>-2*6wQupe?ScRyQk(Xw zC6|ZS0DGki8k=Yc=eC7sEOTgz4Ytz=j+=hXc=ERvsn|`a#mGti+zJ~yfa$;S0(*A$ zEIZ< 0sy~< 27%xx-zlVnS!B8|0mFc~_A}&6gmr+ol zF}h4JDD=5Fg|z234RM*$OQ-EM)3nUYaCj<`AI d2MX1PF{>x3h cK*}#sS7>*2bWFYlA?(+nO?aca zlp$P1Ua+#`WD$4dS<5EQO3^;9X4Fm~=hvj};h `3+~n4BEt@!{4M^w)yIOuyYHBSfq0^;xp&;7CE7otcj|D9o!Lnb=+^zX9 z6;+8c2BQPl70*3K`F|+Q`ENqy%9AEaXD~#P;6z)Ro5c#jwmEV#YnmYZ+!z)Q?r>ux z%|nx%M#2wla_1*uu`LjBt=`tN52mHxa(|pYq|RDahdb@c(fi@)%nPE*m1WlMo}TE< z1aq;?^dk$KZ0*aMAHVUd;bxuZ@}CD&@YkXe$+Sybi@Z|grlrwUwr=09$DW1x`QB7i zR7h+M@vVGM3PWc{hwqCv=7WT&j@S@Ct@I%fC ts(&>~3?j(#}sm`sPLOb165mCf_PZ1MV1bbXT`1qgu$+1mb3wvHLD} z>;!agQZ>7k*w@>86Pdb!!KWNreaLJio$D#IPRwx*M(EWeM~>XtsWki=4snCOFQO{_ z{d3yl;OWP) h5Cda;lW;=3LKtNYpQVJi_KdNV4QANZcN>baU&UCR@9WG1nNp&~HhQ zR3a`f+bBzu@2}$$YZ8sLT|}2&;SG)*C<%?DkP;Q;go)M!RY9aMdo+h@b#-;LnogfT z$b%ca4SVj|jp231=V4>|;074Su*m9ZNBBzAc~28&E*Ej$4LTEY{%#QABY6P99Byup zgU*P46bg!QAN=+#*rKoCzWG-lQQL9f)rpo_d_|oKIU^^j9Ud`+QHt!fcTGx)&vj$2 zjnuCx0B`#WEW;#SH%!RH&DmKr13QP^@Vfbfa_X%SNtyLs;}^RbcoL9*5 Bp{Ir56FZ0|H~&pHsG_J`d6Ud;Tr!@zv9PwBHi-RQG@hKNa?IF*_IDg9)Q2 zC`yIZE&cQBCLx*J$upiH>H4;ubm`J1Ny(+;L9bm;Joz}*wrWy3k*qhmzQ|j1Hrw%H z^gd0tDkS=jZLh5K{Gu(5TONHZ$B%pM EO+u~sV zoJ$T5-p`b|a)Y;UBfzq+V9QK#YJoYd7?4QZ@lhYCrERrSom8p@RqiF;Y+qCp%l<@? zP_I%hP!>IUll<+N`d#h&R*re6({)pVsFanIUX+~RIvKEKwiU8K+MFfC0u0gO`E$== zy+q{dQ8n_;go01(&Y=&@_)pX2!ZZ$!j=fxyX=)9OkiUqU#z 6E_X^ z@l{RYG&|(unh4uN1(vZOQ )J=Z3L$|H_nl5TUfdJ5LaeSJpV)WYID z9*rq~Ppf+zfV2Pz`CsUyexA)g!l?c~NT_V1*StpRH5wq(&S-T&L5$79{QP=# ?F|I9>kI(gS| z>HY=s>QG0hMgAH-z-?!F74xl}6yQ#BT`$=jGd(AB>}x3s=e|?$xY+hKgtVFK3O)Y? z&VIyJ)OqpC%$)iBEYZD7PBDa7A#%HVW_~^#puEd;a->9)S8rgSq?ElgV6}L=W4kJD zWoy3`&V^IcU6nf8Z_px(nd>X$zc7k54=QQ#(wrBhYg~Jyyb$HVL}uT@U+5YjL$rOU zsikFSW-GuV!DeI `M%o2&@QT$>(y=?1GtjlI Gst4Q5~1nCXtDm&J44Y5QD*m*6!q+TKH#YYcesip+TOGE;>3oWO~|^ zPCF*BONc%TXr~ZB0u$BbCTou|qIi4b$ll -+QsWy S98=6$q)RsbHU)R>we0@nwCi#aewA_qwe^)L) vxTyP;$lP8l(SJ&rir zge#!tKQ}P1$Pwl!7GGdj99QnXvmvwQcTWsW7Go8eDzF~1nzR)ak5}qjqeGp&e7RC{ z1PWN$*^z>y(TuDtCH4?Gz*IGwIU9>Z{MKd5Z&nNCE_{^q5Qxr;jfuH%I?%sPg)RmX z({QhO|5J!Z;t1^QfCyt^V)8s5t}7rZGd)u0jZ-VwOXPaP-%@se6w}x=4h>Mhgj?d= zV!Kz*n>5FXs;-bUsfV)TPJ1~xIP?yYp<0oFW=Z`ru}WLZd5Uy1-B{ Ta_}A5&ctL(MjCi%+&PY#jtvYfH}yA)f=kxiFWhy@}2_?C3tVO7=L@J9kF3o z8Qv6u$*=!B6m9lQSy}nX_RkBt?l;klwb%Ef_R~=k3{)r|C@Z(*@)OUWKaYeT;3i%7 z{RtZA?~lV%g;8oCBIw^NaveDSle4t;$K z27|%n^aof35i@%3@+Xcxdi(aRiEhY;qyI#ovA&^_PNJP52;K|4q2vQW>Oo2ZSM`|9 zv#y8kSAk50h~Mf$1(z^Q%RUkH*C)B=4$=4TT0P>6 oQ`TTv6ns)~S;wk1Bgy>EEH3hK{ zd^ `D)u I679Ui;S?jU5Seu!J0+H8ZTru#m?Ms`-(hmzC#;u_o z1D{p99AYUs>lTF6b?(Px9&Rm8Pv-zNUM!-|y;2yOKy|D``>yW1hC5_-GR8(k-u{~* zUhv?W=vG@4GONCSY$XKL3#zsNBV0s_CLLYs!s8Wy@PT+_|3~HQt6+u1!{tTClx6c0 zHwquk Yjocky|qV}y+t9j92R38k; zJ>AXj`?_J>ufu~ZW(S?`8BP~7mUcXXBFKt^nmPQaXvI6Oti<;ir#5SLa;j21&6ece zO9%566voWb@(8F`XkzcjFs{%cmq`}h#oC$Wot+(uZ(Jy5uM(QT#6y`X70>eW@?H aX?kLO1Trws*|rWY3@VdKOd=iY&Me?{3@%K+c{?b^lDfoA+w6(uJN z=J|+ NNXSXb9UpP@SC%7)Vd9LYS_uX9D}=G zx=llF+}Kw^gKnx2os9Bu$ZIU%QQ&D5*nXPBqX3bo9-Z+kuBw0m>)ay?5>aMe;#Pc- zcET4|xyW3M<3nzUv+>M70JhC#fa>e3QUWK>o69o76;*Cf($_cBZw;9~6pFz7ACCNg zlRcNIJbd(M?}E;#bu*-*J%^J})Sjs4jBZd`wAi)lM88bSBKF?NT&&{7-~xf8*dX>_ z#^*L0Ss&APd3nG_@#l-j9v1Yd%AvhN-KFQ%{!Oy%57!oJgIEqt2Vr)%9c+eTd=up^ zd`?ZhI{ &p^c zt1t*TXMT%Y@EOXUCi6cS{E~dT<6ttgMS&7N3gP%!R2CYyaAF`GrCtcm(DmF4=vEX; zM0|bENP9>uZUAl7JGQyDR)+wNSDL$SB%;fwZ^QqhnD~t^6#t}4ij6{yTi3{s 5hIr8ZL+^*)k=rD7qQAd?8R;1Z)QevRQuP>W;g#y{SDIt%-w^t!g}Vx(Np9dd zt<~Q~#&BgJeF4E00WHEP7#z@I@ezQ&m^rHu?BS$H7xL+DusnOnJIGy&Z-$rfg1ra+ zQXRoi@jJk;tga$l3s6hy-?A^_LFXYuz!4S#j8%YdT`e1CjwtybcIorQ3b|#eV{|Pm ziz%hxNtqR(?67ebBtc`Ck4Nogp*fx}Iw8T)>b5K&x?+wfo%}d-HVA09-JMOuRmSPi zg#a41Tpnm_2Hy&h2N*gAx)6YCWm2vAXSCrQmBKDsTbq+zf$|ALzM;WE6r72Za(|&s za+vT)CM@E}72O5AP}$1UcziR|K7JSL;X&G(j3;f1kp%?>S7L{VHCs+8kv}L _sDM>t zVqwwUaAJXi8E8_BGSSRyXK_I|@;AbD(Kg~1MwJng3PZnqXbX-Qpd^k)e4y}bVMrL7 z8QfR?yheTV_&8J@n3|e~0D8{nE&$tY5{T^uXI+$ttMig-)!m=&arq=Vze$#vX4N{E za364I@4C)FL0;ae05pNfK)*X|WPz%zxq)Oxh7ADpoYd|;#(&%oNKgl>&Og>-w6BZC zN@**K_`av?%KQSlS5jP@8=+#S`NT8^B$UMam(^qK3%rQd3q*r4eT3chRK6H?Z>PW5 zuDRimx?AAex4w11{onq-@#vg|Z+Az>XQ2uKXb{-+;^SVvauCUH6j{MAva+%qJ)}W5 zA+QG++ #n;Ixb* zAZMurKqYp~KQu9TCUkW#4udOOu3>H-0vNnOnCYN~vr<4y0`vky`e^K=s;1`TPewYZ znwqgcV|n`}dIjv!$_n;q)jN#jmNG}!Mzr8F`Q7YCQ&I zR_Z+z3`uboTJ0Seu*Bo>0d*@xcu{b2D(t%0jbKOxg#ZLY!pjDM zn~90(sv}C?aQbW%TaDx^{v}FhxD#%(1o4{eniYoNZR&&ZP+80oAUgjaK+#v0Jwe)< ze+6eydvtR0>6Q~&*Qcwi>w!S@V@C|wjgk^EgGo<(XD34wMj)DJ+7ty4KWS%k(dU)G zPUe)E6X41(1qH(I+;c-K8Hd>w?vi2Y dh4TU>_I3Q*5~TQ*`IrK_j6&?8{T zFQPAa&*|mP OY&yP z(VB3q$(!=Y$cobd Qe61wPq&%$42) ya zo#py9>z+lGJTuSq|AN5m76qf {_)`2K!zs^N9uSQZH00EcRuw7WMi|uElUqchgGNQ Jbko;?-? 7R+;Z2<$4^b#f5NrmlvoyNvg8zOT#`_4?MBsbPK+!>s%C& zSVe(K=^gdi)W-HcIE5d7_B>})ljZd}a^=iJPwHQ!-5tr&jY;{kk_)xS`*PM#iMBZy zvWG!VS;hW<*!oG`%VG6M&9^m_LQIWM>_a)XG*X}{@7&tQdIgIkm7FL&;S~vry{u3P z#uchA6PkX4iEx3_FvzGpT#f;4t)I?PomD+eDMVFPM7)n^qps~wegoKh6sho> t@F*I$7U%DTpNe@%UbDZyvOl4(s~Rlav~6}?2pf{^R!5l-D<5pR++ap z3UQW1|La^NIC69$vXLne>%X|NV!QR7)}!?y03!&r$TP|r(g*%MZBQwIv>d=+(Y>5V z-bxe@5xK-)LHO9w)zyF@)?yIX(^YoZRcIOQJmMXMkYm~<`xl|{p9Pj%rMMmO`Q?EM z;)((%H+L8?W-hzy_z7=DJ+1b!e=9rvdrKTL+!kGj!T{hx`8L!cGosxdHvMC+2}N3) zY~JSrVgL7P0TzcM&GA_*1Rz^!-L|Jwslh E}r#l##$mi~ZPK3y+VxL2z!>z*RBkw)0WqzJ=a6p-%`83IOVY#Hso-Wdb{ zgaWg!iE*&Av3Yni>D}X^=P&>6ou|t5)KoT(yu0WG8G`vrDAutCRovRdkT-=`_Fs0{ zmjJ _P bRNHa?%P zbIig%9sc-*`7I!lF3x5EAOmW8KnVu AWCY@Eh)hmY#Ka0&rMX6OKo41Mh%BV?W;Wx ze3L1Z(v~m zsSlviL>v76UOM34}l0*l%o^q=y0f2E~MF2n|6* (XRrx97H|<(V1JvwZzyXu{Td01S z>vF6_wACcNvV^`soG*{$UH(z2qq@6`lgpbw>6M*-OW}g{Nl5KYgC`8MOYm8<9DB%8 z2`4wu-60TRLjWOn^|LTq91@;UgD)k4+=o;rQjG{6<1Zl$!dTESUsor`$@W6G-{5SB z+$rv=POBx4GZb3!*?2%HC{JnK5_`@?Cv3ATZyw+|Ab&(y@wq%XJdMte=|X^uP#!&L zkWL C&N&l1vGW@Q(dboe*IriM_><^NT`r>*XTN6Rg zug?)lRfqWP74P3?vfLZt{`&N1m7Q~&!5(Ypdn(*Z;fSo< |$iWX#1mRx@i ZePn7611`5sI8^-4uq{SOSg0!?y#Nyeet|IvPh^Kc`0_4;GrlH|6}yx#iNFX zhH->gaVYhlfeEACmaBsjNo%RLn+v*5%e-({XSUT{uf(699r-4eaFXu)ayVqH>wxLD z7^={P)1myZ>MJnSr~|z03R{a)Q+s_wzeZM8N*i-M20T(o*ZbSjX`T!1h{BO&q?j4; zPrv*6T!%qJRuIQ!Zf1~xxS7q0O-W!Y9Q=n6_Xq7;vzJ*6l&HhGYUCgYH5_(63Td7* zQ86(BC(*Lwj5xyW9Ri^Uk~OSQJ;pzg9H|!y$D>7EH@ )Lv@a1u+S-6jFv7>c8Jr nkcrx4g~(o7HYqp3u=+Yk z;EzMb%v#!MA+Ad}udvVud|@FEIg(G;3 Z#PZg)_<*OX-KB=<8C8XD@iOQ56#P{;^#4{b_de6FLTqs |srMtfA@~ObT9w%E)`EXX zxHUtas7`D|iT90_oT8_%Wc=Ynay#CuK$|Iz-N_Qg6MOUKM@*Sxco-Cz+LZyqnVp=k zx o^>Yf>V z1|gB3BX=T2palO#)`a>NEX#!yxrM5D$?pEtq}Y%U#u*UJ4~mOT?!?D;gNAJGjF4(D zio-CX{O>wY4bUKDaeO#mEhi*nyGaISmB{^yr+==*k2I;cGG}k`AFiu-{%WS;g~`k| zS?Bgr>@C~77kYZgK=}TyJ;>x*@kiOm8c`x-IEhrE%r-P^X(^a!tFQm_2cqojw3(R; z`bI`|>%Lr`i>6IS8(7}>M}an>VDHV7*04ZY{50^6&-Wcv*nWZb IFsw*0YIspU zc~vOM=gVLZ<$#%%|K{C QYNz}#BFrjoJ5?cIQ=!Tw4MB66>}q1=|i zfdNOG7y9|m9f4tC)WMR4CqT)ioZBCLZnDknd`+aXWIJK3@up*D1IMol2$=fLJiI=F zC15~)G(Fa7U_m@x8*O3A+SwT;dU4IB3*(#@x^JF(xvm3i6qi{84j4yRZ*VZ|0Etb{ z(4LG*qP8?Vw8gm@dmj4eYhdC5F#jo#rm(JOZ(kM(VJ#NO@bkBZ^Rm*?kHr^I1eq`m z92hMqIz`HK{Ups{?ZIC`s0gT%3=}Fqn^_Kofe$3JkK8J?1SOPR7|LeLBsuR_ov;gt z54*ZPUKbD;FXLO#BApz_( kevCO)5C`w=aVjxs8LZ>A7{p;;dTEBqb%q;oV57 zYYuw}q{S`2yfFhFZ5K~fD93$AGaJ%RqyEn{Qn)xgNB_Wp#bYP7k>WYWk1X{J(05y- zO2VK*j^eNnj}}Cn0N=tW6NE-_0CgWfd4ke!e8A;$3!+i*n=a#fd2yT0Snk=Dt(bf; z **&XDk~x%@%0c#Qc1UZnZ`8J3j~pIzXaw*T`f@qp4%e*HCFS`3Qs z1h(<&97s14<7H!A$HUTfsyj>1;GwF@C`B>-L&G*DMY`IsK%LPQ9A9TuOIY(W1s(Vq zmTl^_$-F%?AMk>i?S`eTyW|BqJ{G>1v W<99 z<5NCYL@K3R`?Sm!Fo3I{d|RPdQ^L2Ffll|yI$*sA-P|U( rF`)xT0 zDMd%Y;IpsR>!_e|LX6L>eSG}*@xVO`F@lewE4uhD(Jxucz#tr)wpN^?3cFaN{|S}L z(a{ywamI|-KeFq&xW8@<*~dp=UAy)Ypps3SHql}IQ2dcWw~kyoyB$j`YnEr-y5LWr zj^3)WQQpu2$ppTzvau1^zWtx99>en$JRYSZQ)L#}rzNe!u}I7BDPCIj5#n3gnF$z1 zNA+Ui@VC%nhg#d(Zr-|;(fu{g>d>;$84szASuI0hmoF>2yG!UkGkRRP)#38x%OMxD z)~#x0a;vSaE!e2Ac{4reo^RcaI|C#ZmM>qfD1A3Qoy~0_I2`4_zi9y~D%YZzrBvDV zV{025!)9l_-o1Zs0p>{k&>^v|HGPj}%FD}7w-w6~rN-%EUF9=pwtaV$WLH%@dUO?* zwl<3Vz1=TdkjB^aaq{%bd{~nu55=4;Y1>r~T_;8GMN=fAqQmf07Kk%Xzq9 pBQm}&9-(ey^apKjhL7 ~zDk#7#5E ;q&Kua1{HwZC-GJOd9>>M9I<< zIc{N*@)D)rOcbe&s}CMJbooYNV#eHjL&w!!hhhetrRt?NMwQC7HxDtP&q9IxilgkR z$yr&>x7@h{-C6R=I{eEzmd(nwrwFe==F2H?c2XM`pe$K2(~w `%v{>n5tzaV3DYRSDPMY}|1urVh89lb5G=<%VtKk(dX=O)m~+q@^wMs=~^|Um~o7 zf#4IfRNAR5NR>St^8mZ|2{18Eqx)FmXoyo_Tg}^QvWwd}To`h<#=;AG3taoxG+xOE z_!83XUG(EX@kc8qA0OEQ_n{RpnjG|)4LUQ@w;PFa;_oM$7n{USON+*>Jap&~#jLN> z79dU5*%pa|@C}L2MK()F)PrR?+qk(@DUpThF(Iz1t$CY961=I3tF8FI{mU7Te4~IJ zyCWO@{KE{0%@Y(7+Kjr>x`zojA(8(1Gh$arW%r8N>>L)!l>7IYUw2 b0DPF;tAQ0Z $v*72?x|Cu@87HaYAfNxKx3zcUAZFO#r1td##pR1m#N>pxQuHb zCBBOBP>gG vrh&{h|G2QJ}J-)-1$i<{ lCLqMRWyl?mniNxlXrXb)U3pwpn>|+4ctv!@C44g0f-) LPcuT z3eMwSNAWhEvb;WEs6)EfY7g> &Ej`rE7FNvkcb$u{YYV{T@{=1YA?z5e{l zmrwBHy)-|OI#vBbOH1osh0Eo@VTWO-Zxfu#X%q1cUtW7SSy@{vvN8~J5@OTl-f~t; zXB|Gi5$=0aQ&k16VqH^`Pv*lO$;^jf!tGyPnbOTPIor76rQo3f^vP;KTZKc*LCojP zYN)8FxW+d6uVq{O!{r}$?>}EMOZ|QE8r^^U`Tu7xiX@BrhlL5puyb&vHz%DxcP^+t zfiHZ++iePUoqPjStvc2LAAyvW<%|hoVSOU&a1}k{s;e(EB^|$~ZD^td85Y-y2O0XN zRVdWWs5LBJY}US|56@%U;p()&v}!%Sxal=}jTyCi)~K0eUYb@fS{9{ETn-BiCJ#}& z>-207?T-C3w)lnCFvj+yRiWB53J1AEV`IOu_tHKYlu@yz)^a-w2&BAdca@=|(2xl} zc;wem>~wOW$+u0Id@mSUmTbQk9S_oEHm*LzJ)zZ3O){~+?I)08W=^lEqVjtsOaw#f z*KKxHQLonYy2^C8%BU8ND4xBWDYm`j%nz>OOnc_$L4~+Gzd!U+b3e}r39Q&E(N3Ns z`OMlHtI4lfJ-x0P>S+^xPv3-1@3r9)XH1~g%h6O+-n=!gLAB54 aL_k<6B&E&Jw zn5p8*UlM=)`ev%Fl!OzK8sy_fU3gtww+ai;KIB3rho+BN$m^?Q3Qi#u2voE~Lb@bhihjy(u)G|v>r z`$AFgUT~K_1LZI*rhylY{Qs^%?RU#kuk FBhdYkLm z>h+Jp*W&sK-nvIK+1c4JcB&H!2M5$nUTb&7C kqR`KWA?a1q2LICc_Rcbi1tSN36fSq#exu6cNRpqNDK}YK zSX@aikGvI?C)Ep`S;HH6!#{0}-Zb~oRD+g(cP7s0+{ZJgtajyhtx=X#vQN+XRKhDz zOcy73NDk6juV0N~Ix!EfCirJ0!k4 zMgO)3A-J;f3Rr?`&y<>|5~dfobOxVW$T=9zRqJX0_9BzleZEkRRcvkk9z)IROfoqE zg6O0jIg>L!F#)}2a>=SN{88FeSLKxV%b$7uevV{b4~?|JcIv@md?1AG*>>NyhouOI zrF`I_C?n`!Gcz;OzLAxUP5VflPxs!FJCfrio$9-5)qBhOH1d9bmgY|Or0ShWpnb4i z?ncKs@VruVt?27t&$Z%e(=Vq8tH(S59CrR bWVJKWGkJ=?-5RZ%oikuT8Ii6=q78ItqhblWAHK zuVfs07qOhRzAno~DOQAFhY;`pu1IVd^8K222R|yA8-DFZ`GM-JkZy_0O&fcZVgx5k z1L)I5DhnFMI>$WFcgJH;>EZ&{OhNSxCyDqrhEW@-NG7%%A9S2!&v|4!(Nm=`bC+$V zIVt{GA@@zcf_3Wmxs$Z&M>{uXsbs9C80>YNrb=Ec!qeLq2XJI9(X@K-^QQ&k^pJwc z6AvCfWES1AWADDbqN0vj6`cVMgW~&gA3NWUh!8DU2G1R0bwT#7ql=46>#F5*OVx^p zzdnBUjN_~X_s^d{m2~OZa#kn%Uh*rTB9RDH(hf}#)+ljYC!XL)z2YdVe7kMm3vq1T zyd|2ht1VFbWc>CRJm#&V?-ztCpGQtld#2g-aqyO%5sggWA}`PTT!cHuO+rbUDLp-; z)e{rSHopeDt@nVA&JBb|xL@{l>o)D!QCaf|F4Cd-<#LieevtUFGA>_u+cvRZm%=pS zC4#G%Sa72~D%$L%ZBf<+7P4txykSh}+Xy*FXzSkIwQJTmqdlVX-mhQ2)HF7pK5cWp zV-F{mF$ymw1)pSRvmqD{v6^4A*>vi5(AULVNn|FsVumEW53p8RrIac{Oolg&s(r9G zBmfSvk>C_PU;E_LE`s!5ed;?uYYuDpzk3^7#TM(Pk*WLWXjIpoAh2c2QY14=N84m3 zfq_W+(B`M|ChHBEE9-( &R&MzumJ1gygjg-< zkmiKlRzG}L37Dr@Zp$Tk4ukXYadDxDJ+GS1X4cNRC0&N0Ffrj3;aKT4HOwQ?sR-NU zDxpLhzA3y!ME|*9-Ij#f=hl_0s! ! l{WJTu&s<~@VYyT8a$OT{?93EzTOGQ2eW<+) z@#%L_4~##q5`jPbo!~w9rRblRNwgr&*jp>8){@Gz=wv=@y-p@HtZzx*tL5Ayq0AX( zk$w|L7T~$btJI}Mbk#7yc?KI~ydr7uuW(<;d86N6L?QrqmGc6_Vpb04gcJ4^9rn*v zWo66Z)kym1?T!Wfszd)5|K6^yW#K8Z?7wUfs2)ULQBU<~%Ur=X8~loTvbWT}SC4iH ze<$hT)v)pMVg{Dr{pP9I8WSg}_LKvs$7HvpsI$B5XjjS5ejv;EIZbBfQCwvG@9(P{ zk`5LPtY~Q97M-3Gb`|L8jR{MW#(ptB>TSunEn4R5K-~oMwzgl#g{2ZT#lA0wtDM7` zl65aDw8sD3uQ}uOd4jz8CU$oApaMn#8Tz4^0(GzRsUB6=q_)=WQF)us`Dw%Ej>$EP z_fSS+Jo4uQrH~^=L=OklUM)i-BnZ=&Hg%Sm0m&iV_RzXAdFle zlghFf_oNmDJ;CJ~)pYk?kU-Qdf!?9?GRLaK`~Rf{Aomm&wyN~s8~wa|gwDzMZMS%C zkj%faad0v^l(?1p)2(5Zk3;uJFGd8QTsiyQzl!blIyn63LdR}SwMajyyM8-6HfAwA z+(6cuz=}Kgt#2L9K{^v(6TbGNr5p0`t1DKn)F~RNtk>nqdE^YgRA9R#RU*ZJr(?H} zSCn7g;#>UtIP4*aH`Z%b9Xo* k-bBXwD zi}DrI^S(%y%ppPu*+&6Cp#xg%IQ*pfkHQP;M~|xD$}tEyxMCC_bag{B0lnu|%K;+n z_FM3Q>?8$9*ZTeLPlv@LdG_lL{V3WGP+E-qtgg=NW6Tykn8{5u|3>7*94vf(OqaCZ z nuX#hST3nsp_Iyr!QoJxb7#0yxmgmyB+wr^9 zw2wR~Im^SaGM`xjmu8l&$I8bSo!jQiJ=C02_Ei4`d|McLm7E;$H1g_yc-q0?9eMGY z@&3a3KP_R=(V^uQib_g>&zk<*{g{95=XHMaEj%wz3QW;b7THnCv;3Y7dKtPtASVGn z09o?-ww!|hUA5-2d> Gtvzv^TNn|MCzX6$qucg9JC3 zPUO)j0{sbI>lD-KjcJwhdEof+@5IK2K%FdN@N$_%JTn%DoE#6POx4aVoj05Af4Vn_ zML?aL1hN|f0Zap77He~zOpz1*Y=3iUap1WXcj{#w7(#cvHEY*yTDIh=?vB;GvSA>2 zI +oap*7d~u`UWQ~kuPf%r)tfhi311f?Zc5pW z^ ppxmL5eL}?$3Je-SjW(XZ(h88ct$<<4k?IDEEX{=w=uM1CygdwWP(a z+8}mI!LQhE&uwRro|{EQS3?{pbo9~nq)qZOUDroveAY`kZuDbx-3K;x@^R|jB^1Fe zTi$e^GsjdnzV_JlNHZ~gu<=;DgvL4sI!FitS{*Cqr`n={4pT}Y0Hc(&MT0a7nK*{E zZ+->o*L(_i;3rNc^AZDtgJT_`d`jMoK0uX1R&fPNoNXrg1s2(x2Zyc){$QxOD`$9d zFeA79T)s2P;fcx$dot*c$aLHMum{;3Y1;Q)KQ??y+<(d#`;v(G5OJ>Jm0gd(t?cEQ zue*Jzp2~MhpbJYU1TNVOPfbgBd83(7g8UBgVyZVYSl2=?Jb#&kgk^haz;xgJ=ur?e z8^GBz5_WeWR?g+8$|TGl6PP0{;8Z|x7_n$lKlvFLY*5jDhYxan(uo%5+MHPR5T?-r zu+?CjvYk7WjQ1Yv1$P}Wi-ltbK!_~0>5kB`QhFA%+28#Ibz^ARmkt8Zv(Yav*(0&a zZ(+aN0Q( FzCC0$ zPdIERomBoB6BCoDGhZL|-%&W*yzfR_oU%4Mr8LXDY&R%{wDfSy3}8h3)bjl*HyEh2 z%*@d0-m XfC=XwEOWdBr5GT9ztRv%blhrpp);#Y5p zS%x@@A5D@szPRv4Y`vHTgJVJe)|d7TtFfo0rMb|1wDjvSg$%=2DZ&9Wan@Y$0Cj2F zdHs*#`78GTzYIq_FY4^rXa4iu Ioepic*x52lhTr6q^Z^588V~)-EbU73Ed(;n|S)V#LlX{{mL3-`3 z66!gv3R-uZsV;P9T%VL*tyf!E5K3vcz!2J6!=ig4hOVut!CGa(rgwim_NT?k5-kt& zP?GCbRf2!BeP+%P8|wVJ6-b(I2_H0b !Dw^FNyFWxPvG(09V%0fp;Xu+POk(vXgZu?66eF6ij`Bp@AS<5b-){%y-6$ z=m!!q`E<*xorD=S{y~|Y_cek 3m3h)Y#h%nDi_ g?ZHJzSmwb?-3<6F|_ZM5F|^?bUGZ%(*i ~m7~$1?^6;?k_h2RSCO+?{qd*$_=2z1T zX8Tgx>bqCKOMUmF%~SjlFHt9wXetmyxOvlWt=uzQFevIeP`5lMzN8|hJc2A?By9Bg z`T2c~*_$1UCUr?|L_yb%@IYvNmcT5aEuviU{2xPNZm?Ok*q0)I65h3|0umC}k4%~p z?K@6A3;JfKdh#T@W8s+E?}2YC0c2yMG92@(wuJ|xI=CZh|L_5AZMHwdtr6s* tzbYM4r8(J7Vbbae`D3dA*FHB^4j#=axiGGI`01l=MScI7E=Z$1f zH_Vl2Y+YMuvI}m033CH=W};(aX1Dw3fwB#w*_W8!_D+~DP-iIq7?hOcWIB^f$*gUO zy!mJz^cLNKvdcQlAQ;gGH9$rc2q0OtS=cYF@7sZHbK=B &N63(IUECA}k?c zqlii2`WQhH0oE05Bl4O{kh^xmJidpzwH7}7sX@*P5R+a9@28|Jd7_)41eU-BsXf^i z>*c)m`Az^bk+X-pwA0n)U{I`inEdThdO9luoxZ;Qt-ZFIS`iYrkK$X*N$Mtr!D}Dz z7&Z44Z|ys?<}Q>fD>u-viF6b3EhF;=hNNoFr)vy1>c_euT2o?WX!WJ7)gE LlxHzgRa)5dS{-2@s6$SE%1QDUv%oqSxqZ_qD5CR*F%E(= zRa@$hu1IU|t6g~;%I6z~ks-zks}$xHVQhhTX?Vi>p^zJUNG3c<{>KuTQY(#(b@ zgY#{rA7`p@v*GJ@jKU% wz0z4
FWyC0hV?xq9tM&1vuCTJ zGJXq{F^sc62quJ*13xI+!q f^iMTt^FQq;Y7sQApZI> zQ0)5{ef(NbW%m*a0%;M`V%fBbOyLzhRq>%v?J*49Qqy~3!;Eh^f43dPn_(k)c3nFd z==D8Tjg^5IGEVA*Fl<)|&DYp3HHSS~c6=E^z3Oa%aDF2?p_CUtr{+2)y|BHQlBz=? zF!d}l!8XQU Nf6 z9;oQ7-N`K_O@ma(55Hu-=XMsH<*lQSN*lbYX|M#rOILEF8AMffzr7;)BMgnS_)6x7 zoJi6(3DHCCB+qEj^0js7NnS`>m?P=WD7HWK!Fw}nuI!XdrXt?*2RylOa|j0-Hm9i8 z@E-I`K2~0%TSVv;6Ho1(jnLZ!qj!1fi9> >2IG2C*`t?iSzZ+rU;&+WFto79(FJi;4f+t8mmL%_- zZ-iJHDOA8sZ8`l6T`V_Tix0;5Fu@Qg!;{E(3_l&*o+WsQxHlI>?G^wF0-kIFmgEdw z5|e0UeZ(KdBbu74apkJqmMhSe{%p3-3~m{!zqpWk^ma;tk*JaPP) ()+rTes^~Yv>(3ACmqoZgD3m>l@+mxs5^z2}!d2WkaRc^}=bOr!qmw%r^ z7i1!Pz$motQf&Bfbzf`P+1eCU1Wk|K#6!f*@GriO;Mgf+O)nw$!*yTx#0(Lph}+lS z0}PwwJG%{FCW-O_1DB|%s`ke+QxIsA_usiQxS~_qdf}pc(xwT&t`BVBOn*Z<0LmE+ z1VaGqtE=yJSU_S-vYbp4X6#I;T9b}*v(*Nps1CKeWq8)W;@lt;o2om(h^z0Rv5~X4 z=I%3mzrkgV*Lu3X@mwy$mbgwoHrsdJi`ZQ})*F!g;933gW}Wbl1(^rX?rk&hYpA tuLO<#QG>sHtPFH2GUEC2k(i)%?q(Eyj1+SQ(L zb=?OhISZ!9%GS0FK`=5gsDJ{VEcxB#{@VOSQx?FIckkW-K_^24v{&zy1DDOGTgh|O z>RV#Uo``6^q5hc*BsexY%M$KdeG!gUKgP>xZYY@H3_`q^2Kh*}+?0`uk)52|z{w5> z-EjWndn9wLzwZ>8?0R%8X*DH;TAUht1<0VQ?#s#&Nry&%=npO7cHhFNW#j%yU>jl- z_^jLEMGZ# z6{m^#OR9Csz^>S4yzAot(j)Nid N`lf(P7xve3&KfEfh z+L|FKR7C!KzULF0@38kyalS>wAg5oB2Azi|%DtHrX`~X!4tcWw^;276gh~4Ea{~1* z?Ejs7|NobqFI_XRgy0~bV+9YT|FMO9qCU2*IoOM;oOn#-TJ$2fs>%S(4+0_iM;D9C z-Yog{VXJW6i~%!fB8|TsyS@0n`GTD8wK)t*ii(P9_Joa`)d!IQ#djQ -wpVRa5lEJxLh^ZtT8b@bQ4`8S~t}xTJb`k ~MB@fGEs{o3iy?1un~kcn#^XMb3Y z8oCf}@jsMa)2{}-NoiX; ws8FH*_}`Y`ExtwDY7%rEnT{_pxzmPBebbMQ3-Jamjwj{ zF;Ed6a-hkE)dw}Bzrf(m&JmPpU*HwJ-MqlKn5B}F+3i_<#0zR!8 z^r%V`HdjU4=R=>5s&-B4F}@*t
*kFc_t4$H7Pz+%Ma1ycQHE9V zw0qqXYg`xc?iKs7uTq3j4gae-XC>wUaSJqbu#a+HzYiE0Z6xU7k+qMyU$;7fs96^1 zpOz+!`~!iB>tH?e+2)tEJ4?>+prgin {_APC;>J$-s~iprNM>n~D? ztP6jMsxyjDAu8UnV7c0_w-7aYebtcczy#qZ7w@gsj}^mqYqb~NzWp2$^~!!{sRT+5 z2Fw;pjsz4Fy7k?Da!USRT5`n^H0L012_Yx}DPRon$n+F!OtkHIY>$)f?D%PrNU0w= zQij=}pMgvc5ww4+W2i`F-}n5z{?`HKr7P)N@n(1(Yx|;!m76;PkNDyFs@JX03?D%Q zdq>><-P5NcwlL;IM@E@$X 0iN!iuvP$f(^i#6wVapD4aTVYVb~5 zW8?Y{nVFdfaez$w8i%2z!K%Lq5QJxdO`(* 473Ss0aSPBq<7G4 zul#+awD8Wvf2XGlY} Jv(!1Ys= z)A)DIf5g$_h2u?srD)oX;s1+#nU%rv?h?-byMFn@a|d-_H2O80+`oPM3QRA;t&n}C zcm5{ rWl>Qx{^-N%X|NE5SNoP*3i_{wXM2i{oR<>Yu5boOnQoNdaL6p8d^D }BEho@*Foe?p0N~^jfek7-5$PVVEjv(NuP+C#((d>my)p6)*zQHiM;qEsQa?DQq zlg-4oDSulV8^$}%n 5X$?ml1P_@W7E-Zf}u)#WK93U!bu zL&R7x%S^%89X@*WhWqgMehMYDtOK$0HN>xOMKr@q>Uq0T@85j^5II9|Wd^{v_j>AU zz!SXKK#))swI?D4QN?(I3>!l^4%6eeu@6xWge6U~krZJ<@QF1n(Jn=&TmlH-ols)6 zxvrZCN0#aUSVV{!DQa8*dyIg~b*TAUmQQ8__Xo+_N5Op^{7d;Ue{9&`1eEt&J~#zD z2y-P9>xc9CMzF$5D4_kgVvK?B<8!5(bDc(RAP3FP{`~8ggEFt;qk{|5;_U!Bl#Pvf z0Qd#~7*BM1^vnd2bE%Lrr 65LvW+vb=V#)C zH0}rjJyaEsukswu?|pmj;d$!x*jv KQ)sN|zSlOILX>GJQKgB05 zSXbsWFXf#^3Xx|tq?iz))Wz_~da}~yN@x+t&`B uKMZEb^M% z^MH=Uy;w_Yi kKJV&b;|Ujco(0H?80>CKp5NR zQPd*d$2nc3YH(Ow 6M_CSueImU|-FRY^=vOZZ z|K!h5cOv?Lsa~qcN|KcIF)f85Esn35)6-L4zGTPm))s~IbY@=UucdllyW#g4sh&zQ z5^F&C*4A67zJ6(ybQEys0Em=ybcDk#^m@{Dp6qsRKk%-+yaQZq+@}0Hjg5M%xb`q0 zpac@C17(KQ9`mjb*Yt|Ka)zq|k?|mLe~& gf0YC!v_>t%YFRN 9OQS39+s9UPk}Q7|8DbDsJoMZ` zz^DupA{BuvW3=9_0x~SmMLGd@90aLQmQII}+yAU&!K-Yze0;_yuOoze6iw1CG1?#g z`Dc&dsq0{c0eZD}Mk~Arn#lSkm5- &gMblSl}Jdw>&IXCnGSnYy$q3;umF5;TDo1|e0>QRgpD$;%V2s#j92`c zn#*= {zf~U|VlUK}k%Z&+^pf>3PNJ!2=eW+r7_IsYoz$F&>Fj!6CL;!9Fi<>XJ z0@e-HL{0vATX+a)A}z>e_^?MU!wHVL++;ZtmJUt?bQb+|32jaxa)bEci&$4~l|15h zHw@q$5W5jQ3al?!Tt3&5so7pANRm-b0hq53YXdq2G0@I#09O^cLy>7dA&4v@$M%UC zQecI8L#DyeUXhcy>E6FLjnG0{?}eU--fQ=rgiDOBSlf6}dL!}{ly~!h5k$2V!tsFe zl#xswRc&Xq+9NDi5CB*#71U)Ax~q!FPmmS+1C6pk@QdUE?g+(I1w9K1h{!r}8cg ?oZ{9T9tLK{S+!^W25S;+Js0oG!gNuv1w zh@GIy`hWRiZ>v9QgLF@x^mz&7JeuO;3M&x}z3e5u7OwNr8>PqD{G$<9O=+VZXj8rl zyRVUGLp+R>zHN>{Th|EIIHXb@z2C^&kh&NgoWYEkl>lWp8P%-8T@4{7iqO !j zBQ=O5u0dx+A(;r&Jq(I8Ur>06gvj2YK!U`6`rRds7{MG=cGk!{gs~&6Bf*2{lXk=s z 4RHH;ziWb}azW*uc48u?M(m zKr!xZJf`z4OopaZZjs$r%*jCZRBf UVgB+kquo(9^JY a5olT=3P@{Co%L4wJ4$j=^t( zr9vt72U{p3 QtA z?6&JZ)pJo4M 8g_O2s8 ~uto%6X#!@0W34?JNxPa(W7-JYkrmQ6bgJ5%M$d>m@fifZT4 zQUHqahQVu!u3Le28}WTsh<>v$6Y;W5K@GJPm5rXEx7?$UO <(C~&P34oeMU1l@qT+EeafGa^1Pn%}y(&F{qs9wOl{u?f(Hh=|Cu6TLg?YwOW7 zs5alBX-{n!DWJfHDZ*G3YoZ`GcqQis61F !>wPPP=uVLkd%zq2z za$FHeKX@QmXPuCOa#u{W_`bcsXpo7MXidp|#v|{ODhLeN$?Cz9?iGJa>1w$aD;7>H zU-SP^v7nGii~U>2#8%5i5EbMhE8MtJiNKS8{p)2#V8wqAHdNPq>UnD|>NPnK4BbpZ zgJ0#p;^Z_gU=9>0M+kW5CY?%j0`PKl)LhLXWH-!hel$5Eiz(Y9-XXyWyMs$9pD$7` zu>8GA?X~|)*}f@LL&(_omwiJU^?V?ldMQrsm-hPT0@$ z8zO2>5j`NHH5;g$)(ouqd>WkvLTsNI<$oDHs*zV!9voQ$%8j+~@Z!+J|Gf14_tV)( zwc&|(d%f0%X<4r!R!-Z>lAbr kx3{c)54Y}K4KzlWJoaJ7?&4Ah5iG#T;A*5SFIfH+XgAgGv4zx~-SEC*8 z(~cQ(N|zoAU|}2dAeHcM8)@KGHSePuif|wi0scb5=vWAq$B?%S$}=ubMN^~yK~_Ay z_I + zNURwc3pG_s{7aP5=+l57-4hPql;2F o+KEr$ZZnE_&L7*vHMWK|`pCQ12F&M5m9fz)^3xgp4o zS@tPF60<_~mWk8 ErI_;L1T6hZMw~8C`3Lr28>hTHjOZw^0cxL=DCklOv5T1 z;wNFXSjHjzJew|>A4w?<$K|Q$$C64yqAOKHEl6WcjalQC(v=({te}gqS-VjjMx@0F z08jN^p1x)t*A~UKS8W!IN;!Ce{WxQY4szbt!v#l-UOC);CJr-AkpIHLXRlT8143&< z#{L iF%Uk(sUbGcoybtcQk- zmBR^gnAX37XMrTL2?sXxZ9EfiUjF|5+rFNIm43*29zwYJxfa{G7Y!YltNA1y6HaPr zwfD8;W}b+(29JQoO9LjM@c4)$w&>_UYd?m}P?}`Ty$B|38rKJvQ4tv$ZQr)d1t{Wv zDuh7Vb2^Lx|$y_rQs3(7tG^8A-)c%LvzZ4qoe`@G=$OVg(oHy#&Vu5 O%|#mA0*`9?FBUN{<`nCM27 zPo%faQS>m{dR^>~bkJxgj(Q9_AR2cao9UyF!px!mfq@v(6z-F){ASYV2_54riCR`} z0qMZM$0Uf7Zcvwx`6#)M{Md;GoOQf@zUvrC;~g{`MJJzFs3a;85q9k`oe95HKtFpk z(?=CLo~@`p6@6ui-aS=OnK{g$QkvbtYnGtd&8sOD6@*n2KhTVD?g#qw=k`Z(- xlEq5(z!3jN4A(n`;MRVH;bRH5z< zuhs|+2f_WETm7(js%YfG58A-b9UL-Vztga|0J287y1UP|ZVV#*#Dfl;Iu!>2hdw&` zqqQVy2LHEDK5=AdEJ_+LWm{08qdOq8e}6aNg&pss%PkB#Bf^hNe^x(d-mGXsz(L*lnphZMNSGC#5ZqVSamyl#=;D=RQF1rA~!~`(a@? zd}~N9(IaU-Y9v-&ko?js$JXuW*7+QumE{q|@b5-T&bJo0k#jdlZ%{P2LWej5i-%v& z*ka?6j^wACiW^K&c0BW>WOm0{RZld}#8vqaba&IJNwoW$Rnm$ey1M(PL fqD72-)xw98==%76nAesd^?T(9&Z IhdBAZlV?V=zm(e3+12RkM$Xo>|DJhq$iAQStwPtP zP+l)6I*KO}N60}8-H>D6AU`&+{W-P2_(N5o8Ah`@1JkSG$UA|9L%?c9ZluRVp#9T{ zm^mCPS_v1C(|VBxZBG|b(Pp2iCN)%~_u$zU8Vr6nVd!zN74Kw5J1+Q5wa~Z~rBFgz z`whB8=Uheu%q5~X53AnwTetwO>>8Bl8kiMcHqsq_O+ R)dH(`+^z;6a4_Juvj*Lnnczz`dAfMy6t9{fQUk| hd^Skm-6p$A1p#%S%1<6dznS98Ui?U;e`*KH`odhLos`IMC}U0b4uBMxqYcO_P% z#i^wA^e=KcBI)=K=Fm>dW_w)a$G8%z_2x0sWbITWt^b%`vpV(U_H`Ga(JI+`ZZ8WI z{nxSox%M-j941|_@coYWM3bI#^es+exwg{KM4NK}{aa&)oG^XkGlj8dGnb~*u(afw z?siHg%Pdearl)`HWwmD_yZIe#1{z_0M4Lvm0{;hfIM(o3&3t~M(SA7aqp9%1i^bFF zI!mw_#v#D}NXjor%WT-ae4m-;*Kj5kIeY_4{^#aVf#ZeilTXMbx}($HiD0EoTLk*? zz|uIr%nQElG3-+6Q4!@HTc0i0)Y<3u!+yZJ_@Hr|T2uhUAeBJHUh+>By!SUP^3thv zcl$aiHH z2u+@v`>rcM&rrxC#LiNjP&qZq2DUMAn@G7 z@BMKS;<^au>tkqCjw2q8h vr&zzWDX~&GmQvbpp>S=i`1`N@FVFw^rEhCx^=?7}9r%Ut=%`w8!M3(7Jm&iD zK1|S6^xTX=>p>PYlaF{IHqx9^sYmVa@3)|Wz|pABG~I<5IR;aK!v#8qq@r*L=s#Uu z4-odRkJu$p?g{F*+~vcg*n8X9SDb^a?JS&+uM_O5fuUhr3tFOPZz-ilWu`6sK)ao> z_0z*1B~LDLJtuv=t7mR{QzpB|yDOgqBE0Y`yMpR?SfhCMTjoE&I;?Og_r%#J5!~pr z+jv!|b#aOS?C~ef|FVsUF8P5*G-?%Q2k+NfP)R2(pS64MMW| IP4v^u-#HH4fpk z5`?9DJ&JFxBZB4_2~4**Dp~pb6|n6&xyt7%T|JFuCHcB)JebSs3?x; zfSw+kA(#00_=}Zt{ TV?L_t4xbB-D-KhcC^|b`Cs_I-b?AX9zq=J4$l6 z9QrtaP*KF`^EgrEA !PL3&KA9`t{2@SV<8b)p8(gcJ%Io-nV5quXA;_ z$Y7CI7!Cm!K%D-kp-!X^zjKa{zL`()Sn5~PCpYF`O$_ZFD3e==F-B!V&6P4f++*rp zufr|9V 7xBT8byRX^3)o@96ir<(|6o zf*eG+8TQLt@!+cK0ytJkoYn~|{owfHTvVFf^f=q%`>y(uQk8rjIzP>z|E^Fc(`i_i zVyGNbN&9msK$?0y{3v=Yc3f@g6C1lcd_4B!xM)(hLb?~8Dw(~xtCxnbk9ZbxgXj_Z zN8-j5jmp!sG&AGdbobeOxbmbE*GJ|_&(Q4sHJG^>d|BD6q9SUP$Bzm4IV?%RvGvCO zex$87R@nzE`u(Pv|KOCeUZ`|lk?x-+K4Yq;#r|^OaWVfJ!xl)VR-9Y@oKF#5AuitI zNWe*KV>@4UN(Bs(!>A|+cJF*mAw?AzcY3wrlgu2(lg^PjsHRb?0|x$H #@NYM8r<2FY zzf(WFGoxOKw4h~$wY$5nid}qi!x22_1(;p>Z~tCv_q3bu@y|cV{o`=9$%zvuybN{j zlkho&nOl%Iy0XA+ux`&8wb(ZosACo6)Od`r+3aH1e^w*$b?yJabFMTV(z^zhzPGr1 zwSg(Q2TI^s{lUM72Ke99|Fiz@A)Hx0i|x88l=TP5Njv{(eEq+BA?vAIDd`$r7mbPv zq1#6fCu?0L{jT@izJa4^5OZ@>K1VO|e~`nfcu?(JD>Cat#usY7F|KQA?RDJxhwq04 z&*G=*= ~Qtlz;!bF;V@2GEV?CbMo zxGg|GdJM-YzW~IzG&4#1{QJhW%Y5JCBW}L$T|D+(7ei5tV_sbYi>q>i76O*TlWU4_ z?1+-{pm9Z%t4xWdtuU>8et4c*9{FEd01Ly|Ex7S|-jYJ*?F)8`hYXnMSY+Qq&-Lo! zRZqk+v-LhjRAoq~^N&8S4!D=DJNoPu>$6}PPW{*|!Ai+p)i+Hj 0>LD zCW9r>@BZ69%8q-(zNcQZKJrZ+6u9cmxNvwyaA0 r4Kpwztmc_zk?$+xTs@LWb3?#gl_5x(@E{5;4`is#cTH$#Dw4cdL8# zZ5}g5-VAMs^`aWpPOhJ|uuqEnI?1m7@OE{P=c>fTUg^u&+}_apn{+SD +eJZ0-D!wtmDL_B<{VZn+ z<$JJz0=Fksb92q{SbgJFuI`=C+^KAnN6)(l*lP^J{tHl)&pRGg1 ~lmG7ji@G;~hWh{i#Ya*~B??KFrlgQb zLS-3BX(5$;9c#*3WM4*FY(gZ2zx!g2SQ zHW=^)kA4%DyQmQbSGzXq8T-}Qw! aB1+fh3+W!(A|Q>KOfpKxyThnyaATZ@2RQfNb=P8eJ}@rbhZi2J|@+V zqAk|||FFyibMJbUK{C1xl-{h8@Eun!Up^pMRJu{K?gYqsAn&ns1S=#!WwZzx1t!#4 zO0YO_53R(E1^((TtjBKdWe#gsv+1W+PbaTIveJBz>U-_-8THgepurzGdyC;voXLM+ zoe1XH9#D9RfbAe9UwHBU{ah><65H=}0V^@u;7t~K+@2iz#3d;tDk|y$cJHn{b&%x& z&{BO`k>6z zmiFt0{YA-+^mdJf-wr+yO=+A8L)S?LgdA*X$EY>qfW0GEv~q z6bv4%xb~!CVQomk>+YAMT`u0HNbr6SA+pS)up24^n2^VZqjv%G_e_bfBv=rVsm$K7 zyEQIgjsuq8)GC )xd>n)mWv*uO11oyNTJb>ZLtxUUqn!EoOy%|# zZv(pn4rn-)1%ANqKYtGKJMV*0dW@>4XWk&+Lms2vod>8TX5U?YF#HowRsGQ&2b7{d zOp|*xvO*6nP*B?}qyj}E+Io6q06?D>YjRe;nB2BH1DN0oz_7*0o@vZi1rG_5MhhiJ z&`K7AC-mx8m+z=n+puwCJrp@P$)@ptu&@A+0dDbx77^iv{bjT@wwsh*!ehhS18?o} zGtgG&Rcb&Ry*-ouvk4`$M=8Xizet|EuegX$pI2hwLMA~VHhHQ|O)dat9oP~OPN{ zvJZn%n7{2e4jBeQQEU;tyP~2(Ufv*NH5@(*?jf``Jtbm5jn~<8)=GTawr%{JCxBd2 zSwKaCDufoA!uKYKaXl$x2&bs38u+S`>2B!r0t5#TjB`-TP(|fiS2z{)NN4mmu VuduLi41!bm?^{WO?Bww5LEHnx9a`k|QDwvsY&FZ-^=3D6Vm5a{?JxNIhsTE?&v-pQVIX8D!0@`6Cf z?{axf^fa<#arNYUkG32^YIx?VJHGQX#64m*cJL7+Sk6)S+)gBFm~a*`?(x3uefbF6 zrRQ85ovrsf99j~mzNIdcvgoRzn In#(bXUFFrC_z+xpfUh1>6@v0VjgmVKv z>_|JJp*ck0BvYFwqe(IVZ)Wyd`T{-n!w(m3KA4hwK+L8(*O8idBucarzLDB_4k!*2 zI;hIi>;^1DTu80vgwt0fe-L^@ao+|Vg!W2=CeYN?m*3LmVhBx?L4D{}kxyrHhMW}O zkuc=mwm0NVq4~)4%O*NDs<-dDz|L+;NTPu1$XzQ;#(lV0JdFJEDjmt3Czs1G`huDK zmbHZBQ@RZIpTY#w-AF@Z^R98sX8ySo@5qfN6%?M$nD!hktbA`rM-h=NM_$DUw1Q3) zi<6I6e-$M!I1sel1i3y9H5dKLC@(KhnN>>iU0oX3Go6&POleVEmlQyjkryV$qA!Ac zC$jcggmy(kk) zmbw*4W5DLTfM3g?A8b1(AXOK{fw2l0e;)P(n)giOp2OqAB0!zJ?&dJ*@_>U93(%BS zD4Daebxd<}HwI%<^hf)9rT`h5oI(q}eaAxDE{ZRL$q7F3Zo#N4LE>-NfCy5iC}O;{ z1;|)sN_i67Wp9k5boo(QB7T+d>f6U|P>7g!8yci5L|{tN;>Tw39JmbJ4(Jy_Ns~P* zmpIhGjq!a2x9JD>6&a(JNfDV~hJg?N^C&LxE&U9`N9-vz(RLQAWg>TnQ{%q;I+4x% zXZPRa!Yot-QN@)zJ}X{eK}h~+Tl*jvrq!*B>##AN1NkUbJ|KS`vtW&?sbK!EL2E7Q zM?AV~Bob?LwH#U1bn5(0J=Ike6Rj2@xJ7!g$O(?p^K7~w)XK3|<3Qc<73hRU*M2Xi zb3L;fne&4mS2wR-=sR9! Q?wI1brx}9;%kVcJcJRi% z%XI{!cAfZ(GeqKo(9XWNcl#E6)eV?Hb|Gvh4<_K72wx72%=;|u@5P)TvRKxpM%AY~ zbp&sY VnDyd!$pic9-f4G%_^pv&c(9g_ 7c;_Yn>sdtGPd zuo|yBWsk4HGz``68V~6htt~k+O=5PXm^H?5`e>Dk7X<^*{FHjC51LV61gdWx8sxCv zf5Gm%U7ksOGx$nQZ4LM1$$XC3O}^mqDZOCNmF#bL{=N@Y_%L732Xcn+f}uoRbs3Bp z3E2h*4 Wx*0 -ar*nXT&~avbS;F_(FS?@@+Vg;y;m#Q$BE%D}{g^K1AiMnj5bNx+wf zy`eJ#Qz)9y`YB?=rcFzIcO;8DQZ{tkyN?*x^4tzxtj%MEn~LGzFfixwI!}0RdY2Ee zc)@4L_7}Xa-z&c8^gHGm^s}##dOf!*&HVlx$Ftz1!$NDO0&5xKn2?$Ex_^C8jii;{ zr5KF0#sJS%#s0?qP#Aov^wDF{eqEZ*n|NDb?d+-hlj+1tHNQU#CmB~4T0{MNlB+zd z-7f!let!Eei_?QYwB!b_JFX6P^V6|c&r&Fd5l+lzs~fn#+T4U^6~evJObp|!IdldA zUhBWg8GA70)b5noEW=;n^3D~P?WTYI#W{jKtGYMYveeamXWGk>s?KA zAdd~LeU2=vvKJ%t#!?vc>Nx^*Kw}CMCT3s|Fz+tPNLRS_^ecl})za#9zQ3J`z1*`1 zJzknb`S>8r6 U~MEWkXlw9z))$1btK#} z zS~iG)u|zT~=GmI^(PF-CS>TpwL~GN6CUE^w9i`>7>2it%w0R=f6`gS_eV zDaN;PPEO9WK_6aTUU5$f@;^2Z40j^OZJ%*xen8S}*Y0MALIZek?YB=N(hOxU*8amt zW3AFf%o_RfQ_D|QE}QuaDsmMO$iLGZ4n9f^0-_JFj3HEu2IEM45n6Iy-ri0OepNys z>(5!j(vMIwbWB^Z99r7j(-edE#Q8lBM8@ohr0nde?53tBg`>8abg+SN4~dL>&>0>O z5fp9IFes6kBAt>)%zB -)jDM+eeJ@Rr*KjIa{2GKB6=^ m3CDB=J{nu8A zLv4kv%3u+YILo!zJ`v&3+UL*8g~+1D32HCMl-FU4y+%L@SUTiMw?OS`MC(JMC6{%* zw^04RU#(qqMhhD|JvrHv+C0`rINU(m;8ezWao;6~D+Q|K07VyeUAHn0tn0RN dviseXw&MohmfzQ`v1v5vMb6v58{^~0uFM06rVUsz0iuhVT(7LECfU^OOESIQH zz!WrxCfD0XqpkYr4uoS2{ bU8ZCX6!HPXGOYsw7sUu6Gqy+D)Y(m$O%Ux)6@Vt9( z1F2a2hEMM4U?^gT-sr}C4US)obB#r?d1fPo@?PeX#!Dj*5)$+ZJK2$Vfc6v2`ez%l zFA6q#r63P*&kbksyRqGoS7|@pv4(TG*( gC3_bSo^PeJ3nz1SkSi zik>&kH8Wt6CaUm&81_nM9XDP!{!Kgj#$-Avsw_wUb@_qn>m=jI WF}IF>>nn(sML`VR|%x(KGIf%wk`~j z9yONeOl=sc%Fp5wF9a!QCiTLz)+a{IlMn tG=d7lyrwBl6)&WdbXKC3O)LjR5*u6{lho04yKYmB07QV zxZlo}AJD9x%Ouys-JrKU>;A*+E8b`2sDM9-zp3s~mN#fOe=pNi-27Z-_0R`YzRhBa z6sayc^`MOiHSV Dif&ZCBV~Ou&F2yHA{o z8R)pe{)w)c&=kZ(*85cLhH*Eq$HXRNuJjuoZ62#QJH&JTJVSBQ_vT 8DIbMCj~9{@%PE+xR9#Jut1O)cn)b>AEo| zG7C3l?MrZg^&)w#ZA0lNyUeZ-)E#n(**8pb0&?V9qxXC=!}#+I{3{i2SwR&oHfJ*2 zP=glwXd9uoC`esUd=S-qeSR-ED~gMfbrd?bsNB~eGSib~$tW}=eC&CZOooo8fv9M6 zWqC0Q>xmM7|LSy`6|ZA?vI%#<5qMU#e>KMXUY=_JVNcu L8p5@&iJOf1XOV;|ji-b( zQs%&C5OU@mL*kzj(Jqp2Zn*X^Tbm=a1~XYWC}?O^bc zIIeeuyk$2)D(*8bz0M%(*5Dl9Vscv7=;y_=*=#P??`q6q?lHv4b$~_6pX2?fyYHF< zYtW!KwAftfSBZgO!%7(U|Mwlw^4f`)d%S)2#0m5BL60X}QzNPmq{=`gg@?}rVhoxx z+2o3tQT`b~Y|#=3JGAF01vw6J4OcA4vz3m9w=C_iUcFjRd==^L^UHAW)<}{MDWQ3+ zK;TzYf!*cHr%=E_8QrHyv+7%U=Ae)8GUW>2A0L)kw|pvbs+tHN2p5ZkvuW0il7x>% zNTr1PmRaWBe*M&DOG5C*vnpTq$S!YB@Xj%uCkE|87Vfda&Nli~oOm^ylgZrlCVVTw z*ymW8kyW5nT>T&=zbi`>$TbfV!>r8ta=JIi)Sl21{Gh4zp%7(i;TeoC8iJZQtFZmE zM-a(spLmuyfB_6|Wex^Ju*8MM#1d|<<@Nuuh87&A2{CCP#ZZAY$J_z|A1gN|0MF0) zv7yIL$9$MBgNyXcbA&wSY5jB*pG6@y 4HUM4w zVeG}(-7iwP?stq4Xk)w#!rlr7ZJ0I5X6;0HvXzjA?VLI4^S!rgZF46LtU?~&wG?aa z6MQN?^}gQwKJt}%eWBziL-g=f>(5*<&+=u@ZrX8J0zx54aH;FnVA`1Bl(=pz&2IU@ z;_WKz%a%F!bQu4Qg6t}EO}}295yr~Bl{iK)3=I2CSD1nUs3}L 37ZV-7R#b$v_-bB0Uf{c@Ta&%)d|WP3f#0z}=Ys;w z2D!w!g){H33?qWG;ugbX!lxy?Y;Ecll;H_&CSAtyZriN8AS2g3vyli+7}(cf3`~M2 zC}~IR(*%cN*yG5{xOb)rBhGwE2M$;de?1QtHEm%*^y`R+0L`?(t{hP#&Nu%fj9vGS zk%JcGPZ^syL$l(0y cZHlKQ4=5SZ443o-ZiLGa}5g4UR zA9M@3YU<5V-YIH=PZC2WeR^j*(|TYS?(x79mMC>HyQ5?OYr_Dn8{io J!w*{Ntz+`b-RZb--nxBou7=m@FO0+Iy^3 z%UZf{`&ySX3_5{UWuNvYXpxD 0k=$`?SRZy=c1ANy%3d z%$6Rz$ZmH-`lD$CGltxs?#wg!bDzvW {dqQ`->J&&pwNHH($72 zqWg)_hXg}+x`Rk}4IwdRYH=4_Hp#kYQ9a>776JU3_Ydut^IcV{FFsgmRb7`{mwmeK z?Q(zB_JOu;Ymen?r0!>Xc4jUH^f_N;iW2jbk}QZ8x-~}Zqg&pgX-JcA`RlL7CRaNa zkRQp0EJsfHi1Zr2gk0z+7G=*+qJkmD*y(0Q=NTdq2~`3=`|nS9{+0K9PPl{iipPW; zSjpePkYZNa_+l^{{_oon@)mXam_Wk$M|JL-LQ`E`xF-n9TKg|XXu}|M8+JDzhN@X_ z2sDo^EHatQ<84whHa*_7?e)Z>j-K2&R(ks>w!W1+No+R8dfnuhd?{ahvz_lQ+0 Q&IG4H6alFIH%H8sP+^PAet1iPdV|m5@N IBnA?FmJ2f5i#6@^xBT zrE>OO>+O 8sGJIs`g$wJkYx?`1}=wm>u^D7a|ds6idEi0m4A#3~5QD=VlL zbEY(2D(k!}g=)WlO*9B^J!rfnDH!FKUska96#U#ue2!aamO!q #{VpN9RI*Xb#Z6eq3{wyHZ z)G{jjY