From bc44988ba2588f1d692ec35d4ee4dabd98c123a7 Mon Sep 17 00:00:00 2001 From: TheVekter Date: Sat, 22 Feb 2020 13:40:40 -0600 Subject: [PATCH] [READY] R&D Rework: Splits anomaly cores into separate versions, modifies build paths (#49448) * Splits anomaly cores into separate versions * Converts the wormhole projector to require a bluespace core. * Cleaned up a few lines * Fixed small bug issues * The gravity gun now requires a grav core. Increased weight of some anomalies. * Enables high-intensity grav anomaly * Fixing minor issues --- code/game/mecha/mecha_construction_paths.dm | 6 +-- code/game/objects/effects/anomalies.dm | 10 +++-- code/modules/assembly/signaler.dm | 31 ++++++++++++++ code/modules/events/anomaly.dm | 3 +- code/modules/events/anomaly_bluespace.dm | 2 +- code/modules/events/anomaly_grav.dm | 14 +++++- code/modules/events/anomaly_vortex.dm | 2 +- .../projectiles/guns/energy/special.dm | 40 ++++++++++++++++-- .../research/designs/weapon_designs.dm | 6 +-- icons/obj/assemblies/new_assemblies.dmi | Bin 12380 -> 18243 bytes 10 files changed, 98 insertions(+), 16 deletions(-) diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 5cd21715164..44a5cc69c74 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -1051,7 +1051,7 @@ "desc" = "External armor is wrenched." ), list( - "key" = /obj/item/assembly/signaler/anomaly, + "key" = /obj/item/assembly/signaler/anomaly/bluespace, "action" = ITEM_DELETE, "back_key" = TOOL_WELDER, "desc" = "Anomaly core socket is open.", @@ -1189,8 +1189,8 @@ user.visible_message("[user] unfastens Phazon Armor Plates.", "You unfasten Phazon Armor Plates.") if(26) if(diff==FORWARD) - user.visible_message("[user] carefully inserts the anomaly core into [parent] and secures it.", - "You slowly place the anomaly core into its socket and close its chamber.") + user.visible_message("[user] carefully inserts the bluespace anomaly core into [parent] and secures it.", + "You slowly place the bluespace anomaly core into its socket and close its chamber.") return TRUE //ODYSSEUS diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 98fb613af02..78b8179799f 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -8,7 +8,7 @@ anchored = TRUE light_range = 3 var/movechance = 70 - var/obj/item/assembly/signaler/anomaly/aSignal + var/obj/item/assembly/signaler/anomaly/aSignal = /obj/item/assembly/signaler/anomaly var/area/impact_area var/lifespan = 990 @@ -26,8 +26,7 @@ if (!impact_area) return INITIALIZE_HINT_QDEL - aSignal = new(src) - aSignal.name = "[name] core" + aSignal = new aSignal(src) aSignal.code = rand(1,100) aSignal.anomaly_type = type @@ -88,6 +87,7 @@ icon_state = "shield2" density = FALSE var/boing = 0 + aSignal = /obj/item/assembly/signaler/anomaly/grav /obj/effect/anomaly/grav/anomalyEffect() ..() @@ -142,6 +142,7 @@ name = "flux wave anomaly" icon_state = "electricity2" density = TRUE + aSignal = /obj/item/assembly/signaler/anomaly/flux var/canshock = FALSE var/shockdamage = 20 var/explosive = TRUE @@ -180,6 +181,7 @@ icon = 'icons/obj/projectiles.dmi' icon_state = "bluespace" density = TRUE + aSignal = /obj/item/assembly/signaler/anomaly/bluespace /obj/effect/anomaly/bluespace/anomalyEffect() ..() @@ -252,6 +254,7 @@ name = "pyroclastic anomaly" icon_state = "mustard" var/ticks = 0 + aSignal = /obj/item/assembly/signaler/anomaly/pyro /obj/effect/anomaly/pyro/anomalyEffect() ..() @@ -295,6 +298,7 @@ name = "vortex anomaly" icon_state = "bhole3" desc = "That's a nice station you have there. It'd be a shame if something happened to it." + aSignal = /obj/item/assembly/signaler/anomaly/vortex /obj/effect/anomaly/bhole/anomalyEffect() ..() diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index f58324f2d4f..d67c8a85bf9 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -211,6 +211,37 @@ to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].") ..() +//Anomaly cores +/obj/item/assembly/signaler/anomaly/pyro + name = "\improper pyroclastic anomaly core" + desc = "The neutralized core of a pyroclastic anomaly. It feels warm to the touch. It'd probably be valuable for research." + icon_state = "pyro core" + anomaly_type = /obj/effect/anomaly/pyro + +/obj/item/assembly/signaler/anomaly/grav + name = "\improper gravitational anomaly core" + desc = "The neutralized core of a gravitational anomaly. It feels much heavier than it looks. It'd probably be valuable for research." + icon_state = "grav core" + anomaly_type = /obj/effect/anomaly/grav + +/obj/item/assembly/signaler/anomaly/flux + name = "\improper flux anomaly core" + desc = "The neutralized core of a flux anomaly. Touching it makes your skin tingle. It'd probably be valuable for research." + icon_state = "flux core" + anomaly_type = /obj/effect/anomaly/flux + +/obj/item/assembly/signaler/anomaly/bluespace + name = "\improper bluespace anomaly core" + desc = "The neutralized core of a bluespace anomaly. It keeps phasing in and out of view. It'd probably be valuable for research." + icon_state = "anomaly core" + anomaly_type = /obj/effect/anomaly/bluespace + +/obj/item/assembly/signaler/anomaly/vortex + name = "\improper vortex anomaly core" + desc = "The neutralized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it. It'd probably be valuable for research." + icon_state = "vortex core" + anomaly_type = /obj/effect/anomaly/bhole + /obj/item/assembly/signaler/anomaly/attack_self() return diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm index 692e2a186e3..c0350b63b1a 100644 --- a/code/modules/events/anomaly.dm +++ b/code/modules/events/anomaly.dm @@ -22,7 +22,8 @@ /area/engine, /area/solar, /area/holodeck, - /area/shuttle) + /area/shuttle, + /area/maintenance) ) //Subtypes from the above that actually should explode. diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index 5d30fe6c1c2..8af1d05ca2c 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -3,7 +3,7 @@ typepath = /datum/round_event/anomaly/anomaly_bluespace max_occurrences = 1 - weight = 5 + weight = 15 /datum/round_event/anomaly/anomaly_bluespace startWhen = 3 diff --git a/code/modules/events/anomaly_grav.dm b/code/modules/events/anomaly_grav.dm index 756d7876917..f20b6cab74f 100644 --- a/code/modules/events/anomaly_grav.dm +++ b/code/modules/events/anomaly_grav.dm @@ -3,12 +3,24 @@ typepath = /datum/round_event/anomaly/anomaly_grav max_occurrences = 5 - weight = 20 + weight = 25 /datum/round_event/anomaly/anomaly_grav startWhen = 3 announceWhen = 20 anomaly_path = /obj/effect/anomaly/grav +/datum/round_event_control/anomaly/anomaly_grav/high + name = "Anomaly: Gravitational (High Intensity)" + typepath = /datum/round_event/anomaly/anomaly_grav/high + weight = 15 + max_occurrences = 1 + earliest_start = 20 MINUTES + +/datum/round_event/anomaly/anomaly_grav/high + startWhen = 3 + announceWhen = 20 + anomaly_path = /obj/effect/anomaly/grav/high + /datum/round_event/anomaly/anomaly_grav/announce(fake) priority_announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") diff --git a/code/modules/events/anomaly_vortex.dm b/code/modules/events/anomaly_vortex.dm index 2a88158f44b..f71139d7ebb 100644 --- a/code/modules/events/anomaly_vortex.dm +++ b/code/modules/events/anomaly_vortex.dm @@ -4,7 +4,7 @@ min_players = 20 max_occurrences = 2 - weight = 5 + weight = 10 /datum/round_event/anomaly/anomaly_vortex startWhen = 10 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index caab66ade82..d8d45e093c8 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -214,13 +214,31 @@ /obj/item/gun/energy/wormhole_projector name = "bluespace wormhole projector" - desc = "A projector that emits high density quantum-coupled bluespace beams." + desc = "A projector that emits high density quantum-coupled bluespace beams. Requires a bluespace anomaly core to function." ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) item_state = null icon_state = "wormhole_projector" var/obj/effect/portal/p_blue var/obj/effect/portal/p_orange var/atmos_link = FALSE + var/firing_core = FALSE + +/obj/item/gun/energy/wormhole_projector/attackby(obj/item/C, mob/user) + if(istype(C, /obj/item/assembly/signaler/anomaly/bluespace)) + to_chat(user, "You insert [C] into the wormhole projector and the weapon gently hums to life.") + firing_core = TRUE + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) + qdel(C) + return + +/obj/item/gun/energy/wormhole_projector/can_shoot() + if(!firing_core) + return FALSE + return ..() + +/obj/item/gun/energy/wormhole_projector/shoot_with_empty_chamber(mob/living/user) + . = ..() + to_chat(user, "The display says, 'NO CORE INSTALLED'.") /obj/item/gun/energy/wormhole_projector/update_icon_state() icon_state = item_state = "[initial(icon_state)][select]" @@ -338,9 +356,25 @@ return /obj/item/gun/energy/gravity_gun - name = "one-point bluespace-gravitational manipulator" - desc = "An experimental, multi-mode device that fires bolts of Zero-Point Energy, causing local distortions in gravity." + name = "one-point gravitational manipulator" + desc = "An experimental, multi-mode device that fires bolts of Zero-Point Energy, causing local distortions in gravity. Requires a gravitational anomaly core to function." ammo_type = list(/obj/item/ammo_casing/energy/gravity/repulse, /obj/item/ammo_casing/energy/gravity/attract, /obj/item/ammo_casing/energy/gravity/chaos) item_state = "gravity_gun" icon_state = "gravity_gun" var/power = 4 + var/firing_core = FALSE + +/obj/item/gun/energy/gravity_gun/attackby(obj/item/C, mob/user) + if(istype(C, /obj/item/assembly/signaler/anomaly/grav)) + to_chat(user, "You insert [C] into the gravitational manipulator and the weapon gently hums to life.") + firing_core = TRUE + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) + qdel(C) + return + return ..() + +/obj/item/gun/energy/gravity_gun/can_shoot() + if(!firing_core) + return FALSE + return ..() + diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index a441ec0d773..abcb36795bb 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -248,7 +248,7 @@ /datum/design/wormhole_projector name = "Bluespace Wormhole Projector" - desc = "A projector that emits high density quantum-coupled bluespace beams." + desc = "A projector that emits high density quantum-coupled bluespace beams. Requires a bluespace anomaly core to function." id = "wormholeprojector" build_type = PROTOLATHE materials = list(/datum/material/silver = 2000, /datum/material/iron = 5000, /datum/material/diamond = 2000, /datum/material/bluespace = 3000) @@ -315,8 +315,8 @@ departmental_flags = DEPARTMENTAL_FLAG_SECURITY /datum/design/gravitygun - name = "One-point Bluespace-gravitational Manipulator" - desc = "A multi-mode device that blasts one-point bluespace-gravitational bolts that locally distort gravity." + name = "One-point Gravitational Manipulator" + desc = "A multi-mode device that blasts one-point bluespace-gravitational bolts that locally distort gravity. Requires a gravitational anomaly core to function." id = "gravitygun" build_type = PROTOLATHE materials = list(/datum/material/silver = 8000, /datum/material/uranium = 8000, /datum/material/glass = 12000, /datum/material/iron = 12000, /datum/material/diamond = 3000, /datum/material/bluespace = 3000) diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi index df9517aeaa5f13599f50c557131d2d4d64651128..adb0b69c590a58a98d3f21aa31a47511f421e9eb 100644 GIT binary patch literal 18243 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

+~x@@V5l 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 literal 12380 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

    fEEa<=X1MjT>a^)X~!?+ z<;W)b+8V(b{g=67L-;?iaSjYMRI|QrPYJiv{9IdC`qr#u-YupXq*KQ0_=a>_EmQ2y zp40dd^jLfiahe#+PoI(sekL#tLf!}P&u_>`NnMfK+MPW;%8g!p5)$-Mh@zX&ZS+93 z_Gb1~B70k>?=?x%URl)cL{&e2P(OL{B<+b)V*`vd_#1x>pT{MB+N+29r$cDa*jPeV zR#r1<9l?iI)&Y)hdI$TZ9iwsKV*cbRDk{QSH}vcisnV}?b>G$Vns$%>)&u~G`ZJ;f z0&dXOQ#^NaP_~@o)u$!dnV-VX&wVq*Y5q(K{*%4m9sBrIVYg$+9=ALGJqwfV9`0`( z9WemVT-reQ5IZLpCqB5kvT|T%OgB8r?6*fiBj^fZ+U|Qp=eA#e^rDrN!u!^wjf^rH zid#CCTf3qt+uSn#1~kDzWHT~1XL4|MmIuue+?H7EtH{{ch&D4~pJxPC8+!l#7KdAU zX0>r6M(|*9ek%OySpM$@?&Les#2|euu9k`3l$rYZ$mp+jzeB|CsSHa&g_Gh?2vH3u~60 zqqnjofk3FPrN#O?WjZg9`Qgds+zw9dYQT1g`-*T1Aw%r<@6R}TNu}FmTOoS-`naD5 z9xlZ3cljGpo8Y`yUik$&I}KxI7u4xqMwbPo$IZ^ksoCcGiDh@I-Lns+e__O=2h(Pw zV`Ju^Biqdn`LMjIij&JfVf(~##iYp!)< z!co(o^uhhhfsV64?-~;dZp=+iPVQCl7=b|uXx3oxZtvhw_((-@_}JX&gM zP^1x+Ethywh_ufKEHHIxX*4R!$hf#vPcGNMKrz7VPnG#p8PS2b{24tLlk6<32x$T6 zgj`HpqDwv&0|2+Pp*bX2QtE|=M@@lY=)7)m`145#WDS4KUEon;JM>{S8Ai-JoxrH1 zq(mj+&bqz5z2yFbn38e|p-3FNY9&gFAq8i70Wdy){s8MOgpQ8R&e5@eD^TaRIr1LCeO4J{Iwn=H9BnYcFfD+yj*63z5r zYT8*EX01FeUTTAXp7DU`mm`I1gs7rlp5shWza|m#`5yC4`5VEWS0L5p`k_zHd($eu7tL{cJl&|3XAiU(g9-wkgYFsi) zb6DDl?g$M2QH3LQRugv~RcBc!^#g`{zl<5HBSKL@_eukqFP!h)qwfBty6H;%7|Y{NS9r|ECu-_v-lc z{e&pNLwG|<-q5d^@KbWb)wKZ+q zo6f0HPo$xY*q@>pv%SYluawMET-pel=v_r1>j976$pNF=T!-4Amwy@CH;qp*o^*x& zG1#BCNbPs`JK?umn%@qyNp4xplXC+uYBT@TSK{BJTo1U;3_5m_Xg1NqU}Q4L``ciY zGyuaT8hHCr1On8n-0)=dzdz@l*n&tTCE(x_2V>LUQfCSKwii$3&zs@kKB05+-krao zpW&vntMObKUX+wq_-vfw_Jc>Eeu_b$Ja|`~_NrsY_Yn&TTxh6kyNA9D^)BuLX#gr5 zjH+_gogq7=PM>D0Jd%#*{LsBcv8dw5gf`n}My=E7zBjc&&W0sfGA1_Hk_`gKM4T;iUjy15eG zuCK6UzTi~c|M|LdSQo(SYgUsG>Pr# z2+M8J2*i^r4}8=qY9C^q{PUdF>=m%2n#_*|^h^-gG-GU@T-EAl&g<2OhE1WQ=l2?1Y=s_3_3X`GN&Tr3&1GfBJ zm#n%EEP(mwibPGpgu2gfzq@_dql=do#dD0Q)9&r_jAjiFrS22oj-N%;8 zTVCpv8?bE&M=he`Y92YiTeV_qd2>l>8I_gbp8kswR``w2@`LhP)3-I=iZS#GXZsK~ zs+BfDCkzJ{i0w#K5l83dLP>U<9^(gtjPk1lS|FV&@U{nNhBP~x|eCNif3^-2Ox zR)9TEa&v7H%EdlpOYF{|4@4MzuWY{|jy%h~O&a(ZOfxD!*0waYtXVCP%a$gy zx4F@>GbAP!r3?Y&rNOT3wCr5f!(x<{QS^5hplzk__w4o%cWL|7fB~2k`)P3c1`z9T z9?BAbdlMutkJWF(PxBJzQUc4a9?BI=*v{3YYsRbGg!gQmg(0FnJD+8|0-?gko%};# z($6WRq=#|h=4zsXSJ>nb0&323W5TLyFlwwf=Ev#op9+H@A+QYgbN%=s8N6+CsqL-r z?X{btN;&oD&Lu6htS0kz-iJ7N@1s=e{8TEMS^dG-`Yx6*9Wgb* zATjnJRh&TFb<-kJ*(8v#-v&}+ctNN6DQZ!iX$FI8mVPAMbK=jS5Y*iz#&#pD8}0Tg2W)0P2P=bOOPJlhTV`3wJlfqF&mj2xuuKVmP)V zOHd_3E$l&b`MEidg!_l`uLB}je(pVBr5q%#)GIgp$_q15RVC!);zC`wT%XRWn@SS- z;(S>YbWyC_3IN=v{Pbu~3v7KZx!F@S=il>FdXa_|HFd?crG3+2q0 zFan%Yzgh}hVF!TqBnOUP0N*QG8`2O^Yr8(h@gEwSo*B!W4BciS2rwEu>T7yV zaL_C@?frH+`Vih= zurxoG&`(EO%Y>8b8Z6O#-*!PMlk|svhr{>sPW5XiDi%|DbJy=>qrEOCD!hHK69)i< zVmJK#w{cTd{`0F>5|PHGtmGYQskiT9VQnLelz)12Hj z;cAP`rR))rU%i9MHBra9O%e&Fudx}KV81vrR1s=8OcJ^O3f=Geb3v?Yzp22iGY>c! zIeFu`?jYSR2S#nkUL2+yoG75cgqo?7!JGul)Bo8PQU@+KJ1l#~voNG1W&hFNyHC-B zMua5wy)kI=ehd~DPJQn(MBe5TQo1EoMVw>*=VjWZI@P)+e&H>1OC3X2PnSi(>f`F5 zC|GE#bJFzt8mU3?*r1b?loYH0;Q_?Xi1{Yn1jM_^oxXt`&Z;g8b^qsqb>4dhHiDl& zRT1S(JK8u*RU~_cv?g=uKK=L`c6#caQCi;R5`r>xoUJ1mv#Y03(fe*k0v5tie3dQq zXY)P`HbYr4en@1Rcz__tj1|>VEPZWJf7$imYb7igVkh`{8teqU_200_)fEhyc_xM& z*Yw>kDUQ#`;P#^{o%n#DyCh(~*?`Di4WUz^PM_kGw)3!O?mo@HH4O&R&?5IF3O6pm zBv@ajwfV-a{<3{7IH`=N{u1rS4p*1u{RWp!0*WyA*d_w2wccdM^MhrJ%3V;7;QG;T z#)_8H@D1&zB(ithB=46bPBFHXf;Fi9DJq&vWOqTSBtvUx7D{u@nM>Pr;EY%32{8Xp zzh)^fAF)fr@Uz;W{L%9k%#dvfT!6~Zi+UsVNOv$XU-xwM&jnIk$f7ioZQPZ|Tk~?(@M6T=opQf%XKmNu5gnbVf z7eYd4H8dRp%h_?+0<1qj#cP(R7z=<){g{JkfBZ!!I$RrV%Er(fBKd%lyERWPDs7I5 zaXh=u5<3<-o(&I?B!rm{LsU>xtTKGw?9Lq;8^>g1&}!-EoT7qId-eG(!Sn~jui;K6P?z75FVA}Aou|nA zJ9ON&W}>82qN|>_o0QQ1=s8+V{hI&fI1(1SuGvmHF|Y|~9$eaj^=f1d%4}ZWcfhnY><$ z{Rn2Pq7u_{eR=86%EopW(y%8yKF9dgvvRj@NaDDmQimuW6ctTsI=?L;A>DHfC}IyR z-bTR{Vre-7aO|2}gy>6~8Lo71XC<~NpQRAeS<^x z;n|{v{?_}=uR`xO_LQfNpQpbyi?vW?o{@iDwgf=!OB6-qtAM&`L?2%%Y&u}JmG zhTPZ8NaUROSykc3hsz%cXf~~?f)5;66tf13j!#*ToyPgWuzCg#2b^VWAWdlKIIJJQ zUzN{oXz=}&N`icW0dx#h!h_v3+RlaxqAijeG!-sq#2Qr z*sXe==l!5QU%B@uAOA|UygdBzD4?tL?Bq)OAbLqR9Q|f4Kw?o3_-(AN-jFx88a6;^ z^aD*n>)EY>Zbd7F6HKBTgXbwJ5b@UZzK)~V@O57nSo{9a;qB^q`Vtoh-w@!^cusDV+UBKh81CF@@h z#Z`@7_bue+y0Eaj@SUp%y}GaC3ipbGQ-5RxWVXlck$OW`F7_vg)7FBB*;p}}50CW8u3>_SjyGZJBcP*D zk8QtcW)@Kw?WxM%a@`2=PbF(Ol$UL2yqGO18E!Hf7H!JiN#R{Z5@OF78l0y;c{1FT zG0e|y_VmS2#;})<48rx7&aJ`eZ6O-!RwL9~Spm+#<{%<^f12#KOmMJ-Wxzi6tcRq@ z^fydP4Gr>2({E+eY<=lnj2ex>US0y=&2$!1*Zh3L z*5wY#>Lx~BzPalkb5~C^b#*@PX_Bo?*uoYDKyyBE1BJ(kH?Io<0||uKqY-SaR`uv3 zBa!Z&%)KLBQ;6?v!y~c3DtLef{2Z0{^ghmx^r-FIsgA@2G-dyLH>YuNof{H2v%llZ z1+=8kV=~i1tI7B~i8G!!rCT7CQv_IUgV~P|KAiMn(&r+(-om@yO46>w@edr0dg<>! zj#c)Olk1ok<+;x$$Lm_<#-X59Ak1SO_awK}$B0vK*ktMbJT?RX@!lZNacf97iqhO0 z&YBHtg#5{O6f_b(hpdRsJn>i*RdjTak$!i-9uY({Z#u#9wV5tcMFlX!X0+DrBy6?# z>3=^ZzbC=YNlt!Efoj3#g@qwkOTbZfq}`Wy)ksbw(+~oH;vo02s58xNM?}VGO|ts+<|{{Ir+Q!ePkUx5D%w3Mp-~m(86D_=F*%zh4F0gvVzqpi=|PQb}!$Sf)vB#0NVUNjfVHTHg~GQZMU5iE_rZHg_b@ zi^m(1Mmpn^y-rSAUp?I96;hJm5%52;dnPD|wiFQ19-aoa75PASSH^UX09D6){E?Ax z2t5zrBuKOJ>Y-klPUq)WR9<5-4O-eM7u>;KH916()CW;-_u2wB-22(pPf}@i_7KztXica4{lOWBgNtkRDL=nHsOJD9KR+2rg|jJuP0*S}|GuX| z%WG9=rGcD^JyuzSHgm~}Ds_9hxlm+uxizMP^gzym#=yV35TKh0=q~hp8m(NouCjlY zR)xpSP6uT6g;&=v?$)*t9%cPzMw62D5$aayJ2H@LU(;~ny~I3Q$CP{AY;xi89)}4> zYUJSfOXZ4=852g~*CA~!E&NM`cAce?&w~1^nwp`9`6JXMn5nARl-RP*n?~HKNl3g! zXH>OTcX>nJguzN}K-$msP7cwuLWJ`rQ*9LY32b5X__TQ$#+#R?hO$1MIXmaY!e@Uh z^BLQ|>i_2`qKqFpxkF@Cl^I+(N2&VTK*kzOS75kgt!WztnIazY$y>PAG6sy_v(h-LV|2$EJMUt{ntIOYPzJ?EHM_6H|WG zzr8VYzdffCy~?N5Mg>l)m0QqAeEO?<%~aWC=VkPA@FV@}pcUTO9VZHb4kBP2UlKSF zx&lmv!l2!SIO>LAKnI@iG&rLX+DSpzw4P^b8NT4gpKjdTDE8!Pde4nW^NpwF4gLAHB-@cI&5D=tEhDZ?73PY2U z$p8NR%UAMN34Dm|1p^dx(*v2Jx<5m}fzv}bycc`#)f9wHb_J)AmO^HC#P{F%Kh6__qrEQSmHQ9)FLy}X z4^o5RuMYYEdzch>x3r={-pi}j9;sWd2j(IaUo_yAiHW2-8X9Q8qxoud)Y-n=RxDk+ z$0H7o1jh%-Wpd-I9snn@khtAtw-XYu? zpz{)3p|U=CrE0c$L8q5ywmzzUC_^OQ_d1jn>{h>HUql0ZeUBb1(n^SN+moza%%N)? zDZAZx#!St=9z?*~?|FAN8nb1JK%5R@c$#c8l^^ zz1n(^A!&^6eCS+eP>rS#NB6PZX7SR&n>F9Dp5D3%saL~7ZEbD+!O4r~-;jjFnvb#9 zObQ$p)hXA@)$#)a0yoqdLc!Zx@LNrd+e#;{+zwG!uXbtsHwyJwwWhW^f{Tj_$D_Z$ z0Y+46URhampJ{)k1s8QNJu*P&Fd1L+>=GO}{5q+7d`HhoOKcPIO9)7cfBenbTs`X1 zQ02T?Z*Q+K8=NZo$sA~|05rvCgF}0=bWT#DXgg&XsadL3&P$)1A12^1>FO|9wp?sE z{ghkpyCQx8c*SfWT_ADb