From 16d2638c0a302ad27eb0b64969c3050ae8efebb7 Mon Sep 17 00:00:00 2001 From: moxian Date: Wed, 18 Nov 2020 10:08:01 -0800 Subject: [PATCH] Cardiac problems have a dedicated icon on medhud, not a generic "disease" (#14900) * Cardiac problems have a dedicated icon on medhud, not a generic "disease" * Rename "huddefib2" -> "hudflatline" --- code/__DEFINES/misc.dm | 6 ++-- code/game/data_huds.dm | 37 +++++++++++++------- code/game/machinery/adv_med.dm | 2 ++ code/game/objects/items/devices/scanners.dm | 13 ++++--- code/game/objects/items/weapons/defib.dm | 4 +-- code/modules/mob/living/death.dm | 9 ++--- icons/mob/hud.dmi | Bin 14936 -> 15114 bytes 7 files changed, 46 insertions(+), 25 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 04008d6779f..8a64270dbfa 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -396,8 +396,10 @@ #define MOUSE_OPACITY_OPAQUE 2 // Defib stats -#define DEFIB_TIME_LIMIT 300 -#define DEFIB_TIME_LOSS 60 +/// Past this much time the patient is unrecoverable (in deciseconds). +#define DEFIB_TIME_LIMIT 300 SECONDS +/// Brain damage starts setting in on the patient after some time left rotting. +#define DEFIB_TIME_LOSS 60 SECONDS //different types of atom colorations #define ADMIN_COLOUR_PRIORITY 1 //only used by rare effects like greentext coloring mobs and when admins varedit color diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index e21d2ed5b43..c79ca11bfab 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -70,13 +70,21 @@ //HELPERS -//called when a carbon changes virus -/mob/living/carbon/proc/check_virus() +/// Whether the carbon mob is currently in crit. +/mob/living/carbon/proc/is_in_crit() + for(var/thing in viruses) + var/datum/disease/D = thing + if(istype(D, /datum/disease/critical)) + return TRUE + return FALSE + +/// Whether a virus worthy displaying on the HUD is present. +/mob/living/carbon/proc/has_virus() for(var/thing in viruses) var/datum/disease/D = thing if((!(D.visibility_flags & HIDDEN_SCANNER)) && (D.severity != NONTHREAT)) - return 1 - return 0 + return TRUE + return FALSE //helper for getting the appropriate health status /proc/RoundHealth(mob/living/M) @@ -162,19 +170,22 @@ /mob/living/carbon/med_hud_set_status() var/image/holder = hud_list[STATUS_HUD] var/mob/living/simple_animal/borer/B = has_brain_worms() - if(stat == DEAD || (status_flags & FAKEDEATH)) - if(timeofdeath) - var/tdelta = round(world.time - timeofdeath) - if(tdelta < (DEFIB_TIME_LIMIT * 10)) - holder.icon_state = "huddefib" - return - holder.icon_state = "huddead" + var/dead = stat == DEAD || (status_flags & FAKEDEATH) + // To the right of health bar + if(dead) + var/revivable = timeofdeath && (round(world.time - timeofdeath) < DEFIB_TIME_LIMIT) + if(revivable) + holder.icon_state = "hudflatline" + else + holder.icon_state = "huddead" else if(status_flags & XENO_HOST) holder.icon_state = "hudxeno" - else if(check_virus()) - holder.icon_state = "hudill" else if(B && B.controlling) holder.icon_state = "hudbrainworm" + else if(is_in_crit()) + holder.icon_state = "huddefib" + else if(has_virus()) + holder.icon_state = "hudill" else holder.icon_state = "hudhealthy" diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index df2c5439b29..d9e0958d0bb 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -218,6 +218,8 @@ var/datum/disease/D = thing if(D.visibility_flags & HIDDEN_SCANNER || D.visibility_flags & HIDDEN_PANDEMIC) continue + if(istype(D, /datum/disease/critical)) + continue found_disease = TRUE break occupantData["hasVirus"] = found_disease diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 43697ac4776..a41d6a8b51b 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -168,7 +168,7 @@ REAGENT SCANNER if(H.timeofdeath && (H.stat == DEAD || (H.status_flags & FAKEDEATH))) to_chat(user, "Time of Death: [station_time_timestamp("hh:mm:ss", H.timeofdeath)]") var/tdelta = round(world.time - H.timeofdeath) - if(tdelta < (DEFIB_TIME_LIMIT * 10)) + if(tdelta < DEFIB_TIME_LIMIT) to_chat(user, "Subject died [DisplayTimeText(tdelta)] ago, defibrillation may be possible!") if(mode == 1) @@ -190,12 +190,17 @@ REAGENT SCANNER chemscan(user, H) for(var/thing in H.viruses) var/datum/disease/D = thing - if(!(D.visibility_flags & HIDDEN_SCANNER)) - to_chat(user, "Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]") + if(D.visibility_flags & HIDDEN_SCANNER) + continue + // Snowflaking heart problems, because they are special (and common). + if(istype(D, /datum/disease/critical)) + to_chat(user, "Warning: Subject is undergoing [D.name].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]") + continue + to_chat(user, "Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]") if(H.undergoing_cardiac_arrest()) var/obj/item/organ/internal/heart/heart = H.get_int_organ(/obj/item/organ/internal/heart) if(heart && !(heart.status & ORGAN_DEAD)) - to_chat(user, "Warning: Medical Emergency detected\nName: Cardiac Arrest.\nType: The patient's heart has stopped.\nStage: 1/1.\nPossible Cure: Electric Shock") + to_chat(user, "The patient's heart has stopped.\nPossible Cure: Electric Shock") else if(heart && (heart.status & ORGAN_DEAD)) to_chat(user, "Subject's heart is necrotic.") else if(!heart) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 76eaa3111a5..2aecdf536ec 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -370,8 +370,8 @@ QDEL_NULL(ghost) var/tplus = world.time - H.timeofdeath - var/tlimit = DEFIB_TIME_LIMIT * 10 //past this much time the patient is unrecoverable (in deciseconds) - var/tloss = DEFIB_TIME_LOSS * 10 //brain damage starts setting in on the patient after some time left rotting + var/tlimit = DEFIB_TIME_LIMIT + var/tloss = DEFIB_TIME_LOSS var/total_burn = 0 var/total_brute = 0 if(do_after(user, 20 * toolspeed, target = M)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 09cc812eae3..5bdc34cc728 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -53,6 +53,10 @@ ..() stat = DEAD + + timeofdeath = world.time + create_log(ATTACK_LOG, "died[gibbed ? " (Gibbed)": ""]") + SetDizzy(0) SetJitter(0) SetLoseBreath(0) @@ -72,7 +76,7 @@ med_hud_set_health() med_hud_set_status() if(!gibbed && !QDELETED(src)) - addtimer(CALLBACK(src, .proc/med_hud_set_status), (DEFIB_TIME_LIMIT * 10) + 1) + addtimer(CALLBACK(src, .proc/med_hud_set_status), DEFIB_TIME_LIMIT + 1) for(var/s in ownedSoullinks) var/datum/soullink/S = s @@ -84,9 +88,6 @@ if(!gibbed) update_canmove() - timeofdeath = world.time - create_log(ATTACK_LOG, "died[gibbed ? " (Gibbed)": ""]") - GLOB.alive_mob_list -= src GLOB.dead_mob_list += src if(mind) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index eb62ce81380979e97a3475c43eac988613941121..712a05e87dff3ed28595a054be6ae8cca5ae310f 100644 GIT binary patch literal 15114 zcmb_@cR*8Hv+oWdpi~=3ha-wgQ$avFqGCjfpwfv-mlCAcB#MBdfC7TjrAkM74~T+@ z^j<6aoxt<%FV&m!vX0606vLH@m+3X3al+%+lKa|d9}xt z;0Y?zCDEO_>?`6P!pEYz4MbVKR*YxkgVH_Yjn}hvbwBO}9y=TWfIoZR~Kp?4bjEwA^Ll#caaBjbEXnP_G z;$Gj(nKQr{CCq$vPu289SQHf^#5EQ5tIpM1;2L7%qxMCIyCw<)^J zA1;ei`tRIU@t2VLC>z|U&-CNMnH%|EX53tp-kzV&N-;CATFE)JO*hkculSib_gT** zZW~#!)GRnl@wa4=!f*R?l>S*;35j%3v6M5S%U1;U%CwB;k2@zF8>HOU3MbL|eLnRu zL&1(mDs=w)GnKZO?%0}ewLhxJs-GNR;O?f}5M!!kK0j0Xhw`*i&j|w-MQ6R9;`q^M zKc@t293rDzhAHCk%#)9o3LY~&&2e~s{fBaL8?sSd;}LI{+3@AP?S{T>rHY_`40t%ZN^~3^ByIB z>Wg%tr(0ZFNY^c1EqR5SmL5cYH%iz=C;0SemKJ~e+AS-%po2u$>F`Xyj4w`+vaxIL zTHI87jYqY3+bOrw+bU&meG_zcc>6MZq*wSTOGu{1A6z!tLDwY$V;Nt4kd|OOcB$Ef zSM;%N1@z+WZ_qmu4ZjY_UYn)km2iiJCsbn&y{pCq$3o}CYD~C@JB&|vmQJqZ*P)fS z{2Do;uXk$*mTBaZ*b!d?&XTW`n%5jzcJ3hC1UdQmtAN-bxRY$CbOo$s5J_fiK-&y=bKN z+zY4alOkc)=_Ov-zx5fyv|QIbQT*20s!Zt;$LT+!6^dV;vz0b7iF*5^8ohN-&r@&b z7ho|b>#j;1a=LXVoqREZw`W$9dyj0M|BKxZBAGwi)(_6B(vxNBfDrU8VNI z{i1a+)840s^m`)ejP{-CnIUuc@b`1H<9HV-GY|~0{qUZ=sjaC3PHZ}v8WriD18xgZ z+8v{ggRuoYJ&GP2+OZOsNF-9tLRLapth8~l`iPSpiF550Qa-_ws#Ru2>ow}?d6i=F z(T};x&dff9HK0<|Vf6)WZ_JZ=1}>?DSm6rN*OK~xD!sZ|$73_J66j{K7^J>IMC2+_ zsM(#Y9WOcNh+umRWyR>h91^jcvo(T%_nBfV=aN;TGO*iAVsO(>Tbk+=3ej9K(|)h9 zWk7Lll(|FYKv z;GS#(HMJ|u3ivqG*Qu+DobN{=eb(#xAijG#Z~zADc%=q4Cjw{ra=;bRXhr|P3=w_psaY569R1yH zi8fHCzgYa#vo`0UnGBFws7zXL*)f;BGJ~9I0;6Oy%+T>zA)!ra6{f}zHyL1kiSR-j z9p@KF2N0@3&ndklrGV5)0mgY-di^tPDvdq_>B`Qm)!j<;ywRQph{&35ZVZ$WP5NDP ze{W8K9o@F6&L~${aSW(Ff@ueSpNfNd;oG}wp0@*i_ZJKrO{-bgo-fEJ^v*Rvs_icV z-ZBH~i>j(mOWtLK93FC*s!=-9E`(Zs=JMs)Ay*H@7EgN2s>Ib@;&6jW^G#b>C+jSG z0ia4901UV|c9SIOfdr_5pA#upzi77ujb{t#0E6w<WeYEiW+?^4!)U5TjF|O z00t@9`mT39Tpi(xT>-Q8!t%H9o>X5xub2XK`>@7?MMT5y`BJPyJ-I*JaAUh?2CajccRS-btgM6 z`9ATJow%=~BjxEHjf1xLQ|1?w?t+omOjim%8p473nj2X|{x@SRyb15QYXbirV9*IX z?bB7!ou6nc>urJVNGh(?_lJNZzUGfx^|U%RrC%5ry(m17xAk^Zp?Qr)RGH&YVZUbM zp+2NsYm$8Wn$KMCdEVhF(Ml{8h{oinoK)Z+dc;_NWTo!IGFs!&qDGqhG9@-)%nWPQtLrhvnZ6re(p9Z6QLEk|MpJc`29{pzl$$lUFPunnT_EQ7 zqn%e0y~@v+72q4K@hsx4i`TP)=={m@->pe>3@I)%#Qvr#i`YAIgRXK`?=VA zV}z#X%FJ9G_YGy~*M1btnF;J_f7bwLud;z?K03Zhl{KI4@Z-A>JWu=rgag}P*jOge z&+3Q_Ozt}ov?~mkUF_^O#YHgsLRdx5XT;r*QK88xHv!&&5hkTodR)#nR`@Vtgb5KV zD#g1ULZv)(+wuj{@igs*qe{Gqc_wNmG9!$9r1oma73B-k-CEs?>kRQ^Y7SxRD}K~` zLACHu+X8wl2&=s=j3CpZojQRsp5dyRVwIA08gXQ=a`;^$d1w71rt2r$Zkzhstmy=a z>Z5Nb<>%}jN!lZyrDw7!+Dw57p|Gevu+65p`MV&xU|wZwIZXh_ah6*fE|rRXy@Ot7 zRj(lhoeQgC?Y=Y=r%_!J}tVRB$iC;8qEt;rg{5k)u6#a51s&q>r z-i??-vYkrcm7Bf5#^?Ti!YRPeaFtqm;SfFWIb_%U!Nl&&=^Kdp37NFV7cpwg0GGu6 z2rN*aC!G8X>(FmU(-FFNvmNEt=vfN*q>djRNVH~q1w8z2VpcflGPCuoQZ3uAfqHf2 zfv%l%_2|J%)4Q+axpa$XuRGql;&D>Fa+|CxP&xBtfs_<=&qD}sdbvZM>N0CfnPE>k z3OFgCQc+ho3e#@<0)XOATc!6u(6ruY0$dcgX$x}dRpYJuyv%^GGe4dBF-RX0zC48D zOGfahczK-It9AgE5!nvhJq&}ukK-xx!SN_`SmXTj!GHgf~*JA&nzqROtawxhbL@5cD;i!LNP&n%(IqH2qFsCx~lRV%Om6DcbU@ZN982W;%Z`(in1Dx{u7G|o^c-{RT`*m zrgz(ab0sB_pNl%+e;#!fM-0c4g)k+uq)p902q?wt`7B1mk=pT-aAFkb8v8R^g5c|2ykTc9HW>?cV8Jr;7 zFLXsi@N}cH&9hjHovxw)0?+&5Rs}=hc>my5u1cnLM`cup*b34VnaQTQ`3G>PdjHke z33PR6>r=&N*kP({jWb)2#{Ag%diLZW zXe_X*^V2~}vZc4b>o%L+6%#kcP7ke%HwgtMRnv~jJQyaq!n1%G;Raw#-P>eorM9b7 z{C-z^+JdsD&y7}<;G;9=pk)RefvxwW1I`ijmRjMh9AySd6F=Uw)7m_58P!!{(WF=3 z=Pa5^0>nhn$Y$Yv}d7g{KXOacz?=LI4QYGSW2g+j6PtLkcj3KpgD?kh77A zk&~j2xqvwG!v<4+7f-TzXwEnjyEKR2X$Pbs%6&d?WhaNP^(4S$d>D9i>V4p|8+U&k zXZ5gpbc#3q4c$ywY-{@;EF#`C%AQT7n)~dpNBcqj!6&`eoa(lf@>0l5u;545Z>lrx zM}CY=d2X_b0P_=cGh5vbcApCueBlO$xbsI)(M!|WxmHjUv(wRfgQ*%pverL1%gf4c zMR_d`f7;uewc#lNB@yj^J37>lask~05%kyU3@M3`06eZ(ei;l**? zZs>E-8N_~3{dWA55MK$#1WeX~< zum)1(Rm$70@!gCREQl^N{@mn0=s+ct6c@sR{U!(De(T@4CGUk2OR5vS5Kn_6O z?i*aAuDvH&-oM*wB$J*vIP_S<@uOdwui2>k1$GINh(mg6EE{v<=wi>0WRiCMc4dUx zP3a<#58ms(zxi(Jmuk_iC|lyl6KTMyx?x4tAH=A|FY2DZ1B%5h$YVRHJL${HP_JV%e@)8qCl4=qaQ%^~c$^cQWA4L}u zf;!8%0R;wNxAk0lD9Px`KvJ5vDHA1BS1G-?vqc0G8_QKbt_asOwF69Dk}?F8yzGe+ z^<25l-jb4%@v;kUk`^`h3{*M4&7}>m4S&!s^CnvA@Tr(WznTWN_$sbeO~qK0wseSK z-c`%_^ji)3L4R8buRP^$h#zZl?l>KT~-Hjc#d~oe&*)4{-JVVItcwP<7;608@U^= z^DP*CHrm9vv#5Hid)9%I$5S3c#yRlS2DAPih}s%;EOO|GzY>;qZf!CM0|4rmRF9nc zA9o@#84%=ua1%%JD4i=F<5#Pu?W;9B&T>HQv9T$w8=pa{q1#m~mBBb^)X!z4X_2bu zR7_o<$6j3hJXktJEm>Y7E-Q7G^rDAI@}ZAL$a6Q}agzdfcEdi}fV8P>$%>7gF3M-h zX3D-XxeM(&k+^@rddqU3=Ko1~kL-A_jNV|rHS#wd{#jVMzJv9j$nFs9LL){zA-Wz} zE)V7W?qEmwy(d`Vy$~LX!Xb909mNhUVHE{;kIK~pNqXO??)*x#Nnd3p{VIQ#JW4TN z400`@L8KPmD>HO6$~u!adr|iIg?zK@Ev839f5|vYpS{)h9pRT&y!_6rE6&<(KW^`? zz3gM3-%s&5()N%e+GCP-(otd9irJt?o@=NgkdV(;D zUKUFUX)$vMR)R<@{DL6G8w$B01TTlek&GU8GdnHiwU*>+x!wbo?K$W^IL0{?p^0H5 zWl`CUy7ZD)~#aCffQW;=$xqJoLgD_6xVoVgg@qu4GY%>Ks<4sR&FhnVN56tM4O5~zNg ztQ)AY?{XXT?3N)N`Rvf9(I87AU#8brBoW70)g=UXogw%)1S{xoxiuCX@bq&^;%~F8 z>#Nv`+Xs@dF+yw6l@+#hVeBwb2+j}u=WTGc&Bo!i9T3&pm=SPl&4%&eLn|8p%U)ql zA;J08+u3-litWZ|di2H@7AZ#1+Bt_JayTQ8ixJ&6(I_O&Pv`2%%Io~|(6h4dK>^j= zSZNu+V2mJy-*I4U97y&yxa?Eq6gq8tMAam^9$ovBjVARKv(ki!dVVe}(K5tqs4wnA zUYGA@r=*C%`|VTWw(+;^{JhEvQqjNr=qEm z&VfC}Sket=yO>vE>4ay=mz9S|7Ko6!ng(KB1M9^D0_!nfm@R!NJFzEkxn>USsV+yS zo*7LDsABCb-;52HYwnT)#U{x4@4|s@T!FLwx!Pyd9#c1I6}K#mMF`hp=^~cM<@slI z=@OM5dGFgSkTJSTh`MFzTrz?{Yr*_+e=`tLrSDfk5)%uvzoD9y0 zL~F*^CDrC}u_I4{Rz{(oA$)4nz|XR(=Z|M=G$l``cCiB8D!=Zdx(krF<6X0E@k^;} zGpqZB6?B*&4YgMq_=4#PFm@@^D$9dHRbXhVM|EBfy`lEYI^&z=&iLi_{IXBK0`UXa zfro@0vxNx=-p}7+C%16YJv>S8>g*;66spdBB0x$z@2`J(MI6YWWC|8a)31+2%OoFx z^k1`#PZ0+Uj-@blr-v@Z0gr8_C9}aB1lBL1jlUHwPlm07l?Hoi_M? zWgAp1jFKn0(hM$ig+UTHFwLG=Zm6V!!fz#`m5{ z^{C|f)i@jM90YK=udwKl*C^P&7Izgw$LFp#rS3`ndQe?v)?o)1@k2usGsVX3qF>wf#0=Jl3theF(MC68^xF(7>@)xZkyj z7=fAs?fjK81kPJ`Q|0kO?e zyRPJtB{FHr?#Uz0TZURG?wlcy7O9A_?uT4hQtUmy#~&}nkEDmbpTnO@4`$)!l1zb! z>vQ4Huja7mC4VdLNn}6%!!}xmzeIeF_ML&4eD5hPw;DMW$%-7gdboSNWqEfh()&Rz zSB&Mz+YVcsH|GO}-<@n5!UVPdvh7N?V1_{=R9Is3$b5z;7+kGUvU>*9>UC=y(Ii?E z{#F!8Cu>L11w-W|AY!VkQi+cIR27HMn( z;#gtjvb!mKH=2$}HEZ98J}Gjhk{!$*kHG!6?RR*u0hAUSjG!wHos6#9D&&^BykZLs z))}Estj`|L6Q3#R`{2KE0Ah4Cm0S>;Itnhwx!I?9AOpo1`aMkva^67gO%&~ZtlqZUM2oo0Ap zrWxHfO|+BQEJ3CxJi+b@r_u~g>ey;#D26F znx=yG5|X#Vrx#RmE96Mol$yW|ARJ8RDl@5&z=~b6y4eY*rhs^g;~G7Bhl`|=Pkd~q z|K1&l3IZXJR3z4I=B_)|LRo%0nVUP?w1NR>I|9FRZq1lyStsPp2no5rfB?s(rnIqL zbHFS!!MWqI{GGNZrwn;&q`#l;;6yzwf#(>gipH^2pVF zFM6mNlLxuQdG-73u;IGtqQrFHVh%N$nkam%k~Z*E8>reE$EKWb!@*y!aR@Om0GQB& zY?IGR={!4@Cm6aMEfZu-=-z8!G3Q*&O-u(CTQo02-Um_pihFd*l0EL$O z%-jF(+?A!79~>!J{{jpKb~{`1IR8CaAPLXCO#9)<2T5rId1s)pM{=AuzSpK_?OduV zDeyB|Ry-ayf3kuq!f|~Y#QeiF*h$ZLxn0N_i$rMSb1A_`b2(LXO0Gg{q82f8gUs@Z04X8j)`H;YJQc#U1T>wK zj~RuNea{UEj;*+U!m+-M-Wy9l4g=KhSB-BTbjqdv7^2G`@|ro|g^O{F!nO}onb$l`e@})oCj~+`K5t-o3LnC5~0hkT-UmKPdZ_2>KA7 zrAY%`--6J}Yhuk9wsnFK2c_+zI)J&tp~Je>{Y~90J`;`Vp$YS!N^fi;2#vYbQ=1S! zi7R@LH1jO#F_Bb{HEA{&17N(~{f#1s&1=Goa=>B)*^7mJnNzo1F>IMKzzd); z*{89xen;pv6J>e=`wfmM78ayf9J$9&XI}Q>dm~4xToo_HDl-Us9l#t4Qk7cqQNZqi zJtGFTH3^W24YfhQYK+ohPK>~MKX&>o^EX4#;3=mtAbcN^HRIJDr!ZX2@*MnGc{32_ zGJfjUa!>R8hp2Q56+h!@R;jSB!pyVfOHOMyl;U8PHBYUID?T+*mZMW7YNb}l7-Ccq znlfz5e2bm7KBd6G3A~M;ehN|=@w0hiOyoK9!P`pa93B;gJ4N3-L70$*dqDXp_G0a^iOPvv1|9Q|3dElDWr*|2VdLE@#CXOVQIRG-2g+M-b%c>jI`7!OYLg+x>9f94~0rt=P zHq!k`X{w|gy}+Wy6!}j0$n%Ckt)V+qtBh|L@Y+(`awz6b{eT;USOrj#_GLEZ42K;A z;jV;JIV&HqH_K3G;!I9-(Ln+6f?sY!ljm`uQQR(NGiK@Ri4(R!6n(?%Cbi^4Kl4CyfXhFlxX&w1&NYF5E=}+gI2p`O|J@%HmqA@)LZRj$w+09vNjv9;gLdFOKD%GKl_|#dPD2p%w?9;u%ODdhg5XJp_B{a^Lsf9~kttBhPd z3>>KObqN5Zp8T_$mwyhVjuqg44nXdu{os}e4VX}^X0Fn*fPI?+u*MAu` z;lt8-``uTN-k^a42l`Ri2+b=EZ!?1m@IYPb31xnAaoK0mpcEaDKLzQq3M#GxKJ7Cn z>KvgUwDZy-j?hG%rrMhT#`~aU=ov;+Rqx;d(0D@Ge8cO=#1%S76`{gFKi$7o4<_3* zl8QF&)x&!lQ4JQyG@*7IHTj`e{&m*=o0t84p7f$SU?dMA<%ibJ;vP>5vAy;IZ9G;3<@U;ls7$~-gYiF!J6|q z4M{r(y(YKGRpkm*e##?VWdJf#*JfFsf1MK13^7*v9rh=hDCI$^6MY-a5Y|gUOdL{m zd!q1`d(P6BKYz@-o5BMKOSYWA9~gNyifup)0PYX=_8xP>H>iNAqz*fAs^OnM87=Kd zSOA0{529u|EhC({45t`3g>(A@v`GP~tX^;)Y{i@8FVrxMU8-}>fip(BV_ zmW1ZDA!9wN^XWJvu*Uw6MFUwdKobFWSKl-oGh71*0)HAQRH*^72r!`HC}3`NL=YeV zf6vXg6UsoN8pEGI9xQu+@F|`dnqqq3Vch6lA8y5Q=VuDtTitxmm2%&y)$C7m`LteUB=ix_;tf%z1y?;T~K~6eC{oT+# zcmG^Nnsew~G-weO@*tZw#_@&b=v_XMV?afP>Vtc=$2fBDp>J_7X?eew_-sHmtkDOX zdPk$aUKkJ>fKzLK_Qz&?8puW8W-1rTuXC|C&LnGI=#NmORTp}IZ|NJ;?C)mNZ@d-J zd=n!?nHtM)^CH(8U5St!KZsm3op~WDpQfqG(0%g2o*;%{u-6Q1$}L~y!&3BY(0a`s z_}>>H)t2LsDOnr$AM}81@(am0$NZIRJJ} z!1OyG+Rh)nPO$SQCXl0^5TI_`4ff6v(seT1>pR1jDS6gVtS1DR3qwPL&>Aww17G)- z@A;p*TpSsZualLR4c%`K?F@h3OdYvK&C$|F&%7Io%ZU4W+FsKR&*?eQaykcF9!)x4 zqmRWO?Z@|x$Y+>?N=f-@ykxXO7nu9S3JNNb!`;7kJS%Cf)QG)auou-@;}43Hlm?Ub z@h14p&V9TC@HXQvHB1Ok3NS+DvIHTx!~OgnaYO7YbGi2sQOPR5Qur?1M@4b`4)&}f zMZTB)^tHw_bj@G)>MwFaM(!5)u{mG5dI9`7IQB#ZOlSW>^Bl<+U2qy%0e?odR_qJy zDB0$L;^GpO0|(vru7W>xQH7?|6w^n(nb7?*_*05v9^Zww3yf1FqT}d*nrFS-zmH~& zrXQnbgYc~s+J440P>BuDoV%&9Alst$pvWYNx2B|^p`+%8^UE|svEA|9wQEXI`T5Vx%_l2(CwaycOSiwzK_WyC~_!IB`gI2dV@*cU!9Wv|6 zvb?a&mv(M`+062SA$nl=i$yMaJA_T3Fr_<~Ts{aEZd)v(sA@3{+PFM0bkzG5%_tp& zLRz(DTGvOJ>^?k4#v>>o3oRPcmUm&TIRS_+#6-1<*Y3J&X8uHOXbu;@x!@aMAvczp zqGZgmVXL(iFK6Zl>B^6HdE+-n0{=B)Fivl?^i3Xm~-P;Ru_e&2t%kiV4XWxp? z-OmGus4Mu}?E5JyZ$>fVj(ohoCWDxiD9KRfFsmI#_-s^jRPlLz{NI*=FQPT;Wlh@% zp1`s}B5hy4TbyG((p@N*dIVYa>F$Xb-7_fcYqi?KBP8v8{7i#(&K5Q=FfJDlYA)8^ zBhiFz<1-hx!MFQT_sjp5LoL5S`~DL6d&?qM7yQ`LdRJ0#E4&ST<{BUd@yc%8p%r(D zKb_E?J3EHhN|{%q?tCOtnQnJ6y)6I;yB&}%?Eh^GYJ@M-jR?0>!cZE)#R^KPJW;G= zT?-dfk!?M702(+QBUNUIhCt4=>fpae4))(P()VTQ$RKvVawjIeg$GuW+C`ub<>j46 zW!)bRz}SRT&7~MWIrL?Hbnj9ba-ceQ$SV}$m-A6)AksJAlBJViTR1_vw4kwY8h`3x zAZHj8xIWdoG;9^=X@EA{Wb0L2@ONxc%Ee3IT!R`aZFO{l0Z0}P!}Vlvg#}x*WCsSh zAa(;){F_S^w}-6?Sg#!j1i8n--SsI_Juy&ksx@+GqTat?5R5aDeme-)yYse8w`P9* z*@GpdivY#F5_k5X?Ju_B<>aK_7Y@XNsG0(UvX6-_vTi-3VLcpayeFo0(5_wL(~z?| z@fjz@AIwLhDd{A#w>&;|a|pg;Nvn%Z+0G}CIb`L<-J97)1IL_emNkV+OtGgAhB`a> z5%UbeKX1MEO0!YCsBSW!hU<{GUkzRLd;mV1wY4zQJcxJ!K>ALCT*uZbZfu00`L{kH zq}HW_cCP;CH+~*8`1fc1GAneYb~xJ$1!h(AA^o8EF({}gQN={yN+l)s1*u!`qr|S5 zOhG_2$5*>>d1Iv1MMh5UYkzh_I~n*{``1=&@9&;3Fdil<48=R!MozKmY*%_2@njZ4 z_rY$=wL?nz44C>#Y}&!!R3TdLk*1SBaAAls!Ms9bPhPL0DYkb`g;tU|?ii^KGQZ3}0 z#B~elT(5Fg+Xo@3nQVamem=CH4A9rz_yFyE>_3?Z##KN&=K5dXt2xm=$TR%s2+EgR zy=CJgEi22G@t@K?`->t99@&Rz&2)JX?Jde*JVG45vHx>$-rnNMQ=U|%2eyDY(jH>S zair#A3Zv9*-zmXb<&F_is2yPwo+xl7AZa^I{YrVId|7Ihu z>w%fK(7Xi}RLbpwR_^&D&E3|Qd3bW>#VzB!sQVA@$Qoj|EG<-hKkM>Qb#(-ku4M=8 zBCqUPq0ch}VL_(!IU&|#^jM3&I2)vyYC0`sMrIM|dJlXBox2dwg8**Q8TcGqUxi?O zS%H>x($*ksX(mpm3;liPt^l;V=XBetzHJ(^9yvu-%Zi3#zQ!o>ovgL@ZNs&6zX^pw ze#jK>C7C&VhN0em%vl=s6x*syw`rh<)0m-BhFF4U@4QB^jhF!Cbvbz*qh{qxLj}A} z$4e&V&xxuxMmZHa-!7kc4EXrA3we%@?JPy2$@RLYE}7PYyG$#)&e0i0EO_^yGdaXJ z9_M_S8}CxZ6v4u+GnzmRj}@p=q1#)>zIYq}w4K<=@W2VY8B!Um=P!i5hm=R(BVw1b zgV22yG&QWyd^%khS$OE)>Wnj1TM>OfC0`W6k&nfGTE|y|3rDgxRt#^_aM5mU(7|iQ4-tMOa@T35tttXD+KZ8m+@I zGt+L>{ap+V$nV$P?@m3WVpY%vYvZt_-A-&@rv_NCvhV$5KXM`~FH41svK!G-k{&o3 z*Z4i42wVQO?V$sL?i5RN!^zHLdf>6f)zy}ZvT9J34%eo#Caj;jRmAX8?^^yn=${ud zevxd{lPnmSg;fgipuj=E1wjt9`TZZ*@o!+{zjb+#mR9$(?W*axXIkmn!v=#O$entT zwa?|64iu~6%r|4rM`jLC%E{?Pjvm#tK>9q1Tn_CKJqUn#fYgLB|9$b`eeo9l{^gyN z4~PoNwIx!tb8%)F>RBeu$SEk3%z|Eb8*^VxrA>?>&ZBTwKTGEX@=2(I(b-?JvU|z)pnneN+ZNAj@V4GIxQMvW0&?(JgM&iSF2O;hofe5cH>{43(KzqzFw55 z18%~@#!A{WsG{7|>;@_ss=7oHYnfrd=%xygfntU#jGON8%{!=lJ5e4h>wCV<<}2j3 z__m6w&nb22^eJ-TK2b9;$9WAq*CGE}kRGF*NKfcy7-GX*StsZ*1N!32jDXb!qOjkX z>Kn0SHus3?FJ1HFTM#OL>k?4)P#$2=ptZl}%|q6oIYZLAT8K<)CTC4^0p?Sjm{tXb zcManyphS-3@}V>Bu*Q>gnAUuu=WE?bk!pg86M05GC4K&+Ug)m#Jpd%$RspWxJ;4z5 z9I_#bpnd?p#m2b5$Q(Mo%_N;!h!yT;vMvJK;wwPfP=pW?6-dD75(l)Oa_*9z(bsrU zd?FYD*D$C)XK;*T1FPzqimOpzy?7j`n%bWO*19m5n2S~PpKbn%;{U_(`#&b>FM9I7 de>M-&$C^x84C*uAfh-At-_X5Yc6gcbrJ$-IN7e9pP&-uvF)x$i$=_RKD8_FnT{Ykk+^^&Nv-9ISk-00404 zX#ZgZ01VJ21Hf_^`m-G{NCALD9DyblK7Ty&w)1lG^l|cV2Y`UYq)$EW;|km@Jv+uM zt3x*54fqPZXKUp|4leYZg8t=we9Np?eps2Snp7psr`tIxE7OhNzAXsD+fFT%9-i>r4uO9jpaKC~s zcveGhpB&yxZYk`X~|;c!AK~BdN=;93yznv*Ry)fzzvzZ8;ap;&{#(ZWnk*e{(PR zli4J#PVa$B^x2D-Scf%onH;B&MO-&Z%|6q2L(+~$RMz^!^zo8*VP?&wc*INbtHDnmpMf69ye~T@>_JbxY%h&8 zzGsW6=?=g42^=lFVVtxcXP)RO%Y$_HmN^-BH#(;0*s+~Yk-=jb65FpU4UV`Vvocx& zVX7u?ZyP0+vBzs}&om}K)OFOGY!NZn$B;X0&^mOe7JKKH8V{9tzV+1Ei?jk6DhdgkP9Q&X=*EK0h5tP55Ox^9wI znFG@rk1gRyyECpc-lW<1cK*fKyB%@7$pxdJUueP$OP_e_7~a$MpE`S&h917WS$sj} zO5pX6Px}hmR-)2R8SDGmR5siz^q8tU%Bnp7SwMe+WaRpu>w?h4^Yq&A`{~k8OE|D< z7cJj>ynTGIN-%A_^jja3iq;+5AAaN`AC!lXY^ynuBAR_G+Wzdx{88c~FC$KTo>k=~ zz~!${j@$xU`l1v9qcZ#z0>d--1#D)Qq|F@R+*R4%j=Bw;i+mK2`9(BJHg55+79-Vu zi^^Mkdb`?oio#BpSID{YC&HW-r!%MR?&c>*>55F#R9J?xZ(DD4APVZPwA{H3<&UnK(;;PXtUDl1yep)x)=&){N=(cWbc~_0* z5c7ud-&=U*_fxfud0)1SIRReAY|dlPC1ulAa;;Pv zo7^aX1>O?y*0n-Uq)J6Q)KH*obZ-#Gf-brIvxHDW6MHH@}t4pVt#A zjA9$!CGR_zFp3$6$!^49$;O%PGs#;!vdM-8UCw3J;>7b58E^dY-7Li>;r1s#&s?n3 z_S;OF_%8iIEhz$@@UzD4>-G;~2x)$N5x<3Pod=`9+t14=`9%OA0_gmqVG@wIIvJA4 zGn7Q!@MwEJe{81a_33AqxsI?Zsb$|v*Lm)xeq;SX#?0Z@F4{M2-QT9e>g_%5u#Enc zxWV)Ku*I=Hk&Pl)#Os&hwrAQ}9LX&zZ(rF8Sp30L7GH2#M|*Ap9+;m~lM`f*F7p1Q zm_jC8FJ3G9^bw~xFzMUio1ZWCDqUNRZU6brYE}suqjGsxqe6_LED=eae1xT8M?fRl z%aasOkG^!R?1@d6qUx4*Z?KK%E@=gV!G5{#DP-3p9m8Pf5oFztG-5Y)6kBIjPiPf? zvcJ?{yh(=Nj>(B9CWuNRJ`iy&B~)@E|L8KNV-dct2DozSXK7Ss_zrn3r|Wg$UCiPO z`}&l8xWZ3LUgO~4s9DZVcoWx?Aa6M8Do5g8hZeoAy3gTJMV&8BDV&AZs*t!nd*XW8 zh1T!u^shXw-K=t<=tNuk)eTD?PK&g@LbCVnd@|5pG`=+#J;?lY4u>)E-`zJ%7W(u{ zxD5xkXHr+OW(yvO-RkXXgr2b_rple{uG5d$-+3=8X-qjIf~5OjPBtkIRv*w^MbXZy zDug`DClUIo^MKMRF8bC&mxQIR4QV#@6{L`l4Iy8S;*2*&|5-(4lP=^HA$sDM7X z0^eDfcmvLcIo)Xg6E=VGv2gBJsa2TzC3;XRIgIo4=QzRQto!3}6bf}3>@6NI4kuH` zRo#=0XdBZNlTFJnb27*=h`@l{qggUQ<-~qOlyiJ0ib_BvvD4KEj^~Jf9#)Tj3C$y6 z_{7pBMJ?R{9M3E6!Nsw`ihQ;O##zuzK%;l9D6Nc41VAs+ zu@P{IPKK{0KBrR?IMm;Zl7ZQ$mThQBXv4+TnvBdz1%(M-FPc(1 z0N7WaKkjB`gQp*fI&Cn^D~yU%7e)OU@{RXq^v+GTL>1v80wbF1*)N>z!i&Ytl&31x zw++M0zYYdaIJ$ATp&Klog@y{v-(v=NM}?p7KbN^3{M5QzBLrAK6bAWS>)c^LZzSPj z0G0%6WTr|(w^Y8LIrxR-2O2e*{->8FVmeXM3GVHM0?Lol-lJN)`h3~ihrvEUnYvwv zD+d^`1Imc~VMZa=&=Y;fJBBfjw$&v_|A7dBcTo_MJOb%hYww6t#TePHB;_hsoT$_A z=X=-tFcA;-FktmxG%~m=OiL@Fepc=--=XghboAt7-<8GIRa~ck4F;LP;Q8eRO);`$ z?Ph!r(Lj~S+GmnsU@N4#qi7t&vrVcoO_ZIN4P~w~kCqLZD59=@LPlpEd@~J4>m2kP z;|#BUs?Scbj~X}4RSlYu(!YN)^FFG(W;GiH(xWp^=x3bQF_*e8rZZOU?SMZs{VY#D z!LB>OET9hhWH}ryFY1he6um%Cina?0LI_bEGlH~b`A=C{*`@3R_e+*)9#blh%0>q@ z)i+6q_7(!%&3m!?`lzd!Rh7G>rJB#uo$Io)3S2P$=H9n@D(+YIz9{fBS!Qf&s#EER zK3Pj>?HrdBV%kyvmw^jo+JtMXeY3gEELe7(|g%grxS=%IB zQYC{p9iJIIAL->iko(k{xUvGz28z(>Z0l-P8CaZ0&3oF4-3~)?jtK#_7To( z%uelGn`L8?RTZ?0pI`xV!&`-%)T|j10Q_!@ZsT~$u^|+ovea_q0G>VUfp-maXhcUS zD)j1$k3hl<8I-}^*QU18Cl?tOew`c2) zkOg%iYLp!Y!R<+X@I3C7AV>Gm=akPMT|*-%^AkP;`es}(Q8HD}p}8hBO*71SsWeFGl1w?#zpO7xdhj zGIzTa`z>ika(KPHi(tP7Zs7rXZX4yryW;t!6(JGGp;+L^tnQq^p+e~lpP!*2R2bj6 z(?s5!m16YiBt5!QM5t|GUq8^vemzg8cJ{MC762PAgh{FMpw%lGm zkFI~2IR9fG{wiI3mG3@Vb1&6zqqeNtLoEKe`XN)S+@xQ^3Tu{-^-&&+I{9dWRBv~?9*Hf=tFwQFNj6) zjH4+u^N8IQ3|`<-`P`{}8+kS~b9>UAE}h|bEPz>J^|JG-kwH%|c`InHKeUF)9P?Y*#;NbroeEJsgzpET7Fi+4WNY!umi>y+@k<_6#q~hxJ z1@&mTmk&mXit=xaJW@m_%d&!LJ&Dt|Xq|@b*q)FH16s!^wMRSGi%lUzraPrpvt3|@ z-|r@E!5t=dN=Y8Ps=eW4;bN5kGx0apRcA~K%!}pNPD#az>euWa(dloOPL$U9q!tp0 zKV#b$g>g1e@V+zZYlW=Pcj!bEKYsm)qeYy5E}{J9au_k>d&+gkedSThIBh}e$5$?mi4lN}43+^shc zaD5!ajcJ+12KP5CRG5uT%SbacX4a;Nuh8OyT$_I&SURQ*-;k;2qcqhC@zT-!)d4-X z+C8{Ofw7^WehIwl@(GL(YNq1lZ}OOk zxRgvcde7>%-_=wFf<7Fa<@KNg=$ZrVTzx))joya1PoFj zQBV5#u{6%7B1QmFIi}(9=~R28U{16siLcD8{w1nIcQW8y{KWeEB2CIpp-MvumUxY6 zM2LF+1P7(E3MN?Ja-?yYuwxF>elLBf{4sB;$)1tA6yxUzN|7|<>^1Q!YdCm-IZcBJ z`pYgDf7VY~e1MzU=xKZHG}AMuErm#f@Ad5@(U(g?{~+Q;iIC&z^| zr9PL0I?Pt!?$HL}EaL3v>^dd2It*%5@5{GxGoaTb?-+0;1=ipbQsPCgV^cm)S5+Gz z^OY95lUxi`HvZrcP`DGy%w?vh7cT0wzq9&D*}v!vlZgI<)1Pi%$oMGZ;N1Cv`YW=+ z1?xOcLBu&DIrPYakHjiIKUS}57`E|nFFTqOzw#ooWSFCU$`xHEsQmA4)Nebf{6qxXRkpOEp89Xbpp zi%qfqKsS^c@Ibj`(c_3cv5@>%?OG1xZ`a{d@Dz~&O49T4bl_K*eGI%tpLY}v(kJ+t zw*_hUqGRi+cF~z2((|?G@;GBp$tggA3D|8F&j=%#9~_OIB{Mb5K()T4yX6czF79N- zgpx+6l>=buo|L*eUggpQkx2Q?{*scCpRWA!lDuDMVWh_WeKCDxeI!?}+@VKEpI6Zc zdTRNE@S2}3Ij5;^Y;63iLBCbdKk>rt4|j5v?K@Aqd8jhAJVFCTGM5q`FwAey z+$HwDW~QIjd9itSU5)kBHDH#`lSJU_54X!n# zl=cL^Kx&`v6!KSGP+b81KRxR{(4lzWbQFub=bz}51r`xJ*qcj9JrQT6@%w8Vj|MvE zv{r+Aj`PHnJ)ONpIC*0`1)Q$CNB#(5w2Rh&qfK={lIV#w;zV@}_q)=6g15sg5k*ey z`Cym?J}o66_o(hJ9t`IHumjPVg5hF1(T8OVV@3ZFBUi0~WmsDKTNU!#^hf8`*h!rg ze9R5L_Js4&X!h7esy&$LIn>Uudxx>DcbEwjn zzR`B|xiPTHhRy62OQ#pg2LbsdAu41jGNH(|0`iA5|KhZAxTUh*l3Xp<4+*5|yWl-M z&W(-KM00Rt(>N{UY$r%MbzL!=<4tpRR&NfY^zfNGp%H~m%ul2kM~2O(2Ez>2to&@Q z3HX@*JwO*xZ+i@C_T?iohvN-h)&l8+Pnc#$PtR}#{_xZ8-s%MxvN($3Lg&s z2s_;y3ujK3W%(Y)TvOY>O#V=)x<1#K61?&(ya|5K>JmzuVLAUr6QWdpy_Gc#uoeux znc$@%;V_K`Q+dM0JEAFkV zp+Qi-Yf|K}>A>$WJ|5U95*}DB23}P+u=n_eVB>#P7ZH_1 z+O<6dF+Kvgvn;A0EEVd#T6g|jS4mkr_*x$B^6(ts<6pqf-{Ed6WrIn^NE)3oV^R1k z3q4zdlq`5112{yD44!@F zmp*QWciC6i^)JNaK@^O}h%e33+*tUKN{~M0TO&e>Cvz22RB3kV{0&&YZ~v+rBdYoi zx|y5F4UzcpaCm98b$r~Yb0~zZpD)-0f3`v1KD+woi5!ilpcg3ja&V5;Kh9NCSQ9=Y87UkoIkq zhcBM_E|2LfS>Ow_(#P93M_nr&pK#BC4bRbQZvPta`_9k!zVKD{Ut8HZV{3Q%)8lBq zgYWH)JLV+Qb9A$;YN9)32^*d1aepgQbXhOFJ4SSMXt`$dZ5!W{HC`yrwAl9UvF2aS zi|A40g8f?PeRyp(e$mVCMq_T5%-d|Kzq|&*d@#0)u#-3wCkZP37tHilawh z8I;Z|?K+=65xsxO87FZ!o&oZ%?8?i^=BA}-L_fU!V>;5^6~bq%zPh~6Sg$m`yhjSV zney4W%Kdv%8U$gNRFDf}xi%u67Za`usu|e0TOxboH>;|h1W~ApLj$5^-`(}~6qrO# z91hu)s3r@Cp<5C#i={flvgI!)`>jlR=AsbU(l!mcm{E!(R$tMPqdK*@)$IG3#+_;5 za832;T%_&?nD$TmGOaS$x@L7feJ%~XCN&=TwP5??(Dl99_~r66glkouPZY-IX5;lm z8Ng_KI_2?Ku{Ey?w#(%+|Z#=i$jYQB6~VWakw2!(Zx zA;Qx(nW4X0Y#0bgD<1lVq~RS*F*i4`;F{ z-UF}OwUt&Aak|mSt#IS_G28Oth(Y1)b2+Pw)}_aRXQ?afXvvMnD*G-z!Jw5dd@}ZL zcUDI23L9LkCxMh94<)PWnB-v@9Ia0DqJRHDKF+7I(mkN>aR*SfVsqHSp4CD%&_aUi zgy3P%W2^$G#@mH!dqh?SNQM$}&t>)Z^@ z(UGOzC-Bt0t#J-|)*{o_IDvIuYJrQ(Rv@W%h5SPEsYl($OFy>&%&Zw~ZB&^#HTDM# zcwzvbzrxEP!0y?`eMc`8tiH>0dG=bJ$-$7Z{;J|i(YU0Npenz@vrLU1kP^VKw8gzJ zJ>rvJX9wI5+YarM!hXSL_QJ5cA|k;3+~Q*S=)sAJ&PJ|R-cZu|*;8Th7L9=ao<{u- zKs4R+Z}c8^lh5jKhhqFO%oMwP*ed>3^I1Ac3;<3D_yHfv+-sL{7>uYBgaJDJ{&K>- ziTgx(xf|+V6(LBYBjsXxU|n5ZO7n|3ABvu%L0UZ<>#tu3`tn^u+OGt1#SqwUxlaf5cR%wCaWRl=d1CV4@!1guJJz>#cR+48S3ip(>EP~=%KT&(Ok`u48o+B9fS zgy-alE|W1Mh}8?eZ5;`aht22JubeoDTC3WlI3(h;>1EP%(`cXJ*QP-ig<>NlJ@lfx z1t*$yXb$9g+?E5$Pi9ATEHLP44BkjC;l1bqTk5Qla9(dS=-5E^eBvND4|ZV=!?*oC zjB(8rsmep9ip(O4yTy)tgyqbhQoVgUfxQRru#`#&$I z2jB1qx%`Nzw~=Q=+gZP`75>jY|1xsA;z#^;|BT))f(1Ogw6I!OKtX+hdyR1#sBO-Q6rCr2bjf(;-UqK3#t9*|)+~N^~t9Tswy`4hac) z@Ue?7y!^%<5OS-pZ`9Bfy_nENH;U%t<5QcciOVIlJ zu`tfVBKy&>!5=Qu+FAhMX`xG2w^@aWIl!zBai5X_Haaz{cShX9*jDY)iJds1kI;GL zf16J>KUfqv=6!Xy)mjj#?PZFQ1+Fp<_(JYb*kwpFn)(|@?~Q1YP;1%94;?8gNdi8( z9#u%|@!Qvj4S-cnXd2FNLWCqKPZ)v|prR4On8)Gyh0F4^%QM65T0ye_PA zLuTr?6}c#W(e7KBp*J(GMlPNZSjjmd>g-cE?_t+h%wWJYM2ay0pPx7e zr-rpKkCmHJ7Ei5meS3P9Re+uTMISpZOwFQB(V^kt4M1kG&w7<0gDx}J&#exiPjE%_ z5I1W1sQR1S>dU_Xw&*ZGmy3DijuN9f3$XH{1VV;xJJ`UWMW~PfjD^eA7>i1 z!mZhxUzn{e6Xe;tuo8BL3IoO8#!u7({q2O zu0oPN!3@c2M1tOsFNF&hy*;oO&10d=?zv1MHEj#2zKy)3I5w0K_P%2}U7Y=ytwC+~ zVMM7n?{pRc%Y0z+rPWAzrG)+>u3ag`-PS0#m*}}^VR)n_H%<3^wWdKl+1171t; z8GRJLp$KUAJUbK=s%QVuWhN92=I)omj)ajb`8RH zb=h~N%aLtJmY=c~lFR@a>pXJ_9ng;0^gIc{8gpdySmd5d0Kwerqt?b{bpeKVMLB$Y zHu5l_&TDwou-g5G2IPt=PS>8M&fY`cW(;El0Bx(uPL8`*P$u-wMq)z1V7A8fc3jcbI4R*8)5f3E)D9CuME)0-=@iZ{qZpo04NFnJDjecG}i#2Bn8y` zCvtl}*W?DQ|D7O8p5bPimj8FUNKAnV_7#Gpe>uMC^PCz7Ddm6lH9XOp+@2ACU+?dx zLvm~hY~m?{ISu<1z&R|27p)d@vqoGG zIup!cJYz1$|0EGICkiC`?ifq8GXQ9_zb*6oMK-Sio-7Q&w6Zj`pFqPoNQy_or}Cx7>LTH)ylgg^brdm(KM+ z8@8%t0ZJmFJ)9PT_H|k^-gvzTvWg0=JSqZSa)*d~FktEzG&46e1LvN~?;8L#xNRKD ze6v7XA@B^i!}f36lkBXz10L0Zqk3#O!t*@1exKLlgD(F(wf~=&cajK)wbwvl8Q|*` z=bc5mX@A&x+WyN?++H1Fr&0O^FB)#G+OFW*dP~%1G?2~WI=+a_rePrGN zEP0~|i4(9So_FOC;_D$mxZI%Wlshcty9^-w*U9oJ2EXcLhL>2i&y&P1979}$(gmNI z)!BnRI3OTBUtSDo6l4HCJPXsi-PFvB{o9`X_9WI%8?U1=EWma2#Q=rxJSvGBA*@sX zJQdEXhqxL~FrcB4#s?#_r)f8#N&gNhCfLCJt!S(9#9^E#DT?uwZ=PX@4tU=S(j=?0 z2ZnPy^|wNDNTE=EYM41vJmXuDpv>fOf4WBK;R@BMN_~jb4Wrp3c)PFY#d=#JqLo}U z$4JU9PsE3PW6kf1m39jar?km^%@?jpDwmO6qcupdDaK4$_=}eJ=%g?poqpv*)gopf|!}Z-;b4I?<^4Klv{H0MN!6 zH*IzY?q*0O&ejM5(+L?j1qUiXkK~j1eH%o-g^q)=J0lPf2IVaeYA~QZW(GiRAlN@p z`1QpAV4d@~9v%gpA@v1-aTcHmIt;)Q4Rt^88~O>L!MJWrO!y{k-ZU4!e+A!D zbb~e@b{FM!0)H#)F8uQiT0B<<{hjk*6lVs~;svDxYRz>Mu!4AL;%${(c_xnbPp;IF z*q7*ku*x*SgP`X*5a99s41Hn^AB$=|Gl=t#&pb1f2X=>k1}Qd${`n>tqQ)SKUi3Zm z(va}P4@#fSdA58La87CvRZ?D=S)xn2wW|l{vX06DG zL={O)!k2&&5zF3XvZ`B|L7lu26n6TS$e)ku zc$2daDJw*h_Bk+R znm`ug8B(Dqoyv%2WI~&5wBSak5GuQ)Q~TKsnS24zvZW?!th?IA%U;Fa=aj)qA1O#I zGjQrRhQ9iZORxT}lmFLP=5Lz%U){wk?Z1q72wS*=+Iu&8*E1Jxl?&gyf|rIr;5L>RU>!^8U+M0;)KMbn6DlHNS_r8dxs6{MnbFL~U3b z2EXF2A}EM4qJ=*Zm4$4r@dlL%wS!MUWey-(Hr-=mwlX`)$I z;Pv{;!gjqiGusU}HR?(@E9iaEEv6P#3nIv#wlE7+sL6Xe-1`;jygUst6=+qsi2ANE zjFEz3)THyZG{pVQ5kGJi+3HF{J$W%-`Fr^>sApS`X#p4`ak+SqXz>YZzev&B+9Q4@ z8ZFX@Mu58f9m-jiw`x`cwuKyUKx){t2Yg#D<|n*-e?}S8t*~XF1C4r zD2vSzGf<*IO_GEu$9*Z^$1U%d>e7l$Fh&?VryY#mcqUH@*iDi0okAHf{L_tu%GVm! zS3j6vq!@xBH^F5TFB8BofZ63-aK)PRq9{aen*Uom))j0f2A==!xBS;t zXaC}w{(rpmwb{#Vc;Luc(YV&#aOTak?uPmKYb5ixLX%k(he9jtFUn(^T!aga=#0x+ z!-Ap9wS)B(R7ptu66!hy4v`(2YakTTD$!`_d}i`;e!DgGJ~T?I9!x#jKN3%Yf)aOq^YDVNU_jQ|iCkj0&9^`J2U35-{e20rLk->!&SRm=8}I0 zQx4j!)yC?AwPXHy6dF9YLC=&3Hf`JFyMtUcL?hFG$f1d^HL0Kr>*BKT+bK@L0(~2VVqsk)2To+POD{O5F|yMp=PKTrjhDrN^ZuIL-eR zol!`SlX^Z32C)b$auBR$W|wsUxRpN5vbSfTIeI63=0nkcLz04nIS;rEl`D_hdA5E? zBl|{=d>r(*!W`ILA8+IA+gJC^SFj}yn& z`Et=X`$K^|(mL=CWvPl{CH#D*3AHlvMTxSMku-SF*(qW>)YMLJ2zP1HGZb0kY^wj_ z;2%_cj5m_O)h$#m!GRv?o&svB1~r!*j4EWmaj-VzR`id2u_J{FQ`PNSBZrbzgFX*~ z?JlRZT{6X5bS%%=Z0`aEB>75CdiA(_jQdv&oMlD3C9T`@1T?wb20Ijc2-RKAk;era z<0!*bpQ$k!2eJ+r!flRUxZPX&sAIboPVWn()mBZVZeg{__vv+U$&}9|3YY6-ekX^# zBi5~Ixs(ev;!KN#e7n?ya0iCN!A|IyCa8k0xPg*iM)CKk*C>Mr7nl7W+joEMa-EEosP$UX`8de09)hp^%+;85Pg=C@NT3cBqc!Q=^geq=R0E{^m!66t{ptw z0Rf;K#0agouUw~D%Qs0pDrWFhO0B9vF6z=XyJn4i#L2X{^2KB7CweJ4t zC~>uUrgb1Wu`Fe(@1dIC?4WMoBI#jrZhx_&`0B;XL*-rsY|bh_|Z!~7oetUZSz=5e%K zapF~PeDsRj#%$IApZm{;gIL{-VA@sV_=hRlgK&6EUy$pN@b!J~n}+U^DpUO#4h=SO z_~Hqb{BMh%u^5%Av6_8#B87=`iETl?qAn4Pj94%xNkOep(f@eRq0y^;3;#(0IQShy3NFVb9PEis8XuI&@>P zHdk6l$s@ONdnr#+H4y*2ifko~dFV`+Xo$kIKt(+|Egve$C_)HSR(UsR5OTHSWFKC8 zQGB~)>I5gVpHT095XL-36}*t-h0nQ8C*E?pLxc_EGwiIA$D~xNO~u{{SXlUddy26r z5a!w)h+81GRw-;w_O}H>cIa~3!dSKm|K-DIb2-}G);jML`fd)6@b%ZZAwm?YcL#S} zFR*Z3RSc0#>DCT|I3j@|RQeWC7jca#HR0+G&dx=&YdKX7@{+$Vq^1n+ht_W|Yz0*; zZrmanY~3PJY8#Z+<=qJ2R@l?2G3ok(ob6$H@ad8#3aLJL)WM-tXK~<4EHIA0TgRc+ zakrr;w}g6eaWNh9M)2dikoI+H>4$EEexOd1_r5Q+7Bo;kOs}e39Zz$EKM5=Pv}v(E zp!}&la>oh5aB8cbzQ8ILniX=y_A>jviGrRAO%JH8g({V)M(spjF>+(5`qO^QF%h*R zUyMSa!ue}ZX5ZJ3R|LKN6$$#Ar2Iw-g@aJ!|5QBvHwJvD+8vlKyTT4}Ip~}Z5cdD? zn6As!WP?)+euT(^= z0o4ZMp_=KSslbAzt5D7V86d0$lJ@g!X4DM;ZTUbRI2{9eWwqdY9$Vv-xCpqQKCKHv z+jdz|kdt2v6Jgmz6b)L05F{_=!M{BYAqWi1pRWR@`N9B|mNT!m=jl`j9k&P4;`ca# zB5pv%p2qz=Y%Q3&F