From d31f91fb65460c336e1ee5c6bb23a2e5825b7849 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 2 Sep 2023 21:39:24 +1000 Subject: [PATCH 1/3] Adds a variety of new tesla coils with unique properties and upgrades --- code/modules/power/tesla/coil.dm | 142 ++++++++++++++++-- .../modules/power/tesla/telsa_construction.dm | 27 ++++ icons/obj/tesla_engine/tesla_coil.dmi | Bin 10661 -> 45801 bytes 3 files changed, 160 insertions(+), 9 deletions(-) diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 18530e22eef..28694b3b0f0 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -3,6 +3,7 @@ desc = "For the union!" icon = 'icons/obj/tesla_engine/tesla_coil.dmi' icon_state = "coil0" + var/icontype = "coil" anchored = FALSE density = TRUE @@ -51,9 +52,9 @@ /obj/machinery/power/tesla_coil/update_icon() if(panel_open) - icon_state = "coil_open[anchored]" + icon_state = "[icontype]_open[anchored]" else - icon_state = "coil[anchored]" + icon_state = "[icontype][anchored]" /obj/machinery/power/tesla_coil/attackby(obj/item/W, mob/user, params) src.add_fingerprint(user) @@ -79,18 +80,19 @@ /obj/machinery/power/tesla_coil/tesla_act(var/power) if(anchored && !panel_open) being_shocked = TRUE - //don't lose arc power when it's not connected to anything - //please place tesla coils all around the station to maximize effectiveness - var/power_produced = powernet ? power / power_loss : power - add_avail(power_produced*input_power_multiplier) - flick("coilhit", src) - playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) - tesla_zap(src, 5, power_produced) + coil_act(power) //addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) spawn(10) reset_shocked() else ..() +/obj/machinery/power/tesla_coil/proc/coil_act(var/power) + var/power_produced = power / power_loss + add_avail(power_produced*input_power_multiplier) + flick("[icontype]hit", src) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) + tesla_zap(src, 5, power_produced) + /obj/machinery/power/tesla_coil/proc/zap() if((last_zap + zap_cooldown) > world.time || !powernet) return FALSE @@ -102,6 +104,128 @@ playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) tesla_zap(src, 10, power/(coeff/2)) +/obj/machinery/power/tesla_coil/relay + name = "tesla relay coil" + desc = "For the union!" + icon_state = "relay0" + icontype = "relay" + + circuit = /obj/item/weapon/circuitboard/tesla_coil + + power_loss = 1 + input_power_multiplier = 0 + + var/relay_efficiency = 0.85 + +/obj/machinery/power/tesla_coil/relay/RefreshParts() + ..() + var/relay_multiplier + for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + relay_multiplier += C.rating + relay_efficiency = initial(relay_efficiency) + (0.05 * relay_multiplier) + +/obj/machinery/power/tesla_coil/relay/coil_act(var/power) + var/power_relayed = power * relay_efficiency + flick("[icontype]hit", src) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) + tesla_zap(src, 5, power_relayed) + +/obj/machinery/power/tesla_coil/splitter + name = "tesla prism coil" + desc = "For the union!" + icon_state = "prism0" + icontype = "prism" + + circuit = /obj/item/weapon/circuitboard/tesla_coil + + var/split_count = 1 + +/obj/machinery/power/tesla_coil/splitter/RefreshParts() + ..() + split_count = 0 + for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + split_count += C.rating + +/obj/machinery/power/tesla_coil/splitter/coil_act(var/power) + var/power_per_bolt = power / (split_count + 1) + var/power_produced = power_per_bolt / power_loss + add_avail(power_produced*input_power_multiplier) + flick("[icontype]hit", src) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) + for(var/i = 0, i < split_count, i++) + tesla_zap(src, 5, power_per_bolt) + +/obj/machinery/power/tesla_coil/amplifier + name = "tesla amplifier coil" + desc = "For the union!" + icon_state = "amp0" + icontype = "amp" + + circuit = /obj/item/weapon/circuitboard/tesla_coil + + var/amp_eff = 2 + +/obj/machinery/power/tesla_coil/amplifier/RefreshParts() + ..() + var/amp_eff = 1 + for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + amp_eff += C.rating + +/obj/machinery/power/tesla_coil/amplifier/coil_act(var/power) + var/power_produced = power / power_loss + add_avail(power_produced*input_power_multiplier) + flick("[icontype]hit", src) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) + tesla_zap(src, 5, power_produced) + +/obj/machinery/power/tesla_coil/recaster + name = "tesla recaster coil" + desc = "For the union!" + icon_state = "recaster0" + icontype = "recaster" + + circuit = /obj/item/weapon/circuitboard/tesla_coil + + power_loss = 4 + var/zap_range = 6 + +/obj/machinery/power/tesla_coil/recaster/RefreshParts() + ..() + var/zap_range = 5 + for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + zap_range += C.rating + +/obj/machinery/power/tesla_coil/recaster/coil_act(var/power) + var/power_produced = power / power_loss + add_avail(power_produced*input_power_multiplier) + flick("[icontype]hit", src) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = zap_range) + tesla_zap(src, zap_range, power_produced) + +/obj/machinery/power/tesla_coil/limiter + name = "tesla limiter coil" + desc = "For the union!" + icon_state = "limiter0" + icontype = "limiter" + + circuit = /obj/item/weapon/circuitboard/tesla_coil + + var/zap_range = 4 + +/obj/machinery/power/tesla_coil/limiter/RefreshParts() + ..() + var/zap_range = 5 + for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + zap_range -= C.rating + zap_range = min(1, zap_range) + +/obj/machinery/power/tesla_coil/limiter/coil_act(var/power) + var/power_produced = power / power_loss + add_avail(power_produced*input_power_multiplier) + flick("[icontype]hit", src) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = zap_range) + tesla_zap(src, zap_range, power_produced) + /obj/machinery/power/grounding_rod name = "grounding rod" desc = "Keep an area from being fried from Edison's Bane." diff --git a/code/modules/power/tesla/telsa_construction.dm b/code/modules/power/tesla/telsa_construction.dm index 96729101a3c..ce9d990d9a4 100644 --- a/code/modules/power/tesla/telsa_construction.dm +++ b/code/modules/power/tesla/telsa_construction.dm @@ -24,8 +24,35 @@ build_path = /obj/machinery/power/grounding_rod board_type = new /datum/frame/frame_types/machine matter = list(MAT_STEEL = 50, MAT_GLASS = 50) + origin_tech = list(TECH_MAGNET = 1, TECH_POWER = 2) req_components = list() /datum/category_item/autolathe/engineering/grounding_rod name = "grounding rod electronics" path = /obj/item/weapon/circuitboard/grounding_rod + +// SPECIAL BOARDS BELOW + +/obj/item/weapon/circuitboard/tesla_coil/attackby(obj/item/I as obj, mob/user as mob) + if(I.is_multitool()) + var/result = tgui_input_list(user, "What do you want to reconfigure the board to?", "Multitool-Circuitboard interface", list("Standard", "Relay", "Prism", "Amplifier", "Recaster", "Limiter")) + switch(result) + if("Standard") + name = T_BOARD("tesla coil") + build_path = /obj/machinery/power/tesla_coil + if("Relay") + name = T_BOARD("tesla relay coil") + build_path = /obj/machinery/power/tesla_coil/relay + if("Prism") + name = T_BOARD("tesla prism coil") + build_path = /obj/machinery/power/tesla_coil/splitter + if("Amplifier") + name = T_BOARD("tesla amplifier coil") + build_path = /obj/machinery/power/tesla_coil/amplifier + if("Recaster") + name = T_BOARD("tesla recaster coil") + build_path = /obj/machinery/power/tesla_coil/recaster + if("Limiter") + name = T_BOARD("tesla limiter coil") + build_path = /obj/machinery/power/tesla_coil/limiter + return \ No newline at end of file diff --git a/icons/obj/tesla_engine/tesla_coil.dmi b/icons/obj/tesla_engine/tesla_coil.dmi index 96a6c636d8314bb8eddccdf1a63c7bb1552458e6..65bbb608f3a6d0a9bd837edf0152e306dbf3b64e 100644 GIT binary patch literal 45801 zcmd43WmFtr*XE5RKnMi)1osf!-QC??5*&iNyK8W_;O_43?!nz1x~KBL=b5>mk$0Yt zZ}(zBbyuyfK2`giy|3T336+->LxjhLhk$@Uln@tIgn)n~1b!gkV1QT9=t>)a4IDRR zbq8USpGNjSY#n~sSVKU#q?gA}oA(l;^Jm?Cr9HFwAh8(P{-~%Zioc>qsi#rhiMny?JIFk;2HmAs2VVU;VX|q~RuxS-nm3}Gc!?7U&bS{= zIRfDlu!egH6O+z`!^Ryl#P>?g+9dFE)$2upOE= zTbM{IVD9*Xqm*=lj)3)?Ah*p+8&si7?aguR00;;|2nk^UWta5R3|AL)m6gVe-?}py zw{hh{s(#2d)pW#RQ*ccYd6jVR@YG>FA#_cITg6Ny@Oe>TVNJPEv|AB)w0R^U;(5gS z@(VG6{7@2bM8-$wr0t6jVr7}12#t>l-*jCn!as`teyP~xaP)FKp8Gk0!fLtH1+HW` z0J)-eF@=w%(423>OImn{% z>&D`8hq{(XKl=3(%uU6?5xBdH-sAeotkf$dD=uzijl(-BH*Y+w?|ZFc5z|N0T8>@B zKhoE;WVMGsQCye5pF6us{QNyNnQ>zV9DEm%;N4=3iNRav>CVKDCefny)AWfVTwllg z3v0G58${{6sDJ?E`}gnF%Nv*?`A+V@$$BBPM*{~$&C4>WP`Og~#MVptm@~8E87am5o09Pt+d%m)>X|)`Or-nFYfeo^!;&c~Dnb+&7qjo2*6MVQVTr^B z1&Ka?(&x}$s*ZFoi%igVq*@SyjZNUKbzUNK`GzSqCBqq$6*nR-LEO?3mT@n7UD=Wl zq<@9?E?lmJkxh(>JzZ~Tm4wcqq8r(N7(IOPI(ntGC&)rH_CBWA=70#{6BjaFjFs+{=vuPpO8zwpgWdj#??p>8hHvogIUw6?%yAJ#H6TT>KIrAN?5CDgM+jGX@rx zqPBK`tQn!AoU9v6GS&M(tGzZq`vYnr$C|w}6VlQ~Z+|e6c7YpT;m{vzk7iB9o12@7 zID&V)of;1LF!-pbaEfYEj%I0BT0HS)8!wiYUt$N(DQG)LFM14UluCx;(y_@(JP~`W z*}@&?O+AI`IkvZh@#Ebdj(l?%cY$QF-<` z2H2D`on)~7?1|u_ySYE%iV4QYQDf1kcdmG{KU0w{^6%>tj*E}~z+EJt0G?Z=y}m!1 z&FbWKddmqQWyIpCx2+!CBW7TT#phv^kU00vbG_LI;A!SP2-u<;!o z9F&B_@a<`ekftUQ=W$~Q%cb&%hnGe;~}}IXT@KCSxix6%ZtXOrrxK$ZnW3_;y(Iw_w@9Hj+MN9_bC5( zIP)#?W4%J3b3o-x_St+EQ8k0kl(|v!!A8m&{Z-V}$$}R0J0uPcjv`9%mIME8W`Js* zS>Gkf*z0C%riD|}rQ4U?{d+@x@Qv%1Zwj_iL`3U;VJX4@B?KweBNF7`qW8sy=i#O| zG8PhnzaN7wu@k_~QdJos*N()T3D|sNqrzH&0kOA&5lmw>Z5cQ7hZdiTMx9 znptD6u(?d%X@lO&A0*$E#pJQf!UT|&e@W}eQzrP>N_v@?a7;5WP}WnP$t>YnEphck z%g<6$m&nOTLGcrmn+{}Ii(w^(tOC<%;O@bNl?q5S4<)TU_VkoS`s$I@@^DQ(V%ZXt zk;#2Vznp@a+7I;hjEt2Qw)#z8QBks!xBZ8;)0SOp3@L%A5i_e632-k6i>CHZTyHm? zbT$=ZS1v}*n-8AZL+R6FuQNE+7Vtt;JFclHQlY2^;=v%JnJoA85 zkS7cyuCI5bB=x{!ttu`FHR1z>RPsdgLnutUFl$E9>O8a7nr_HyTjHV|QyLoP%Jr(r zyO&{h2fu7V-Y;2xKBC+_DKI~%Sa*+>+VCWALCz((~fmMga;cZiX__MEYrJh_w&PtO+dkZ-!U{3a&v z(U@^rZ8ijf^=f%}+1SiXNnXBde_ZQV_H-R5>yih@gz8&jB8CU&t{>W?h=_>gdg`DU zR!a3sIyM6N8a|RJ32$DkW_#v<*=ARxfzYZuA!fLUed{;g$f$uC=zihvEYi(Km>Vs& zq*{&p842Jk5!2I1T0_GYLJ3|6&NgZmNBG#nsO!9)A1j@maDjx`p_eGtUPzjeU60jj zv#pESs(aw0n2+opO{j^~eq4ncVT(ekiu`6@Pal0^fXhz(^{XvA?sD_buSR9G+Mi&l zLO&Rrn#4}^cb)TePVL%O9bX{LuI&nzFT^FKhDpk(B`$IBzN)@m6u3Vy8}1M<-``;V zj$XLzd8}q;YejxX#0-O80TYv+?ze9JUf-0e}a&)!$v!j&4bs;;4n`)R>eRAuvGW!VKJC7immnkyYHc;SAU->e7 zpS66ykVdiH+3Sfh?{U{J_uzPv)V+1{lCv;X9G)**G`OzdCG;&$*CyN8o5OjH;bNI> z1Sxi&1tWTJ9P|cDNn=R`{&LaL51hx%^;Z-4()uVlULC1U0h*Y$z9d&NJXy zlGMCeeb;Q)FuczC1dFM`JNL~Tw%G|iJ?(Sz^R}79nLVbklQf#%21a>^jasDNB6G|! z>@v1{hfg+5E%Yxopy1)}71gwQ6BN`g6=V=AJ6gP&faQgZtXyU|#ELQ77LVWF9-cG9 zx8&*rx6jao^?Flf(~u3s0|r)gtri|n?VEy0*8t`^Y)n z=mc59=H|H3yl&4I*0qp1o3#sPx_bgKsXeam2LTV3#F{dPx4(> zmld|moB5$^v-kWbc0sokSrzg6fu z9Eb6lTO9$_#K*Cx?;ghoh_jAo_&~)zLP_IwuM<+!jh{?#>NaoZc-MT7SaGEFf4tvj zq-f|?qvd*ZwCl3sJm0hHBuFX_KH;+sP=3*9ZhmXpYbfO>wLhP=p&!B?-2M&q37-a( zNT=B5#zAB{1`04GxwPv(Kb#H|wPyGVxiC|>)B9zMqT4>MEpd({?>O9D+_^Oyoq{h_RLCSs zB4j1bf=2iDa``eh^j3hJg%yIs7+U*B#Qt;JIEdlb$qj4m4E7mYm%dmNA|ZX|Ny_k@ zYZ~P1Gi1f&>M2{7yy(^!`TdW6T_TMeexTWl*muA2@bGL~K9f?}v2oFK+;4ckha{d0 zK`}QJi~1u_&*~>4_l@iV7T?Q^pRcAe%||e&$J(aHw3Y;pxVLCy;2krBqvKsYGgm6- zINMcwW1{-~X|2U9Idn>1Sap`FOC&{wcXMB`64{O!ceG_?w3Jmu2! zy?a7r^RKLi>nkZbAg&5V?OZ99nyVr|FUQt?KMGwwLFU0{d+#oF<@zJD`N`es?I(tA zC0@I3ux@4Vp80-!5y63x1%|tG^}@-$qPC)BZHB+3*&tBF?VRWph376$4=sjg86RU2 zDCrE#Mv8_@76=xwdpBN$NjB@BdGjiF z^v~f_zo)-DjHU8SJ$IWd>X($6ZublhPvA;7TJyw`9`e``(;;9Fg@2%9 zi<`~lq2N1CF_S<49mn|$yTNjq`84H*ZfiJNmC1At`}rPEvhfzdgO?!h{8^7yT2>Ub zvEtgLjS{`86QPu8LJV|c$|Y#ls3Zmxu!+*YJXxLM~~BhvC>Bz&A0wJL)hE;?4OR0V2`rtP|) zJ^u=`Cx!zT=(=UgCCi3*Tz&dY!N64r<8S`3NIy(`YP=pRAwS`B=L0j;zeY+SNB`l4 zfd1zTow(o7sFa$#f?9wCUIeIbz2Mji3UJPy~sNj$Y^X4gp~q;v+n~ z;K<)Qhvd3QpHELLw7S7B|{1w>iB?w=hrJ9h2jqc%tp z;q7nK8~rQw7LNwAZoD{*0r*ChRy>Q6$k=So`0Z#294%U|%QM2=W zeq97+lLm^Wn0g*Ra`x3(UXaigoTltoy1`C3@=XZ*UWi_Q$D$3GR{oiFPS~(-%Ms}5 zjiH&bZ;2%QW1f7SyTC!h8(O3Ee3uZk$&ts$@TjP$hhyuDhSlQjFFW*mu*$w;Xh=;x}_t+Bi z`WJ)v^t34TSEOvk?n9e}OnH!QW%6XEYnsCJC>2J;`0!tB2 z4R^LJF26pmk0lT?-+AD?3a@>PJ4hvrb-9wFCkY~Yr^S^MXem9y`-wd}KiEi@#SRQ` z{{H>xQnr%Dz7kJLNC=Uj4NR6Qj#&7pZ0&kWfFLJpI)i9r%l;V<2zG3@&S<>HHMys! zIn7Ugb0~L2H`=?+SiG_*6O`w-wZ#n;Q_jq^Fzp;+{Yr`-p5$^OfrC>NYDegNGo8!w5YjkesKfnMLiIyA0oF_sRC2Nj zA&!t?k47R{T3k{hR-hc8kkI$~R0KX}`OtVb&px|JE{VV&NOWg5P*-GRz0IF;d{K(QKng5{_uJ|s#@_xz{w5q z1)Jh4cq%v=v3eIW|cA<0f!03g`X2xs= zea`%wWPzW5F#O8xTn$X^xJ~Y1w#JyO~`u^JI}y(w9wEWowD5J zz1B8c!-I>rDj~n3<~*JvsqRNUS9U>4)Uf+cbXG)DtYAxNYeNCLRM-e3AV*xZYsKK_ z6dtU81-G0Jgnq0^(>{H8qB+;Ulv4xy5mwpH6R8*w(YVm8znzaXt}26pDxx7BBH$h> z!RWaTX9lRofaJFvK_4g_F1S9^c)lgZ*iJgVb+Uo3Q}alR@`=NUgOSu2$tL<>$H&{Q zk7=(K+prA4UI9YEG#PFP@x7L;AGsQHvKTC+dz&6fpC{TfmYUeLX|bZ|w8z8~!^)50 zHas8p=$y}ta}>Kf#CaCN!nUygmYq&-5ncmjQh4N~&U@kmt_~8CJ!cLzuA{6$UlU$) zr!Qas^xsgAF3+ru>1M>X^ag(ukP-~oTJ%o4@!5r80i-es{O_N}{8MnVw)8OQl_TXo zJ;`WoSzO9f5N4h|d)s(?2+hwYZE-mA8{F9+CrNzt(0$iUtO4Z2hSiULCcF?@9YRO3 zAz3^xx(()k7_bdB-maX#Gi!pb7u|907GKn>^jYDGN!f#Z?vnLv-^bHYhZ1n!5?>pk zPM;XraiRAOQrLo?{E_MKM{IB2ixX25d{+2fb-py+%uux%roZ4FjCt~D@jW|mro+~a z&x7jM*9~#Wjq`lsrapxW%pcI`Ri}Ht z-0$2s6<1XJxu;SBo!ctnNq2nCp#*;-Ge2^GL4axZ&StQUVMQkjmz0pmshW}m9;M~- zWvW`Go5O>_$97wmv)&CiOz!*79=nkMlnY6={SSi;hqTkU;J9q5WtH;&LxRl?%5wR`|ePes5 z{6x-|u(xRn4bS~yE1v?{MY{^m+sUb+vwPK2wWhZAO~S{meS?o!PrWI*+dug6#?B7| zki}{<38yk-*mUCug0wK(ysMEdu8yW%Ef%pA;it{8?nhwPy z5T7;?*Qw}pV;DdfsOrTA!%FHPA%WPQRB5br7L{dhb2nvkHpKk-zH{>4g_R5UG- zGeZMz0O4{IjZcR$oEIxLIdb1CIhnZ#{_QX1iHld76n`p`GF8|XT5V*5W{%BwXX)N? zencrV;h4E}gxvec4|+)H_?Y?kq!{&(g^7uoAGt}{q$n|1kd^e-Z+1>7(DxWbAmP5>( zFoq6}7#cPu5%!)~Sd>IXS(DqeR^$7q@RDpKWCjhzzO+aa9t1EXvcRXKi{Rqo9&!2X z`4|kco>#Lf+RqoLBYhE8d>-2{NPcH#(xr5zq=-W$A*`lWJ-Z2B5#qi3Fhlmag)BOi6ao==UNJWQdIzV@+?a|$!$p~ZL9wt)Xn%4(;zJyWH(u$Tw zLdA~hLc0jsqrM!#24y&X`_8eVO#kydi(+qo|GCyFL{$(E}QmUYzqbeNu_Cv4m_y++2qpPU||&f=b#Q z;{1L!rJ3 z)VLw-+qs^8+T?H`5p%m8A|-2vjoKeiLjh*?i|aQ)sz%`O{+^bJxVkrX%^jU1MAxN1 z6`z(SWo=Chx-;_op#LtR!KQb$J!~6#`j4f;a-^<|{VW?hg}&*ZJX#2L}gA+S);j zJ3`xeQjN^CbD}7lC>@gi4Qk#&eFF{xrICA??q>GAeOv>TS~dd6+`GHG>AA1|Or(?# z#&x(nBtg;o`{0c`?b_bJ#S=odMl9&(tVw93u|8}g<24pG9TR#{$U5EHXJyV+`f?5><5&t; zmQCk2M^?bVfzU|;^6C;f1U)Gc2_bF}J|_=VwVQ>3gwg{O&WS2J_v)5hcq!WGpb*Cwb<r0;`Mr1U&*shR9O%2@5B z4D~!($-kV^MhetDDypjbwe!`UgS2y+7+Bi2yh6cIJ=42?5*Kw1?vCrFoA)@S3z?Zy zDTzr)sx{Aw`)6-f=R``&$}Z_7-^PojnoVyoA;2QEMaJHoyHKK);1zGnsy~gi{3-6_ zxISe+jziQpz=&^XFw`0i)qm1K$cM?DKiAj&aazk*I*W_pkRNT`^vK&3gry@sG!FVt zhfIFYUpUCQT4q~m6kD!r$Doolv!>yZmkvji#|jCo;5L^*z+Cqi`f7q`Q(5 zMT}+{oGzXM$p;h5UTI}a<1=QU>(l@v;jj;|EFsJ&Vn_B8G`Bn@t#E0?d%wU*9Q z;o;#aDJi?G8*2cTf!z+W_=j)IcW46zl{9v-@y-4>K){H}$T+hJNn^7y=;1dhHS))( z@$$)#!TGyGH)*^c*iV9-96`CJmI|8C_$4k-3;Z`>8D(9l(T_U{c-EsI?yHHcCn^E+ zgMMLMFLk`R@^w~KA-Ap%ELer7JpEw8Ti7cPjg~VxZ{t$1_#PHHP%*o6bO;kzVM>pC zN8`57Li^_Lx}I@?PiV8s1Td4XQx@xv=RZX+Esmr5mrrl<7T@PY6pLne&M7-{FeNJ4 z=8&$`=g&Y)&HzHK(v1soJUKnS+dEw{A7#>XvNj zcv$mun^=5lO;SYeLtQ$zx---YyivkUM9d7ZMsNbe(hc7~;T2y|U%oLCRhv-*VxXL%rZ%K%lsPTrwLqq)Na|suIYai<=35m$beO;8W zwDE~OQJ#)m{nclmDa^wm4+22a0=WDN!xds612`%cOWMspDi{JO`}rzEL@ zCB1nspue=`K9%SZMJm6(wB$3pM<@~6x@_>{Vc)|K0>!)!j-{GJ>?&ImuRFIWDeeIp zsnhePntcs8;NOS`NzmB-^Tzo92lCJ*X0V*f04fkmRxZ{wLo->9USgA1$eTav`TRJ$cSP3C+dNYy7(-oGD6nEujERMfYTsu z*JL({qWPsD>+1iCHV9lS2>2}B1OF4+xV{4ylEi<)1Q+W3g!L)N2Is`{_zZK(&SMvCSc zEu8u;JeWo6?`X1p#Nw58TF`HCJP9Qg$kKJLdECEovAa@|D=a8P#fujg5*kh7{IVAg zZ^;`=UM@P?WHDG}GFoULx0y7|hrizSOTp-H)rN9?hUxOjBLe>lD@eCc|YqCB%qk@j{oBTM!cE7?sKl zc|->vub4Z1Cl-mQrf#s_7@XCcySmJ^U`Y8hbeQ?c548Yr5?m1M>{m-oi{K28oCl9D z2rpJpa`qr0l%tfiJkv+YASx#i7_8Ou$*VV^3m}8Ez;S(i;5P^{JhvR>->x^~^MKf$ z7tZ}g4ROYp?dRvGYQ*nL1l%0yG4k3zf0gOhC^mi$SyP`JbDwQypTB!V`}h(8Q^ZLp zkY~^p1r^4Efz5f*zTnh4pUN z!=~rx3b?Fj*)`$G`?&keD9cpNi|81RriH6Ea?2l;GaL)CoL! zVf2mMKRRVPtw98=~;SQj5i=KJ`dvQ7vBbtLO`AHO+i2d6RG^1Hz8jY?CoaENK{E-z28Rj+Ft+QY1=JtKIz|O6_-)xEH96h zD^-$^v-*P7@r$~alZT42(NX*Q`)B9o?8X^4NfgX%%8bTWCWkj`<0XFbn)d%*1*9k- z&ZpbO)c*XDR&U@P>~uPwHYaZ0KQ_oOdgww9|6N2aq@-KWkUlGt%dGe85qRdU2#RZW{w)jdxw!-$|(@vCumJLf5ewz(&3x zZe;XDMFrNy-4Lq1#wIT(CkSZ+j4G24qvS!YRG~N0pZo(L*w~*x!7?yRvwzN5OXMp%A?C}>}T zSLZ>mdGQ%S_V$diu?pgGeLw;f8_R$pfb8`RoaBaM*S%hR?d3(j)^zY9pzt zp<%beP51=9{>K{uM7gJwlzKz;J=-iql2zFq(z{?mzJNjCa)TXyK;#qy38~EIJc@O?f-#3y!AQWsb7N;*0^jxwxf?l*{7xH?@CpUTt&gy3UF=4>HhorRI0>%~{s zY$a=S`y_in-EWp#$j76Q;>_rtbhUOvQY493yO~CTz>K~SY_9FzeB3kg_x#j}^+qs; zdq@xf`$|rUHw$KY>lEvtq^3`an>sSQbZKM%GXCnh?QG}Ae{;(4);Y8B7r`ijL9gSe1{MbFD9tetW2t1W*V z%|!N1<;hMc>i{ZNvd`>Mc5V$q<7&VA1!lfj@zK-$NM}W>-5eqaO38m zz_QhP__tz!8)B(>hh{SwKw*gZaY~ASLfsquwYk4+w>OLVf29HE?**h}Cnl^8&BkzN zZO_CJ-$W;fSZO~ckM{3;#4^IyKPbu-{(r!LicV>{dLu%exHwy`49kt0$ncltr4G8# z11!2sHI0d+ebf8nh`BGkmK-Li#=#4}byR0(&fq-|X}~nfL~O->-NV=XKlSm)fFb~- z0x8rkRq|R`o(Mwz2MRzNJ;6MD@OUya3!@_fbY$UVTAfRmHJX<~oUF-kLiN98FaQYj zs>WdTN1Z8oP_JsuHb>=N+zjdaYMys4roPv`?o~c8KCcY^U+BQS>TdSp;2$T-kZ8HB z*BjWJ5D;|lI2K`Ov4^d2Nl%N>Ab`SGP55Vv#$y1v**k)W&gLtC+1`xMom%HN;RJEE z&HqsWz{?{5KBFmicsy@^xJFe#Z#FuXQ6^}(IcwCjU5s#du^ZNEYN!2eVUEpqUnoTu zYQzg^BPeL=1Qq+_Jl>Yuw`U)>)E_W-w!^3AIdP3Ky4+~PXB{1Wd`xYf#khCziK5SpQU7FKMbQ5+y6^q=Hjb0 ztFW0tBwlZQFy8i~IGiR)7TSa5P*sW=-09jg|C3T=3Dj?bg30QI(noqbcWy3LM^XX@ zHY;_ZnK;b}$ppF2-#K)n(OS##)5?8kW>5`{BG>GHf{z=nSJO*UfaZXS1qL$Dvc|A!lZIo`JC0aQ_2!}zq9oP~lcUqTia7Z(~~sqtH- zX!hr&JdxP%uk6~6J_7y|McG?@>xzE;YSf;jWMp|!hkp(T*kj}X?`H6)rNL{v(?HwRNgDVWpLmQHT~XJ-S1)rX>QtJ^`ID<*0x3wa=Y_ zz%t?TvX0S{BUAt|0R>%MSyxw%#Kb)S6$CAw80`Ia4rpup2Hw0}eZ!QF>iUBHFBBl) zbwd*TFGiqiTMTPBdBj%>kOr{LHCLNe@Vd1~<>Wn>YtGKYKlN|s8AEUk>uq|M zwFBPVbvED3*5^CO+{ya;)Or2H=hyAs2;pTqtz>q4{^GtJ%r$Yu*IL=hG+bHAB=)o> zyxmXKR5e(r<f-ox{3Ff3Gk_*IWJ@HzrOIbMT$SwPU@-y0x^Pk1~nM?^m-cDm6`Ww?_z!Z z$3~#tQHb+msj0u=1GQg34Jy>rc1RZtJQjw%_*?>Ven zhR6ELQ>lDx4x@!Hkqu)qiw%M7d%!IiGHmC69_37!bwHHCJBDVaIU8 z>;8Lt#NV!oyDx+>1i#RJ780)^LQEVX6?vu5g%KkHX5KGd_FYv*cn|7$RL#eVWx=0_ zsXR?Ds-$E)8THMcs7fLdNOMa|mwwogf`3c>fWzz*sCrDG{`oV(ulFgijprJ59~Xh) zmvpsDd!}rncUqC*(E3>yB`s}!Qxjaq1b=>J`Yi&j5_}){$=9G`f;M0d(+kiv;6KVq zyKpX7=Y#-J=S>3V_)k>*KU+0e4{CT`kImsxrpcYUUso({eiI`g%n48R?wxS+@ov!Y zUiI}?B)mzj@3H&mfU6cGtT$INs=Gnad6JnH*ktBT&TQ8ao_5RhefLm8_F#I^>MytGaVgK`|zZXhSE#yDvS@eg3jBLk& zmC18OM61!p==uH&mpk9}(pz7D@~#ehgb6i{^C@?-X&eRv8Og3M zcVC8tq9aOi>3?x8dNkit7tIP78WIl=55LP)av$x~nV_8fiNkpdg#g3T?*5SD4HnSm z_Mp_6oo(JrqMF2w{8n45RgQy~&z_m}pY{IF82`V~`&Wa^;~_Q5S+8$y-X`7d?ht)^ z6mddnse|B5-f=Zt6kJ~l+@F2be>h(k$oTAP?{yOMKl&rc&4Nn*`*ry*G)cJE5PkSy zYok30+qlLZdo84*tfG<;XH!34Yqg5m@#chhvS^jx=EvBW4EOH#%XaIRrcuda2`QPp zh6a=@sYp^PcDGwN>&99Yik-*n##Ou@mW)|W5zR6%2^krH`~Rkr2l`v0qPB9x;t9~- zu;Wx;=59=nU8QLykP&~Y^$I-DXaN*Evth;sIP~zuL=SqjO>Yn( zjimSMr;mW~2w=_}s#?8;GJJ}gQ{q`2&7>4XXeIL`VTR%jCLEb`7YL~t88QxaR|#21 z(gCgi8f~kCk0E|g3g{)}jV3hyw^Xs zJD*7^u;uoGM<j z9k+^2wc7b2GwJ$QZCn-so|K^>uCsJIMrAN_fp}nf3=I1dzQNfFmgT(r*FXlk-D=O5 znf^3I(%z;_OWqsqE)*6SrI@>0Tm@BP-sK6u8;h8 zQTpG+cVTUY%<;5F;CA8vYepcl-e@Z*fPD8EuPo*cI$fkMCJ5~J+xDnt<9s-8dZf&I8O?x^D z9{WEvEO536i1LJIx<*QY^>x)+jj4_9&)GS^Z-bA=;aTS=3*Y>^4<3Zda}=;7 zGGwD$^In5AN!vI0he7t|O-38FJZe1MHAE>c+}8IOeEbFmQcrpc333~+rLIqjjDho- zgA`d61)GGJ;<|>T+##KN@6R@{Xl(Tgf%YFpCME^S`Lo+if#Er|yOgdf*NU)1SIW`1z&#$iQ1f0Ck6s zIpN#sHd}t^vjp_@3wJ|S93M5HZ0$00=yisiR{xN0280z9|Z zBQ{+U4<^@c?Q6X5>=p|w@d+b`33Jv>+PbvQMh9qBD?PAFjW#$&xq_Oy4eoEI$ut`YK``QK528TTgmt^@Yp@4Wa| z2Z0xGv6?GtUWGvok!y8N6t=T%#>4P{zaJ))v5V8d@CBg@P%ZU50|luJk;!VTI~`G( zE}C)Pm5JdKjLw^oiO0=_@!6IJo;qg^P;ArEuE-5{K&8`4l9lXuMB^DHM3t?rd9B&6 zst}?cwZ5TjfP3LSsbSb&>R(lQ#M)s5Q@WTl{x8xw_#Sioj5VYSKZG03)T($J32S5Y zsRimXr^R6m4&hndpu)oFK9cy~W&mdnXmxcqWQpvS>T1ZMQGqyA=h|NTmGP%2 zBmo~d7Q=wlrPw?d`SM8pX(g%Q7vJFc3on1URwuC>d4onagW6@3cd;^_6K1O+&Hs08 zd~^^TdEs_HaB`<#yIj3&8In8X&FB_;^(gv$yA#^{^8#>ksu?YJk>In{(_(ctv&gj~ zQdYsv)X;oKACD4U@VbF$1n+45{<>T;{av9%xftDQO!WAjo)^jc1dx5fJBakkC;&Wo;>}7{aQE&8J(OO3Xqq?w1|JxwGsx-mHkpNlLioK- zm?{CzrUOJr{WaWMfQJ$2(VvO9VUX3qzA)J8;2OxFToCk=FAre~odhcQJjvJK zp6kD?a-VxYHKcW10=PF>9q%FJA6Su(58 zQQWnU_G8ApE~3>5L94+Mx3I~ZjNyS!f2^3{_KYpT`UvOIgV*brFI^5~h7i}}m^ip2 zlH>DcqMo6Uq-2e>UcsFW*vskwKb9q{B`Y2jRNA%f?&!7kzkAGy*lT^{27|%(|LEGs zOx+>2cs^x&|8bpj__Y6z-<=x$wc3Fol5Q=CG^DM~;XMXM0XE{76JK?}cevMAByU%y z&o!y*^dvIouFsk$7A>O9fH&GV?Qn)Wm>_JYvh^QcfV6?_8>*10?@ztHhHG?kga298 z*7@I5ZLu}32Scq}HR(cj#+D-gY~d1RMu!(?Wo?G{Itj65r(R2zG7e{M&qTifx43|S zKq&*ZHyo6j&b_ns=j1LdJ{B#LBOk|%}$ z0yS-3Q!RUTE@cFJ6fx9sF$p|V1l}h-M`ckIEdKs!yDtW&pa1yDe}wyx0O_k*fH zDvtF>!_7-xW=xXcN14CTk&yQ zc0XOI4t~ssGq;E)gq!-}Re+F|7h3Z-9Miy0WKl_Z>;#(q(-vkoO0hU90b#rO=*+3? z9XQ;W59^gihx+?l zmz_4~0Zp8RB@u9lJD(^E=1o(6!jD>93BZ^h&Wq-r(9?5CBoNi>@)^I-FWHFB>+dfA zS%`|2HC81^(x_@hPR;qL8ScY}P-eEQX4BA35=9%E-)6J>a+J?Mkb?K6iT4O>fJNYg zZe=(K`Z+Eprq7iRliqMtl6YQ0`{(?-ni`nwaIxiOWa-8Q$RG8Zb(&uY?Kg@y85ESH zt*oFW1HVMvp!>_|vqlN~s6K*hoepIvsfzMptxvl>9dE6u6s z2 zD6rz~Fj#H4!_#7DB6A0vbo1nKx^jmg6imxsu;M33bTDNwixcc!G>Y`N>AwI^Nf!4J zCVy^_s#8l+<4AYnX^{)~XA_UDc!5$yKxfU8Ds5_69?uLAVSr_Gt)GahR#sfm#7JpRVfzGw8Ky2e-8AsG{Dsb6GUaq-B1y|LC`8{>mzFajkB{3tLj_# zJq^++-3$!i2w-t(&*|vfDrLk<}C83a&IwQ9%M$@2u zdpGu3d1h_UHYeeUy9LeY{}sW(MWm%i{5C-&$%zB~@9J7ZT)>JFQ!`4&_JW zVIGd34_6^_9aFQ2IN{FDa2*Wyuy=PnnK__$1H7BWsJJ-PQ6WZ9&k&lG4DT)B5w2GK z_fy+PQZ9Y3oU=UZ8n;a&*WGZw@e5*J^z<-+N&WR{-=yE(g*^1GOigBkCn;_!2%2AV z#eUL?U{z%6AUwVNZ2u$4>E;jOvRJR9o5$YS=sxodjN};fGI@pEMt7^9g7G&;a=GM< zf)M+cAZ@YGu=0lSlip?j^GnHl_9l-;v1uA#AbT6;|SG;m&q;F$+E+kqTWG{0#3AKN#N1IqdV~OUM{+%tSsex@j!sG zOB@4mA5b=l9Jp1G#mfJMvTtWt#OU5)5Oc0Xgq;8JI1ae#n)xuDD0cD(pQh2A!HzIs6av@S`yPWB zT!<)AeWRNQW0kPI zPmtBkQPPaVY~SJ-(2!jlFo%wUIk4r@OB*+>yK*e#+LYzH$x3czb*pqh09=yp*KH;^ z)gOauw4t2UDO0=WP;{F*gK_X#&epK%rv$y30P({+v|y_WTM%N#2q*Fp?#&Ex%kkxo zM9Z#e?j`S&Dt36}W644XJ^>%0|DZz~?fL4e)b z-BmN5F74K%Xu{_J2ReC%|{10&sv zz!?q(UK;7iILzf#g;xTfkIXpRw%{HS=UmdE8d_Hgz1O-P72>Z0?6`9J*7TCkFRLRk zH0yfTz?=s1f!xUd3=DH;nJcy9Wz%Zt;^^MSA^4DJxoTNJe(k_#i$wiA?{QAOS^Ox^ zP03#RsMxJee9*0u(EN3G?B7m33M3tqMTKu5$e!lak(vBsA`3e=mp|oYqpua!)DR6v z-|ufne*ObxG+$Aks*5#kMn%&=-kXMXJck)-n;BfqS1z+o(ab*cQHU*iDSGUm)S+Vh z8KrZ-bc2~UZ4Z8(vK%>mD00q0o-hzCBqp&KGrHD1?1O%f^1E@1rzByT;$c63OTLup zbUBSge1l~+ey`G#=LFXVJXg~-VkA;LJo^Bu2?{#&CdqE7`Nx-ENdoF@=u^^BZMgJp z?sm|4;KIMDEN&lp4+fJV7i+wKDkO_DeU8<$xy~cP$%z+EM^!x|<9Uv!96k0OnU3tE zknFe_))&O?V}91@X$2Mz`N{->Y1{6l$-6hN&Hd0pe9Ks+M9vLkP^PN9g$03(!jVY9 zd|Rl0mD*mu+oPY|k+?+Sq2AxZyM!~(bndoERq^G_UsudoI2YM|XXNt=?@-wd#wWn4 zC1U^KUCMx0I9c?9WxPVi9+1D%`udcC0o#N`URxygp2us{0cO&gKSHp>2%S)i>Zerg z>>iQD#<6ht8q670;41F12Guo@)Lr)=>ron$qnDJG-2&Nsyi%g|M&pO`H;@N(i%Nx0 z<96kuTkRLrmH0SO%8B`&e6Ppp*VO%)e(v$il$pG|r7|^Ub!%;jh;+ZAClaDjyY{K~ zcHicLz>=utfD4tc`LES=9k;wd`)juJAvtAbbVQW(gggPbGK+ZuBz$7draeg$6Do`T z7!1Qd4G&jAP*6K0b-%UgR89&PTp$)Jonkz^s7Kq(qmWA6sJ5-8q04h5iTXthqN^4_ z3JdhUxd?!p3@GrhL8qqp3=JuUvqjriA}NP&UtQ*P#XobEc=YxbV>G*ytTf4}CYHMcGKYs^6$81#|rQ2}k)dOr94-62@ILGRvGQneg?dmC`N|8n_)y7SzS zBa~1aU%hX+99}6=w#0AN8! z!7L~+70q8;JWdNue>@C<^z!X!wO9zUCUj$MmMT_A(4M~7vLen@w+c~ z-r807Dc%7JO`#sd=PW;3f=eS_o}f2@)_3@R#P?->kRQ=&=mpimV;pqh8Up4c)XWge zy#WnonTX*xs_$t|iiQk6PBPK!$tENw`f5SDLfwJ=d&l)IIvNNK{kzAsm*ZuoOj~mD z$v!+#_5R=(`C{7!L2VNgDI+6l$sdXIFB%s)k)-5gWiipiqi1IBa*Gw%KO4qBcV{5W zuF6)ZLGHBw@?1w}efem1Yzz&Jh48s;(eEft+0VC;=1*Qk+B$qJtzZ-RkWDYT>5Q@6 z_WirEgTQM=0UH$EPGCR-b`5`5Ei(=0cMkMro4Xz#Qe)8h3;$<}ey@s( zCx7Y(N%}@PH5BQ{;P(fwS_t7c)-g-Qe@S|HAazG#(b9?|HoP>0K|?Xgc}OC=-}diI z69)G5^Z;KwF+E*DCq?RUOz8Hx-!t9H5y%B*{bOZ2C05YHUO62%Kkavrs9x4>{{`7o zV`A_M9L!%jF}gvHW7mwFcAx8jSqaT+e)n(@E)zk2Mwv2*7>*>;Pctx|OG#vq@9f&z zf1Pv?jrI{i94BB}c^6ZlL?jg`twj-1z`$CLxRX*6rYx zC_fE&G8;Zgopm_B`|QtEp~$$ECmP}UoAcY;-dd@i$yzs#An$EjIRm3rk*)#(5mETG zy#k|*|J(*kvnb7ic(=5J1EybFo`vTZhs7I8tXMTn(ku-_!^h7P4J~;L6enuyx6*k+ zch3FHEiBZpGY@DMunNFsckZ2QD#67RY8>ai&ffj} z(j+i@hyQIF?n#>R`${g+a_IKX5V+zrJ9@PSMSm{~z3C_^2@464UTR-4{`mE=M>7Km z*Wu>AGB^J)X>VtEy|cZ+!b=ugH1Bv;&d*2rgq@L2Yh*9mX?5f6;d4#RSz1^##!~On zIvwXHoT5K6#a)#;&$-ga1O6KF_5)L(tL`uq;@ODpb;$O9=9HgZTN|1&(mORXb8^yC zGkopD44#x5zG`X$3r?h&nK9a|N-UQ&yXu4trQrr(cA(jK#>UCT`px=vN#ktTppI&w zF^Amc^586v$;L){N6sI&CPj@=27T>g%H#QcT~#ImrsPL}SZ^@O5puRgpOgQ5RQP>} z=o45?pw3QK=Ya9+r#1IfLkxEC!4a|0=x_^8*kHtHfIhtRwY^~N6VJg%8y!zPAHIkv zxkJ1zb7+rqJfx_GSl5A0oj$$Yi`s!Zw3krhMpka_&|Z}T+0ysI;*VS8-)*V#PBl{C z5)^OD*_f;*nUX@=3XZVb4H{Zxpv&o88}CNjJE~1P9OUCkBb3#WnWFt-A72h$Y1m1k zgi5)zV1928ye%H3l!7_D7tQm_a)(|a^l`{*Y5fLe7j@OZ>8j>h z)J9ZA0d$7mytM~U!bA*AnA*hCb8;xw(TPI!+J}FL9@0pwX_=d|k&A6Z>@WeYxw7=2ffd&NT~p8*1gAIL5`6hHK+%C`?vg8K zNP*hP{E&)DSKjqZ-(u^!=~p+H>w9{lSOq?7ZZ{C_>0zKr?uM!Pyn8-_1rk>T?zA__ zeS$9Ji@sQbMxe1VvkgULQ(t6z^z;u`mInk|CB(QIrG@;83xBUvCNjgHEDarq~inr-@DO;*j1lA$=`FHny zRMBh%?6+P_YaPrkfbL)-32|@Prl_}9>bV#{qzr3nwRfhuME>o}yGpM<>g$snBO^}K z*w|S8D%~tfti3EB{>z^>^wB+>Mq-gcfxN7&RyN787M#R+lfH0e(q>3>vGDrjujc}n z81LE+`Hl)(El-gD)F0a#5^!!>biktk zfFCR=Cg>szzJ&t0Uv??1}~up1osgy^C9%w$lxK{XJwJuxe6=2Sn(2yZJ*o^ zL_?7MkRbOVD&GSSr<{)7=c0U?FleZ|vcL6P)azUNboQG0?3%efFoRWbChdL^9S#TT zyPiThBgSio^%&OG3Y*7`+(gtpTfO6FQy!mKcz>TakK6Oxejx*cZ!(1pH|2jS@!`q_ z4sz)&&e~^p#qp5+EipMMDKn%AzbCeQ*fs?89k;{^)QwSO82(c`iYdyB%D$H<9WCFu zMuzL-gQed9;1ULS+Vd zg|zkm_z2}PM#rQ1K>s$49oOV`zD55@X}wT+>#+py)y*PePyab1D{E{e%YO4#xlG54osG|6!)9TI0 zd1Cx@eg5jEa?SmoRdefe9It5Ia$xp^L;g~4f!!VKqJl>-q-gtMZ9cn zryk=mX{f%oww$&*eJYUxi|@MDC(!_0DcsL<4poJpSSAj$NMzOD`&=n5^h zEeff_&_k~SU32qH2#Ht7NSrKl-N^n+G{VBE5NBvKBC4{Y+5u^h5EZ=A^;)Pf27wb| zLVdlUq!L8oK{H?F0lWx@ue0+c{U7L1>5iu<=TKs{f9+dSR7gz6CleK`4JmUEo5%2^ zvGU{7AsV07GqzE6P5kD3(!@R|yyI$5V^&UcSuG`=Y;Z=Xb8e=}*H8}=N!o{SZLCrs z(6I_9)5^$e=`Aa|xowGZi0~Ig*|sv4`p>oc5-dC2CoRZ1p9UGq&$sD@NN)RT`|K74 zi2FduO@Md3!{%_?B6#&giVZG#aLO8!DFN2+nqG4ow|q3WB@Zg%E(IUMPGq`-F-or36g{WM)EGot8Xbwh>UIc{(-IItDH6c~Kao&fXe5eNE#0 z6lBkSV7%Y>>0`;;S;0i$w0cDsiTWzgL`GU>k@bRj>J9U*kE}Zba)o%d;n`VtL+K1 z&)$8@WILBVA_d^~QUYswGeqk5bjUe4DQFNbl4^Jjd_(5FL=Flrh^65H7bkF@56e9z z@jFz+^b6j>y?408>rvTt_dx#&4EQ-gy3Baqr#c_*~3^ zKP#_uPR!&s11IO>vSfAlN$+jh2WkuG$8P=BC|+k|=KY6q;hhfaT03GGC0|;qfo}{M ze+o6^*HC?V&IO^F-Zhvo96^Sz1H?Jm=SH>=QCt;?-u}gPwaZpbKVQMa{KpL8OJ&`< zf>UmMz_jXuYGI@~h+11;f923gl|AR7`v8pfodII?=6FR}$S**ZMOeXDDbivID5!Wk>Uw1%Qiu82KOacU_IFic>FkiH}%5_F@?Ul(|%Hg zH@3p+xVyZhfqfgxnsJxRL>gFWdW{_`uOQb;`>CQat1X|xy2tZ=uAw997d`)i>x}9T zNOrm2>A{e7n}JlO5QD8&qMh-(w&5^z|esB&e#q zOIB79c4~Ns<(yqhr-K>bzE}){p2t|-SQDcLh!?lq#us|RX?=gjh{dP8jPBI}EO7k> z=;sNC2rCWCre%{$Yt6D1(ch83o9Ym%u^ukN#gMdLlI$3AwhB3HjpstJ(b`&&gv?SfW&c}mqI zanzq-&s!n#kYIjW%C+5s9VGQp3WC+n5c8RmTJPe-x3Bx6S7+bC7xX`8b$m4Z(xcVo z6&Y%-hI#(tMPC7jbl6YCGG$H!)nAeEU(18jcGHvVuFDf_qH+Yi+x6YH@h8N6N))cU zjo}#qN-)j&)E>kCg?#=`ezH*PWlpx=1Nm)Hu1mn0R+&G7iCD4b&+1)}z(l9xlhg9v zs4^8-eE)VP9)DcEZ(!o*TfMjC3HkO05iJsjTw@Mv_e3{*-?TV^Rgpr_Nv!U&JyMrE zex8+?n>&-+LjJhEI{0mbJDwFwpo?r_PqV-GR$wQu)WaVNC4Y*QeIfOS_|5e-WOGL; zs9b6U{BY4p`6^JnSpf>~>He2*tKF#O zA6UwYibA5J(VwKDV^eeX@1B2lx_>GCYSjzYY4()nSmrg%)}}R<^q`tl%)Y=)w{Y z?Z0YxIc|Rrop}~p7yEB0uIY!X(b?eOf=gci>xYj~PAI2$*Um21xVYfBk1IOo-m!sv zeoEj;rcFNjb%TaQu@wDP)JgqHN$J+L=(o8a)J|tRFjxoF(+*bz5ZwUIBF?sqTVoTR zmnpWyTz;CWDnm3J9M2f+T;@-Q0%fr&htWI<4NN>oPrSqAF1heZ!_92yJ3Me!*AJ$t zp*QJyd0lIAIMFpVD89-cr3%MM!X|~`iy!zd94QC2^BPAt(!tU_0avq;_^>r^5lITY zx5$RKzuom<45L4suYx^of+?I2tB4+M72cM9yzAl0z}O4?^j{wb(UAWw1};kNXud&Xl(XGHz{Ap|D6;(=QG2YC zU=3eU8Lw#=qf5(NF&@!Yb}e&%Cn^mRN6vPDU;NgTDS3Q$wr32l75k6Z;R<+Q-lCDG;`j`<%*9c=Jg4LD=qYL-Ee#istT z^J0`sXo8MsV7~+snmenOt$x7Ed>_8(lrXo0_3LpqtuHh;-7gZ0a`2G4rQNT`_F&=c zdK3IQbr6)VsG@=xS1p+f?zS2E`P5U9Pq)4vFVV_GoDL97Vl$T|o$hH5=`|T~g4dEf zrHMSNhZmxp|4N(C=rU-9dUA3?B5G|kb`$aLz?5!tYpY?L1r4FR+zyi>L&16zPW*oT z+L;KU=5oRRx;<|t@@qDp%=KNVzb(u}ktUr3R(RAeS=F% zI@*SDu-QlIy>N8M6^j-U+1e@wpyv2?eGIv`Q+BTs5-WWip^|LH7o(@g2nW!8<5A%p z&Q=rV>+4Vw?f^_2F&9B@S8gN7h?=$s_c)y6=tpe)l0Z&?e&4B=Ssks=Vp5AopEAc4 zJL^7fSm5!uQjPiAe|36#s&RZ58VR;Lcm!$}#US0?*VhjuEJR=qS{yk4n7=ujtkgek zxO8do(HwZ2EA&QUfRMpLVd;59OmZCjwie!Q{2J%7hNHDSlc%TJl@Xil^B?2I3N9@# zfAQ6V%?b*>NZ8jIfK{lSy#Py5adQLxk}Y4fmp|{u22oG%Is7_>uvYl|zBI0mtZYw# z<_Dj^k!9dhAXJ`{@GBJ6%!vp`@AH8$ITkjy6K5ZXX|@7Q*}}JR^wM};2h`CuI+R5< zHE9(Ue+r!9_A)v+eo4SI9e!Yb3swohSEi8_@Ze2R4gGN?_q?RN{mpwOa{r5i z6~)-_!wxRX)o0{+*-sM<#HkZG=y;y@yyp9QKhGQ+%%s{$Tv(*^zJQjVmk7@BWAt@L z6Q!C5x)X7Rs&#a9^n6t8+qYfTucfO;8Cmg6y>TK0Nie0=e@K#5VaX~eJPnw|#b4uf zX+Z`$p2(rJ8mw=+H#U#yJFAqoI zp%@zW-0eLXVq?8h5Pl7DDvamC8~p!3;$3lxoQzkr0s<&)CZjdYhF_iT z<0AT)A}~joIXK>ZP~_mre8OO7@at41Q)*rU7AHPQ37qD?PSB@Qi~%HJP~dKE_FJcG z=XmM!wJFnLIWV%im~&PMYXDp}P7UM4*@~wi_iF$d-ZKnmS&u$S2V=oy{{FNlMD{;_Suu=6;-h3{VDL&pmej3_!5zd-I#i zQ3i3^XiCurZTI>#W}AbT^jv6Qf%KZ{9PnB!ug}jl)dMkgk~3|_Y;GrgBA3f zi%~Gya$k`owXS<0vtPZVGXNTc-e@%~*jH^)Q#)GEvZTE=SsQvb@PiMXn=IDc&ksdB ze_*%zaa=%?2Y0$@z`uawBz*2PnXkEGr+evJ{QPq+EmoG+JnE$kg`!}=$T56_wHwBo zU2QQhDhDP~gv8lTGo#C^E3Ixyy-$44D_ieQ(g}^-9j-eN;vvla+6?DdhW!2c7i?VH)Hm!7$1mXSO!HLf-Hxa*TRxeAJ}omXvAl3$M$>)K|$i+{bJpxe=6mAn34lw- zR+%miR$o~WD#Y`_AYk@Qr&6-OzjdA)sVGYdb`HK zh~J~=ac#Pjo4j3;Al+JX2pl=p00_g_*E?qLGKlH^LrD5z^}-O}kP7or{L(Q?-PiKY z*x%P%Gj4x0S))=Ae{S=tPX;5w)9DO&kgbi9cH(AAt1muhro!>`E`jE~v%&g@y*psZ z^CMS0s-Y}kFyYll{njfg>m?teJ`S->SM4n~*FNoIY_9g7b3u$IT%THaskcJxni`F; z$;ioT46FD=$r?AaD$8L{$e%NKt*!~5?Pe<}v5ICpQ0!tu{E_5oCP;$6)THfN8+}WN zChv?qNg5|o^%c_lr=+QI0mk>p0CQ4#l>wD0>7GCY<*)+37d;(PMP8YNyR{pa>P{aF_wxRJRs(P_L}hiGr`6nAS1#)Wd!0`As2uJ#p@%WFO>RK)?4 zv?vADj(?N&sx&k60#B0#7ubtqOK^<$4}1>S2@&l9Kstkw0uaw|d>dfG$!QX||Eukv zn6gMUjFN2ZFV0%68aKjREUZO2cs`?MeS1+wkd}LiQn_T@xBiZa*JD=b#>(pV>2;&q zl5E6fZVU^%{^7At;?Sz3@Xs{c;w{yFQ&8R}VT~j)eqvxS*xGD8{mn+9y$29?_zA5e z9og~zVPrjb$0g}C{K`#!LH^%v28re6)ZV>=g5Nxew9r>FJMtJ&m{ftS32w_Y6>`2S3oGp?_R z_Mm@gLTG@~ZYX2?+;X3n+Cqgxx={1@*K2CGBQw^l4+q&e6#3&MVC9>QCc8$Adv&t^ zETG&#!Oe{gwsc2?ik*^>wZQv;CX?K(kli0MEuhfY*#V9RjeF3$|KX)>aFLp^dH`!#R`b_nzOKVSPxSM%ng5mn&6?DFT7S3Y1-Q0!MUgw*x*$RIT zjd*eAb?gwt##0=vnV6FjB2Uo2{<8n%XrSZOe;TxxSS)m8&Pv-RU?Y{DhL;_d-B({Q z^ODBBs#9s6?zXdHDh_RhUN)?r`+#iIZ(lq7Lr3vT5S~5=!Da~8WlQd)GaImoQE@>n z|Bn%fR*WgsBIgDyQopx+K$#$!G#Z@*T(eMJa0bT`;Ug;GBPQWgnY6Px&1e`9F|Dq% zfn{tVi7%T!06C#5fu-#leBD!uqv9xQ4UnK$@NB(c#w|07dcd#oifwJ>d1~1bg@4MP z4f}fHbHP@zK%+(%h?Rgyn&RUp&7N7qQ#V256+H=OjQHPt{0RSN?YUP229Ga~IVjyf zRv}epRGssvl0ZlRw88h1D__gx6j9HJJLfD$2h45cywxwSSFiX!s+Tzuyio*sEqC|V zY5}e*{7f;_5#6ga{QRM24v5?65)|>l9wLqdKOZtS81DD6G^IgdCl%^KDrt6&O7_># z8uDM0KukOjfxaa;Ke^4-oH%rl*S#V`x#$`}V?MY3NUpCoLN z1gc5c#~FV3@EMngQq9^L^7vC@a(2WM^R0t6v=Buj2Lz{?!LsFMbnuVgmzLrY5yi4Z z2l#EHf;0Ap2F(_T!oPlQkE__kci!4@ZlK2FmB%sAKTG}|y@H95??Cy(H7F6o2FpUV z_xyjr$`as4nt~pgqd z))WVr@;mt<)-t%3Zm#=f^YYHE)8oa6#f7ug>(;NERt^__=olD(p4?$#L*_jtCt#(2 zl~=(N6g(O!{Hr!ghTy;x^EWjb_TLLuHbZbA+w#pF^Gj5|FDKOju*yX+dj(}vD=4Q; zZ=>DMk+t^_%A}!ZXfq2>X9)!FC6JNU8BVk1M1k2Rhe+$PTo#ax3uw1t|Jm>+lb%^_S z%W6({FTV5qXsZjq3PS>k(GbJ-Xm|QUtLi=erJ&pD{KLg=xA2_6=Y}6sQ@gln00Y`v zeCq{0xzIAtRdKvM&dVLjTf-33DYQx8) z#MA!S$<4zP-8TU99z`*58Z`#DMPH6>uU#L7RzI(#_gx=HHoDeC8cO3pf-gnu$NhZp zD}0ylJU7YoJ&o%^<8g|egk)uG|9(nxM#gXkcX1R|L-M~sVZkM{V^njQbFG4XzK>@n z8Z;DlTA^70r?6o0p?(TgYJ4^aVKe(sm!iz;_~u5Y4er=shB~S~(((ZY=W;fml`AD< zhG>O4cZCdH3|aCVWVjRXzwmD@t5E;-wRn34v^9Zq+2q88j2lu#n8|&|!p+Ra!ckL`@ZPU41n}^s$_)Jcu^&GCEH>mPf6o1eH_aUcc1OuwJ)yRp)^+9r#Hi;iS^ytGn$D|- z>df}>GT;kpYkAg-58LimH`1+x7;O2P1;!8%N;S`P;lz|gFwo9!#0?wMsa$F z&Go$ChrgypCy`(`O@(TxsrPOZ1Omadn z`~%X)XOiz?V^LyP=)X^ffPx8_PTGh<8pkU;Zf{1fhSwfAF*qAa8lz^%MX0^A`k`Ws zKMTfeF{MA(N+}NDWAWs_`=G-0kTN~|nDJNdJ1WA-2_C={ag@jwF7Di@6J=0&K__*Z z-eTPyrIa7khW$T?^K#(54Um?f#Z83$#ej?BXb?47TBr88`kJlYbqV?lNc;L;j`rBW zC5)dOGcEC`t{f~%92X63fE+mbXenX0GVP#-^tAk8{aVxn?~=y|*T_Rf{lAHrJo9X%fp;FMg8`J8e0)d(rzP;Zco zht7vCpRfALC5ozImpp1@(8|Nehz?zj9r9l-WUJrlG$YbFdenvWBvsPtI-vhu<23T- z+B?kUF903!K>tP1>%es~Y)t^drL)L}2clHBLswJv(sUI5kd()n1rI6gy;oaQ(MZm) zO{mg$ZD)T*8qO4L+mz!|s-*_nYk)s2jpn7#c3k%VCL_x#WGSnRq@<-4jQ@$6NJ>u~ zDMf$Nlegx~0V5y|xX@{!dG>4(gxdglyl@<%W$}3)tM-O0^lMFD!rjqfJ}xQ_*_!DF z>;1eRO8^-M2e!4U1gvF8`KttMt)ic^)rD?3;Pz+3J*rEa?hs9QJQA>dQC>BWTYmKm z{n~4-maB|!KshWyAOH?qh-B%gZJ3+?A#KZ(zYuQ6T1K49ystU>7iTsd~ z$5JR>jCD!y~#WYLEv{);N+Qyv0a2@}lA5im$QgL#}de{F}ra zL>?PL1NPDE>wM#DX^p)ysgVcMrN#9hZA(AgeH3KdLd=#jYT6umad@8cz}0f0$z%!t zUEv*kc;vYL{vlU3nUtTeVUkA`%M|@TNWD>%zBbJ34O@B@Zz=e4YK~n4!4`#EOUT~t zzhgw5t}fH%k-B7na1BNXjO4yp(T0&VmXH)Yg=hx4X+zEoA9!!r#iuO_bz+n1i2n=@>KzuM@cKAI3G-@eA75(``HR&a&(xSoxCUrT#wT^;jw z{DK4$6a;0>gB%@om_6w3gf|)@C?)^a;DxufwRLc>Vu_xb5j6X^F0bReC{@B^vRLC5 zZeup{`{xTAx8)8 zjm63NeQPV&fkr$y2W*z<(qfDj5*-yqLWoXOU41R85U*?Yg{pW{kq>OlDO&INzh>AD zaR14$zdv}*>M$kxf=2{La`Iy((FNkPtk_bTNhwpPO-Ar&(Cj3qkJFeBAXxtiQBPlQ zVU+AE=e{M&Zl}Ne;Nk~ASaX~~dn_Swu6g?fd8Ikj*-3#QH)I}}DLJ#KXidP}!rc7x zT-MmGyOMIx%wp&&7D{MBGH-(XYsB$!JWOhVu&^u41*bRnw>Ufw17;N1%phX=`5B0Q zeh1PD!MT6_9L3-%_WPOLbNwm-*c|VeA*-^A^0D8dewEk4r=RZ29wL;wl^h@ZlhpgD z^`ZD+;qYHY=fX+I_pa4H`eHkZai2`?nL1i-y#Pmlt0_l7OuXB{`t}JR%eV=T+$?#7 zJ^OcX0~&EskCR9G5)a$Ey+w?lz6G0d`i(A8Z)d0W^ixB^ndAo@>zu87&=5H|)<&)A zj~j~4GxSB3;rFf5i~sxx{y1(+$dRV(@YOG9wvG5jNs{|0Wp|@1@v4K@@dP{9@oHpt zX5f%cQWDSe%Hp@t(ci$PoJpSf)at{ZammR;O{%x_jX7R61S!aXmWznZ5wuAX-9s=~)B`#-K@>za zyUBoJS);=f1dW;$;_o@EZyDA%Qm0$88 z0ri=$iuIZN-f~^ih)%NffRe(0O4YTai(X$x$)o1C-hbSqv3BP^KmXFoGv4jE+ra zaq$Gm=`i)xi@{_lXe0h54*R=I4VIE;hD(+O<1!?Xl*-{@$yFsb94NJLE6KU-j07mDfg#o^JiT0;~0Kc#l+5HrSRf_6qpfo39&?r-cHV|tuJp=8T-l)Wts~M4!Ek>teynJi@uhwwS z-=yQ7LstTVDq2Aa2uZ_&0J5d5@8MNSYYb6k)*;^JGb2}L_wKhV$fYO(l--?N8dhEhmj2Tu#{h2z@Wt=JGNO+L zFJ~SYItx|-JKB^RI8Y7&mp!ePe5M!0e|G`MmnpY9sxR_|i9|jYfcR)OOFXtUX5${2 ziUBmxki{RqeByF5A9$s(?4K}{I=eqI>)?eX)z=_HWxjQf^>+dJZ|Hea9h>ENm#-(E zH<*?uJg2!>U5sjnO;6~WZOh~zduOUL{XX48CAq3TCFO}BdPlt6JxpHxtuee`%xTAn z^M?=H5>U5A=Bs;ldp-9^6Ja^-#GL7&eSPv^>&%fj6fbq7o{+tGJUMe>&ODip_RN%& z+PcBMnuDVT1wf1c(zdTxTT!o8A{JL@gtntt zw1FNr1HIsUtisBn&i1ZafcJWg{h$5icdrhA^BLb0m?Wktdh#ikMg#rX;poL$e6&1! zaO<9=@avhNU>dXY5s_i!QV1i4j=9C}grNSp#!Jz!E4Uf8ULKXN+gk>n+-`a|S@y9jXav>;Cz)u;ZG+?}9nkr!f`m1#!}AC3U1 zG)NH8oLB}-6TM3SWTpRy-o3{r!dK8wh4=z)7_3S z>AzUbWm^j>Q}cGMpLfb7Y^*JDsnew`EM6<;PPVZEpQV2@d7Pp=ZvAGLsV?yL=c8yW zgPtWAWinUR@Yt*0f6`N9N4JX2u6V?o4I};)*Z(FhixdDw&=LxB5Ac*=Jl)B9f#K=Q za2!9pj4+{_0%(2Y^&RXMvY+egqq8yB2eGlP9aX(ZNR>syO=BVJi5ilXtBINpA?iVX zJsq9@^7&^kyoHxLTC%$n6@-ExJ{gB+ZlT`1SNYG3OPJ zYLdYZ%e$S0nciN@ADQkQqb&u(WThu-ImIEufTb#7vF&{E+P zzcykNSavYOV@BN5binx_&YXA?NzR<4BaO|RT(W?KV3Yc@RZV%9k{$BAR@)y>bQfA; zFgP12Rv~`Z9;^C&acb6s{HLx$DYA0?PaA?b((=C~W~IrzTD7BaJfz_m>6pI2?--Ha z9oKD-jeCKcPuLZ=@5!(@7kmA-spLIVvIHkF5)oT!G;hZ>R>V74ga~Jz5^|Xtk0-B} z!wRjUs+jrfU8&|~QCk6uBEKK%n}St<>;eAWQOO>ib9Qa~WZsPo)ZDq+&Zw}kzI?Di zB&HS;FXFc78fxd(sPqkSH_4JUG(^dFfTrBvz8+8{rwkH0fFH@=b{}(Im;8V% zS=(z2$9Vhfk=fHdoQVH&5U6XD-F`mlQDkIlA?l{qtClMy%=DgXvV;UM@)O_3q3S-9 zQ#E3E`>4D}wim3pENmsj!i_gtl$2wOs`hb1;GozYqgml3g`HEAa`#*Lj#j4%FaKOu7-IVnlqxjI}CfwsI6B8MfT z@5J+8HIIJkFa0nQ@u^Cs(RANTZuJThJcL?^dSzo3AJe=KeB&vul7L=UQDLu19m5Wh zJN~@~eIZ6JxNRpo@f~_YMuvmbPMoZFM{yZk;wTczjl-yeK=W(}4BrR8)9eUU1}xrPL#yeN)XMxX*Al*a^ zOr_j`Tgs0i9wIfaZ&~CN)zu4I=BeFLPv>QSjTrBzI6)JhrMB4RG$qDd5>Jk4hAuk2 zTDYnKnRPt7Ez7+3@vJ?v{cdxmHi_AyRF3#~Zz5mfMh^EV_ zfp=r5r4g!4kT_=Lv^|P14L(SgW_Ip~`fI-(As*P=Sg(<@^+%6((hP1$;3_;D%f(2bTAbRi~;S9m;X|T`T_29C< z3n0JfDe-A;{>4qUJLo5zhvVi{SX><20Be8yXVz9ryVfrAR#3pC0$`!Jvx^H5s3Pg? zY-Urpd+t}`!TU7~iCy;;|kU_2ym3&u$J9Ob)QbN=)XBi_3@R2FAa>zL`fy zl49VdC9UkeyjIAYNXX1oa&Vw1VsX3avun+50+H=wwtTjH_ua*&gip4h$JLXwE@2se zNNVfcYy}1;ABjzg75u)Vvm!WrH5uY;`&v{!j4df922-~xDKwA)`bIqJc?K#W8+^hZ zWM}X=N37}xYjDzi5?r2GRa{vf1vTGoC@tL5NsBsS0@B!*J7du<#5~mX=p_6$i~cw+ zpiYorqRw6yJ7+A{ryU%q?_BH`?rX9OE;VPkW*?M(T^Bwufxd_2z43cKbvgJ0B3H;kEByX5j z{mHpRqq!YoNS#?_eP*@?E&@T@CQXw^fiCI*tpk;A(TvRhecP9KWV%F z7T0~*>CqWb$>V^M7Q=;m=5|7+cPlBmj--?tdk5aYAUXrPsRwnXa#V9pRx6F8<=yqDx=f|oTAQ~7 zy@*J}GW3Acs|WfflFAST0gsMCs=$4Q^NHIDyG{uq@#tD>{QIJDhFAM9l9H18w#$fX zZYqa_6}(Z3LeNktwB*LF_Z!|s7UU)PnnG%tu)CF)V^O5LxcEP0I~%eoQ;vK(HFIhd zA8cYb`>es5D*wx9ALjz82c~-)Sivv2T(85IEt<={`6E|!w#hw`SDqhynMuQ}tn48j zM%HiaJu+9O$Vw6?N(ZoH_ZtNXK{SV%-vE%cMp<x%c%0cVQyc*#OK&x?z+KozAx;Kl>}3*o=U*1 z;rx{VWw+%{LE$TEC8c8{@BK4f;cJ;(SmCC3q+u0^`4AEn;pMFhsYR{``+VP3x4fJA z9T^!}Jyh+zIxyXGk_-6AV(Ttjn*F$Vt%pcf6=H ztXh@S=8rVY7PkFZ_Ti65MTNQ;ha_iE>USx5d8WkY7CCq4=l-^KcJIpv@d%-sTaf?L z)mO(g8NF}QU?2zxNH{tr1f*efNtbj>iG+Y4H9{ClH%K=~mq<&4lr%_8x;GdNV|yRJ z-_P%Tf1h`M?T@qPd3JVo?)zNVeP37EwK*;J-#Y9ctL#1-BugN=+m8F)quZM7*R*b( zyehqJV`Fz1Gw8;u@2R)-&N%&e>sg?h<&NcazvQV}4t(KYXQJy)f|`ss)y=T15< zRMmYYqzmA8b_@Be(IDY2AtbYG)!ZW_!7_J1t%ObQ#fWVeOj$5D+goOaU(tkJDSH5rkUoqBVc%YnS120<%6G$7tD`)P zKKE+YSaoM5SNKG;L6o7IJfe|J=aa8syQls=B-vmJj_1!uYk;y*{4Bz79CDz+;Xp2p z3$u24SmzJ7V6?ZlPe@4_L;44?va#$Y@7)tmF{vWo6pvZE?aAfdr+D`P!3Z;Zt z;A6*B*eUl5LBY(?(aJo!u!Hd$FH%pWkY-FQ>-;mRR#Xnd7KS7SF!4oyHF%E-b9i`)Iijh9Pi6K(56ftrhwZ{N7eJo#CIDzZC&Ihzc` zIUv)$23nDs>gHL7MS83Q`%Lu$-dr-@nLkGKoS;agAhoBKavb?_wr()KzMzGZGuYpFS(r6kRLci4=~Z<^OW3pJHwqnZSSzi& zy(^}{f3au#yW_a$zHM^qbU`7tn+M)_ZeoF+S`uot==kchk(=9N=(Cc%MyEDrK-wIx)x_VO)QRe{^39zBcXK&_SNC2~G$jOboh!N~n9gWihWC^HefIS>_vUw4Ma0L674AMxy%JFe zV>QgB+pio|OG^?Fn9$onk*#IaSaVxxRlu=pqTa=k>r2uN=Zb!=M^gIbr-cr&NU6Oo&ivgu_n@V zAQZ@E{%6XRw?6kh(h23a6|hk*_@mfsdi!HwUXN|joP)>R#1mw9!cgHkQ{c-?}wlS#1!tE*9A+^-Z9AEF!pLLhSu4TWy*I(}v zhLba5Ns1>RAdtatEg&YgaXk-x+ogSvW!Yn=-@CAzBy3&|Ul1e3sE-q$mNt*Eeo}c~ zgAD8X@N!r%e(oa$Rc?r3h4rswPW2qKU=#XR)@ydIH~kq)=&Qk(?WnXa+oOhj-9&d_ z$=7HnL_96#W4Gh*)8^3c%YwWZY5FRZ{Eef&!82krSNI*-Yd&fJksK-ivZ{A|uAX^b z{A_$sLECke6DXMJYkK)~MnsngOd{z?KH#S}t4uAnOW@{u^6gZLU>+8=r34OhX^@f!- zIXOkgP5Nvg)~!J!#_QV={P^xvpzR2i4}0`NO+(ALzbxO?yQnku?jgP02jD z0blYnlq#}0@PyFErv7!p@IoGT3232mo4XOyV?|ad38=^Uh<0YENa&@ANQ1+~v(atd z)>d!qv4&7IkM-ELD-A92+4&+iEA$aPkl!&7B`7HN7wRe^e~lpAuWCbX?wSHFSA5dd zw`Iz+kIm3HTn5kge<&2_>jd16S(rR}mRDW<1<`q{ITyQ@u%CP2ql+F{d2ts=8Vs}y zw0eL1Xa*)F06L(BDO}t&4*tAhI}=4!2wq(bZ7sT3?DNCH(l|_=sL0F;zSw z)akh+SnYLlhU>Jof~7dyg!ltxbqezYoksRjHYTFSMJ2Ja<@(q?wJ07Q0x~jko&G!l zA6vM9^#v5nmB<_Z#dcBbF3RHNy@cm?{S!Ka#kNf{1_m$vFAnMT7dJLGUSza#aHK0Z z-;b3MiJ0H>>goGTzPl@_WM)P&t;NYA#z|XYU( z4kvw%ndRJENDnGQ)>M`EyEacPIt@7Q!7eo_W`Vbf-WrJ_=USnL6$#n@_F)-0RpX5K zX5NXt&-y$j3dX7#{4}dt0Lf)8FCWIRNK%_`g$p#~1rfnjUxJbG z8L2jr8qhVU9QVDD!Xr85M8QWyxf4YOt$|Vuuv$gMt{q45RqtFZ1!=z5eWa7%!NSHC z{j+9sH=&T|Q6=Gixlo4aCSTV|tcOp(PxP3^Rv3x2B0Z>kBGqi9ymWu}fSj;TX&s@A z5w5dm!V~i3Wy{kM?Xckc-Y8@%&~!T1{6t|u!F>QQE;S2~?pUGB@m~{L^>-6|Roxak zGecKUxDgo>Q`|7EUc}@cMBR#tqkCt&^qo&^Zc=e=SZ`=_lvP+MOfH}3R~KM`;=HarX?jM z1f*q^Ij`0>d05y=Y?>A$;|3ptCUl@N)$Eury=fX#gzZmWXjUCKm({Rxv3+HoHyiAK zAZ>fI*<80&#eR$^&lwrkYfelSBGB>5GqjD1EHW?8Te3ta>ziMq?_R1?=W2N+hv|(w z<+%>(QFc689Ew?zZO=J#a0x2`v{&KURh#Fl+~&llcpmQe_0e%rH(45hs%o~;R_ zVrw?r@lctM*FFXqn`N53FM$L2`eKi4uL(>DJoZQO#8KoCMn;!NaAG%@gpI+-X`V}wf@;=2 z4_f~10qsdoK7kD6bkIs3ca6mHe%slI!Cb$wu#gti1cwhfw$9WwR=hO2+d_zbDVua$ zY=-@e5vle?=45^o_1;zh5t@Aj|Qu}7Iv@&R2wZ1+nL)3!_Yth)# z(e_R}0``|1W>Fu(#if8CIS8YBR zg4@I}MdW4C@>>M^H?R>8f(rFHe{(6Y-Jx#!mp|+@G5j_T_(M1&f_|VwL3jdbvZW`H zHVTpNGcj$*4fHlRGj=3Z#9Y5KT;G^c|0=LWQGL58sZHv?F)`1-qihQtrq+Lk{J{>w zkJuhl|JokDt1?hhVsG1Uk0XzSc16k%vr768Bt8fFIVf5ajX5ZaEFdee7KF&Dqhu{~ zV1Neb(ym)NqR4%jy}vJ?C7eXaMl~u!%A`YdCSIA2+DhZsySf%G{j(%-C;O+xlp4_BKE?mqA9KHMAu&t%(Wk7i!GmQdGt>g_<)@NGtqrb&i2GxgcgCL8~8(V&MG|ky2&|F zlSV6Fu6T2I&B8@ER{B<#lAL|C*R|PNAOj$v0Z@f)(^B@$7}{HQRo4x)UA96(Wo(hQ`J|5|@zJgNqHc?4UlitENOU-5W`T z$*eBWIXhpsj`StST&=8?qa-B$h#rh`|A3naibno$zi4rMsanRvv9(Sg3nK8B=~m#t z$GVZ?^&xR-Z0F}hy+039V#V_eKcEG6w!XDmy_QQ2UeVh?I-I$oA?jqcCr^}7nK8}I zPZUB(>E*L@!;hydR||@ZQ#&obvTwN+ocv^GVU1;d`7-GW;B6|O zPD&;w0W0)^s1Odv!KFyO>q;9DPByr+Hu~!y5>?G{wwJ77pFSx7syl`u*8+Je^hpZ+PTELM82-r*xfr?kK&sbsJJpPF4WmydX?4VV`oiNLy1UR#!`o!tL4J~BdHTucpQ3}K&$z=}iM*omke85 zg_9-8%lfE$Jv@a7WY%>4`7qaoz6^l3+`hEW1!pE{akBA=fB>+we7a^Q5u_!ff9Tt5 z-%zOEgH{s1T|Wx~kyOne^i#9;y(J$S)7Yrtt1f^o+xW)M;9eAFRv-(V*i`6jxjmCn? zIZ3R)%+y@*l-s5f2Yy~IMgdq%f1ic6^uU4`a<~7>n$QA`Oy^JrHP&Yfv8SqM2$a>LCB@TttkwRo#Hzl86+_~0V&syZXC zH=l(|JmT&=Gu{8>by3NdwvjK5@{)wgt5df@<ikqcwCe z_eb{3j2&`tD>M%<6sSAMOv~^;xhvaP&(L?j&!#70J4o;>w6Bl(`***wcZ^Nz87El?|5m?{S4d?0;K+rVHpkJ>DBmo!5F(5T}v9hWD$ z3+aUdEL0ixz||H}a-0H)de6nPlR&e8Ntr{|)W_@^xxw>)@kNcyls#@ASFUJz{KwF>g;_ILL!fw10(A4Kr~lSkC$sKBn$jmBfZVjT!hGZZ#$Ou*y(ym)MJr$^W9W zKY6&>y6#5A*8&Ucv6iZWtbV%VyLW6nJTWq>K|u7#5~lZepvsQyK*5_yj&~f;zxD)E zktf?w#~1Lz(i-T2+mFz`BB2k5W)onr3X?GJ<6@%WVNNff+mWCw7~7O9+_}{26na>` zJoZ#DcYEa$qAV{@{Glz}V`C7IAX4l1ackJmd1O;y+j2P7Ff>LVC;T~5Mm~PA;W0Vc zx|35mI}=X*K&Ou!8i+*S16xwx_8JnU~BHjTNgVGIynp zQSvC$sSTM31v63nmSl)g3R5bSrBJMI;N5IPdhQ(^G4X2hyut@+vDSB%YT4QPr)Otl zCygc`AF>7(vL5X1I&K_wxiN_gf1OEo*&gf29SM>Q>5sCXURna&hHyGMLbAuIfqh|W zY=MkyhVGqP@v!#b>!ngbVF%$Vs3||SNn}hEGrI#_RL~7|1qhr{(^Vxysz64bSZ5ND z3)$o(&dA8<8yH~x!W0n!N=o_oIF#YxCIr%=&YM0lyyIG0w?_10@`atl)^C^iQgYub zSGwLPJ`t*v0Cd5m;|YQj^bA)85Xt`+3L(P z6&-Y|_4a(*;pFADFC%?ON@Xa8IQ8tU#7a!F^mEHfbwg2qmL%#O?#_!MmR$JPL z5dPo@;6R^j@D`R-M;LhvJvA;ztz9-FH(nuR>C+TsWogG`EzW)ev1bE325fDzS|2}x5>{_Hx|#~a4#mK&40GYAPsitwiqO7(_* z_98&BT(I`Ik-niN39Qc5@IpShxL;IJKi*y3ogDo=(V)P`V8@L`%YkIrw2SN!L{Rz zF~x7rs(m!-D73zRho>0KvK%n2dx928GWKxlm>zrQSZW53(OSW8H{mfbZ| zVq#LA(R0b0V;a|wJR#>@wLs4yWL3W|6KbHgZ}ZYiSY(7*1~{FTUD1q9E%6=x=<*V{ zQJ$hsN(gDHi951P@tnT#T{Uyw(Rw>q>G)&u64C9sQ>sy(R0%eR0nD3%r_&6zKE3xBX`AnU3V+y3h=ni zd}x6zgWM-(A}^qEhm}V|I>=j+v%kN=*C!*Uy`819LrqtATJ-LW$=Tw|8l5@C|6;Hf zw$^?6FN;yiQJA0MBMEpvoAO(FIk99_@dJ{@057t@6aavdh0(?+{Tdm`FX!ZF?{0*Z zX8isi1}i&2!Ut~kj~daGYiOBn5pm-ud zvS#@_1F-SrW%Hi>*@`zyG`1{wy+JjS4CUGl_4Q@da25bnZ;@g=ZnMs*cB#snfNa zh4TB1ni*CaF^UlX2Kjxw2}H#g%3wJG}s}LDhbii>Nd8w@-j^( zy&)yekD7!%e;aA(Oz!C$Wc!*$o1wT;!hj)6g#)732M3qGr>4~Pl9)MA`QsSv6Mr&n zH#~;l16>{)N_Ayrkx1lwE^cn1jbt=KkT6E6w__wtp1vo0=Ny)qnmRC7Wtt)G&4nc< zCPwk($#CkUOT=a)j2l}3U^Bxp1DQ1srZ_$|k{MS>Szw#hjD#bYAsCAxuvyR*f)Dcg zF|{g|iK!`ex}Za>OAO@h<{XRqApw@!t5?{7x)hz4CGZ29RHXun-6fjYYI=I)8Ukm8 zF%kcz%%pIN|3jI9{;^$-r>_dN+|BT|M>9M_u~gz|zzidf$rNhcC+_>P5^&O$X@I25 zntxqm!K1eKV=L7Z=OQTdT^DR{0KjJS34;YB zM8RJBs=duaRc~3(9XO<)-_%}xqPBoq!NU>QO-hB6J0b~hS>w5~jcan(Zj4(ENs1oU zE&8H+!fBTgm&KtU)u7y(;(lI}Di;;rt;qbGJ)SO!=Ch8jYXm3gPPMQZb^U!HqRO&%!tzWP-(_Tsr!+rb zWj(i9_c>vi|3MYgjroan|6nG;UsbFF@78P<*7FC^4Sr$ce~r=d^^~RCjUyBRVI> zR`SNj`YY$DT9B`Bh#n$waMyg419hhe5)*$pIdX)qjlfnOoR>_tt?rB=mVt(3tN6=} z94I_T$0$;cBo`l83^f>@#&3|fYAqL`o>gAV$b)mm%Fw4oinIihq*`(;Qm=0gHNsEj z@_vosqE;6WZ&^Xr9z{aJl-TLk+UT~0AUPt+GU^sITX9_-M?Vzl!=vTa!+3dXUh@hk zolr673VIq0B`e?u?xxgT6ch}Q0m%3=U}j4g4Ra4je(lL0Z&YET_We)sQ&5E`M;Ih;Z7_M|&M= z>E4=*-_@CVBy^f=)G-4n8K_N1%mj4f^1C&$cbrJUOA3q%@z15R=wuQ&DyL6G`yqP- za|$N%PRzoc*gy$b6b@>(wmJ+KZOBjf9F51NBtskGnUh}$1<1NYvSV^+ZrpR?mjDjx zvNWzcPIHp{YU^<6cqT-G4E&H6lmF>$5yE_$U*DnKxQ0*7W06V>vetu?k+|t4q7R^C zXl6Ek6V^*YNeiSCd0T zF52GvlV#?^L0rV}tql{jw?z?aG=dNHsQbGc49+Wuts#HePd)@-0ZZ>aS({DCn7Yr! zI-~uFXWfL%hW-v5ZC=i^kxX2$eWFW%-5JY!E0Cm+Fn?t3J@NOe7ICN2)?)mty@lZJ zVKj1FOTuayK=WUT8bY*`&hT@tRyH6IC`{_^1542P&%WM}=Hqx`_p+TB23K~o2cKZC zwMO(dKv!);TZqTk=D9mO8121_5>%j~QLx;DT)d(4zb}Sw6T}(cXk`$pq)g2oU8KTB zj%^nFBi2FHARAGVw`Km&Q}H53AIP?BDyg* zRFrwYZoeeI5X{1`cp_CpX?Q zn4IT1_VNe646nWTJNV+S%zOE$4=Yf1!PR;Z_)8)PFuh_U|(Z84r9b1XI@6 zZOo`})QrlcmNC|Y67{d;{#`F%YwrE7WenVj(PmP4f&xDYmULImC{ugnu#NKz;$_-W zaaTA7QoEH(>7x7ZH7y@}-=L?&ar2NwJ*6Nx^kpX+mWVAN9OuU2uxy!a;WPwTXZwy$ zK;KGN|A|?U*2OEgzo_sBBTrQ<`LClswCim;1A!4b6{NKV{&oRBM`#o@_Y(|O};si@eWhlo*P-rCyI0gP6>)4`*dz%3H_ zperw4>fm9!^=nhN;>yZTiEXcpI{car{c&UZEDa5NPMcTNRE<^jf$^YKl3fg6#Cfo= z>+-J0W!p^0Y^B+~I5fBLx6aN^xBr_Mg^ed&P|2U*>XiFe+)_kM;9P~<_T0$D!>||pK$*jKi$Oz+H-9W=Bm`Q#h(NNQvE=Z z`(qf`A~M(p@4_(w!&G!JF>pNa;F`@A>)t z{z4OaC$@LG?x9NIb zXH#4L{dT(3yOch?iM+S;>(^}-PC~Q6BSP$W@mR^jidgosSfN`zWxF8{8nEkjJQr>N zMQ*Df*1Vz}dF`h{d1Kt)rFey@>8!AHR*7!l5}B4pGOGh+B6=|UT|^x=e-?%Nd~VfXPL2t{$k@2Z0FyfZ zTmv4)IJLAi(l8lZs26VTwZYAWmNLxp;PrCw172cE%25|_(w9NY(z3G1tSnk?N~aPS zBp9x8?*uzz=-Fi~_YDnt&2m<)Y$1FY5r+Cy@t_x13ZT?@TMHt>@$|wHlGV`A7-)qA z!b!X33k#~MvNOvsPzxTLk}1+%Z+OKSG-g5+(=^Vck6z@g30h9k=x~O6QBD}MdsuQm{%L)6`~Rphg!gM-6|5&nzLbJA`;#PRWqhsVIy^T^ia?#i7Z zx2{!>>8$m2HKT{M7@(u+H>!%AW=r zA29c}MG(+CCEb#SOYGHE1D|*AJ!`Ae__}|Z@1E2EgXR{wKec{6qtgBQN-M?TuJwu3 z{5MxYNy!)FlzB^5KX&M4mUMf0VkV@;b8v9r&^-GktOG+xh}AUTdHpTOte=VDkcj4z zlsY)AgKi(nT?vz%SK;w;aP(T%70o!To~dCZf~c{zF@84@=I_2{V{08{@j%}0;S(SD z*S2r-L9$Hjy6oiM-rhyz9yD>%|IPGo@^$r4cvBr$14Kl^M~Rav0CCDHPEL5EGeZ7W zN1|eU8@v$t#;i~ERtm#>5WiTEaF!Dq*qSz78t_OCW>*45WnP*aP3ly_cji;Hl)uC-E#K$^I-C>}rx z7w=<*ftR*VdLYwH-Z3}jkJ)2(ZuB18h88xg!k%-|XQ!GPs=3By4{aYx(dA8~?eTx@Ony4K(cR?gFfO4cLOfMgUDt9%uzKi$J=qO=Eu$hAQiVJJBwl!&D6_f) z!jH(_(ZfPf0vH01m2S>z(2|sU>fNE#7}PE(s)@8c4<**Wek>fmLg|EK4MC!B>8qZ!#2#aFsjlVrx5dZe7acwzI{7h%M|)T4=r&Hy?^juZ^ev1u+d-JacRx& zlQQ7FsX}F1x?4}9%>7271S)btqcie^$2tQ@l|@6{tI?D-ko+ZceLkQiDmVfpb49sF z%}KkZ(OyQV4r&}tJs%n_oER)E8T}a>yE>{o2%SSIehqM-+1adA8gsUH7Xwrqd^4!} zBo>-UK!BVrcITsi<`YDt>WHMvA4E!C`AIe!M6MLW+n(C2ov#D}iA6`#cHg5JVa28c zI60fp!pTBEow%4~d`7O8RyNdWU-{4Wc(O62jg2<{*)YOBv2SNw1{!0nG{9UY9^L;L z;n$)Av2IXya=J<9yZ`LHPurQ0rv8eLBaNc^EkHUsMcd0T>Tyd0(slFjkm!>7(eqkQ zS2ACCDnpSeO#|Uy(YkxyE#VX&NQ&7)_nBpkj0fR<@z}}5yF|gbIYj45N%dp)pLMf_ z?!q!Vpz{!+$u~5VYv(V)Eq705SgD*>{~DD>M+VV5`v;UgR&Kbz??QJd;{jpf+@fCj zB>+v}axUsI1{nX4zG&RmBcTo{sJ?F9s*G~OBDX8a7cwLcyZ^;%)A0p%?Oimw1do-v6k&OG*ZU zd#erbUcY{Qs$^bmaFiD}J7*x|H0OL9U{Zm^Qz9y`tf{-28ct*5?1$=bCrjG6iClu8 z26)JKreJc@FyzRvo{{*3;qb6NEqJHh_2Tb8w2Fy2IgOTM7cko$O1F4LtO6cnn*<&_4??_n!#Ute9Oht@Rt$jW+PXZ~w^yIlr zG5o5IGa?_bdn@~VHB&Y2A*rPg5m-FEI3e06nx46i0Y1T^ZdNqkWucR%sq0x;{&&1) zs^M}{SIz&QY4SjRnp}?7Hv@`rQBi~OJeg1b&CZfAZHxn@T(DO@BFX zr6>Xj?_23>g5>#Gk4x<5j02yqN4iYiYLKSY;AHS}; zvLTxcr+oV}o~a2so2$kysWFiOum5(K`5yd`lNd)Jz1WWvChOxvs9&zd33J>&h=BG2dMk=~R3L`o65n3wT3T${F9$5tMLaJv%$AnQt~W{Tc{w zv0m~v;eD+(Y?R8&O1|f{clw5Kk;j{wcTP%WnVCNpqyWE4`JS64`1$VcodNtpkCLwq z5fhC;MvRU%Q}$MY+|=wCDxU%<(Il;zyC`n>)_P6VES-~<8$YwC;sEpZUh@9cabcOP zm)rtRcA`8;CjBfoTCbzvN@QqiI!XO>~C)$+I73(2qQM9$EP3}47cLuK8DcVhc&!h6ESLC-tQ^e7KD_!|~v;1IE2izI( zd$?`|ewkmWHfGsFC?e8$y!2j%d!eL+<>#EMx_Zp8D#S)O-i5nl{wSiTsM7mmeByU% z2nX9FBacYJXOz#Kfpp^jLuywyH=9V&VtA92lk1GyGeuo!ac}|#Kiv1W%b2X5O6E+U za8uHu-Gl(VB~3rTQTlDP_q{w5zsD-jPZrwc`DZS>KG8T--VY42A}L760CSS#`{}WH zF>mG@W*m15#K0}kyIid?sUKZdmU5Wj$K`VSWXn5PeZKo)Wx&JZAX6Pdvx!kL}?9VB1IcGT=w>?;dqH__|G4e zYAqHfCX{c3%0DfS;Tx+jPu*3d^1%oUmA1A_friwa98}V+Mt1TT_ItE|=Xfzcih^Nl zQY=hO-p0t&$Op--ty%8&JtH&8nVy>yivHtapR=`b~A~ZrdT!=MY zt2FGT8^XQ#oUMGO!EN0&H7rzeLTLpe6>W%T;sG1X5$<&UF0<6$FuBq5*}&3rt0mdtrecS*=b2dD=Z?krklR*+<=>!Ye{r%QtLW=JdGj&v?jOa50e8nBZ_q9;Gi z0}Sz;=MRBxzIOQ}wKA&}qs%vEs_N4hQ{mcP2=Dpr?%etZeqY?@|2%Jzc@q|IHCD z6$d{aYUJFWW5KV7l}iVwho#QCCWmcSm?hO*ybG{J@iH}81;oUNGBkD~_BpizTSAC3 zV3W2zBC^53Xh`4e?bCFLW+U0y87zG_1+nw-HKw7~Nz9+jS)iUC>Lbc~y8k)H`=iRK zqO!8Ap*YuO->k>@^>;roP^ zHyK`xs=B&D;TO9}@s#N*N+#?+esIgBt8uTF231Ohjk<#aiAwwj@rAK+t1!aJ0L@!#n{q*$5pr^Q z?zfg~Gi-YWU&c~XHK&DG&3zL$NTHace7)^Jkbshs68rnQj*DU7hj)^3;vzIK*y7Ia zZiA0YZ7kw~p|Lz0xuFX3KE0PUU)GcPpUBU5Sn6r0x$-4{p^RtP5Ok-`t#57OrcBvp@Vpkuz#W4qXKg2iUO5;|xXtqs1)R zq;7iZ5Q-PUKwm06Gl+O%v=$B7hH+U>L&uMXGMlcQ(5g&LFm=mOf`s@)w zTIDH6d{5d43)k0D374LixOL09W1aTSVgUFq7IH_$I`Mdimau+~k$^#t{`H#@36;i= zO_LBZItGZsEl^>w`|gCRJWq2t4NsTTsul^3MlRT4VGSA2sSy<@l2QrYQ_J()8NeLA zkle`s7&L7o*fwkOTaNj^NhrSw6LwlxeasGe?z_SSvz@sV0Hr zE@cVsF;|c(vgqjO>rsXYDzN-3Bb3zZM_T{$!DbS4?kcYCoy!c-#PoC(sPWZY%QpNwVy$7l#>qtec-=d?gzD1O!)yNoeB$4Xd% zT#UQT%#9E>O6Gn4PHmaWWE6MX%f~YwI~I!QD+bK}{Jg-DbMEL&_&REP%SyLOWTojs zcr+W>g|6>Jcf0neq8?+X`$3#S_e%;T&lXf)d;47Fw3`pem+)UIcUv3dR4J82w|w+$ zX#txV{p4=OxYcsgbGN3zAuHe^As$4$xV2v_SY`(CdP*4-Z_KEH{FZg z^>rz8KSi^u)Nb=3Q+7jKOlldLa&oMb)q&Q#AiIfzoe?eo%)nZ-=wPe9{dDiJQb^_y)YWoX>|P7ph-#&oN2E+j9rwO1QnbF4E(m2~AufdpXWP z9BF<|H!MgF+XTY;D~W0@dJzST6J~K~-8hiK(>xH`ReH-5w0x?I990 zG!B}X?*L)AY3dQMN=VC|FIYL{yQ0VN@P}#{%^dL?UiLRQb=4<;RTqJN(l+V-G$LG9kusAB})48TK*)h@(SI~op7o%;CQDc!w()M35x9jVD z-EW@1``S+0UX*4KbkB2Qn{+vfu-P2?J%XFIyv6ymiOg4}nuepkK;ieq=)6Y$R2nfc zi}1YYn|_z$s`a9Y;RfcL=jl#P{ZA8dK9KTGdz_6)0HYM!!2x!4g-&+r9ulQmUfrI;bM~BTD&^~b z{cZAcdX>w;ej#qg!ESmdx}?Exf^RGDZgjiGY8~o&qJD zPKS}vTXJr$3cD-XLqE~~7p5G>nxY2Z-xt@{OF1|_9dQ1&p9ULDHS^~%H9hIL9}27> z`_H;$-{WKn=;fnDs6jbdTvL;fnri*<;EqXkp^M--+g8<@n}RMX>tDV!%Mwk48Jfs1 z7aC+`8>^{mvH-!PV!*%bVwzlARc=+p=t-$N!kEXOYk&cq3R+r(I5^Q?i~gwWPgo)6 z2I+tkWtKM{78ZezICW=1idOv=TeIgoyL&U!FS67^-N0|?83pYYMc@^^nt_ibmhbAU z?d@mZKug7LU1<(U~*R{!xy{F^FE78}6JeHGdroS1Sw;znt z&DmulzNN3pA`>vUrLxA$AtC-)TFcZ7xaUK_;B!)+v&FYz%5QyKF}quBY332O1X%;` z)YS#=AC68;F7nZ3P?Cy^EZZN;e@r;JSe!{^v$t(=E-ewZCR7H&By9P*GsCjzQ`5$G z+H>EVe0q(-CwD&zyq_LjSO(&%1=_Nice+eSg z{ijT(d?6Cd>Ec*1qWaaqAU<%*ZG*5}!R=6X$kgQ>*|mTqJumjS_)b(NXkGz6PNgw>@z9wf=RZIOf z4^IjL@y5uAj)uDS@}Wuu!=p|!*#8L}>~~!hs2*^9?A5A?R=B}1{!)t=eXe_sT;CY) z7T#sPF?-FI{{az7$^veoS|UnH$&QjQ{1?QgBkk7KjZgc{`%-G7Thf~o1$#%qxJtV8 z0_2{8KF!{(%f)Pd7q&Roacx&pR%+3_e81h9VE#4QBGCCoP1nQx?GGRK8uj5kbe{C| z^eOCrk=lDuVds6*Wjp1b=FUbc13!~g_Gd&$lWWzEb7@S?tRrHbIpL?Pi>cWW=k{UPA7_3Sfn!*elH zur+nrfV=;V`Tit0C`V+srmV^mb|^`jbOv5dPk-eCB6BAP= zQ0>k6^t2k(dSZNvSk=f>r^qeb${?il{h#KcHU#)U*4 z1^K=WV%cJ7eRpMgxC_q<{&{@^A4w4rh$|I7MYsCyD=Dd{g%%uF#KVK>@1~}y|8{Wk zz`u`xKM3r}7GSIu zxF<xt(rAr>zo)FNk;tqW=$jhd29aQ znqnFV%6}X^J2J^5)}cDC1SnJ&OgM{1HB!Xy+=PD3*i`(wZYwyRj7a}tC6sA9{G9%# z3TwL4Sv0HO9vYbh8J#>K2*La7M+}fvP(T9&bbfAhDlD;95QnXZ>uzV*ajE&`4P1uD z#}67*HU8=>C`gWs6pRM<($jdL5dCJ)1W#>rpg##)I}C z-lbVQZ}`hpV=+v`ayRjByu`jLNr05^)T46o>(IWwzFy!+p|qqDK&#{K=|m6@53ep$ z(u!GOf7F+6^M~alvrp1XP?c`wj0n`JnjWh zYCBsKa>6sfFq%e%>&xJ3AuUxEiXIUskHp^`m3pFQy<#As1l*rUVM!-!94WTX` z8RG!@g*p|GfQ3Td^#NPa2cOaf1vv)aTfS&e7W$WLy7(A}e}?h-BJgM{{9la&5WdC7 zhvkp?G9b7Q4-hYkss^v;eo?2qV5YNScH2PU(<^t0C4fUi9;(Y5I`}ndBy4v#{5jUl zEQ)OUZZsV5N)R)}&fFi3I)MI0u;t!{jCg$N!<1+X3eX%8DpUaFXOaC#C4D7X^l`)Q zAnbFJJie1ehmHASpvCU(90nRB7UO9U2a2Jh4u?_#@Xx}SWpI-36c#bCxO?nz0rBHK zvWla`Z&B{D(B7Cb`}&@)sCjt_&6H~+k?f-C zebqvPU0Ur{4ye|=7gbP5XtC9c?f(8gH9cJrj0igIdOS@`v)T!S#)E?A)sfN+#(0H5 zksO21eSK>V4c8l!rShMk-|vHMWh;r(($a**#DtI?n*j^qNUFWtNRkdtbXNp%#$R>-V@WT_8>-Zo&SSj7quTbpc|D|E9E^Zl*dV>34>;uc>GqqRggg`@ zVg8PJ5O|oInDo?IgZgLKtqoRIyPB0^SH@%9^u^{Un?(nN!4;t^wDBipl*?!Yds?8% zuqIwrNtFt;MZ`7~2;bZzy0iE~HlFX=aiO8zJVyE@G|vo2WQE4PL?gL89IcV9^hG?`XT9@Xsa*s=Yk2+QzV*#N*bWoGPs)h7DLwaqn_`0PM;9 z1S);Mf}yVrzAxuC`rQjM#s&M8p55s`GvCXYLbjFsNTuUZWL&s^%^z{8zNIJsKF08? z#5x>axiIJnCI3pA>ic*5hPfO4vK*3+;x?m{rKga(@-Doafse|{YC0$ z@cHAmq)4(tNC!Nyc(%KoU~AgHQ^XMo`J?<-qsh>)^%UYt)FnJzP8U}FOsIK5$BSVa z^}g>AxndCj^%!dJUo2+jd*5j~x>3|!hVc@}x}f@*2GN&?Euw*3#zWMf#7g;*)6B;2 zkbtqM8dx90ls#8hb^{euWBv}|WIYU1Keof7V>i%Cnw&JA*f3j2iv(eEFs}+NEUYVqcjRm)# zWS#c%82xBB#jiMsV&^*P@$%%n zm>VMW1y@(PY?Qv5>xBe!>clRrrOpRZ{6dKH`H$B$gD7pIA3PbzXcLL*zqw0BflGivhfrU}?%@*uh&)IDf(pJi z0nh?owIRbGJ$;=Gt;eQ99)E>x;+pl#G>4r;ke_ybqe7|w(VSHiI%Xe`HYiQoGn_%v z?js}o^Vg~6x)ThH{;kQ85!@xxZ9h3#8sfty!bTTc`@Uwfp@~1*S{YC=iRYfMBif){thhd##q0obCIgwB>7fL__8=lGy zO>~kkAac!1EKC)DNM#~SVKYIDGQ|HTeB*c%;eyV779#!eH!`HfDQqDl;RYj1`__|t zRd|Hu$T%&blmxzvt>db_SBXb0$$E_NhM;x-hmntsbk7B#ZVI+$w(w#nbK1@>J!JTp zHEw$)^WHVEUWZC=D+7;@7On@^qj@z9YTZj2Nm?62Ryo;F>+R?qv{@T_IKEN7ub*ph zG5k~e#52;={hsx<{F^XXc>8u|k_vj)|E1?-QF<|jhU420pef5e!~(uK&>bPOd<%y} z$(V=}$I2|@>}uc2fW1kkhz$C5!7b&ktr+1@VqYYrDr6_?-AX~ zJfDv;;2^6sE1}94Q7Om6m`|G<6Lv7W-U69Lw)~*JE7%OmpUFvv2BpPYICM9GJjk}^ zeB*yCHb3F}L6xX*#>dA`HyDDibT^T1hN8)Nam&?#6uG-;g_UK0nXNL!OV%&D$~DKk zK@RJlIieth=Th;aobC(`?V_NnRg=j1fbd?wRH1rixIBz6(ofN&L7uw=s3~bF{*pHj F`#-ElCSd>o From e8d739008aaebf98d307d51790c362f75b8d4ba5 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 2 Sep 2023 21:46:37 +1000 Subject: [PATCH 2/3] Replaces Limiter with Collector due to redundancy --- code/modules/power/tesla/coil.dm | 25 +++++++++--------- .../modules/power/tesla/telsa_construction.dm | 8 +++--- icons/obj/tesla_engine/tesla_coil.dmi | Bin 45801 -> 45806 bytes 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 28694b3b0f0..16089e41596 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -202,29 +202,28 @@ playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = zap_range) tesla_zap(src, zap_range, power_produced) -/obj/machinery/power/tesla_coil/limiter - name = "tesla limiter coil" +/obj/machinery/power/tesla_coil/collector + name = "tesla collector coil" desc = "For the union!" - icon_state = "limiter0" - icontype = "limiter" + icon_state = "collector0" + icontype = "collector" circuit = /obj/item/weapon/circuitboard/tesla_coil - var/zap_range = 4 + var/collect_eff = 0.8 -/obj/machinery/power/tesla_coil/limiter/RefreshParts() +/obj/machinery/power/tesla_coil/collector/RefreshParts() ..() - var/zap_range = 5 + var/collect_mod = 0 for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) - zap_range -= C.rating - zap_range = min(1, zap_range) + collect_mod += C.rating + collect_eff = 0.75 + collect_mod*0.05 -/obj/machinery/power/tesla_coil/limiter/coil_act(var/power) - var/power_produced = power / power_loss +/obj/machinery/power/tesla_coil/collector/coil_act(var/power) + var/power_produced = power * collect_eff add_avail(power_produced*input_power_multiplier) flick("[icontype]hit", src) - playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = zap_range) - tesla_zap(src, zap_range, power_produced) + playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5) /obj/machinery/power/grounding_rod name = "grounding rod" diff --git a/code/modules/power/tesla/telsa_construction.dm b/code/modules/power/tesla/telsa_construction.dm index ce9d990d9a4..23507f8e3c4 100644 --- a/code/modules/power/tesla/telsa_construction.dm +++ b/code/modules/power/tesla/telsa_construction.dm @@ -35,7 +35,7 @@ /obj/item/weapon/circuitboard/tesla_coil/attackby(obj/item/I as obj, mob/user as mob) if(I.is_multitool()) - var/result = tgui_input_list(user, "What do you want to reconfigure the board to?", "Multitool-Circuitboard interface", list("Standard", "Relay", "Prism", "Amplifier", "Recaster", "Limiter")) + var/result = tgui_input_list(user, "What do you want to reconfigure the board to?", "Multitool-Circuitboard interface", list("Standard", "Relay", "Prism", "Amplifier", "Recaster", "Collector")) switch(result) if("Standard") name = T_BOARD("tesla coil") @@ -52,7 +52,7 @@ if("Recaster") name = T_BOARD("tesla recaster coil") build_path = /obj/machinery/power/tesla_coil/recaster - if("Limiter") - name = T_BOARD("tesla limiter coil") - build_path = /obj/machinery/power/tesla_coil/limiter + if("Collector") + name = T_BOARD("tesla collector coil") + build_path = /obj/machinery/power/tesla_coil/collector return \ No newline at end of file diff --git a/icons/obj/tesla_engine/tesla_coil.dmi b/icons/obj/tesla_engine/tesla_coil.dmi index 65bbb608f3a6d0a9bd837edf0152e306dbf3b64e..d30dba3ee505d2e9dac5ac5ccf11574fd18be35c 100644 GIT binary patch delta 311 zcmV-70m%O8I0+1ws9(q(*bVOxyV{&P5bZKvH004NLt&`De!ypufuk|So?QIE3 zyN%s=Q&L7Q+E*wNT_R|dqua>a_afbz(v6&uA%eo^=lKtuHS7;>)d|XD#XmJh<2w-W zl;xa#8I@WPu-kIhYSXl7xWpur1_7(u8+-OaclnAlWiWz(g0pvjlui%lN3^W-q`8t0-ETE zN}_FXR_OvU={GrDnRJ1qBbgQ_ti83mP9DiqI_4?kb>(NMXITGXa%&lrrpCX+DHAu~ zbTQqzIC_Krqf@3SYtHBuG5_P6>4NXx%=}`e{m-5}k9%@md<}S@p7#I% delta 306 zcmV-20nPsIp{S# zC^`E=l{ygcwC1eS*mi0BiAg360v0ES=IFfc%LQi&Lj(a8XYWCOT0MT>q7@0H32Ckl z(|zuRGo_6jKtQ!Bi`U<`D%PusBxoZCV&{d;4;QqN15rt|&2IGpqb0Up*!*-pV6;Rf z(KfqPT2CzfA@h?->q$D2X?CGOi%AD!<&@6Pcc#f&vhg48>q$m>_7zUKXCqD*)19-^ z+u%NWg?)PrP7(VgZ`b4pzFPC(77yD0Jd@|?nVcWKgx#Trdf)JG5<~D@-_2Zvvr7S^ Ev7iE$e*gdg From 10b3895fcd7ac7767e1f3fbaa566a6a017468356 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 2 Sep 2023 21:58:35 +1000 Subject: [PATCH 3/3] Fixes recaster --- code/modules/power/tesla/coil.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 16089e41596..280e7fd0860 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -115,14 +115,14 @@ power_loss = 1 input_power_multiplier = 0 - var/relay_efficiency = 0.85 + var/relay_efficiency = 0.9 /obj/machinery/power/tesla_coil/relay/RefreshParts() ..() var/relay_multiplier for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) relay_multiplier += C.rating - relay_efficiency = initial(relay_efficiency) + (0.05 * relay_multiplier) + relay_efficiency = 0.85 + (0.05 * relay_multiplier) /obj/machinery/power/tesla_coil/relay/coil_act(var/power) var/power_relayed = power * relay_efficiency @@ -186,7 +186,6 @@ circuit = /obj/item/weapon/circuitboard/tesla_coil - power_loss = 4 var/zap_range = 6 /obj/machinery/power/tesla_coil/recaster/RefreshParts() @@ -196,11 +195,12 @@ zap_range += C.rating /obj/machinery/power/tesla_coil/recaster/coil_act(var/power) - var/power_produced = power / power_loss + var/power_relayed = power / power_loss + var/power_produced = power / (power_loss * 2) add_avail(power_produced*input_power_multiplier) flick("[icontype]hit", src) playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = zap_range) - tesla_zap(src, zap_range, power_produced) + tesla_zap(src, zap_range, power_relayed) /obj/machinery/power/tesla_coil/collector name = "tesla collector coil"