From c7c2e4b531af74fc3942e0f401301c157dec85e6 Mon Sep 17 00:00:00 2001
From: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Date: Sun, 29 Mar 2020 23:00:39 +0200
Subject: [PATCH] Mouse pointer icons cleanup (#50241)
About The Pull Request
This PR reorganizes all mouse pointers icons in the codebase into a single folder under /effects, and removes 4 unused mouse pointer icons, all of which are remnants of the Clockwork Cult.
Also removes one rogue white pixel in blind_target.dmi.
Why It's Good For The Game
Better organization and less space taken by unused icons.
Changelog
cl Arkatos
code: Mouse pointer icons were reorganized to be more easily used in the future.
/cl
---
code/game/mecha/combat/combat.dm | 4 ++--
code/game/mecha/mecha_defense.dm | 2 +-
code/modules/antagonists/cult/blood_magic.dm | 2 +-
code/modules/antagonists/cult/cult_comms.dm | 8 ++++----
.../traitor/equipment/Malf_Modules.dm | 4 ++--
code/modules/cargo/centcom_podlauncher.dm | 4 ++--
.../living/simple_animal/hostile/giant_spider.dm | 2 +-
code/modules/spells/spell_types/blind.dm | 2 +-
code/modules/spells/spell_types/mind_transfer.dm | 2 +-
code/modules/spells/spell_types/pointed.dm | 2 +-
code/modules/vehicles/cars/clowncar.dm | 2 +-
icons/effects/blind_target.dmi | Bin 366 -> 0 bytes
icons/effects/compromise_target.dmi | Bin 718 -> 0 bytes
icons/effects/mouse_pointers/blind_target.dmi | Bin 0 -> 358 bytes
.../effects/{ => mouse_pointers}/cult_target.dmi | Bin
.../mouse_pointers}/mecha_mouse-disable.dmi | Bin
.../mouse_pointers}/mecha_mouse.dmi | Bin
.../{ => mouse_pointers}/mindswap_target.dmi | Bin
.../overload_machine_target.dmi | Bin
.../override_machine_target.dmi | Bin
.../supplypod_down_target.dmi | Bin
.../{ => mouse_pointers}/supplypod_target.dmi | Bin
.../{ => mouse_pointers}/throw_target.dmi | Bin
.../effects/{ => mouse_pointers}/wrap_target.dmi | Bin
icons/effects/vanguard_target.dmi | Bin 412 -> 0 bytes
icons/effects/visor_reticule.dmi | Bin 960 -> 0 bytes
icons/effects/volt_target.dmi | Bin 1517 -> 0 bytes
27 files changed, 17 insertions(+), 17 deletions(-)
delete mode 100644 icons/effects/blind_target.dmi
delete mode 100644 icons/effects/compromise_target.dmi
create mode 100644 icons/effects/mouse_pointers/blind_target.dmi
rename icons/effects/{ => mouse_pointers}/cult_target.dmi (100%)
rename icons/{mecha => effects/mouse_pointers}/mecha_mouse-disable.dmi (100%)
rename icons/{mecha => effects/mouse_pointers}/mecha_mouse.dmi (100%)
rename icons/effects/{ => mouse_pointers}/mindswap_target.dmi (100%)
rename icons/effects/{ => mouse_pointers}/overload_machine_target.dmi (100%)
rename icons/effects/{ => mouse_pointers}/override_machine_target.dmi (100%)
rename icons/effects/{ => mouse_pointers}/supplypod_down_target.dmi (100%)
rename icons/effects/{ => mouse_pointers}/supplypod_target.dmi (100%)
rename icons/effects/{ => mouse_pointers}/throw_target.dmi (100%)
rename icons/effects/{ => mouse_pointers}/wrap_target.dmi (100%)
delete mode 100644 icons/effects/vanguard_target.dmi
delete mode 100644 icons/effects/visor_reticule.dmi
delete mode 100644 icons/effects/volt_target.dmi
diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm
index d977bb4f56d..0834f28d008 100644
--- a/code/game/mecha/combat/combat.dm
+++ b/code/game/mecha/combat/combat.dm
@@ -3,12 +3,12 @@
internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY)
internal_damage_threshold = 50
armor = list("melee" = 30, "bullet" = 30, "laser" = 15, "energy" = 20, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
- mouse_pointer = 'icons/mecha/mecha_mouse.dmi'
+ mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi'
destruction_sleep_duration = 40
exit_delay = 40
/obj/mecha/combat/restore_equipment()
- mouse_pointer = 'icons/mecha/mecha_mouse.dmi'
+ mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi'
. = ..()
/obj/mecha/combat/proc/max_ammo() //Max the ammo stored for Nuke Ops mechs, or anyone else that calls this
diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm
index 334aaad8b63..2707e5b9439 100644
--- a/code/game/mecha/mecha_defense.dm
+++ b/code/game/mecha/mecha_defense.dm
@@ -151,7 +151,7 @@
log_message("EMP detected", LOG_MECHA, color="red")
if(istype(src, /obj/mecha/combat))
- mouse_pointer = 'icons/mecha/mecha_mouse-disable.dmi'
+ mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse-disable.dmi'
occupant?.update_mouse_pointer()
if(!equipment_disabled && occupant) //prevent spamming this message with back-to-back EMPs
to_chat(occupant, "Error -- Connection to equipment control unit has been lost.")
diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm
index 110b959dda1..277edd59347 100644
--- a/code/modules/antagonists/cult/blood_magic.dm
+++ b/code/modules/antagonists/cult/blood_magic.dm
@@ -232,7 +232,7 @@
/obj/effect/proc_holder/horror
active = FALSE
- ranged_mousepointer = 'icons/effects/cult_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi'
var/datum/action/innate/cult/blood_spell/attached_action
/obj/effect/proc_holder/horror/Destroy()
diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm
index 03fe9b2c429..f1f4b77a739 100644
--- a/code/modules/antagonists/cult/cult_comms.dm
+++ b/code/modules/antagonists/cult/cult_comms.dm
@@ -239,7 +239,7 @@
/obj/effect/proc_holder/cultmark
active = FALSE
- ranged_mousepointer = 'icons/effects/cult_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi'
var/datum/action/innate/cult/master/cultmark/attached_action
/obj/effect/proc_holder/cultmark/Destroy()
@@ -272,7 +272,7 @@
var/area/A = get_area(target)
attached_action.cooldown = world.time + attached_action.base_cooldown
addtimer(CALLBACK(attached_action.owner, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown)
- C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
+ C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
C.cult_team.blood_target_image.appearance_flags = RESET_COLOR
C.cult_team.blood_target_image.pixel_x = -target.pixel_x
C.cult_team.blood_target_image.pixel_y = -target.pixel_y
@@ -351,7 +351,7 @@
var/area/A = get_area(target)
cooldown = world.time + base_cooldown
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown)
- C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
+ C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
C.cult_team.blood_target_image.appearance_flags = RESET_COLOR
C.cult_team.blood_target_image.pixel_x = -target.pixel_x
C.cult_team.blood_target_image.pixel_y = -target.pixel_y
@@ -412,7 +412,7 @@
/obj/effect/proc_holder/pulse
active = FALSE
- ranged_mousepointer = 'icons/effects/throw_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/throw_target.dmi'
var/datum/action/innate/cult/master/pulse/attached_action
/obj/effect/proc_holder/pulse/Destroy()
diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
index 16e939058cd..d07060b7673 100644
--- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
+++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
@@ -383,7 +383,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module))
/obj/effect/proc_holder/ranged_ai/override_machine
active = FALSE
- ranged_mousepointer = 'icons/effects/override_machine_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/override_machine_target.dmi'
enable_text = "You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel."
disable_text = "You release your hold on the powernet."
@@ -466,7 +466,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module))
/obj/effect/proc_holder/ranged_ai/overload_machine
active = FALSE
- ranged_mousepointer = 'icons/effects/overload_machine_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/overload_machine_target.dmi'
enable_text = "You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel."
disable_text = "You release your hold on the powernet."
diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm
index c557a207b99..52310187939 100644
--- a/code/modules/cargo/centcom_podlauncher.dm
+++ b/code/modules/cargo/centcom_podlauncher.dm
@@ -445,8 +445,8 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm
/datum/centcom_podlauncher/proc/updateCursor(var/launching) //Update the moues of the user
if (holder) //Check to see if we have a client
if (launching) //If the launching param is true, we give the user new mouse icons.
- holder.mouse_up_icon = 'icons/effects/supplypod_target.dmi' //Icon for when mouse is released
- holder.mouse_down_icon = 'icons/effects/supplypod_down_target.dmi' //Icon for when mouse is pressed
+ holder.mouse_up_icon = 'icons/effects/mouse_pointers/supplypod_target.dmi' //Icon for when mouse is released
+ holder.mouse_down_icon = 'icons/effects/mouse_pointers/supplypod_down_target.dmi' //Icon for when mouse is pressed
holder.mouse_pointer_icon = holder.mouse_up_icon //Icon for idle mouse (same as icon for when released)
holder.click_intercept = src //Create a click_intercept so we know where the user is clicking
else
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index c22a22c979e..4ffc83005eb 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -389,7 +389,7 @@
active = FALSE
datum/action/spell_action/action = null
desc = "Wrap something or someone in a cocoon. If it's a living being, you'll also consume them, allowing you to lay eggs."
- ranged_mousepointer = 'icons/effects/wrap_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/wrap_target.dmi'
action_icon = 'icons/mob/actions/actions_animal.dmi'
action_icon_state = "wrap_0"
action_background_icon_state = "bg_alien"
diff --git a/code/modules/spells/spell_types/blind.dm b/code/modules/spells/spell_types/blind.dm
index 387bcbd80ce..aaccefc745d 100644
--- a/code/modules/spells/spell_types/blind.dm
+++ b/code/modules/spells/spell_types/blind.dm
@@ -9,7 +9,7 @@
message = "Your eyes cry out in pain!"
cooldown_min = 50 //12 deciseconds reduction per rank
starting_spells = list("/obj/effect/proc_holder/spell/targeted/inflict_handler/blind", "/obj/effect/proc_holder/spell/targeted/genetic/blind")
- ranged_mousepointer = 'icons/effects/blind_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/blind_target.dmi'
action_icon_state = "blind"
active_msg = "You prepare to blind a target..."
diff --git a/code/modules/spells/spell_types/mind_transfer.dm b/code/modules/spells/spell_types/mind_transfer.dm
index c14f5d83b44..723fdb20b4f 100644
--- a/code/modules/spells/spell_types/mind_transfer.dm
+++ b/code/modules/spells/spell_types/mind_transfer.dm
@@ -8,7 +8,7 @@
invocation_type = "whisper"
range = 1
cooldown_min = 200 //100 deciseconds reduction per rank
- ranged_mousepointer = 'icons/effects/mindswap_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/mindswap_target.dmi'
action_icon_state = "mindswap"
active_msg = "You prepare to swap minds with a target..."
/// For how long is the caster stunned for after the spell
diff --git a/code/modules/spells/spell_types/pointed.dm b/code/modules/spells/spell_types/pointed.dm
index 75060b78491..bb1608c5902 100644
--- a/code/modules/spells/spell_types/pointed.dm
+++ b/code/modules/spells/spell_types/pointed.dm
@@ -1,6 +1,6 @@
/obj/effect/proc_holder/spell/pointed
name = "pointed spell"
- ranged_mousepointer = 'icons/effects/throw_target.dmi'
+ ranged_mousepointer = 'icons/effects/mouse_pointers/throw_target.dmi'
action_icon_state = "projectile"
/// Message showing to the spell owner upon deactivating pointed spell.
var/deactive_msg = "You dispel the magic..."
diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm
index 4b9cb9b64bc..136258fe9c0 100644
--- a/code/modules/vehicles/cars/clowncar.dm
+++ b/code/modules/vehicles/cars/clowncar.dm
@@ -173,7 +173,7 @@
/obj/vehicle/sealed/car/clowncar/proc/EnterCannonMode()
- mouse_pointer = 'icons/mecha/mecha_mouse.dmi'
+ mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi'
cannonmode = TRUE
cannonbusy = FALSE
for(var/mob/living/L in return_controllers_with_flag(VEHICLE_CONTROL_DRIVE))
diff --git a/icons/effects/blind_target.dmi b/icons/effects/blind_target.dmi
deleted file mode 100644
index 792d90dfbbb89c727406cd2ff56346cf5f23f1ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 366
zcmeAS@N?(olHy`uVBq!ia0vp^2|(!VDzErSffolxToYi0gp^2VT5*@&EsS6$Ql|
z!opd?!axz{Os_zo0>+XczhDN3XE)M-oa(BOh!U67;^d;tf|AVqJO+k}Il*BCMWx@r
z1Q&e#`b5iHSL@uF^T8WJ4K5l#c%*aQNAn~@QBUs<3*#W;%f?;`a~@4PGATqM*t4_S
zSatIXi4!JI9{Ff{o$+nm@Q_QWxQJubN%mV_0fAnDNmhbgpSTM&gTe~F7Bf~0F&q(e
zI6dd*<*PtvGh(Z3>e#>|{+2
z+|_vGq%xmRNV=-0C=38%drl^AQVR7nfnxf+O;vFc4RR$hM|2260nd|Y2c=P{SKNq%XZH2
zwYU!tGeM7rHlIsOZz$YOXA*mK9H4N$kO)4`fj?8&vWG%rm!%=$VlGgSB%ay6{I^5m
zvL=Rt>^s?a^2cgS+I+5YF59`zrS%WjVwg1aXy^cPd|8VhZ}r_FH6#s?oOaILg};&*SuE&_2Fwk^0I7h|wR?U9EBak*5uO{2
z{qztTN8NVLy~7WdF|>1}CH>6^2rsT#*uof^JJFi{Y6NKRl>ckQJ3!G^jBinYH3CZR
zlu|VRoJIZ36m&)>O6Fi|`g{%mLj%BU(op5lQ>S4exoN#qzrLtN7d
z%lcv#wCqHr)2b{W7DJnbSkcdJ$Q*I3qh>>-b^T}>8VX08RHb23jFQf`t}hxe2N3ew
z-`MqIKXuv|8Z781&xR%%W}o;JF>2a2qtE96Fv%&1oX@V~=`Aq~15}^&0bsZWfMIjS`;uMfD~
z2$+#hC200^b1^ia^*;sc1HkY(0F3$i0Q4I02LaTbmQ1l{cK`qY07*qoM6N<$f{kKG
AMgRZ+
diff --git a/icons/effects/mouse_pointers/blind_target.dmi b/icons/effects/mouse_pointers/blind_target.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..1d33fc7a4c2bde7292dc10f27fd82050d8c719dc
GIT binary patch
literal 358
zcmeAS@N?(olHy`uVBq!ia0vp^2|(!VDzErSffolu&?Ai0gp^2VT5*p`xI;Ls&RV
zSQyCVeOMO;lw~Xl@(X5gcy=QV$f>Rhi70VNElw`VEGWs$&tqVym=hdUP*nQ;OK`!*
zuTQkRb+yi&IUl?s)Zn7=gGV~&eKb!p6!rA(urLlXzHIEJFz3;vBa=cDf;~ICja4_V
zkT_xTf#ovew0
zL(-(1Gb%u=h9AfD_*6c;Ty&7tm$42g($f^!z$>70@8z1tgpYptye?C&eYxfklj)nz
w%X4JvwUTQG99%MO1*AN5)@H6x6nVhHARX+qucGd&GSC?ep00i_>zopr05%SXiU0rr
literal 0
HcmV?d00001
diff --git a/icons/effects/cult_target.dmi b/icons/effects/mouse_pointers/cult_target.dmi
similarity index 100%
rename from icons/effects/cult_target.dmi
rename to icons/effects/mouse_pointers/cult_target.dmi
diff --git a/icons/mecha/mecha_mouse-disable.dmi b/icons/effects/mouse_pointers/mecha_mouse-disable.dmi
similarity index 100%
rename from icons/mecha/mecha_mouse-disable.dmi
rename to icons/effects/mouse_pointers/mecha_mouse-disable.dmi
diff --git a/icons/mecha/mecha_mouse.dmi b/icons/effects/mouse_pointers/mecha_mouse.dmi
similarity index 100%
rename from icons/mecha/mecha_mouse.dmi
rename to icons/effects/mouse_pointers/mecha_mouse.dmi
diff --git a/icons/effects/mindswap_target.dmi b/icons/effects/mouse_pointers/mindswap_target.dmi
similarity index 100%
rename from icons/effects/mindswap_target.dmi
rename to icons/effects/mouse_pointers/mindswap_target.dmi
diff --git a/icons/effects/overload_machine_target.dmi b/icons/effects/mouse_pointers/overload_machine_target.dmi
similarity index 100%
rename from icons/effects/overload_machine_target.dmi
rename to icons/effects/mouse_pointers/overload_machine_target.dmi
diff --git a/icons/effects/override_machine_target.dmi b/icons/effects/mouse_pointers/override_machine_target.dmi
similarity index 100%
rename from icons/effects/override_machine_target.dmi
rename to icons/effects/mouse_pointers/override_machine_target.dmi
diff --git a/icons/effects/supplypod_down_target.dmi b/icons/effects/mouse_pointers/supplypod_down_target.dmi
similarity index 100%
rename from icons/effects/supplypod_down_target.dmi
rename to icons/effects/mouse_pointers/supplypod_down_target.dmi
diff --git a/icons/effects/supplypod_target.dmi b/icons/effects/mouse_pointers/supplypod_target.dmi
similarity index 100%
rename from icons/effects/supplypod_target.dmi
rename to icons/effects/mouse_pointers/supplypod_target.dmi
diff --git a/icons/effects/throw_target.dmi b/icons/effects/mouse_pointers/throw_target.dmi
similarity index 100%
rename from icons/effects/throw_target.dmi
rename to icons/effects/mouse_pointers/throw_target.dmi
diff --git a/icons/effects/wrap_target.dmi b/icons/effects/mouse_pointers/wrap_target.dmi
similarity index 100%
rename from icons/effects/wrap_target.dmi
rename to icons/effects/mouse_pointers/wrap_target.dmi
diff --git a/icons/effects/vanguard_target.dmi b/icons/effects/vanguard_target.dmi
deleted file mode 100644
index 5220c325e53882388d9df01c630bf2b1fb34e2b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 412
zcmeAS@N?(olHy`uVBq!ia0vp^2|(!VDzErSffolxToYi0gp^2R>dY{(7hB+On{#
z%R+xW=>duyH}5S5Dqt)L@(X5gcy=QV$mysGi70VNElw`VEGWs$&tqVym=hdUP*nQ;
zOK`!*uTQkRb+yi&IUl?s)Zn7=gGV~&eKb!p6!rA(urLlXzHIEJFz3;vBa=cDf;A1*
z-8;LDRX4AYIAQ$ck&m|58Q<1T#-F^qxIZ~s@%WZHa4hVVvHj_=ed1#Mr5c8FZEAnA
zs=NT&^|hF>U6G-vCUWN5q>>LnH!bvZaSZY3d>eX__pkxaVz&ih8`wO|P6*wtpSo=Q
zGY191m7iDsT%34og3qY~@`u%XrDq=rZ8W{~T%&lx+4NsQPaiB_^0uwzHBMZ8thf7#D@qk41gUuG8D%goH-0edI!{ycBNgblWrc;>U*
xoU%jLL;bGcOC8&|34X7Sv!du|`6&NKBA=_*kV=-0C=38%drl^AQVR7nfnxf+O;vFc4RR$hM|2260nd|Y2c=P{SKNq%XZH2
zwYU!tGeM7rHlIsOZz$YOXA*mK9H4N$kO)4`fj?8&vWG%rm!%=$VlGgSB%ay6{I^5m
zvL=Rt>^s?a^2cgS+I+5YF59`zrS%WjVwg1aXy^cPd|8O8#XqXvf)GO`27839QinrACoz!R-@??fLnmgY8yGwBw=`iuIw5gGrQ41%9*`Ii
zV!0t5>Y$V)U~=JJYk$89p~TPRk=TCDR||rG7#tta9dI2s01O)dh7ADovCK(d{au{*
z{g0qgds}zh)32G%f*yR47F7j@iR8ogKvjA%Y}Ge1AoRUBE$RiKEI2Mocg73CN-l!U
z`ezN;e)|*?k!nshxuPe|i-<@xC!0521l#pb4#J7^a@!HQL1S^b?Fb@Lx{Xq}pkHW!
ze&(s>WFw>Ii;~-pXbgL2JJA^SBDw8|sQHroYt+&6(+F4eji#YVL)~`$WG5QKUes;Z
z1(mpEUDY>U2kfQ`xm@j4w_O*5v6tz@VC+TRc3mu2d$pS`D*N%a>*pGv=eg>5wAT%*
zT7UglCkA6Ls`b}`h%(~34OKLEc3uDCh1hHq%0$rn`T0*L`fCx-TWU7SpPp5TZTh96
z2rZJ#mz6ke&l)2AtU_l<~Z!h$u5p)@_JOl0ujCjqiYDk+EFu
za|fK+C_K!QO;(JTVynK90ZFiQZjq5JR*2}L?8IgLlWAz^d-3h8gQN9&g|fT<47g21o=VAudKYyg;2uO`}r@B2`F
zz5~Fp0btkwFl+!At`7iXY(P4UY8Ql24?Z1^xn>xK(7zVW$I<9%sPh{#Xal%D01Vd$
zfZ_T8FkBx1hU){saD4z6t`7jiSr8bm4*QastAw*4
iFl+!AHUJD80OmJWpEsZ_NP*J;0000V=-0C=38%drl^AQVR7nfnxf+O;vFc4RR$hM|2260nd|Y2c=P{SKNq%XZH2
zwYU!tGeM7rHlIsOZz$YOXA*mK9H4N$kO)4`fj?8&vWG%rm!%=$VlGgSB%ay6{I^5m
zvL=Rt>^s?a^2cgS+I+5YF59`zrS%WjVwg1aXy^cPd|8
zYvV=~$Dibh6k?}|UB`+E4LHqGWxM0{kcGnHV)oLWyaZb4r6u%#Fol9ofk4Q)|G@6C
zhtTxWTg|2{Z0ke2QyK-jb;-6ka?HjdHbjbS_27)FWUW}vuL(Qzz1gznGvoJWq&M@P
zR4f)jh@E5r089$`>jrz7Jo6K}r?*z3uHD!h)Eh7<E7H
zi>$4?R-+!IBNQyDk#Q9-MeYaVAY5!SV4>|~*_&p5(0Fd5VSstGM{EOlDKb>+a
z#Bxld)^6_Z+nYap*Q+BGtjvA!Un6nL?V5m6^=jD2Y`70H;DMi>$4?
zc4Kdl!SloqEiNwhyinEdKhew|@5y6Rx6tIfZ*(9Ul1E~i9G-YfRwJ5wbZARzBsw%b
z|KZR~<^yFWbBn?O0PN?FP3J}FDY;!(8uSm~h3`8906JdKZtm_o6%wZnd%Yo)Fj4>j
zbh>%(bt=SaH+T2X<9$5weV+kT>8+LJq3QXIiWlylhWP1t>iu%GUD_CQ?d6RxpLG$S
z;{}ds5XUrXK|Af3M$It|auM(2h2PfzG&pHhH_J|iSbgCYVzsK9<$gg=P`&Q_z6R(v
z9MB7>^@Fy{J3p`igsw(`4S+NqBTbJ7_+1=nI=)!9_~G|80NqRqCFW8=-U3h(tD(eP
z>asVpURQo!14v3F8r1sTP8@rIq(q`Y@8Om28wmq+tgqh5eWvOk-RTu**v}uE&dwhP
z;I>tHRO<$HG-3p#B;I`XO}MJve-gCwyz$SBge4^smBSNbUO3&DYE?JO^l9I!>ew-j
zls6(oNvt}iF?JCzTDKeF{q@s^v-A5?*KX8ZyHRhw{Clfi
z|EKCUYmPh;)4JZ^w$-EUpEnaPzP~-F7xKdQodJ>(iK=)Zhmu(JZpR*Nmp1&iV~?yx
zT?)rzj%jqaV^zG6J1jkVILP36;)??r#{5?dKwrD)yR4tZgA77aBGIAg`RW*0si0G^}Eg^
zUn&-hfJq^L)j5%;;(j}t^%BH=eE@3%i24A=@-+a#ORMRvm1V~?YAA`P06GWF0B|>y
zFjC$_X{6~ml$bklC=Jj_({rsx{X7po*8J;|s1IN)?&||sKLbR40Aq>z0LBva0gNT;
z0~kxx2QZeX4`3`&AHY~=24a{L^2&RkJn)A1RCIp^;MG8gMyyge9>c#C2HwfMDg5h@
zs1IN)UjtxL$V;P>