From 64c4883cc2f573a3376d13ccfe98f8f433e85ab6 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 28 Nov 2017 21:10:59 -0500 Subject: [PATCH 1/4] paths --- code/__DEFINES/hud.dm | 30 +++-- code/_globalvars/lists/mobs.dm | 1 + code/datums/hud.dm | 16 ++- code/game/data_huds.dm | 6 + .../gamemodes/miniantags/bot_swarm/swarmer.dm | 2 + code/game/mecha/mecha.dm | 4 +- code/modules/mob/living/silicon/silicon.dm | 6 +- .../mob/living/simple_animal/bot/bot.dm | 115 +++++++++++++++--- .../mob/living/simple_animal/bot/cleanbot.dm | 2 + .../mob/living/simple_animal/bot/ed209bot.dm | 1 + .../mob/living/simple_animal/bot/floorbot.dm | 1 + .../mob/living/simple_animal/bot/medbot.dm | 1 + .../mob/living/simple_animal/bot/mulebot.dm | 8 +- .../mob/living/simple_animal/bot/secbot.dm | 1 + code/modules/mob/mob.dm | 9 +- icons/obj/aibots.dmi | Bin 53904 -> 53322 bytes 16 files changed, 164 insertions(+), 39 deletions(-) diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index 4126fe1725f..29392997893 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -26,6 +26,11 @@ #define PLANT_PEST_HUD "21"// Pest level #define PLANT_WEED_HUD "22"// Weed level #define DIAG_TRACK_HUD "23"// Mech tracking beacon +#define DIAG_PATH_HUD "24"//Bot path indicators + +//by default everything in the hud_list of an atom is an image +//a value in hud_list with one of these will change that behavior +#define HUD_LIST_LIST 1 //data HUD (medhud, sechud) defines //Don't forget to update human/New() if you change these! @@ -34,20 +39,21 @@ #define DATA_HUD_MEDICAL_BASIC 3 #define DATA_HUD_MEDICAL_ADVANCED 4 #define DATA_HUD_DIAGNOSTIC 5 -#define DATA_HUD_HYDROPONIC 6 +#define DATA_HUD_DIAGNOSTIC_ADVANCED 6 +#define DATA_HUD_HYDROPONIC 7 //NATIONS -#define GAME_HUD_NATIONS 7 +#define GAME_HUD_NATIONS 8 //antag HUD defines -#define ANTAG_HUD_CULT 8 -#define ANTAG_HUD_REV 9 -#define ANTAG_HUD_OPS 10 -#define ANTAG_HUD_WIZ 11 -#define ANTAG_HUD_SHADOW 12 -#define ANTAG_HUD_TRAITOR 13 -#define ANTAG_HUD_NINJA 14 //For Daves Rework -#define ANTAG_HUD_CHANGELING 15 -#define ANTAG_HUD_VAMPIRE 16 -#define ANTAG_HUD_ABDUCTOR 17 //For Fox +#define ANTAG_HUD_CULT 9 +#define ANTAG_HUD_REV 10 +#define ANTAG_HUD_OPS 11 +#define ANTAG_HUD_WIZ 12 +#define ANTAG_HUD_SHADOW 13 +#define ANTAG_HUD_TRAITOR 14 +#define ANTAG_HUD_NINJA 15 +#define ANTAG_HUD_CHANGELING 16 +#define ANTAG_HUD_VAMPIRE 17 +#define ANTAG_HUD_ABDUCTOR 18 // Notification action types #define NOTIFY_JUMP "jump" diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 644740c9e20..28ebfca6b1b 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -25,6 +25,7 @@ var/global/list/respawnable_list = list() //List of all mobs, dead or in mindl var/global/list/non_respawnable_keys = list() //List of ckeys that are excluded from respawning for remainder of round. var/global/list/simple_animal_list = list() //List of all simple animals, including clientless var/global/list/snpc_list = list() //List of all snpc's, including clientless +var/global/list/bots_list = list() //List of all bots(beepsky, medibots,etc) var/global/list/med_hud_users = list() var/global/list/sec_hud_users = list() diff --git a/code/datums/hud.dm b/code/datums/hud.dm index c29b5daf5b3..04ebcc68ed5 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -1,4 +1,5 @@ /* HUD DATUMS */ +var/global/list/all_huds = list() ///GLOBAL HUD LIST var/datum/atom_hud/huds = list( \ @@ -7,6 +8,7 @@ var/datum/atom_hud/huds = list( \ DATA_HUD_MEDICAL_BASIC = new/datum/atom_hud/data/human/medical/basic(), \ DATA_HUD_MEDICAL_ADVANCED = new/datum/atom_hud/data/human/medical/advanced(), \ DATA_HUD_DIAGNOSTIC = new/datum/atom_hud/data/diagnostic(), \ + DATA_HUD_DIAGNOSTIC_ADVANCED = new/datum/atom_hud/data/diagnostic/advanced(), \ DATA_HUD_HYDROPONIC = new/datum/atom_hud/data/hydroponic(), \ GAME_HUD_NATIONS = new/datum/atom_hud/antag(), \ ANTAG_HUD_CULT = new/datum/atom_hud/antag(), \ @@ -26,6 +28,18 @@ var/datum/atom_hud/huds = list( \ var/list/mob/hudusers = list() //list with all mobs who can see the hud var/list/hud_icons = list() //these will be the indexes for the atom's hud_list + +/datum/atom_hud/New() + all_huds += src + +/datum/atom_hud/Destroy() + for(var/v in hudusers) + remove_hud_from(v) + for(var/v in hudatoms) + remove_from_hud(v) + all_huds -= src + return ..() + /datum/atom_hud/proc/remove_hud_from(mob/M) if(!M) return @@ -82,7 +96,7 @@ var/datum/atom_hud/huds = list( \ serv_huds += serv.thrallhud - for(var/datum/atom_hud/hud in (huds|serv_huds))//|gang_huds)) + for(var/datum/atom_hud/hud in (all_huds|serv_huds))//|gang_huds)) if(src in hud.hudusers) hud.add_hud_to(src) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 604e92a47e0..5874a794c9a 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -46,6 +46,12 @@ /datum/atom_hud/data/diagnostic hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD) +/datum/atom_hud/data/diagnostic/advanced + hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD, DIAG_PATH_HUD) + +/datum/atom_hud/data/bot_path + hud_icons = list(DIAG_PATH_HUD) + /datum/atom_hud/data/hydroponic hud_icons = list (PLANT_NUTRIENT_HUD, PLANT_WATER_HUD, PLANT_STATUS_HUD, PLANT_HEALTH_HUD, PLANT_TOXIN_HUD, PLANT_PEST_HUD, PLANT_WEED_HUD) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index d7fa1b4c9f2..9f39ca418ea 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -127,6 +127,8 @@ ..() add_language("Swarmer", 1) verbs -= /mob/living/verb/pulled + for(var/datum/atom_hud/data/diagnostic/diag_hud in huds) + diag_hud.add_to_hud(src) updatename() /mob/living/simple_animal/hostile/swarmer/Stat() diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 2f2772774a3..2f3f328ea58 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -98,8 +98,8 @@ log_message("[src] created.") mechas_list += src //global mech list prepare_huds() - var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in huds) + diag_hud.add_to_hud(src) diag_hud_set_mechhealth() diag_hud_set_mechcell() diag_hud_set_mechstat() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 74daf90fa4e..7e986f2f434 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -30,7 +30,7 @@ var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use - var/d_hud = DATA_HUD_DIAGNOSTIC //There is only one kind of diag hud + var/d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED //There is only one kind of diag hud var/obj/item/device/radio/common_radio @@ -232,8 +232,8 @@ medsensor.add_hud_to(src) /mob/living/silicon/proc/add_diag_hud() - var/datum/atom_hud/diagsensor = huds[d_hud] - diagsensor.add_hud_to(src) + for(var/datum/atom_hud/data/diagnostic/diagsensor in huds) + diagsensor.add_hud_to(src) /mob/living/silicon/proc/toggle_sensor_mode() diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 09a7a124783..479f727d9e6 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -47,7 +47,7 @@ var/frustration = 0 //Used by some bots for tracking failures to reach their target. var/base_speed = 2 //The speed at which the bot moves, or the number of times it moves per process() tick. var/turf/ai_waypoint //The end point of a bot's path, or the target location. - var/list/path = list() //List of turfs through which a bot 'steps' to reach the waypoint. + var/list/path = list() //List of turfs through which a bot 'steps' to reach the waypoint, associated with the path image, if there is one. var/pathset = 0 var/list/ignore_list = list() //List of unreachable targets for an ignore-list enabled bot to ignore. var/mode = BOT_IDLE //Standardizes the vars that indicate the bot is busy with its function. @@ -82,7 +82,13 @@ "Responding", "Navigating to Delivery Location", "Navigating to Home", \ "Waiting for clear path", "Calculating navigation path", "Pinging beacon network", "Unable to reach destination") - hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD) //Diagnostic HUD views + var/datum/atom_hud/data/bot_path/path_hud = new /datum/atom_hud/data/bot_path() + var/path_image_icon = 'icons/obj/aibots.dmi' + var/path_image_icon_state = "path_indicator" + var/path_image_color = "#FFFFFF" + var/reset_access_timer_id + + hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_PATH_HUD = HUD_LIST_LIST)//Diagnostic HUD views /obj/item/device/radio/headset/bot subspace_transmission = 1 @@ -130,6 +136,7 @@ /mob/living/simple_animal/bot/New() ..() + bots_list += src icon_living = icon_state icon_dead = icon_state access_card = new /obj/item/weapon/card/id(src) @@ -151,14 +158,17 @@ radio_controller.add_object(bot_core, control_freq, bot_filter) prepare_huds() - var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in huds) + diag_hud.add_to_hud(src) + diag_hud.add_hud_to(src) + permanent_huds |= diag_hud diag_hud_set_bothealth() diag_hud_set_botstat() diag_hud_set_botmode() // give us the hud too! - diag_hud.add_hud_to(src) - permanent_huds |= diag_hud + if(path_hud) + path_hud.add_to_hud(src) + path_hud.add_hud_to(src) /mob/living/simple_animal/bot/update_canmove(delay_action_updates = 0) . = ..() @@ -169,6 +179,10 @@ /mob/living/simple_animal/bot/Destroy() if(paicard) ejectpai() + if(path_hud) + QDEL_NULL(path_hud) + path_hud = null + bots_list -= src QDEL_NULL(Radio) QDEL_NULL(access_card) if(radio_controller && bot_filter) @@ -446,14 +460,14 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/proc/bot_move(dest, move_speed) if(!dest || !path || path.len == 0) //A-star failed or a path/destination was not set. - path = list() + set_path(null) return 0 dest = get_turf(dest) //We must always compare turfs, so get the turf of the dest var if dest was originally something else. var/turf/last_node = get_turf(path[path.len]) //This is the turf at the end of the path, it should be equal to dest. if(get_turf(src) == dest) //We have arrived, no need to move again. return 1 else if(dest != last_node) //The path should lead us to our given destination. If this is not true, we must stop. - path = list() + set_path(null) return 0 var/step_count = move_speed ? move_speed : base_speed //If a value is passed into move_speed, use that instead of the default speed var. @@ -472,14 +486,14 @@ Pass a positive integer as an argument to override a bot's default speed. if(path.len > 1) step_towards(src, path[1]) if(get_turf(src) == path[1]) //Successful move - path -= path[1] + increment_path() tries = 0 else tries++ return 0 else if(path.len == 1) step_to(src, dest) - path = list() + set_path(null) return 1 @@ -496,7 +510,7 @@ Pass a positive integer as an argument to override a bot's default speed. var/datum/job/captain/All = new/datum/job/captain all_access.access = All.get_access() - path = get_path_to(src, waypoint, /turf/proc/Distance_cardinal, 0, 200, id=all_access) + set_path(get_path_to(src, waypoint, /turf/proc/Distance_cardinal, 0, 200, id=all_access)) calling_ai = caller //Link the AI to the bot! ai_waypoint = waypoint @@ -504,6 +518,9 @@ Pass a positive integer as an argument to override a bot's default speed. if(!on) turn_on() //Saves the AI the hassle of having to activate a bot manually. access_card = all_access //Give the bot all-access while under the AI's command. + if(client) + reset_access_timer_id = addtimer(src, "bot_reset", 600) //if the bot is player controlled, they get the extra access for a limited time + to_chat(src, "Priority waypoint set by [calling_ai] [caller]. Proceed to [end_area.name].
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.
") if(message) to_chat(calling_ai, "[bicon(src)] [name] called to [end_area.name]. [path.len-1] meters to destination.") pathset = 1 @@ -513,7 +530,7 @@ Pass a positive integer as an argument to override a bot's default speed. if(message) to_chat(calling_ai, "Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.") calling_ai = null - path = list() + set_path(null) /mob/living/simple_animal/bot/proc/call_mode() //Handles preparing a bot for a call, as well as calling the move proc. //Handles the bot's movement during a call. @@ -528,7 +545,10 @@ Pass a positive integer as an argument to override a bot's default speed. if(calling_ai) //Simple notification to the AI if it called a bot. It will not know the cause or identity of the bot. to_chat(calling_ai, "Call command to a bot has been reset.") calling_ai = null - path = list() + if(reset_access_timer_id) + deltimer(reset_access_timer_id) + reset_access_timer_id = null + set_path(null) summon_target = null pathset = 0 access_card.access = prev_access @@ -593,7 +613,7 @@ Pass a positive integer as an argument to override a bot's default speed. else if(path.len > 0 && patrol_target) // valid path var/turf/next = path[1] if(next == loc) - path -= next + increment_path() return @@ -749,12 +769,12 @@ Pass a positive integer as an argument to override a bot's default speed. // given an optional turf to avoid /mob/living/simple_animal/bot/proc/calc_path(turf/avoid) check_bot_access() - path = get_path_to(src, patrol_target, /turf/proc/Distance_cardinal, 0, 120, id=access_card, exclude=avoid) + set_path(get_path_to(src, patrol_target, /turf/proc/Distance_cardinal, 0, 120, id=access_card, exclude=avoid)) /mob/living/simple_animal/bot/proc/calc_summon_path(turf/avoid) check_bot_access() spawn() - path = get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid) + set_path(get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid)) if(!path.len) //Cannot reach target. Give up and announce the issue. speak("Summon command failed, destination unreachable.",radio_channel) bot_reset() @@ -771,7 +791,7 @@ Pass a positive integer as an argument to override a bot's default speed. else if(path.len > 0 && summon_target) //Proper path acquired! var/turf/next = path[1] if(next == loc) - path -= next + increment_path() return var/moved = bot_move(summon_target, 3) // Move attempt @@ -1015,3 +1035,64 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/is_mechanical() return 1 + +/mob/living/simple_animal/bot/proc/set_path(list/newpath) + path = newpath ? newpath : list() + if(!path_hud) + return + var/list/path_huds_watching_me = list(huds[DATA_HUD_DIAGNOSTIC_ADVANCED]) + if(path_hud) + path_huds_watching_me += path_hud + for(var/V in path_huds_watching_me) + var/datum/atom_hud/H = V + H.remove_from_hud(src) + + var/list/path_images = hud_list[DIAG_PATH_HUD] + QDEL_LIST(path_images) + if(newpath) + for(var/i in 1 to newpath.len) + var/turf/T = newpath[i] + var/direction = NORTH + if(i > 1) + var/turf/prevT = path[i - 1] + var/image/prevI = path[prevT] + direction = get_dir(prevT, T) + if(i > 2) + var/turf/prevprevT = path[i - 2] + var/prevDir = get_dir(prevprevT, prevT) + var/mixDir = direction|prevDir + if(mixDir in diagonals) + prevI.dir = mixDir + if(prevDir & (NORTH|SOUTH)) + var/matrix/ntransform = matrix() + ntransform.Turn(90) + if((mixDir == NORTHWEST) || (mixDir == SOUTHEAST)) + ntransform.Scale(-1, 1) + else + ntransform.Scale(1, -1) + prevI.transform = ntransform + var/mutable_appearance/MA = new /mutable_appearance() + MA.icon = path_image_icon + MA.icon_state = path_image_icon_state + MA.layer = ABOVE_OPEN_TURF_LAYER + MA.plane = 0 + MA.appearance_flags = RESET_COLOR|RESET_TRANSFORM + MA.color = path_image_color + MA.dir = direction + var/image/I = image(loc = T) + I.appearance = MA + path[T] = I + path_images += I + + for(var/V in path_huds_watching_me) + var/datum/atom_hud/H = V + H.add_to_hud(src) + + +/mob/living/simple_animal/bot/proc/increment_path() + if(!path || !path.len) + return + var/image/I = path[path[1]] + if(I) + I.icon = null + path.Cut(1, 2) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 58911c4316b..9cfc4da18eb 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -17,6 +17,8 @@ window_id = "autoclean" window_name = "Automatic Station Cleaner v1.1" pass_flags = PASSMOB + path_image_color = "#993299" + var/blood = 1 var/list/target_types = list() diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index c577722fe43..8a7ccfa37a5 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -20,6 +20,7 @@ bot_core = /obj/machinery/bot_core/secbot window_id = "autoed209" window_name = "Automatic Security Unit v2.6" + path_image_color = "#FF0000" var/lastfired = 0 var/shot_delay = 3 //.3 seconds between shots diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 40a2b1f1631..8144cd84bd6 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -17,6 +17,7 @@ bot_core = /obj/machinery/bot_core/floorbot window_id = "autofloor" window_name = "Automatic Station Floor Repairer v1.1" + path_image_color = "#FFA500" var/process_type //Determines what to do when process_scan() recieves a target. See process_scan() for details. var/targetdirection diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index c4952b09a34..ac48445e32c 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -19,6 +19,7 @@ bot_core_type = /obj/machinery/bot_core/medbot window_id = "automed" window_name = "Automatic Medical Unit v1.1" + path_image_color = "#DDDDFF" var/obj/item/weapon/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents. var/skin = null //Set to "tox", "ointment" or "o2" for the other two firstaid kits. diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 6130213df27..380b301861e 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -26,6 +26,8 @@ model = "MULE" bot_purpose = "deliver crates and other packages between departments, as requested" bot_core_type = /obj/machinery/bot_core/mulebot + path_image_color = "#7F5200" + suffix = "" @@ -502,7 +504,7 @@ var/turf/next = path[1] reached_target = 0 if(next == loc) - path -= next + increment_path() return if(istype(next, /turf/simulated)) // to_chat(world, "at ([x],[y]) moving to ([next.x],[next.y])") @@ -513,7 +515,7 @@ if(moved && oldloc!=loc) // successful move // to_chat(world, "Successful move.") blockcount = 0 - path -= loc + increment_path() if(destination == home_destination) mode = BOT_GO_HOME @@ -570,7 +572,7 @@ // given an optional turf to avoid /mob/living/simple_animal/bot/mulebot/calc_path(turf/avoid = null) check_bot_access() - path = get_path_to(src, target, /turf/proc/Distance_cardinal, 0, 250, id=access_card, exclude=avoid) + set_path(get_path_to(src, target, /turf/proc/Distance_cardinal, 0, 250, id=access_card, exclude=avoid)) // sets the current destination // signals all beacons matching the delivery code diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 9c04e47521a..2a06bb488cf 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -18,6 +18,7 @@ bot_core_type = /obj/machinery/bot_core/secbot window_id = "autosec" window_name = "Automatic Security Unit v1.6" + path_image_color = "#FF0000" var/base_icon = "secbot" var/mob/living/carbon/target diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index aa4fb41ca08..a98540b0a2d 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -34,8 +34,15 @@ ..() /atom/proc/prepare_huds() + hud_list = list() for(var/hud in hud_possible) - hud_list[hud] = image('icons/mob/hud.dmi', src, "") + var/hint = hud_possible[hud] + switch(hint) + if(HUD_LIST_LIST) + hud_list[hud] = list() + else + var/image/I = image('icons/mob/hud.dmi', src, "") + hud_list[hud] = I /mob/proc/generate_name() return name diff --git a/icons/obj/aibots.dmi b/icons/obj/aibots.dmi index b6e60dab2dc63a64045ff980b03f97a0ec76640f..b564c3a59e17cb187b2a5f7b6fc076ca0568983c 100644 GIT binary patch literal 53322 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:iG)X-$GA8j^R)p4YhqLGe%H74|Ki+ak#boXd^VAguoMVsQW(+vb#ct_u zLS#Quo|Gm~t~nz)HX%Supk59#V0il}#?T1V^F|05kzjrFdAm7!-^?01k5Ec0N)-zU z!PS@g#$P7`*kAiozedT z6EGvW+p*yB>Pbq;$afu~`K7z6|g0Dnw1si@ii-;)o1EW& znuNNF$B|~<*hzPnjfqvy$$^uARp-Eg=WEecIR*fHwy2syvO(4`&*|&5DoUNM*Zh$S zvB`Cx0ZHaO9>zF38Si>hYd_Jd)=&j7_oVLbPQGy#(Xql zX~u-G;tKG=>5w{TZ}+ovLpV}p@Z?|r%Pg6I%EJ(5#0Sbg3mgal{@ofcA|1+tCWCz$u89yu(xnpdu)Bzy zjw*63_cag{fslwjuUnjub?)2m>sQ03uV{4&!R>8PcWgT~w4tMS+1?XL^7CflYJ}c~ znsnBw2*{$bjW;^s-le&JR^XL4j5WtmRCb2pf^HWNST;BWV2b1@s zqHeJg)qIvMT6+syG}zdn&%l!-HgvCabz{IU{x$Mv0$5V}g?x5=n`N#?v`$QI18iYn zGK8O=KQaK_@Ez!QmT}_Dz;izudlwlXXi{{;e?}#17lYhyFNQB{_Ms10kiIY#>@xkC zO5Dp-^0ED=0Yu|V#c;hu@W$sNK7_r>y^(r_@Ut@Wwe>@CfeNOrnI^&$H#gaK*@HI( zbq4W&PPDG->B58N*x4yxX?8NHZ+bDB{Qr&G?fg-B^w4WTa5JL4Or z8pF+|G}Y}PXl^ObJYOr(-qh5Yy$!^?crOit`U!2*m3oo5>&vgo0T6DFQy6$oTko?N zk_QJcf;+$5G}?0!kz_-+1{~HrLOV<>@f79ob3(T~a_R~~5pm-28=kqtq^ z{~r$Y5|q--DF z)jXq%$jQ0ba*5y!dXHH-a_2Nn*a62UyB4!b=O2rsqh|j?jyX-3=RrvFtrQlbAyPR{ z;dxtNV{!mhz=gl%=ye7&`sp^g2Yvb5w;l2u31czBSRN!VOi*flc)`sI#D!Jl?*lQO zGHfO8o5Hpy($!-yzs#A6lsm$-MyI&jr@|&K+t{;7qSEXGy``edxHnOXXCnTSh`Q1Z zz51eS?3G!h-`+bcerV5 zNlypF3<$ztKLsE-2R6@#zuI0=K52Q&v^CdE%Kt8_BM8kXxa+TuUgjF(`2lq_dYWhu zPjEj@lKl+zGqVzu4VwMK37v z{wDn%TC}m|HIJ-yk*RV33hBj&#flNk#Vzpfq6Xdk-U%mi0fv}iN4k?lG2MPHL#ch* zpbnb(;Ti@muzc_;ai4ECXdZ-MxA#ne;12B`7#bdF1@V)tSXw)BJLE9$;!xfHOS9jg~L%WznbgS;|KNIV!QrZyHMSXL{gUZPRVLacTa?2 zNZ?mfKteCY1uc(>N!)3K`wVXC7YSPLt9SJjXLyw!;yo!|B2l;V7*F8SAK>_$(DN=r z|HyE-Nrh@Csgplga+oc~bieC;;xuc^aBEI2W777SJa(D_Iq>m4RS~DJX6Xw=&x&93 z>F4s!b9!;0HkRO@kxU{k>KyOF9*v2_S&DAi)dMw)^|RyURRuileDWWKe>y&W;Ql|F z1rd!aGo3au-u@Kh8(Ns$W zl2|;I^E>^ujt|(EaX;JBzb2oxYhSvs>BQbOIg54mYg4!2hh!gKu zzV8A(WB2WTpU6WkM>FM*JC}Qf2m0RqD6h3h-rHI197S65q^1whbYp5@A; z)L*^hluW|3+P1_qPb%pqY^9DavjC#_Ppws?%RXX%59SiYcaA7mp$UlZ#I0YA+aV7IvG8^{}3b|jpWe8q~ z*`e<~1&(|q@7o1vJx|QaY)q2;EIq_c?lEIxOy;EAC00vMmUOAPdPWRtW% z0p0>rvZ0RBzIpPSg5JKqas^sBV37psAHf}r*`qd^riSr%Zr^|v_TSQnEGU3j9PjLE z-H3Ee?hVg)0K6r@e!<`zx`Wwsb>qBb>-?P0C}Zl?WB*jg#il=zbuhyZ!bq*%T~o9c zyW0q6sN@V1At{XBma|gZb3z1i{mUK_BQ*R1A>+Nho(C`hyfeKBR4$ z=67NK+#w(7!W>AbjTVD45JKT&rpegn-J0Afs-Wo`o160tFO{A@zj)EW)JjgZ1YwkK z&MmLUS@c`P0luG+%J~7r0A5gAyBTbJQ$WyJxgEdze|iCM1&Qf8s6ym&SjMx1o7-LT z9}Qio(E%f^(+=ND%AWO(l;aT|27?x|8!q#E0H*yiPZ{5CQbikQ+_MJBgAm*&_VSfcKYMEpn1t; zvRhZg0LGgJT&+S7=pc8Ynxpj6H)oW$o?Yi&R;clp-_>|^m@Gj4;aap&1lW%|sMGle zPI_RkEBpa3Te4lW!ZMSkZU$(gXT{pWgo^P~(U+i)K_HW(ZGntHW&IC^ic-`5f!j+X zS5}@-!hV5;S$?Mru{PJ8MJEi1DAR!N~z0a;CE;2p}3fA%bkl&HSO{G*9q zIw0#k41%om>5AOaE2=-rv7j)6E!@(wf*OVbLAcz?l|*!5?mHp5A?aJAk_2}A8NEz> zWDiC#b-qntt|-Inc_6qlJoV`qy-YBZqs(pe8_#J*-E z-f`u)7M^QzCtqb-XniSlijhtA$U1lZ8(hHSji2`oup^8Yc)Fiu!JH3AC5#o3;E{q_ z1}Gg<>=tM0*I%>`69N7$fqbB#(bpIDo2zeFgr_|8w`608+kS9XT6mrUC7@JNasNCa z{LC8VSFUd7@Mqw;{c^2|wjK;U02_XoJ}{DXyvLiXReUs1O8t8?EAWALV9AnqxX*c+ zS2S2g@9f%=lhMRIbGcjt10NUvfMRoyYzF*>3Dh*g^0QKmo6#cP6DC1bL5EE5C1(S7olNdV*1X-EBn^x(Od)Rb1?J;yNnP0 zygWOJXpUrXYW*qu7-jvgRcXi8PH=tp&ENjPEP{v|p}+@VrdxxHXcTVO0=_R66HHz; z#J&Uo5Q(gHT7Of8ghOV3ooS#Y67 z9b#aM23BM2>Q)H)<&J$yiw5g2OyGfxSc>F9ir91#loTD7bIk6-`!9QTF&UKHD|;7^ z?V;X&*K7xk=kyH}09b#G7jLO{OFJD4pDYl%9ku;Z&OmJn*x!1$s$ZqVtXdVeKN#ta zIVG3o(k+r4%@C&nDQLD+tFO=emvOv$3fJU#pIDNB6TFiz(v&%O8NQBHKW=%Xe^WDs z!kFJngcg$r{m$W2ELf%p@TB01l^zqgn?C#viISEU#hW_Y6tf5PqV|F`8X%pUVBG3g zd}htb|G##kxZj5fM15X~ztoB1zc( z$qMIMMgRbJ`nN{BgAx4haBLvRQ%&QYRUxzD?RPA$h{Uc70WmrLR8X|=TGbK`9Mg6u z!WTBcZ$V5o|BWsl2Y?&cEj~2x@_xhcl4S+ri04}*hfH)Nvo9G?>99MUTc%Ne)TW~y zA}!gl7Fx%H{p&bV7T7228qW&A2fWRD9sqOEDRQySRYxFG{ZAceryd?|ms^@+u#hK1 zXx_N--G~(SR%p(mdxi#??h7uX?5kjgdx=iyN4UvN0YmC-1&HH3ial3!-KX6{u7Hp7 zf}n5_hMe-k6t$m`4deE!+Mi;nLoK!X5ffa2xnt`d-8-^+76EGiL$6-3`6ds{z2E0N z)MR8dM1alr3J7c1{E$^ZJz+O${)d*F>K$$Z105~h{ZWArE8V*dggxfm?Ga~| zk3~h-u3>FahCX7>rwASUn;o}EFCLy0<&9|0ELP*69=*RvrK5&Xr{oI@3xaM__PoYb zpSPeFeN?FHhM3C3=6wZ17?L&W>vxn9s-~4?W2mFA)ib&u4W7_X55NgJW+h|&k7PkB z4_hlOR+JumQ_;z=XO6xYneLt4Zr}*?D>MZuE3SY%5E31*5_1XgMGP!L&`5tuaA$TdEiQ{YsQS(8Wr?gaWh$X=t~o%BLM~6& ze4UeC7O&&(%9+nxhF6>S@3Hwzi@m##^52wgySX1U>n3<+zUemeU*d#?{&-A--ot@j zgPR7<&qM{{hRd(M@`Ch_-)<~P2T0T-9gLejvCaIyhcePtP2ndQWW5E$D#chap%%%5 zU7Bx6IopSc%qc-&oEJ^(IBjl!Lu`pC6`jX+94x(QB1}ydTIXCns%XnDFC<`c)d0Dh z+tW>_xn5O`!qtT4L&c84-S1pH9hWx@H%k}+Otg~UKygj3h<}l2==b6xR}mDG92E1x)o^kO z=wKqt`ICig3+PpMeXxT4KV-jC#s81&AH}|-ff%HxcN)RrO?-U(Q{=E|fiG+HVT{nOiT*q^z|6=a=77OJlMmqgg^n23=!4`&kAB zWd#X$g6`U)cgYp#=9gp2W^=Dae#=u9=2Wtff}n_e?jcdLmt!cHsXXeQT%D(yRaqc;XR%zn+Yqe1Y9udzRT{InmHUsyNW*7{)wH9nmR8qv^n1jC#&fNnS3W_fpM zW4TQ_wz#->h9G+nHMnrW#={8Moh34AbdRuJjBZknRf)K|m4o{KuiW*SBe1P(m-oHH zqu1{^LEGQR!FX!zoZbM^zhTGRg z1ftR`FjeCNmi^}kCwyhc#; zSdq7-s^Rn3&^1%boZGj|xsGjj_qL%Xi-HD9Mm>66WO*~icXaBMSY)d7DWBpC>dfu$ zHZ_II>e|DAg|_a=$*Ev?w9ZW;X zFyjrv`}NA#z>x}p+leILHg0%=b~qWFMAttay_{DiU_29>hu>Y1{VFdaa)C0-|BC7E zcGDjz%9zj||3C(b+1cU7vZ^k-;Vnwuuo9}L0aKY4yB1yeA7VWuV~-E0rId_K2>c$EIjK@AOW$mR?z=N%95(O zg6e4tMIYQimSgx!cx)=Yd#hYwJRRB%AdBzgH0fE@BN}ASem^K zIjXAWep~)GT@G@Tl&w{J(tE6RGAbZYiy?3{IP-OQJI>P;OW^3LqT8SwAX7Ce{RQ+Q zH_MZQgM&ujV_qv^T9oQFGaR+kcK3V}AGi2Lo)EnyBYAL8Nfm7ffxC~vZ1Uv{(7c%5mcE1oxf=>+FN4|>HTDU3t9D& zvKngo`kWh?I9>5pcq~BB2yn{Ob-kSS4pX^~Ca82!NulPsPsYy*WXqe`S9<*?!FL zU%XC!X+9pf!fr04OcF$N@i;Q@z`iDbuz7HxJiKjUdU^7EFozH11VC7--%Jwqr1xbe z`l6aqPaS4ADz+W8rFZN9S-@01jN7Mbe}k<+M)GOk2E&w zv3U9yW9bA^`r&}fg}3esg0Kx2{pa}|r{hyQn5?}YkpN1PKf;Xo zd#_7hgA~5Yme|8W_4I`N>7{yof$h46-xKf0?@m7cs*o`(f!$=3P@AU=1c4XuIF(lK z>cdoi!-~&~kuNR5OsTauOch{gL%8kafXEfdb9>UoBxylt?)lQdQl2H5VWEty+6?zY5Bhc+0W6)J!EpLSP%~62s`N2nc&}@4Pgt_l}JDi?W zyWl&B=z++DH2{z}Mixk!rB2t?nAm$pTwP~MA`^97rl%*@7Sh}^9l9H8D}wnOeTTqn|IvOTA)x_i+;F6SvzEMt;kqB@69cX-GRNC3VBsSEdo)?XZoR!c2D zSin@7A!oGw`VIozjfi5INw2p7dWt){0(Eeas;x&f_0#N+8zEsCWGGKNKlz#1VGBnN z)l7-WTx{EV$39dv9B+ zOK;Wu0IRro+72NZ^Kw>xeumJ&^3>H{$n~lfy)9UIq<`xjhm&qN+Jj@{7 z^}+A(HRY>Oshn~1Uj5bn5ge~p6Zi_{rnkxBBt+xn`ajm!h zGbS-llA%Ua2BcG_<3#h%Gk^Mpw3~OPf|LP%L}0NaH!Op!Joo?XY_B$?2=*1{Iwd~a zD0UxEH&Qa8j7mKW`_d`hH$wP2)n+(23+(fDW)OD`yMfxz2>$*1m!|cpw&@J;8r3)i zundieVNVtzF2>Lf>?>~mVugoItkLi%wH^VlKQhhxB8=ZGo3U0iuPg5O*PMz8YrHod zn&8>-1c_N*gt?#e%+cO4;J_&)fT{g@pwfCFL&%Kh)X#1F>d}0YbO1 zz$1L0l2K|l)RH64rbRSryV>XlF@C0!9%y-qu2A`GHa}Iy^>Y4D5IN+vFw79q=-*IBJs9h`s56il-Umq<&_-mF6dQjd3; z!QG-#G_l=K1aH~~S&WjRc zV=bWcDYMFp2-B;YEDUG96gwY}#?N}a55FxASr#|%8+5D02LkHr-O zfEZk{T8RKwNUb)k-E?jjx+1VXofYs`FKa3gIjGhql&{)WhNv%GroDvu`byxjdSCxb zCALqR)bq~?pwQ&LsnK0#y6Ekt-4@fukQ70};qc_o(2J3VCuoOO)aOD|Ylq5{@`s6wATP!mM3F-+=UX$H+Wk}nd3&nFoJ6vMUo@LlQ6aG8yUQ1W9GrGhK1-4Vo8 zZ0nM^V6365jUqfb%PKUvj|O30&P6`dfQKB01%@A?@W5*jMxxbSqeQB@jp z_yf_S+v@fSt}hT(b2ivbivUNcI3hwVcyQ{{7*oPuleh(sJ@YaT2wEnb94SAHv|Gvd3 zwn<=;CKhYXnYCfk+*O8cK@>RsG4L&yD2~puHCFP+kFSi3>>oQ`&{_!y2zdMW;Pcb( z?jU-c!_QR8VAm%vKKU=vyKN4=HF^bx_BO{wiMtmXWJr-4$%xz2k>w3lB>AFOnlxBr zA%+LbI2yQ9SDKn8!_f0@5N@2eVTLIxf?k~(5^b3U!(KsQ8LWyshUcOSN$SRp%V7U3 z*lS+LK?ezoYkS}T4Y6SEscVq{2BW8$Lxnxa^>=o5zQcp~=l2U?B;`q<#?y9lAbHY( z%Zx9vU7kJ6HhGTTs~PSC8#_X`wru=wk9*Y{KrnN@dfE9@CCj5dH!rU$!HYPfVEKvb z_aQWWYC==ko$*E`Bn^r-LybvYNk)d78!Ql~8j{+}-yxml7+RoXHs8wwUk_9Qc|fag zs`5o6f}uy)K21@e+5_?e2U>C93t}&x-x1yx>H<+@do-U8+(gtYHCx`Asquv+CnaUq zP|#0Kzp%&a(HRp+K{3M^SSdNx@3o4}{e(YaC~I@y)~a^>r_9008Ch!7lx&V}j*(#w z;0%J|c7H(hFbG-~v{mmh*V@5wFXwg6THRjL0AU_MQ~dnTru%X-Ab)KFz+4_fNC*Ir zaBBrV(n?J@N7#V^j3W#r^5vQpzRWt^L7p z+{UTcxV&8%;s%Z+b=-aTRQzi1+`X%d*X|Tic8*x~I~4qw(8N9t=5g_-TIj9OypZMc z++m9We6V5W5$*u(_VQJ*!0Ez*?U?!vfygK7lFDOVvjAjcuWqhNBO`Hv{RcWA@sC#q={#7Ev`%cmM&b)tP?|AdPl{=v!7+p;ikvfI zPdYUt?0pK*``n12DSU6#^=6viK@%=B>{h4-G+m}RX2OJ6FNWJ^6kM?OXubsIs*GLydM&`a8-O8eb!N6V5SBnaHFeGy+=Liz zsZ`}e0z@rliaU@okcAUBn%V)=_>X0Y^LTNLgekFqLE^iJQywF|30#(~+ouMm6Bucr z?no5ZiugI55R4=(>*_-Q#O27S*q9)ADwp(WA*Maw zcB;Yh;kGf(-Gm@>fr#S3-ASE-wh{K&eLIl$4z~gv5ZkFi!R)FH!ad|vfs-qV(tlOBcU=4IFMj2M z1A%YZ%$t*??tF+%qF11`f5aR#Uz-cee=mp>YmE&V~y3 zcgV>xqE1y|?p2?3U2LMh#AYb5z~z}7c%p`iT_n5EXQTAzgV-B9q2D5T#dXUW-bisg zF~^1WFG7}pjkM55CYJvm*4;fBbBDoKphEk?KAYj1eV{bAWBACS#^&PUa>Z)+kZz+1 zxAS;h1DfWiyucGW*mU*3hT@g+UkzEUhu@k3fPSj2q-L1`S8n+eCUC8z^3KlQmX`Rdd-hV&A!|>B($R6T-JMBj=!EhSGBeMaa~*uxN$CN z{`a&&GcLOzz?QWc%Z5_+4*uT<+yD3wA>yd9efy^u`Z6GGWhg3O)kAc$6odf;rD|m1 zz;DOST&5W0&j%BDWZ+P8zjOzGe^~O^y1Kq=TmgbaJmSBN3Lii70Nt@U!xz-OGiBxG zyBNq`_Z~OAc?|L|L=Fp|jg;&Xau5s>B%x_8Z`|VEG_IWg_p;WP3OvP6xvM(Hl0JR1 zIy>&uDbbxZ0gw5DbgRf{!J?v8M?cbX@`sKpsEr8yGy6grA@`nmgz2snd5@vLrmx8v zHby1bM8SPmr7)1rLo5y}??{-L zR!PSL-1%NU1ChH7sx^+V-%%tI#L{^;*Cg#NKBrM4=jY=CP-^RfEO0!k&mv8@956uE z7-r$%oU$67%g47{Cy+ z1s5-7voqkGEA^f zOppkYrivpbwtr6{!hB?81dzi6*;z2Jjm*s8r6`9_mgv34Eyd1T2MLTW`+n279fwCi zZHk?`dV)gRdOf_c57Qo!M#5%ia zHhzARM70c?)YA`R82UBuh_}hfF~rh{h=8$tPD`5o!$Jp;pSF2`#ex+NzMBvRc7W~@ ztvB?XHDEEM1rA{d>5@0&o{K!yG)~3_BKdmzw6U^-xJS@k z=e>VEP0q*|KQW>G#rKH>J%@-0rBe$^LLxG3W?w4b695JJRgRAs0Qhb}5Ql>T2jrJc z-ovmUo5$eOzxF8DJf=&EzyT?t#^(9@nTCn&RR33-zW>t;K&M!=ytfdIcisu2fzbWc z)zt;E=PoWnz{;6%knayYRmrGddAbz)9Bd=D-|7l{oNRz7^ zWB%sD*RKRH7%W5DZ_36S{3pM#uycBP`e2i-4w9`~BJL1jzS1L@TO52_^vR zJ@F#6AaZY~K(0`_0tTFa`&QVgc5BdOlMNh5|Et6B$}L&RRnT_tKS-bprmUkA5_)E9 ztX<|E8q)5|Jb7||bad2nbOX9%M~Z7UQ6u?MRY_tj*23BB^ufpJl#2g{wXY6~s_Xh5 zLO@y!N6#%FFbL@$Iwh3OA*4&X9gyxEUtEk?2ACo!+@8Xojz}$ke_DcfKiuX2h8ScH_nA7F}D23=t}JV7=<+8t1T$G z(zKLYwyT*j_#days-ghvxeXOyP_(zT^||J^&*w#Wu*m2Tta5Nl1P2s&R`&2tBJf`= z8cRzd0xuEHs{kOgn&IT&elN@_z3p|`6F~nc3w~-{$5l&%gzwCxo9~?7{d}y5awI0u zME(NRg_4eihigiRCOQQcGcje@Cx=>mZU+3KIB6-HjPKuv9sCvZ&G-2jnu%zE)~bx0 zWDAXvvK%&Ff%&4)=I#+x)WD5jv}_MaLb;K#-63sZ!g2;j8hjgas6e2l29*%dK7OE3 ziR@<3f67sf6nRfo(tB##ecls-q=-W@ba)o05B_HlvTEHr@|MCg@p``#qug%aOT2P} zA!Nr4#d>;PgzU?Dt8m?U#Z_+E^_b76v%rcc2XDN1KjRmP|FnI|aqbHkw}`5cnJbE! z*?H8{4Fjn8JER~GV0gWs(iAl5GyeJECUXcGHMO|ZHhVQmNFvd~eSa&!E`=vR1HwmBLj1pxWMdmjgii)F>F*GF9Oko!?2ZW>JDD@|(Sr33Z0z%2v zzAnX6_VFrs zz(YNl22GCFDB@iAf`nH=<#Eo>3K9nK7&*?U)YN|U<{QDLMD2Zj6hQGTNniYANXPY) zluPsdf1C3cZv=53P)AD8q)+c)ZwMStBcMC?5OZ*J^aLn$IO`$@1bp==YS!kG=R)k& zk=bCVA9dt{!7e8a3xW4K*|FW3iEXKAWXRBP)#*G5o5F8aOgkB7a?HpdXClpa3+_?0IC9PQ_uQsGP%5amhtsc?L5k>FV3#EMCU=)FFZozKyKl;i;nP} zxmGX6B~UhfIXQRfXbapafqKt!w;pCtfMJErB4A$J95+S}Is&N+BHm`e=#v*At1nSL z9T!=agfa(&uSd<646Q2n{Hnq>h(u%6sHN_jbilp7%AcvSt|-zAv7{}6uTSwJYO6l% zCR#`{^qv{>Ee(LLfwY13XNk(r9^4c1{LiYadR)ny56m~t%LgAW=iU0FqNMcr-Mfc1 zH|peGQG=vO+lMi6ukjhC=hC%EKNj0{qBaF~J)sbf-7oLITYdGBxmgj?-*&LnMfFDn zb(U^=Oq%;@;{H|CP9jt|H4a*QJgbQ*>A`OlIwNssyqvxum$|zyT`l=D=fYTm&ZRNB zoC%ZMIydvDO#v@{WD`a*IdM7S@YfBq@<+Bmeh9`naaV4uLwOf7w4jzU1n!eLZ2Uz;NlA%Vkz)legB$yVZex}Y+es@e=$nUhz=}sh9gko> zMS3tFhuKQRr%&X;&g4(~J>&#T8twER>1@!q8?3bFe;1&k`p_kuqsk3x=lN35ytU~X zqxr!H^p7VIT7Os7R!sBz)x?P(fUmI%c$hh+zB{l90?kI^woOTG_=g?$;Vwo@UVV!m zP~6v8;d90IZqND29m}w4+Aqv>T~#d#UlSKEybY=pVwCPVkE#6Z8IHQQkP@@6fttsh}6m!`}mmx z4G9SN*Ey(W5p5eX%_Fc30#pKW>CT5{F{kMtS4KnCx&SG7yE`X&hB?cq&m#f-s)3k? zZfve=Bp4tAH|SGRbF=qaj#Ge^k3v4(%G`T@J~Z~qx=>yAiDD${l?;Eu{%uLu`$bOg z4cG1sM;L84HGx;Q*kO#Mc#3F4^`=9v;i#0If&KT^7e5< zmK=m`Q=?HiV<1K|W$p2L7J`}tamX?)K}$LmXY}&wXGzfD2)(?6zt!>1Y=Wb=WOj=? zm%mP&;5cL!Etrb~E}huL{i4z*Iy84Ml-4QtyC3@9EBn6bktKt!;62($D)8}#{82lAdn$`+v~p2;Y0Di9Uz)?ez7Tda`LC3AVRfd(U046bvkRrj_rRw zdcOJ8s(iF&@<`j9vJf?}czdsEUi(I;vobQZH(^uy1(Indxmh-q%-6!1%cke;H%|8D z8&k&caAe}qqLROD$EeZqJc{2Ri~pE%YDbhTN&07@PJ6hQ9(3t!+4M7j7VcT<>ELAo z)Kk+rQO`M-Hk1p?H2z099ULF4uB#iKJKRv&EP2`O1~iiCc=q0^)Roxk;09dj8jR4Y3D6^%?S@R)+xbrwQqxq{ebGVR=wt@O{~A`_$VDd^jC|NXIud3oEh-|>!e+Tu-@GyRLt%vLc)%I0gRM@& zmpq3*wdZ$neSDl2znOOViqTDxTy>&?Tj2*ys+^f?@D2}e|)o8BpPY{U!&g4UG z0qShUNRNVMhHuT;qY#SuHqI}*w)&Re3MWeGV%|P%U#0(Au@DSU%04BHNQ@tfvQMd0{jJa4_2-j`9 zv=V^OT)yTET^4m%Ht~mh=2$aY+pR62B#G}bQa9C=`bGUjSmO3L#O!w0)GS9~^V0Ey z)^QYHY;{lu(W{m(jLS^~L?DnLT#m{Qox73JlWbMcJe_!+7*i5yRTtC@&2@akrG}bS zz||=D0~}Bm=|qGe5gR+-EB6bPN-kZn)Gv}Z1;zn;@W%P8W+K3JzKq4Z;+az;{d@E2 zcfm1&zc>H575uY9$A;#=gFXK(z!NIP9((IUP0gtq1hSW;4JZA}x%%8N#`8F{+{@Q@ z=vzt2P1rfx<<~Qmm83sOoVOT2GNJeYEBcmE3DM!WzPV)XKGv(9 zL@O;Q$oM6adR>~Ws;Vkw3SSz9i~n}%ghT{Uw=%REEW#h*pSR(wV^MoB>%)2G(!4S- z@sh&^#2&E8Km1VwPWMg|O_A<*s2tjX$842dhd>}_XbjV~YAT*%W2`V+_u$rzxgg1| z`sn6gjWqf|qWak7y;0;`57(|YD`{-sr2fL`FKy8BIS9eiuc6QZy11Vz*p3zlp8>M&Jc^m%XC zS}X)y7F(Z4H}Q7b1paOCT?2p+0`BSC`J72$m>fX>ur9or-5f9O`P1>45oEF@EX~gh zh04{wwDi0EduWJs+Hg87Y~4n$F9z_d`B11Nac3qp&_!dv>?dIpe!D=yOvX|``CwO( zZgJwJA#go9Ld_-1wS3%qRhV*ym_?CA96oWJ>PfUsk6Y0Fk0`=NMk zY3cw@6~QKDEjl3py~I(9kI`x=;^9Ak{;cf%)F=j*{_y9X5I{W^PPR#`e(--p;{I|dE5c+ zV4A!mZx3}3ZOHt8-o9>pw%<;}2r_^jaMTQd%UMo`kt861 zj={Zorv&Lb@NAdJj^7f8f6@hfQ`n3}2?}DU6X^X(L64*%(gK2*(t-7wT=Iqoxd5`E z>LM=`f2_3px4q``_#LMQNO$$~4|$pRw4!P*c`^bbMjM$kncnjv0uaGkvSKtt_xP z0ALe3(3JO?(8)HQ)q&08)OhOvzn$i9a$_790Jrqk(xSa~Ky_2|=VXe}f+|;DT;c0@ z`@-=7XcFVCd9}hZwGvI=?^!?UjpE~zZQQH2^RC8myLF6-K7M}V+2gP5THc1Mr(F;G z2pjsEX}Z1T*yLKale|~^C4E<=Z3j~c7!W7QAisy!a{dPo^3+qfBbg;4d;v-rORC}6 z_rx0&1-$;htf!8&JPldpAz=&Ge<6cCEAf$BO9WnTC(iekWCZ;g)D3kdWbu-NznD3u znE5W+_81V4*=Zj!Nt8D!wwdf(Dy_s-#HOio{8+jMDkjYuOqJAO^ZVv?r2cS3NAm4D zFFx^MGE9w8ef8Ad8VXllAWPVChq!+Z_N zIq64-;$Fc_!Gi6`#I}X**)wz>_ygkVnX&m7TX-OBzk}j^L$@F;8S%+056W&(q}clp zAHJriztDcc_E~~y`alWgb6hBbPJE!zGUqYt?1#c^1qjrVZU4&bT=TXaI@~#jZ;Y-= zdjH5RFU2Z@-O1Pxdfh+1+}-#Q8|O+F`=)}G*K2Y6$QOOtn)@)xx1`Y4jcG|MJTlb5e-0yB@b*7d#q>B z$c#{>Gq{L0`JBE2+);ur9*`QR>7e)r4PV_cHv$89*2f$4!-sbKKN^(%ZZZ(wb6=!~ z8vS-{fTDM~icS6imkQ$2jp43#oKIGy7pUAYG2df9H`Q$1P5tn z|Cz*lbdT75!$CalA!uLwY>*lXT@)jJPeFQmp}(`(~8eKxYDEcIz}Vl-)Oeb!5V6 zIq&OwI`27KWe%Lx0ds{g09=&bOGltIYIV5W^DeU58GU~EdZzl#K#-BhBV(0pFXml9 z^XDXq*!F^V=X%t$6_O~QVvaZ3Bc(kzC*Mxs-n;J&H2a@3$as}M4@bv8Ft&Cap+M|Q zh~oQ`L|&^RbS83~??a!MK3f=eo34GEE$V$}T?fg3QRz58v$`Yt2}E2J9Cf_ZmGtoS zC)`zr4}bo=%0KnveJS?mM{ams6~HfX#vBb>?N55w;1N$_?L1kUCLau{!V(5%2rx^$ zsXRX)=Y7*UrclSF!#un|MjX)?dxrKR{ydObB9jj?vp342hxRL5+7?gEH}#@ zE;Wf_R$%dtA2DS+kZ)f;e*Eg|wr6IGKDf@ae|SikQCS(go0;i8vb?fJRPJ@~M`4SU z%+DvTakAk?zy`EQc|fk!Y)?Dy9A%@vs1*|Lb?vw0OT=7MCYRZAllZ6rem&{q4-+%O zmb8la!xe-`6u-b9);aj6n9!&>Ax zVjYYTh}cml&RAcFXL{|jV+DC@*Oef8dN5gL9F;aWdz3%BqH)HqLcN!@nBs3Vu_x1d z{d&F5eoa68Ig!Je4s^DEOe=FvxV9dbpFTk+*4`{pJ!4F|QvxG*NPYj_{48yUzQ%${ z=xWWgo*3D?8PUq}ceQma;z=J5{GehZE95J0QBAmIVO6IlNTa@^ZltEB_T}5SgR;76 z@%OpeS!N*ks-o)7V+_3i_))d4+A6C4+qrC}D`$x$E~w=124AG98l8Ng4Ts*(}sn9`3@N8|7@3V6IP! zX|%wiM7o7tCcZ2C;fo7tTWkkBQt12_^{JHOJzHuxBr z0fx}G6nO;EE~>E?8Z_%tny+*|F;9|Ii>KgV-Z0^wl4zZ{hst*A8eEG+mcUPevz~^! zZ(p(bsVwj&yPKm8oJ0Za{}>O;#tdbWz~j|Y0^*X6>ZLs3CmL+KVv7eb{w`Wjg91$|7} zdmN?V6 zT=6&Oq-wI=r6B@2smscwSME%>h{4O><2MgKvqq7Gm7YHB%ex`LF`RWp)cXqes3Kv? zJ+Wt5RkJMG<460pMoc@iHTmTQ-AcJ3NlhAj>SE^0#itD~NDQ+IwjB{x=h%b=52T0e1p@i`%uHow{d zb0UvRPd{e1#GTPQ)xSVm{o(bK(%WBdF@JCmFTwcq`y9ce4Iu>IeMW}!F&&MbK_&)% zU_Iak)&r(TEVDH{R9e-oO zOA}RXA!cwh49pA-JH=&*GVVpgf!~=Y%O>+1@R^~h4<9uap3|_*3`E^oGWo+M*I0HB zx7dEZ$=}F{~m>ZQB5 z+(VB+nR)ir#tT2aZw61EJtGF~eXQB|Tq*m@1abr<`s4VrOtn=bCU`yED z-DbS@v~}0%LeXt?-NAJKEpS&BmKu$P@?1K0=%0x7#(7#>-=(?BbDfc~XQs+=%M=1+ zg*Dc_%WXcu4^5gA3GuT%a!3J7Dx1Pa#3#{lze%eOA^q@Uv_caY26n-A7p^uEjZx1>F$>EMpIt|GAhqwU@YI|m9v-eEi<~X2@~j&!$GPWOgljVx z7&d>wKqhqAjt0h$GeCf>4)XA_P%iYG*>sW-Ckipua7sRnmO_=CKn?zQR#>nR-_!OD zFn($$bTzXTRqA=K;~?CM@cCT}+;;=ptPteH(jISb@v0be#m3ED@F|~s#c%6%PY9t4 zzD|R0D$R81BZKYNs-=0R*3d&lh3^w5S)8=_cUx+sbFAEmVdxnZP^$JPricU^6GrC0 z1ZP*qw0@6&2;Qnx$Au}SfjP8UV9Srv!0$||5G(7`mA7SQxuD}mFr+oee}B;dHUxxb zkMA2U&?43e>|5?;W-1yodfOH=SC~mkg2duimM8o{VppjED@+&<%5^u8Ud<}_DO~Zc zXhj1suU=C`!cGd0nXYHck2hFs@55!h=}OkPdj&L}&iY9t_i>VKW;5>_co-(w9Bydv zH4y_L)-Q}ABobxkp!pWTp7vR4>DU|eQJ&Sf+skPK**R0kGAz~Fnpv&LPK>!`)*V#k zEnk~ZzQMO^Ss!qJZhOu!bU!>bzq5A6RXZHPBGh&%X(rxG%nZhCjEs!pvY+Zac4nmX zaiu4dyXZ62QH|+lSrVRbat+CTrrB;@fty~VCr~1?8EH`wpLbz#-b}LCW?PNkYJE`n%rzUZyKELC+v{Rk$?Vl91}1u!D#Sid^~^gOKx3Kl1JLb z_zBH}gAw(nbklDs)1p502Zd9`gb~52t3tdD2Jp_`3-X8iHnAsk9rlVFX=rIqR#>Xm zjH>&{P4jMIi|O4GH;wZvaPj&5+IOj|oa8&yass%Lz7*RdJvSD&wCT$H6MUWqO*v#V z)B|zFbB#aqa;XWx)$qmkbh*`-iaKGGtEJC`em42j99@0q7G56d7Ekfm<7wV#5RLDF z58i*VCQ$jb-+GkZT$C0@VBt3xDsu7hBTNaHxP4VeY+UfrFNmGXm6U+4);}Ru)FbB` zam0%NfKK!8X9V0z(cWY$vP$esU$E+=5L9AoJj?p#=D^&%JaD6Gbm|Zn7xIVHt+l;! z`p4m`Ix*GNv4)6f8@rDQ^RjG!50H=?sT8~N&U1m$j5+!ZNA4lYKV%Y0(5-N2VC}j8 z9WZxB8f%)z%sX$-SVHd|&e(5L$<0Lm=33ch;NuVcz*Uj5IkIkMW((OrSPq}fm4Go7 z58*$=Vj2kQ7JvUO0{NOylV=F zX=>7fY9iUn@aGN(=5q%gO|4zysrb%qdf7|2@fX>ncgtj4TwFjdgi#fB%f=T7*`E|Ci?sfF1wwbXnVP{^P+u19AN23Ae0-{o@`7_FenWj{kOvyNbLY13YO1 zFP_oS)31%uKe~zly7Jc_etc1aIe@nfaDMs3#q~-xER>lXX`zddUTC{B`Ct2(J40iR z0vO)(CsRppvRm8Q_JPu*J*#<-^i$Xt0C+xbtv`vA50MfL>x+Nzuw~v8S<-s|7!S1% z01yS}Q}Hn59c9>}LTp;Ob?`)v*mDn$Y8mHEW}rAD?tyW2xB5WY{&BT)H$bhPD(RXW zdwH5eks%p*YwMhQUFOb+I|O`r$3I{~Ou{W21~?E`o`&2wK-!^^9#++h>5glXz~ zcaNRF$KN|K79|^JJdOYIH7)Id2GAAz$QQwkEg9Hja(Jgxh?IYTy8J%>`}gm=6;*=m zPQ%@T7YMkrv|+2c68odiQSn@`foLiG0*HF-a}1qUr>%{Baz) zfjTZazwX=2UFdZ-erlVhU4^@fIKtkN4cXdU-x|sX+_nI$(D}#AIsemn_0BRddTl2& zE2}NfS=0tEdpg$+kQp0D`||F*fV}SbbW=bU=Wxyv_}93@toEh-SZRHC!S1_rhCY8j z@_uzP(NLAda0`Or7_&9UGvcQ@$CIJ|5;d6Bsj=9#B#udks+_#s zjRa@Fbmi7a`ve>c90>watG~vj4RoTmP#e3j^*e;KRmGE*yG0dzX9IUG03Z4C4<>e2 zvPmF(6K(L+3@XR3_l=!{Bk1SPXDJ*)e+e5PZ_q`A)Wt1Qc41-R!$2ZZP}r9*clr2w zoG?J19R~-;RD~@Kq|~IRxG#Q~>+bt+-|hpkjmLnAs8oLT7?`2|o)=3sXScr4q1Ts@ zbpP7|G{eEm5F{3QaxP=qzUr`d+CS=XjxSF>U;OJ;yhM-oOhgt5v#abAyu5P9s$b!$ z$_?W6l}JU!qZfWMkt8iQ9G73R`2{TJShIfd`-Q?e7F|r<1cCj_M<^6lI60zLSCz$NJ+#cgmXFgm*c;IW|6z@;P2IhZ!V7eXJmlELAG3YTw&MxL3wAs zi2l9X=mQb?jqJ#o>>GcL%HO)6WiN^~>isVZx~IVpRL+500qEjAvXXz@b^vhHM#vLJ z@fwy&99|_SCtNr=SVF<1$^SFD5EE!|dXVIQQ`1v2H^2SoOy(@mVzzdG*1SNtHH@jV8v$zhTaG93e|imbzZ6L=aR+sYh`*HeKX(bgd1}n^59~-g^|{aX>ECLb{r?%X zEM6tJgeIl0DFaHOo%QtEU+sn{0dW681e;c;8%LB`RYOn(p2_#p)` z;o7UiTWSDqdEqiG_Ze}aIj{NXRoB=FQKj>2JfQ100KI(^I313A6~ML!JFG#6K1cq? z2Oq5PpQ209ucV8vY0j4IZx)yJx~}$LUKq!{ez|A69VlzuVI_bjf?z!u%z>~7T*~UPjQN)l_yv*Nqs}@;S%V$P zsnvmp2MDy=F?~^#tXfLW#*Zrf@`fIGpIBKBmkE5N7wIvLe{lMOk9` z@r&dvpcS>$*)-(3cjve6gQ0(jf#fexY<&EPtZ3znWI!Ue{bkE5E)EV3-nqHCHJt;nF(58*r1pDr zQ`o|2@p9AeT*?Orue7JHy}EEar^9>NP{C9ZgmY}*7G<7=(E0!Wpe-74^1bF!<&tXh z`PtUwgYFk=JLu7!Lmod`u29e6{Q8RIh=Oy+Rm%;~NR>q%%@tG4ap&Xf!0$BT^KgNxQvVNEkSA&EaUy5otx{I3i zo5rcUic0n=sa%sv`b!VuUW?b`KLCWAF}kLB@PIA4=CiqU?!4s6OAfJ??*o z#-839DPeKjAAMl_&Riq-MldCgI(RLfz@?h@;gMx0exRbgltQjs`tg(B1fUa^S>>~z z-q!x~<~;cS3%E66Am*&j;KxH<3{GKq0?!`@Zxe9`7LAPs-WO%?-ej1{V=hn%G+I(y z{3~zpj^Q}bt9yr4@Bc60L;ShL-}B!A1DExf;>Jq{ha6~~T>CNM^c}q^a`L@vIqGD` z*{G%qXUU;boq^*cII~XW^>t2 z8~k>zqqQ+nm}gsq7C1(lEe_dhAW`!~Z$UBe7h%Es4 zb##R-*vrq$wjn6evI)oo<_Wv)!v>f2ZgaxmS#Y0wCLO1}LF6i;$9sCpP_KCm720buz2-Y%p`?+5VBntV!?*8lBxcY0gu4w2w`Fs*M84JdbQ5$t>V1IXaA-<_)i zd?!qz8bB}ai&In0_8<4@?ZHQovQ^rH$4>T80$jIE_cNt&r#;FnZ^RMWCST;pzVn=c zqWV;Uc{h+NY*>o)-ytoc} z*bV}I1l6b0JoqZ_-UaIguB}>=Qi{j@EV^Ww(+VNRm9W_X9=8M0*PzKB>^> z=+!05z#oEHSq7vJ4rG`>I^VwP%%6eon#c49(-bYxqbHpkKCXi8QwHIc50bjy-aBKP z@Xw54ouK3EMONX87Kkj+hbtpFb*`^hU{-g-S@<-VyaMqnlB>B(h})9d?O@MclW7x; zXK&sJ0D%5-kSPy7DF+LAlQ05zZl@ECDupMHo4`|=Bh zzJB*3aZi1{7=RAxZlG|;;tNFaGSClniXD!#YvbbUQW5rn;!qv{6qO#7P0R;}o0MpE zAanYVTN0~-Y5YWEvu9F)fRvXk>c7BEmYD#IPx{HGrw;o(O~-XbU5NV@VgSYGm7Buw zBpSKYRzM(Mis6-gSzs3>P;#4{nJV{EzpNLjl}4#wzgmtCmYFtG55`6IT`qr8_$psH zDE7j662ta#5*gbE8~tj%xrKJ&o;=-<-$@VU^&>dTy?PcSHK*n;%Ql$ToKEv00(Yu? zONgYl({lILqLuDdxf^EnveTK+6buPfnM`;0Hyk_X=qCR)U_I{Kgh={`hf)+LunGL! zOb_ea);~WhUeP~VCbgJ45`wKLVpfjyq02wgff%X-8%+PyZ%kq5LV9E`F(pQC0fjp+ z)%)AQlOO|f7YaH{L3dT+@8lSxf}-BkzqaA^Ki2Y%1@s(MC+uz4?6HW~jWRg=jiJs# zu|I&S6b}dr3*Qg-R>I>)5<}0pxbu3>#xno_(_ybo_k+C8W5B{wCZnq6-2sGcP7d10 zS$TP`HZV}VMOioW!{>2 z#yP0g|H2E4i~v#{%+>K7ERf0BBNwsraXDP+F^}b}T2uswghb8Y5A#>AHg~-DkH)EP zU~P7c4ABk3n2!}%p&iMUw}6Ket`MbG z<9^TjZ@aVV0u)1{_rrc$Ns_K)+D+LG(3T^5;mUwoG_(p5)LC9#9Vxa&Nvi;A@eEyD zW^HV9$5{#b<1-^GKKQjP?{EZ_8^Nvn1})KC8a=J8tG;tU(T-uGmoUA6iAw<<(?e5X zH=uuO#XRYK|5r7$`kW7V1O4yc%x|Yts_DXP z*+3IFSYKn#*%H<3SBDwZ%2a4{b?Rmh1Q>eSQvd+$Mm|ff=jz@UuZy<|_JZTe`hIt= z2fS{m8Ij$g_nUERU+R6UFr*eMHqblOJaXbWY;s{NQC$4LU@=|DuN{Wotc_~K$G@R5 zJ&7v~hqE_&m#u(k%oR~g;hgN70z-U>592%_CE~~i-?<|cg5Lc}g{0M|jiZ|hi9v}*2*HzI#2i@UbtF};o? zrL39VbB7{Wx{$cQ$-UjGY+R&xdS?+U?d$9bH!GtQv%iO%SSh^pGzzdJiL==&aui$1bQ*J3?BkaJ=gQDM*v)l`RQD-U~VMQp%^48gkR< zbg>hH+rD%UJr0Fe-Hw&lFE1ibiXkeO$j#`qjgJKfEMg`|*l`5o-uEBr+l)b!b`D7k zny3^>i1Xymt>3cc$HR7Hm^gxfd=Cq%@ZDQqMhd|6uz;`jYg32PGD4C88n;ec!7UYo zJ#B_i9k}GE`T0*P1~Oi}=NtVziW_<*>~%kd&2(BrGe=$Ux7|5>P@hFXAtBY{f+F|v zvOM*N1obWL254quq#2V6n!h#fj!MRA|DnX1hZ~xLIH;I8g%E%P8R`^IcirRJz;6kG zj0BL1s_F(SlM#vl`e>T@cB5`@D0nIf_Rv?mAk~*I!>`uJGL-o9*I#q~GaE zqY=yE-(ffl2@}Eg$}xD<@$;DK5VY2(3V%_P?)rxOifl@>8-?~eNSZWD@7&(5?qAKS^7R6F}IUa1< zd()UQb~41Q(9|!q-(1-v4}qO6Ql(0cioG4qa({ukZzLN2BJBm2++p|7;IVS|6H1h~5(kujiAXOu| z6VYk1e*hfw<7jwq_E#W|`fAJS-01a!<{xD`xC2sy&l`tjP0dZBm4`3^TtE-|&*4N0 zx!b0=9c{%#mh~+%Xe!^R#GTAtT$ihO`e=O`Ua@Q@QWjLnthu@MXk>5QUCq)f zTG*pa*h8AT-!ntL3)FH8iw_|ZhzraZd=`s9A0kt9XCapkf*&^=a=U6ybaP#*h zV>cA=Z{k4I=n^LlG!{kRnYE`q2~R`9fBsCSCoMfK_Pw~iS3Es{jO{f)a|ap<%3?ms zq>uyh-USBIr1f{jmNI&Pl!C>ly~=(hVnh}m-HLjoY$2TcF{%qy;ffA(!5V@pg~N|* z)_f0V6y`r_)%X>fnzo|Qj!Tr__0qh!#$*h(rA-)vGK*kc*uU-qaY%Q%Kb`L`X|>&p z{~b%X{Q%#@cjVk#G2&|pLG!>X252VY@bx!L(SSB-*;pw%R+0R15iSOe$naS5JR%Gr z=MMi>+Yd&^kuMl|fuHXU3CeVz8I~R}_raixPt1^s+&tVTv19uUhi4S9c9gL@g~C-i z&}E0P=vJ^-!TD))Asam6=8Zm{!W^s&6jVe zgALG8C)drLqg7XrOfCYMs8vs|Zo(V;7qh5I7C;^Sw z-YxN6SuukwZQ0>FZRgQP*jOf<@tn^V$%W)J&~DES)cWIWw8Txn+COK=KNHLvL%el- zv50+ULHr^c)GN5-D4_8=o8b9Hg$+#@-Iv5a*-JIOyF0#`7jJ8It-yIN((VztIqMZ6 z2u%}2LNbZ4%6%APFhe=V4quxeY4k7-3c}ik=-c&h9Z9-BKeZmjptc^&kaj?nCT()v zFM6@imFAjE^S4Z|3fYRf(#JgG?0a+zWMzdMwu5=`c{;dK1{czorrxbN*O<(ZXEZNt zo&H$s#gF-SS=ZGXH|xyHCGCWnq?MfljZYa)h6;ij@QsTV@YH){Z9;g^lI>0`=;Z*u zUc&t12n))uzp1uj9*&uex^S3;6~luz#Fp6OiP=s@N{l6z=PIT2Gh~B}zQ&_Gb?MQ5 z^ZvWH=WRnyTjM$f>z>t=^!KY3V?(;@?A|X6n{4 zXwfp>@2lE+9(h4MHroN0FYCP&xwQfx>qpF7#z$sQ$UN`IsVsgVHH72cVx)TUTMkBv zN(w+TO_&CfFq%VF({`qTiMsSt3|sp3zMp^9I8bY(nJ7oGo*?US7g8nOwk>O*cC3*D^i zx||QUuCSi~`3t21R1G6>ia0f~PLVw)4UcBv;V)GqSpKR#WgDA3UDN%}(g5=a)|Tp~ ze04d@Bex9jQi#W5-5HV6j_<@-KNEOL{7u`96Y3y$lw8;$#ApTHjI}|}nb#wTjPwQd z@$e3h5?6e*Mx|lSP=dH>2RtzV!mKiJ@tcR(f}5sG{)A z?e)>M&Yy~`=xJTFeks&64YuNHy8>IosnjbDuB_^tS^lK7tAlaTpLUhok-Kd#4_h1p z#6^H9RP>~v^jTeyNrH$1IAd`Cr^p+-1SYViD{IhlH2PZ~qmGsF1cnOca1QiHb4l@u zvXzs+qn9_zW@GH8V9trGx7Wmd;H?CA4t#FN>(Fy$dxn-sI|QF5lxC9Km7E)+wKU~) zaN;II(IFbjM`b;vlETW98@{*;Z=mMeTK~*ET?^}V5#f8jg(Zr(jqZs|4>8(MMN-=NeL3IZkE+=34yMV*Pf^j z#|~|yCV$fychc}~8E!d|owN5MR-vLF4v`f&8}wE%5wDRg;MtXQOHst3rHR#}QIxC0Tg&0wC@3@>(zb z32tnr!k5T601M9r510K060u!0ga=ZQ&oIShAmE7}`k=6|u=4tg@lxOhnwsMDfXB(L z8OS;POs=dF_PBxul;Q}W+WWD*`oad-M20)%?g^5-RYl^ah@*)`|SoTV3nE$cH*60}D6><6*B5@|nVa~DNc z!L9;Zvmj)PFjII)wezet9N~SmN_<8VQ8vryJu1cs)fjAQ$jxRm18vJi?v->zxkC-AYCV zr=3;QH}t!N;gxs~z7!)M>PA&lab`}lRU-k+Vm<7xu#|S z0#TZv9>3yK<0vo>)ZQN)ACKk7y-or;N?6B@jp&CZ2&gh!;}8Z(s(KT9O4`Pu%lPv( z#}{GfeZ=gP2`)kg7d{LS-9e5RXiraM`*FNyO11>^4^nR;ODpU&XMxoq7f`E|ux}eG zZ??B4e^X~5Bg9~{v)IxJxdH%FFhiVpENlwEat~4x;yN~faYq1;1TS#-R;0xQ=9+&> zG0He==HVfJRabC{e4pyJEAW8Q&()5JrOjABLBYsT<7y#6epUDj`zXir6eAp0VM+TT z`1Lrr_O(4v^{%Jw7SuE4uqWW`SGTnFm%89_g+pbqNLNPXc!PWllhZ&8GaRvuCl(q=eBbld58#h?@D^ z!gpWZMb6B5lqi!fY;4$nHD5NLzmRZ8Fs%swJ5?aRb@2VYzmf_THakv|+FshUhfukv zch{Z%_B9osc;<|FY&s?Y#L5ZXudN8yGTFJ+Sdddttn48GwyiZFvds^LLSLM76zxcK zC~iq~vku4>-sjKGx*jyK+1~|F9W>r=ZKxan8j%MjCbJ?yp_cmStEKFDcHF|kcX<4>O&JQ1M+Zvdw+lv`x!Zp>cAHbwox5!JhzC<_c_L!k4PT&8Cv&guLO|IJz;j_cS*z-WE8 z13OnHr(D`V42_Jp$J|zaHCP{6TF(m7!au``P=dJC5;fP3N{nkZiHH>8lvI7NKR-X_ zrfNM z>ZN$>DKaKGx#(NAIdaUS1a+zeE`(gLZA|GR(ieYNS+5zKp`yI=>xIybPG_Y7*iezdbc@CykdM2$n?&5|zx)MSV5c zAJI<6?}3aYt|}8UUS+I3^A!GF;+Hhm2@iWnv+DTyNpw_z?F4Llj5WZg6yz*N5Qec$ z%`?MO5(NN6Km=kM^}Rh_K*dRbE1_lpK*CE@ACN7s^7se9k@cD-6h;cK6E!g#=Fs}| z=~J}h8glwc7=JU6S~rqG7zKm~x?5XY|E_8p?1|yIl>gi-R(nyCZX4>6;8VlK600T> z5$v&6yc1sGVU?*WR+U>V*7Ih%M4oV;5~BM4RQ>cTgd}B|cm(Q;wQb$*c(5)1J*E10 zNnUsXHR<@a0P3`!`%OXlp*-Man z?_1-SH)aEmT*On{Wl88vU6Q+P1~wK-8$L_)W{b&=L?6$-b+cOj#Q#_eug19v7XSgg zqzm=1*}?v82*!oTtp)Q*Y7vTpG7)S6@gRCKJ9w26(Q1;`uV z-w%yg_4GQo2m;j}B@C%m_EVBuD(CMyN%;otynfv{@i5A)3rE`0u-Dv&gy9DkT7#!* zAmCt5(mT3_(D@oTu<#PNGhbaHu5g-u7(&TP9B{wAIR}ezu5uXv1n^oA?At~Hm3V)>7x~p zaJOso@5fp81gyig6+OXLko0!LYINv&{oh&floqj*$9H{SEH6xyYN3$C)osLTc!b&x z*r5J=v>d9eIq$asKqh~D9YL{x*{O~M%O0~Riod~*zs*kzN_-hyw&&kwb|o0tWN8&_ z$$Jy&VrM1pKEgSV{S}~#wOwU-k8_H}=FZdTjmgRD7Bj&#uc=wrv9*wwm?r?9jwS+Gv*4 zehWLtLA@aPXlX4ini7sz`uaU_>>4@w`584eNv56gPgiS%w;q0;YYglR4$fj;8VBKe z4jTm(ytdP#AldH^OhL+%Wx(Cr))!dnOG##0iO@1&Caw!9*AvTBO#ZQR-1%V{8cDsl zF!)CYDVp(n+qO{_8MBy$9LPsk6vz0@y|LKKq-c44#=*qI^z2GPBy)14IF6Dj^V>d) z(%=*RT`i@`qw(qTtvsQvSG8snEjP03aOHa@(JuC-?Y!8n*VfsbyA8|Sr=V84xK`PZ z9<=t-595}uFI}HqNuLKIVY@rs2C8@#Q?p?S26%?xDVLR=*H2Om3vqi~EB;g*-e|C) z7}Lsj!yU_-ZQNCF05#Yb!7f#e8z)D`Zv9#|yT{M2e-3*p`Fz*juY$BQq=$E?I&*Am zME_q;WTMP(WM2AgUqdMUV#U1_yRBs(s<-WgaD0%sBx8R4~ZeP)EyK^%06Thv`w*6#=?mZsVnZTXkSMA)al-`fO z3_2?6!$L}|Xki&F-Z*VeZLKV@7RdhY{@iOJOki^w-+XE2p%`OhAZbErNeKan z=ux=W|0jSE2qJ!~!x_&5B`QvB7S7uqf%&hqe%IYyp9-IpF6K5ZT2+kE&CZ_;As zanQ3fp$q$kFbEXcXsFIp@8|!?ymH`hdwwj`YY-ER_t|Q`bLEX16XKT}U*M=`SCOg4 z;YQC_p_tOOR%rEnP-WA0G-@)5BPH5sTKsUU@4ELOO_fc5B4X0CJY+QWX*lF1#tdRUU=c8Y%R0Kh&(b$b-p%E1~RsMX$w;q#3C0k8Q zmRI@6He*ieDRq))2B;-);bh5bjjQN;uCruIFoQ7uOABSt33`iR)o&Cbxm>mea3K{^ z(i{iHJH#)CYn8O(qsp`&nbKIB-Um~1zl8T!TpZmg+6C;)Fe;rHJ9BXb<{Qt8m5m~- z&vB%m3%Q@F7M8y!o!2fw(>?@@_sTHVs1r19h|^It0QRR$TN7%~2Q(!2_?%2lx@=ul zZW?wlKlVJHdmghsp3F|H55N4IXdBnr+39v!ZojWMW6f6uva41qj`JRqoD~tSyqn76 z1m(e{QTUPS7u2{b4rgU$F!V7)%J7onsZw1;1HFFi;!+=0v9$R4P#1AtjxhnzS3Vh{XC`LQx=_zLCntJt{`Ivvxf* z69xZ8X}&TuhXp!7^nWIZx^zi+kA>fA(ZKwk&%v%8=1N3orhBn*oNddPDqE z=DtzB{qf;G_-(*VXqYc~hK?)Ox2FYQK%_Z7KdE#9v`u(_jOH4u1dEVa%2J=zoq{yJH~XXXQW?K&6n(RhFZQ(Sifh_kqzVG6(VWxAsQz!&u&5 zWtSkO%>WsCp{6F~qd+U?ZpDu~-qvBrR8I^R2u5B4QE1ocZbBEVkDgESx$-m~Z!I_z zZsXlXiHV6tNvt?I4*s5+vLCgOh_=H4gI&q=ew=mz7aJRUdPxaI?jz`D>(1td$OY94 zdHEo#+up#%EPAzL0*)2iAP4OvDHtQwJ5zpGfB@}G(rIeTa0m4PvFTh^?{2^1_!pnq z65`^Df2&+8%GfqHwP#|USj98AYdLktTRefwKI7xIJ|Y77A>zSyRisL21Ve8C>D&1z z6Oczy>!*`r?WM*8rKr)5hf76iZ@;s3wG1g3cK#JvWc?A|IgUKg{HiC06<;dnO8eb) z*@a}eLEQ(caYE&^=k=PND96m~Z@jQHV8}APXedn-=lk08motd;pb%PR@PUJgnI2>J z@V1v%{;1(pNxhk-17R9}+U3&%lm>0%ens}>nD(Vo_Y7GbrntBmg?ef=Bd$E@#;Pam z(gK{@R*guU*EtH?<$2j^L?VW$0E=*3QGW!GdUR;s8#v<_nuk8w5NNg#qVR|i02DC zgFj3`u>O_~+4#&$&FziAljgTTMuHiELAgq52^HQrFaelNA-x&CN zy8F<0?;$xk&3c)RI4S#GX$gL7Bz*@2>l3_?n zvsbS*y<4XIp1LVq%+JIZa9LbX>MNeAeYHCg+y9y$6YE+bsiW3&vm|tLMP=@j!8kdEEVWo2v8B$5TqABKxneo9IzM3l2);54CW=BwwG zJ>`3r5Qtv{OjOwhu%KpoTDxgG5pLN$^`!nOH z0Nz56ZTa(X4#d@J){^Z=<@D}O5qux_RONN7Xwk@)`p2kRkA>v2kyh`1u&Fj@1uKhu8NB?|sUa}j3wiAL8!>Ece1z$}u&M6$%0BXr6-Ti( zwTf6CP&uVn#7^4jv3!Wy#QYYQTaNj@Kves*m00NUuAzH5?lPa8{mN}Sr1x$WB4B|h zG_1i6H|;VQg}*)on{%l_))kWnYzn)_M&UR;lW(Z!b-r7+`&b1hVNR1U@nY3o0)-w| zxeu$NkK8GrSaMO`AV6W|92*K^{&^9J%_*1S>QQpO!xAtDWhZ? z$-C7pw&8km5nqYLKM4=fWtYe~Z*qZl4O#8Z-9Y}HZG4Gr#EDE{oMKS`ao&j&0ujaeOJ5RY z+u3VyzJSx;a>7I=q zi?G)|1on`K(hY+X_5_PpYSV`6$-5%cw)t}P6dYn_X6dxQ&UA)Z;AO3bPfU@Gwhc)= zZHDR}oW(JKnR(NfTHAsv4cJF$cq%YF(JNyWPCR_5!g%wqP48Pjz2nPGWi*zt z5P!xgGXz^%_=L(XU|aF6#?SuIayLg0<3Ho%mFPk2;PCz;FUgadTi1Kgzi`XL z&Op)~+Jw)ia{27&vKV1eNa#!4{cl|zKVYepf(QClnRNV*8C!KxUS@cTT7O>ES-YmM zVl&r#RdZkBE$~EZ!ap#)k}5QUx9oT>Y_yhJrr*x~qhPq*mbhd+DqAef`LQHTGAls0 zaXtOK@5APw8JUmr(M{jk6I?qg!d_kU(Bl{dhZ{wox>Sge_Mk zdzHBAAg5f7!;WlJ8eji;N7&rGyrb<~tw+Fz9G(Kdf3XExQCib&>rn{i>?q-2uRC9R_t z&e7@VywB)TzSEAiB_k?Y>*{rYw}vZ1_xwy`{&eEyf9C-hQF#j*%3rUt(iCj{{^=}s zf0u`dAZbZM_vpy0@)2fTe?+T(&y2Hjc02XhCa32hQ9xdCO6TB>%^e6|zSPFhmfZ=KdA{zr>r(n|u;qRk3{5P5Zi5*nuVO za*garrSDep@uFp?`*TJ^SC1wwuVz!OQ@boAKgd#Zy-TFgs~{fWWX^48MS1y1FRq7X zNOeWSX_{(u;L|%mR9AE$^L9nSaWy*N7JNVcur}X=b`FR!kh6G9U%iE(m)|q?YZq(l z@!(pqrrT(Dg|OGqNq0rZH~Nq`m{56g#LF0(xv>CX$EmE|pm&R93EnZC5*HqrAnO3$ z%B!xwjuiINc>7M(?rFavPUQUwWK`Xtx=Izx^DX7osOqCfk4{IMJ?U4) zy(`;aEdgt*$w~0+@H^6W`kVMd2}_uACpC1c0z7A8z1(uzmTYDgH)&P5)j9U+$4? zW5+BKa6s~_$42$8*HM2hd?*@E_uWO{t&M5ruhf5oLp$%YO*joHNEoe6#VnnS>oPNIRv5gqvspL7 zvmxNTXfIR~5INLGUO5a5hLG>2(Ko#`&T$K~8xFm1i#wajzaQS{Y0T5_)EyWI97>Z+ zSId8SMl|?v;|_&qagH*J)!$QE65W@DqEdjD6^Zu0n^xas44l$t`K`07_34G-8E`nX z#jPUbCRy-tPZ*0zqM_duG{G^=2w+WpR^_7D@^ny1DO9)pxP*7v>oQlSZs}x-JL2eY zs25(m)nWSQIoJI5w(?IEOBRzJ1)FPCzoVS?Z&z%VW0Z3K*BApf#Z$d4>KrM*ulS21 z*7sp6Nk0yR9ZiMTw)OStxPP3Fh)Kmhms4YcCERlKb8(V+U2eMWv<9ZbW`|HSFfk8z z-ssg}?XyT3dGpR1FnD!vZS?7+e!b`a(U_k8SHo7m(n zIreTJ?|FYsP`B9s?*3DgP5jYG#@Fm}EC2LB{qP};HJzqAL(Ibg6N=~B%DcWYH{?@M z_gJe9^RQk$hZ5<0afhC~j`Hwk@u)>?cA1szBz)2GIQE3~#;|&r9e25)mjy~kYzvMO z$9CYCTBouJgq5yXv|Re~Yk#S^e;GG^Jf`0`uEtL2&{s0XgKqN>>}2kS2g^4dz@T~w z%mGS~P9G8VcpsHsSBz@%RZ1%gN z*0OOS0;X9z!4$R|Ny@Br;Sv`aY&W>{s;)6z6BZV>oBM-%iuM9qd#*OZ$0KHtR_CT0 za&No8KAo>S-|i%s>0k@7I^QZR`gmE9Tt|h1Iq`}^Zs4)a)Pbadjcfkc5{!MbLX`J+ ze|vnJ*$FftkRUj%uIjsgO;|+aG2+s*_`}*jXr=0_XXWUUqw7rmCag3t+y#fdsP-`qM&wm1k8=u&({%3pIeb`y?!?*RTI^*^ptG_Ur;MRfN zu^mSDL@s3chL*II&upW#R}trHz})$Y_3g$_u#ZzsPp<%~r(If-Bu#Z`32m_6sS8nX zaBP4y;4g+$ZvWCx$2)c%8z4sc%%8Gx3%;J=e zq|(7**138P&_1{%8Qw{``lWixPUM^2(qjG6hd-%os#PAdYpdB-t^)1jMKavy3~Tfa z@>F9eu&UL{RfO1Z#5%Ypys9^{anQDK^oJD8!l3arX=~5Cyu3K@@}R3WF&`a~yG$;f zEO18PFVNCH9wCQ6ShSbY6U|o>`eS{)1CL;yTWuCfL z`oqj$W`(=<^i!(9dzNlhiig$otvmyOA98+|6@gw)RuP)mPVE0H765*vC*it~R|1+X zaUC{2YEwhb&gzK+`G)lc^fo3opp!j)C#K=leNQCTSAEO>OABNO2#OEqD*om5#3m%A zV4n|C5j(mC8K$MpzBV$FMt=y(0yN#s%(u$eJv(MM?d)jYU`3^tJ3GE!Fn`lcX33Af zw_o1Q=dTv0danx5Odu!!{*ASD!T#FKnOi4B!o)L^Z9+UHTM3y(>v#zu1@72!=Lji# zME3>5C#&=B5z_CuChm*245C3rsnvU9$2v9eUBk3$ys{x#m?^s7hjF&FKcPetrd1vo zDtu^bt+ZmN5LJjN%b`pu->Ww7dv_{Xr=g>h2P_Xan6BLtw8wlawf`X)$vA;r+b1q! zJo1c@t~{T%eMaPXqM1#%Az`qX0-V2Wc4^MmuC^=RpJnf%g1suuwSM=hO9C6@tcQ{WK29RehT|uf#3!Q1wyQIXl9&h74~pDwL#k&Bfxa{FqhSrF zrIb{+H@PdUP*I_vx@-z|^Y4|WwT6xs66WqmP_+fvc5uUNsi z@vW*7zRN+hJ6YQM30UPJfE_*w;9q((mD`>*8Glwzu~_ z^LmZHoul2;{M+{g3az|!f3i6hB2dM>UQ;7VH@=5|xG_o!*`W^KLG?pB2(1`=t?q78K575+~_{b%Vv|P^BGnv)m5+DCtgFN zE4UUC@3}F&iUvCUA0IU3ik@ti&g*O;Ta6hEh#Bqdsr^GsewCG{o%Jz6^_BJueIw(a zcF?o)m@#y`VnN zRkCS10b(H7pk1>$P$GHmWCkBv1PatQ?cS|hRA~ielrD7o)HPa%DK#~8I^|XkWg2iS zP-HcLcj!8-%5J&I?eK1F2#6VY+x7Xeg$;=`MoCHO^8~EexD#-%?)k6TRt~i0?KK4D z6_F7it>AnY41{CHw7Co?fx<7Xr3c@6=Bh}(+wkgG>E6h~g7|HxiHi61KX}>ErN7tq zj;C6rq@2^)3XXVvzoV_z(tfw9Ul7%=M%1r|(F- zk543_uSRb3-V+y6b#!1;FVxN5AQ<}dk+2zo_#5hL8OT_n!p-){H@;R53xeaF{OMzA z^ovumw=dpiHZ0kys1`?qO7W|oQ8f>--lZToc_RgqX{__l%6f2%ni`)y8RR~=^Mkal3;=;cWbM%!0)8Zf zE5+ecE;o1Nj;kI(Vs{)`HEcc_);EJROoO~f$#U%a&@&uh#7*cWUshCzql=Qo%OChu;#vN z5-U@Vb{-v-#7w9d5Tb2iaLz-d(~%H1fPwyGg9<{BTi&*ddptAe|I06fX}y6`FzeDa zC|Ol=zG@}x?kZyAf5Qnr1DF}~5@>eWusiqBEE&G^ra+ob9SwqZ*Lex|VMaz(@KG~& zP=%WFAOrdHU#8IKH&2=K4X>0kMU}G3y>|i8@?%GW0Z~^EzjKHbJ4}CunUDg92sL4X$z6wIoxrp5#rPKDq7`_q(9*aN4C`;rDS-2WO_yjHiO29%oWc?>lK zfzp0WpvZz#H5vP(NB(v$bB9jY|1{g7+n+GU2$z)Jn>L3c`G)OL{2Z02^&C{ORjf5~ z_y{Xy#>nUg<_&KHM#BA{($L0;6t1rqcVh%t(YE$z*FMZx?p1S*J{-K=8>vF&%mY=H zB<4Z2;k;ST*9(gfOXQzRt`nlaS7c7Ik!)~zw@wVhbm6c@*w)$E*b&F>^cza{IMz~A z)eI__s9;pT=7}-D1P}{MdKVkFzFq10Mt(GWQ_M^I;T>7gEGW_j@nGH3V>uP|d{pLx z;Dr%N%AL4{8b#W31C#jf>RNF+ru!F|aC<43QjHm0h?trFRf~!ahvyW@b_d#Ky|4X=m{snJM3xI5yarmf8zz z7PPymN@NK7PwfcqxDmV89U|k`qCR$Po>u3qFZ>$gSEUD$Wf_Qin2nsyyZ|ee6Le4B z?TEF$bxWKStCN3=7gimNNg@!Dw&rMhA;x~!?J@J_ig83lt9YHT>n;f2rJs3cX)SY* z3QBWa}9Cy0dW`B#M7e8gTEBL@QWqrcve9>ArG-_Dq zLrA^pxNU}41f74RzhHsaGb1MF?aAC~uX`Eun5UK_h9Lb6jV;m&Ege~4n}N9rRz1$6 z*?>u~b>m9yucUYXBraqbJs!b=ra9<9PV9gak@;8Sc+xyucP8kzd<}Kd+n5_; zzE>-UAb@sVMH}GCoQdg{G$!N84^iVG++XXC?+t|j*tNK{lv-9miL-y6hPE}2On{L= zcI#bQ7pMInA#aTIQ#(b&FX9PYY(3c@CvsUTa5u_@+-_FFPHzRj)i3$r(F{<(b9%_t+4@<6G=bLkZT12dkKat%?N+I&^e& z^sMT)=?_66320J@QyC)6#`(VZ)tL42GpoLfw#@=V0Dl$pVsJG5Qh^Qs8bMcMH|;Jt zG~4@~2EtbBYqKnTcIl0E#XzO7A_#h~Oft-gqis6(=i@vQW+mHDCKWl6O?^w|S?6>* zfUPFWI+IV~^Z@`2GF+E;mcIX$o$QQs!pn{puNxtmmLi=YM{vyvD z-JsN@5pL)&9o;%|ce;x+xV~e+qXyMm66o5kUfRZAAr46xHt%8P84P*(Bpb7}fsic0!egWY+o}aL_v+xg+^X~(eviL8UO8qBFdvA1Z#GX8J)O11xq=eJ`=fxB2G%uNqy^ zBih${j${f8W9HwVee0#>NSy1#lpn%yR6X!h##Rx4)U?`KJvY0a zZ<_iCH_Cg@Ib+A9GGfyYmzl0ktb2+>^}b;$*bse^BkTCYgp%9CzV9e^qUtK}jL=^3-NT_a z$ByiCHG>)7fq{FQxkas@%aqsyf4tFG54agfx_}S6V1i~F-1vxga3}TNd@LfR3#rcg z;hvv7a7^M^9ZsWvcIJHd)h}W=Ajr<;4duFL-A`T+_3AjW&$JE`vr)uUA1e{SMmZV& zxNOR+pC{iXbCxIpMQfoZ$zK%}?46eS4Y4XGI0T2--kp?4np)B~QXZvSfRX@e18F!s zWX_ar&-Kk^=>q_I0iD3Q__3Jj;TrUkVj zp$hz!ZV2Kia>L!)+WJKE}{ zmI>&O{WbctsvoJ&EFhqf6X&hPKZwEFTtyt!Fo2o)e)sw{>^|`B#|x8rcdkhP)*A@M zXbwhEl>SwrR6z^I?OnR-yJjR_#g{q6ti$Zyl$OgE=N;2@jMH@qGk_0a0v9k|4f1+>wSt8ElpCg?&+r8>zE=lv6xK#G;e4Gq1LDwV2 z^0S$rP)13~%g{Sd9~I!~Mi^)KS;2vbnrkBwf6bdor`{a5Ndjy`P1d38?CdhYIz(YD zL{1?jn^CeFm%yZx45V1QS@ey64fwA`$tR;r>kXej^Wskcy*sj1JYP-ntv>N|+<431 z_dj9v&i$9+l`SSYfIPCd_|fh+%+!a8?Eiy#SDuACrGUM4u_UaJAxPd~MErC7XX_2g zd3ZLUmcZVvZ|=1{E0ltG)$7d~?RBqhgcYo7HYNXH$;-%mB-`dns#BhwT(~P%egvSa zS0E*a&_DpLh5>+Yg7){aRFbFDnZk$bTP-gD(!B=dPZZmxd2)o=S@ve+3P0Qsun6t z!TY~(X#MJP^L&BRks2)mXoH^bVj;k?H2Y;GIdH&<{4NPhTECZWoT(OXfe?+qkf3NF z0diMKqvikG8reTWj1%S7IFl01T?$4MmzGl=Y<0!A@olg_VQr3=5i%Dd#pmq-W3OQ5 z$2*>oL}O5E?A{<1VY1n`c=Az$h=5v;Jz1BZhtHzvd z4JNN^_mz)~(1&3_ZD1z;>5v}MaO2lXgna|PHIa;riHE?hA8Bi-LNx?weFf9)DUDBHyqZmRdeX>j_+Ku7A;!~O^xij9pm1gns$_vXG=9F10DxwyUk z|6)sMkOP%qK~QbR#!W`B90Haz6#cV$K;Yy3ua=Q8LumigC)JlPeL*_&bYPj9N|uN! zPysT)B> zK4}iX1Xpw6z3^GX^ypX~ z*uWaTUwxO1X4?9X;ebVpZV&lyU7yCSAQqqq$od;)`t&Iw)@+#pcTgpKJ@!3RKk0Tr zMU%;(q@#nEei-J>%m^MKk6m-Tf%{oFQ~0(OM8MTbNOJh#7oEEQe=hpw_ymlfb`ps4 zrqa3p$5^32K|}175f$Gj(eymy39e&GvDy_DGBpki2CzmAfTXpZn!fjWOOLCGu7rS8 zzU*`;#Hik9+)N&sfkRf7n*79#Hyl1M3$!Ezee>)2LIve$X9|!u0DTMe@VkhTsKd`7 z)hPHE@4e6DZ(&FhRL3HQ>j-r8@z7{`SsCTWuLgm&wac^sK2Uzl)!jr)Cm~5y!e=ye~O3jS4;n)p{3k@ML524wnxyH)sA04WCA}M$b z@B31TWjh$OIU&Q<>kJQ6zK5EMsNkKv8omDqR7X1G;AQfc_Yq=Ti}?WUuO@Af_+7*5G+Y*dHpGDkw%U95j5l+E8?}ykf)>IG!Wt%{5;}vIV^D^N#y?-V@ zfYmnj=1tDQ89*Xhy~I8s7T(C|3M~O;YGG@u;VnVmw!~|Hi-j@`mq9Us>&;M9M3yzJ z_p=0eoz;p0k=P#3Rg)V0@LPvZH%ogtL{NK&gDQj&nPmN(orKyg!EeffbUwEp$*9?_ z4csSS>g(_K0g)T^J16Ps={Sn<9CNR4GHLmiM@2lreQO38F6C0kW#B|!0RnS_5P)C^ zf4;Reyp^#eWmw4|XeLeGxc2>$9Qx_mtX@-EguCq{r8d8J`{h`tjd$o!1eGV`^Dbfj zx{KV@$)ut< zg(M_dKQsK1i>YsH?8|FJaHyBRqaiIY~RuTS-GI2?>kzz9YFb39!}^gh{Y7_K(vpZHu2 znCGJOAMoiL_HX-a;Dz+<3Cq!o__>BzmpNZhg=IfK%T=m9= zgoNswLmGIqfTPJ&>b$i2QsJXt#0gb*_8nEk_G3t5O)8{0=rUdDx^&57d})s^)$>q& zWz@Q0-(R+&-0;4DnbrOXRpK{DfGmG44crvFlOjT|Nlnx>ebM|Yqr)Pgj-Nm+!6SCA z=~;^12Oa`7IhdqdrZaKj`ryj`rvR~40cR`TWo!r}f@1uUmq%Ha%|bCybo)(sCI)H{v0)6DmC+$;hrH$Ku5 zS^Jf6;!AUux)YTq#CVZ^8E>N@I9|`WmYm1A)shA*kQ6@>^qIS^b zs+_V}to$GD+Wsj;yWhI2j*X(7t9cDURi1B8sG$0&5kfIvQYSbY+|ki585#R_H}w)U zaMazyF+isOo1UF}_f)hq4R zD7f@%f`DThc;PcLxhF0wMVjWi1B&`CSq?#SF^w|{1)J_`u>GRkHMzIan0~>^IR&U5 zwAbVE;m^y0xL!kW5_P@#N_VX8N%A_4aY#B9TuAa}78WWy)9^-v-eYwrykJnPK+J6- zuE8)*ch137T-)(U$U6FMMBjtXd@x5&R(e$Sif7&Y>Gh+gZO&7Vx!1bD3AlUiXY(z{ zk^3VIxAgt+qtKe=JHWTn#|)_@`>KJovxoP1%l3;33)P2uRa|GnEJhiQp$$0wq|QiC z(ImyNr)V9o>KevoxcU^eS#MtEq6l9%kFKMdK{=3bRAM~NoDyI#SHbm@%b%>fn7JLO zw@BIZ+P&{yX~)?=7>J#&nJk2y=zjNIE4{rg%q%AnKRm<{N^SAt+sm-u2g{ti&l!Tm z=Tq^R+E)|emN;LZ#66~r8L(~mOKHDmvP%llyDdfmCo=--v;35^+X1S2}iVk zbD8wM5V;gPr49poz!%DcZ>EQPu~2wI_5M14*e_$UxiJMNZakGt_#5!=^czwbXqFmA zLZ>K}^&_s(YaxL)bG_H*S4Eu_W+OM5Ahi{4(h%`yL~a1NLYte@JfhNqabLqB2zQu# zb0qwzaQf4yyo&k4AEO>td=!^dp>>)fQk{mAezswCdu`msChZiEgz_Ac5w@fIS3_K! zLP+DD9@;Ye1t}gwDJ^Yr$ARL9*b81xxYN4n+Cb*>G$BT6xeG#m>+xG)BmerUT#0_)1nO%--*c!FyAxwCa)>?)OZY*Th{k-IA3C6qFH zx+Ke?ZCzJ4f^i;7*g}XMrQ2`htWJ29Q)#|L--2chI=r`a*k8czrme9qAZp)<4?{;^ zYG`*Z4am!`3Q8QUnZ;@04^u=?6wZa#O&Bb3QUf~5JX9c zUIww3hh>))z&VB4C`jf&>cIt1@%=4Z2UHS1pp!{lYVG=d64yZx(GLabXRrMn>>6YK zp3aLkIMEu^;NuI3zFR#Ep<4D{#g~&Hx(C~#6Ce3idpCJ&K0sY(k>{_$mtJ1QuZNn*B(se#sI~3ac6RQg z32a2);xf3e%XOTo%1I8bQ9Io*n`%x}ea(A^6aNm+)+ZP~l0ldvP3CUAa=H0ui>1+V zD)|5pj~NX$XWQOZj$9S^7|Q*o5^U;PpK5fOfi0Ydo3XRy#M^({c$pU`@^*&s`(1l^ zoy7MG+&TuC2Tcw1wo+lo^klXDd7~NXm%w27e4Xxgs)0H`uj@%%Tv-0`*|A)KT1mgx zdS|~%=3YWUaYU8ho&gF_yyw1;haO+UM1(! zjh|3o#IGcB6u`Aq(TssRH$TF7Lq7mbLJo`Y3b%P_i=yZ^ z=jP<%Z3y(DFmQA&rALVW$xw)aprfNB8i6YZ-d<3whtY##2Z?+<(8{QHgIU1}nVGH& zN5g8!gDH`nCV)WQ^CzhHzhUyux@P^zqB%_(|I;G>$JXOdfGP3@^!bony+PXPM z?eR4AT`W8Xf3m#jupO+Z>sL=jq1>gyJHgFw-;`{LF_suXl79#YDYlUY7jh@IFi&JL z`RQ=cJU)5urW64aO*p_(%id%jdwB*AXOI}LR4;xj2C(iV=)zK90JcWS^+XVS$!@Bp z)ct3)W1s3lev#uW)47oAn5`ts@q?SwQcOCqo7*rgX0ji8;xl6w6U4&;*x*Jf=W9v9 zsBvqvNF}M1Chaz5$=HHq3$0K|XLN$~u8av4vp%jNKKu(e_DiQ<+UvaRjBg*57)alj zg2n4U5dA0_?Z?bWCF|U)6JOUA75HKui^Aic$2H|F@np$%uG`+4WFi_8+9orn`QAZe zZQrpY3m6n4R8lpm|GgSF^53iLZv?eT9up)1PfX|ATO}JvD?cGX*)g5TgH=9!f3jt7 zmQp2dlTpMNo}2_n=;rr|&0K204H59Ba3My5!TY%lP?PW9-`E59&RfiJrMqO0Z+Tmx z<=wlmin)j+I080rFy1^Wo9ObUB#ZjENiH~s3XX4P`}ai0tII-dFZ!;GPRIU2jAI`a z;kAWvQAg_=R)Q|FkzH;I%`RiHIDahJ;F}*XiIf)EzV2JJZWwbg^QLwX3CD{c^(W0Z zaOQUQBg*n+rudznA4%5Ne3Cy;BnXb>9w~88GC6Kvyun6^$^Nu?kRpeBYwZrNhgLwA zv(S{K{xX^&{YAi7QLQcS5)N+^Nq}`v2QaQT)h<6?Oa&kHJ zaM+V5L6dq+jO55HUXMg_)88H0UWJi#(jv_W$N4!;_u-clue`~JKLqE@kDZ>Er3Sk? zu5|0fuFA)%)e4PC{rnMLK3brmA}?zzeO#OT{)~^3=Ge068Q(TWx+8kkLHM)KelEqk zrl-?6nj9t(5^eN8#U>>3S#M<3Y3RH0Oh_Bn^{}E2Bi~T>%{W9(VFf!Cn7&Ljq4dQH z%KxrfrKX!@7>|zPNk2(X+rn-B)An6;waxE~7!&g&My+&)aR;4u*Ipl0Z&pco5PyA# zU|TQls=}0gjp9K~CyZhBN6U+S?ke6C#QyQ(_ldq@Ey4Y$mcKc)kE2*#)70K$M+QCo zQo`zf*}ack-{^B{AI~r*w|-XBqB(-*wv=uvJVDZ*81UwxQme*Ir!nnw(N23=zHgFD zGabK@@NR|<4?fPr3VMTeKSZyPQcV8v;S;Tl0Z5Bx%(fSIc^+o&PK5 zA|GPiE@mi^n>D$*60ay37q-dL^rCO&6`OyX3Xr=h@>O=%ScpwdYD`sXdGP)Jl8-Ul z0fTHmAs*vH#%drui|$qbF>Y4udT=va;tP&s{tcW+mMA?e6X0@Bq%nC8$!-SzlWzX2 z*BvFIS#CP;m~320&@-Xi;5iD^;ogxMMkEA)>HndEnn*&vqpfgPbC065z3HJU5UP3e zFAZ$Jk(B7e3*^RP?hhz&oj?4n8ZE@#j^dhdkTB7e8VmRag3*}mf>&AH^iNB1rSEWA z-={|heZ?&9h zeq~hIKA6JDPT1l`7aORJBx>_Z{<;>UDn%RN+NnLnBEjd*vQEmorWc%LiTn~5Lmnp2 zYY`*PeE;K};Aw@*_S4BA(=jYn;U&^Csbe&E=j98gVdyiN77xBOYuAq?lhAT$DQ6)t zQV5tvnp4e5>sR$vYm(Cwrf_)EnT94VO@hlJz6ddnM(&Klnm{L=gz`ul3)Bf+(o117^9eMb6 zgQSIDaRXc4A_bAeK-fjMRnUC5RN`ZNhN`0eS_aB8>Wm6>aC8_TbKz?(2Omayhg@Q; ztpxUJ8&N7N0fvTYN9{@0wd@^3U)nT*jq+~v^`880`X zWvtd^cmJ86WoA?pC6TTmJ;NnF+}LCA?=I2PTSN*pV+}c>P}?>OFLr!42)afaLXy#v z&ZL@o%#JKAJ#FGUSN;T4V;n^=A>gIu{_scr4>g5&)b&L0({TWrY3{Y7v{{JY)YT2Quu_ mi_h4`Btg3WM2kNe{1o%fyl_;SU$+the+n|n(uIzbGWqR?w?QBfxvGldTM!5zc!{?}N(}s(n4DS% zKEV0uzVlGDa<_D|b@8xub^?KX($aqqIjyo%^^F|sWL>0~_Sn{qGrJkq8=a3r@Vh=a z{CKWN;ItBml$zCuucP=98y5tY{73iF_aoR03xU*bHqPu3jM`hzW$Xtz)l6v*X3b_u zIo2lNo0bZokK_m~{4cbE=beIZoGdj7lUu-HHF{w=L?ai^phO~>CPA@-;hU~c@sCx4 zWW950%tD^)ijq>&e_IG=8BIru&Lxl&J~nws)!?%Hf-q@I*jQB{$J#%!5<1qy_9D*r zSKbExbK3980)*M}WBB_jZ^y~0G5=a=Lg)$Z38YPV6Oy}8n#+hk|{DOz|Z zgzg5UTl0kGHk_bxxjV9k{=Ij9AQhfKn*Z3ioN-};e zZ`>2bx4D$^YJ64E-MwNaqdx3Rok!tOGv}dq4@BdR6=;9o$G>c8=%RY9CI-Kk{wok| zXD#S-#4(Uit3E%MdhTuabfD>C`}I!csYL;XdnB9Wc0pRWdo;zo2+Zw~Ob$e>n+Q#i z){KyZs#96etvqn=<=J25-FnkXsF2o>O~e517>?IdWx{}q#*kD$*~lSa(vLE8kgaJ zw$G>Dxc>S0GXHM8tF3hnGUn&JC`aO~NTusrbq6AJ?-6lKtN1QTUyvs z^RwjkXixB6>dtjl#MG9_1#_$1_Z_=8>r@ZOsr{sSYhM3s{c8Q5W(Q4K4|&-&gq7FB zo0&!@sRVTLkjS=gBQJ=QMMAv%S)E>$WAj=w8{p7AggZe=<@)q<{)jk{puy2>mu~VZ zewsJ8*X}92WfRpWdqp$vMiX#Mezvu;aQ%@<@Vl{dXeHz;=R&@yu@HWG@B!D+f_K$> zf`IEG0mzkum)4zht$Q8gSU&2C3%Y^ZqLUW}sXwGx&k16gg1r}?f6rFn$FN9DOaCj; zOA2zH1zj#|%6u8!fu0~I_U5E#_}+|2Yo1=^x)bD33T#{u<#?u+iUyrow>;su!d(nD zJ5Ks)f$rTiy?6U|oUS`uh3&e>Wk}t%F1)p4M>AW;dSrO>@1rkQtD>Twk7CRr5LtP) zEA${|$#+>+Dt0zj*^W(nhVk+dGm3)@`EM~ZZpcaJfQx>b^9rJ8`r4!e8VGhdHbgi#w1w#mTNgd5OF8UyDjfi6&I;;T48Rcvrw5JU24)~4x%Zwz)g9HA8QbhnA1FQ;eexJTq-zx% zRw>OC$|WzS%_`o2hyVS1RF|%vQtqpT?F{tYWGI&U9ud*I)9te0hG2pz{GS(_zg-$- z9Ek!(q&A!#^9%LA9zvb5ETkk&p6*0vKGYR&brGC zt80$1{03HJ$uF#1GJYJ|!CCVBF;!Q4p_2f8XpZc?+uE-Qry}IPeCjR|)c@%*=b0vc z&S2`_HgZtzJ(`cwIvHLAjW%>U2s=91hW8=D@6w3=WV=W4DS9$F28RCuUQ|z z99?F!S?~f`IIY_lOAU{Hm2eYC&jh2#_!b@EWq0Jtv01w#RnD6q)dI@l6j|n#&FD>N zH=fOeQ z^BunldO0P_*>20VoSAev%QWCE$>2hEE54j=X1`YuH76TTO1SzuS`>HPxUXJv|EQ-& z%Wbhuoz!M_>#d0lmQ)1cu;@MISt#0M%}xH$BikDXjSCE5mS~h5G~W6>=R;Z=F`f*2 zFUZ0l_-8j&%XsdOa8rylf&N5ubo0r10g=bnFEJKJ9!+JUUv)Blp{*ET=HxCHS&U9{ z2gh+W0#3OTqRO#>b8cmRX&e`uZ_Mk#dN`9s@iZ|!VD0eW3c}gY1?I-%EL$k^yASsm zgZWJP>UAlY1?j#^p(NFFKgDX991&aat=&GIfh$cvdEb=pqT78qC!NG=ytnG950XeR zA$k|xEUZd@ASeerb<;O2im#XC3MME1Vv{0@AM#nFaMc8Bn3I!ZGg|drTU%RKS2s&h z(dFRZ45Lhm)>~c`&2RLnKKEonbirmC9ui)H-wz?J_w?1oECgf&LV?}>xq#P6Ue|zz zi79%_ChshO`c-aR!L6a^$!|DGhu6zbk)PZr^~xPX{9*WSdB%iFGj!8>>`Qs}M>1S$ zWt5998i9GHGTu5_en6q&HO7#4)~Fj)g1Oeg0cI7xPh}URYzktXU@1W%sEc1RSEt%+ zkym2&$+vBqI%_C8zLIY|PkR;pkN3&Bu@dha{|jH(`{g?uU6tysA#~k_hqck(-Na3M zHEJk5Oi=sA$$1NP;=bLkrtwyTt;p#3cnxNs)RAYefO_|tpHZN7USS~*uyCI=w1n9N zlC+pDlB8=WJD3oFD40|@_$u%=gOf61mX@2@xkGF${*m9lrdw4d)DPtN?L`@k@k!tD zgrcOQ+T|V{u3Qi<)gBTi1aozj;jym(0no@T!;7hcIBQRyi#F|M5qiEZxpEBC9%v3s{TQ0`yt zz!nu2my6y+Lo_Mw4Z6yw#O$qy?nLkAGNI?CAB@B%rHo5*ZK=+t&O{t6*U-hB(0rL+ zmr!0{2&s9E8!ToPr9dB9#P%=Ha4$P@+0%mXI*09Rm-nKULL?m)0;G=FsGZUc*R(N9 z^ZRz6gzYZA!&USwrP9-H{0{eFnimC6g3atztdA+A}5 zUo-FCeCTlH1<~nl3tT}E$~u%auLM#b5obH)~a61!`e z;d$N%0eVFs{JLLE;y1><>ibh;jWSVtR>{?subO;?i(g#1k-1yzvB$mpYt&3Mk=3t9lv&=m zKg69YSVz24r=j=nEB!Fl7b`|)VB&BwId$mnyIW?&`n(#PXPqe{9uLZD+Y5c#CXTgc zsAS8-r~+$t8f(<($)s-&#y&PVQ}D%=7L{L?Ng4j>>vJu-iW)pRK6d@M-~X7axZUB} zKOF7}npAx{bl1_Abocd2t8|0Y25L3oY%>MIsZ@7RK4ik&Yu$%JrH z)zJIpSj7*6!il(@Q8o1w1VfVpn*BQRr_Zze34wAfD`qFkj zZLBeZ>q*MY4*d3{=Hla6iKqP>!O|l>CXnX|NynVd9nQZ9TfL6Y&GmZPW}oWS$!FSz zXh71MUmr+aSZSN+stm9|*7k~t7-5&UtB*G-vNw4DS;{MgsR}x|{R@b({%0v`^^{?I z9^;zQ===F!=Bx1{SDM%}{Tuv<=}fU20H4-Qh>oDy8Cts-Y=sVA1WFM3nh1=vffPJgQ}1xZvZ*Dvu73u=An= zUC`lTJKA%Y=8-GtKEIiRh_)+CaI@V4@*^>kePhUdPhdtDu|F6LIL;~_i`v?k;nCIU z)@0%f8V^O1ZLYzbrv9r% zui7TRqolK~+B9v;gL@5OM@%}4RI2H?{zazvqKb+FYecMy%{7l6JB__TKGFQr_{2nl zw&iBHN_x!f6>6^5@i8?uwMkIVi-X@MKdJ)vUh@Vp2t|1tU%|XW!0k?ijB z1>@h1q15XOxHBHTumio7l~qL!DSadz|NR(lV{3TeBVJzhB1D5mu*_L|5JMJh-`mg{ zrJQ!*V6JR-z>~OXK_F+?|7rmAbY&pYxP*&uhg8;e8PCEpdPRh;i>)VX7gEI&%CT7g z?pFr?V|!G(Vqb3@nEl%q!%Hm_j~Hhh>g{Mt>U70xov#>#&Wgpf)UU)ej%+2Kng&ET z)#sZfVyE^7xZz%rr5To2e!5q7&cl^6?GBr!e&WQ=k+228-#Jlwhu1-oj^Kl%DJ)tk zaHi7n5(gWR@t!3RaF`W1e0=hbNHL-wCM)9X%v>`ObJ4}~3-f9R;s zq=9EWYQ!8rrOuBnC@G0pamVEXA$IsHSg}~6jHjlZ{GT5^YgRTX7G!QgO=*irb zYC{)=hQYSraje}Jj4EbnxAd85%P%gSf-2wBPZ#@e zJDa66S>@;{=c!vZGZpE5o7)#d`+}iE zvbG+$g_1B??R${ZlWKPG(L&>C0=##KZc6^$ZS!DvYiPC=Tzf0m5=einPBn9{?DiR< z8JS*;i(~Ww0zWP|_9^8p!Ea@nkPEHejdf@R?PdFGo1WLzrKgN3jqOo24diL!_|0D` zSN_Bi1k|lKK6mZ%soX;}oERjFIA@%UMI@|z>!rL_N8}S^NrO$b&0Y;Qb+46QB{bs$lH& zWfKW2&Y_}Ej(2%=wY7zEi+CUZ8HD8!{`)9h2XRknGlPR&IELHuX_9$$)O_zL5Ko`f z1$`cClwqAFJeq3F5CC%il^SNXzcTH?_jyrcHKq?`@)7bMe`TE1+}WE=VNK-sZR*`D z+JK4^BWg!7_qvKKkL-NFYtV9t$Z|f0=tlb%vq)lo{=Abm+`sIh5z~z^Zgi@@&G6TNOh2Jf#s@j4CI<70m_a%*f$IGW-{Spw;f-nObP;n`Qu-_ct?EC z3|C?0pAkzDEWUVHM%SSMUd8-D+vKf!s&O%%G#DVINAO667w_l9WIVV`q)6v*L66?% z=BdcfX^Z+Ao$6*WvOw1MNhlS3%@&=S#%49j-5bTiaQ2_|kAZg-`{2Z!E~%Sil2d!L zBcoOV#>DO^$?4)Wz75mh=dkQNzp?-_*AyUUzZv!mrk^GUBd~ZP3qvw{RKvcUKlKlz zYXZ9TVE^*8;NV^JGBn{|ORluZaXtVVMd#n;xVjMuycZ2v z<1FB2lP7%<#H8kyNm(qc2l%B=3nKj7+uPd%8%KgY|qUITbwUWur|=R6?3mZFH~t;@VM&&rj4d zwtcbq-(=Z#Zw#{le>;rxJ#&73ablN& z_C0QH9*o)5S0wUVE95?4>maUXoTYmlD_?GIaOB;H+nFj=dj0w~h~^thp+YPdqiFKd z8PXqqV&E!HSoLWt{(1aK7Pf^YiLwV5*&6mILJQkBiL*o>I7OQz)O7&k;uAqE&^K|N;`m)s zDpq%?xs{t^lQ!SU;p%TXo8s?|pLHFD4z z6ZCQ_@dnP;$=CuB?FxCV( zF6oyRPs$s{tzCqJPmK&xQ%Fidc4mj6g-d>PiRsb9fanD|6LK;H3yH`CtDk`rghwJudeMbow_RV|i z>&jPWt9^ER+A{_JZy1}9KSwRj@5ut|eK7J>T@gR>h|sZAHF|JNSXp%Z@)bNz+JY95 zvG0yKX?Zsl$@}~ucMY9?UOZJ8_W1GRCM~~?8dGh_Mo-Hr)hN9rtg@n_mLFtm1sVXN zU=jW3$%k!9#*f2QlUI~#V`p^DVVTJ;_0W_J=p^MLhX0l{1qa^i|9F2fLNt&}>jw7U zRmCV(5WZ8MbE3Bsi7U`Ve$9$54l^>pYb2kJ%breB*&%Qv&5Ci|h^6_njjq+WY}ByP zh@9fV*Qfewgm~bu980HN?W${_ucfCQ&d2`n>Eq88JThft&5ZOihW`^=ws`ULkX^BVN?|Wg>GK9w7}i*Mc&fAn2YFI(3j{sH3mVT$ldE@cv7{n0HYJkI^YyUR}C z?3@PiU{6}W9O}h(t0)yNt{SxFjxDZa&eET+y+-&YIRx`O@rTT9FaucyGb%-qMn^&^I!9w)SyUT`X z^nys89XteG+uU}tlIAyqp9rY4k^7$QVAA2;ka~)x{cABVl#Hqktsn{2=S-~Z)}R=u zp3HG@c>4RxRfhPtZxwe#H*_~(2$0>KXD=bu2FHH6;7?mFYReJ$mjP5*-^vE6_k=5DR3>+e<5zKSX$~OKT}0yNv4VGkg1f4*d}Kt>i1L7oG1S?f zJ8hvRqY_KL_2vdkI2C?wQLj(6iCPaz9z;NZ*`+b%pUZ(7i*(NSurOjukDct_hkangKP<%?G zIk?!|5*KBof*mftcm;aK!^QePWq_ybJt720{*+Xqe3+2&BnnyH_pR@Xv|1aaRc)-U zgDL|3VeFp7|H>I1OZy(cT;}>Hj{k+zcpYa9%h>CY+MQ<_9%j|#)m-e#l{9R2`crs5zDKY8YyVrcDCyg9&^hfWD&sO6Q z!2B8d=KHhku^ktV#$tXh{4-`UpGC|v$UErzF@S&wkBnh|UD*B3O5T*9u%;w}AqYiO z1y!A7*ljJXkYlkupa-<#V^4Z@c0OHQEp5a8^43QDqrdU|C#RRYfVOZ$p6&M)m$! zkYJ{CiuB-~m{Y?`*lQ%<`?|_?2GmZ7U(GIr@H6fCnS9<`|inh+KzUf#S z#puPJ{=rH~;VcSeMv>!qMNf-}EWVf-yffm?Z}oEV52EN+R%gAA2-;hG54k>d)2z0d zp!9M*V-cKvD_XKVQ)$}CajSf9<^NRzE`UGTiq~zfm(^%-*!#W(F_00*&5ML>%@PB` zVR$|BDK~cnF*ySbfC812h^*af#9Y@vnpwHGeh~fvMGGxd+;$-j|bY_XptQtez6-^SW3c!**VyYB}cjMy5PLhuo}S+tLdtup`pMU4QYh zWGpYO-Ph=Dv_*`)y)L~l*O5=g%I*w?1>4;+H$_8ySN%$zY3l`u81F-1`@1t0RrjX3 z8;*ml0*lsh&A5uEsM$w@%K5mg&cxUTqE9Ge1`QvXqQfYlx@>jX@a8can=PXH zrD}TX1aKoTuPw#M>3vTAR@pwjBmx(R_RADdLNF*uX}L5q(_H&IA-kp9)+1m9pFg09 zqllrQTXk^LCdjf(8sq}b0Zz4nXVdIUcnW12_YEt)dWAH(_I~i<*YvHS?H3=5^2eQ0 zCzBT>8h!%f4~#(KeF(4JdM5A&_{_-YV0dNf@&3s3<&WTl3I*2gR{45xFi=@3HW`fu zer=DohIc!63}7*GoD(c6fpY{}kplE&EAgTFiMTsz5$~D~7}l33ljVgr)_9Q3(aPl+mW^>AaRpv@?af~7&jjT-}lk65_SK(bde4J*9!pf{HBvj1YT2iQ}EbtVDo-$ zo7eH!fqfw&xyU6*5wi`UrT==H=16hIiBar_m6#W~IHdL65jJQ&;a5^py!#HJZfaAR zKR>MQkhJ5t8-@4#GVL_!KvXTamG26;gKDpJ5)k7ew9oMD$)$QWP)5n^Mf4mn8A}~} zCb0!CJAgBmwiRE3HNX4Yjv33_0=d%Bp%}JQB)B`G>RYCi=OXZz5zB3TXeo{(SI~>)=L1bjOL6i7CD}luU zXT$ay_4TOMi#-Ahu29o$&Gt*V_ks_@!=qQ*8y8*tg1~{xv}48gl-vV@oV;SOMZ&IU zOJ=Xt)NBBM8a`zFLGa-Ni02)g)AaB0@w-%?f#lY8W=`^JlP|OX>TiiZBttY}=DGlr z|3Z8`Z>seN8H5Rsh6$W zZ4VzP;63xbrL`oV2d zl^0f_;h7W9#u!%GFFG3t4$|E^_bUw-1lDamny*#MZapqj)NPyG18{9cWo3Wj@AqLS z3nLZ{%!Y8SogHwT$-kUycc~1{m&XuYzF&!;AAYzegRYuVP+9cJ!VKBN7isDYGye0u zpMb)%-#;Od`9Esz8C8szF!&&$tjQOj(ulvN^Apxmya!;Lhd2~pdO8$00C$FbqQxq8 zYq@5AVGf3$x~m+dewa$%?x&ahZM@XlXa(!JRF&sh?3WpIpzQ6)$A}d`<}zD73V;e; zMij3&TbGG%1Zwa1MMRa{l2rh<4AH3a_HN1Uy7pczqe# z%?{(Rxi76FpRaO^J+4k3l)tLvZ+m=@Cioz@5_<~d=Vt@}W0(F+FinITT0K}vOm)V$ zxUQj0Z-7j8UA{5H%PcqP-MwS(K|icbcO`{0!tYSf=_A+(cZ|8;sXcap+x(dTYQuHt zN^avfD#6Ts<}!Jt9K#B*-kwg_B2fK>0S&4$9Amo=1}sht?9_lZA_4nOwy^H4R9XOV z)q*;^IBR` zNU&&9YmLmc$?)7~xFrCkK`bE02W`8WIqImGdACz_^e&4t6*YBdAf@y_AlQfPTN>Cc zr@FJpj>usCS}m8}e`rT{6~^5D?7H#-|B3n7NUrPEp5?b^*Wher{`;Ty@#noe;g9$E z1NKH}8))bjr0h1FpoLf6SWLFFTGhm%8agBIhF|Ijoo)>2jE|3pHr(~l>sL<|RzFsL zN`HWi(Q21frpfkl9u#c+>Ch64?ms9`#oL;fnyXP~qLX%A3$}t*7KI%ZReR6UcHM0L z8)(*uYyO?%e!cZL_v+IB&_%$W#9kl#@Tkkc>YC(`D;FoKfkw4^-}r~(fxp21iK6-p zg&aj_8Go=__7}f=W^WLbW+CP;Q(m1V4=c{}9P95)CmHs|4yW;YZu$(7Dy zZtmNG9%KOON|uF5LCKKIyv(csxmn2c&0CO|g$!_&m6)&;m<8^fs89hk%-*h^CSZ2G zmwc(jEZ|%39}+%tt$!WXD*d}1+Mt?V%*nrM*G*cgxkh;Cg@aa4T?qN>@*h$m-t|?OfD>ENY;1?iy8T z;<-;g|H6*UuRWvY~pZn*Av=;r$b@DN@$t`XSwWvY>Ycg4Jz-CZPJBroks4FwY&UnRGX)Fk0-Tu2_#b!OKy5(aA;KN>tE6-b~?0;G0cN~gEESwA%HVmW>aq7%+_UB zZx^u%JIX7*i~w$E{U|OM;Nhf?u6(Y)&5Qdzn=0VWIU7Tt9#;N`ylZWXrAM%on*e)~ z4sFB~Pu6`X?|&?M-ifvIM=o4|%FNnfX#6NwBbQm?85c2*zu&_zN=G73Af@4YA$Lu@rqvP105L7 zztZ?Oma@Cw{6?}GD!UVyky@tA2&&>czTSv zFgBJ_=1K&xtVd^r|HxksJ$ZUZaeB<;c$oyZkra(nD4e)amcS{zvEk{GUcY~>X$0{G zC-FjsMw*DS7x_|k37zsG1J3++Xt-?v0$GrZW zi4W-vY0v^{`!4|_Ixa8ec5^LfGp=iABHxDs-0a3RrHT5HDrtWYk7g4WPYG=OcZjV3 zf&<1I@#*AOt4iQX<;wBg$V?M!P{76MXtl58!O}$!l{ROv>G|GYOMh0!Z}ZY<<6-M#o+6;WV)vpe_~=#F~-u z;g0_=Ea>c>@z!)X1M2c{^LjJ$ay!S=dN;6W1UcMm-}ZbZK;vH3_t;6blbyW?u@{|%v}nKJCTw?nJC473U51mV-$Us;pddW`RuRd$OYn= z>m`dIeSE(npiE;}7Gv*bpV}`o{DJgI`tigZFz3K zXGca*?f6f@*SwAZ70K@1t(1Rf1&b0qJ~A(e_goSHx+0xnPfcG1yT@Tv-jJjBs-Ct*ljd&wKSPoNf6%aK;8wN8&bos*6&z{ues~HQpG~0s<}Ly-Ic@ zx91}a#WxW5Lk$Cpv^QENdf4EJ`%dcI<{&+|-nuc%x#LUlP>PT~3V`JEJ=uZY4Z<0_ z745L~D6Rc}6Tm$39!^vg2VGPv0Op(IKA0Q!*=hEbubd(HaqTV+#43!xm&FUc+GUgn zyLyH^>?OZ%dD6u{wGZQKTn<;#O!37jz!6z9yZvY}CQ!TCh|b8+>Fzsc$9|mFt{Uo2 z^i9b902Ugnyp^p2ok+q{{Tx}_Cp{^zWqS98IC~->?HK(&!}8gtTz0CB?i$zCoD$X} zVc~3cgQe_9J2kR@<VEnv;@C za(U9|n<4h;<@m<;7*jryo;?2o`J#HM*GsK2K38~nI9V&;>$-S=&^DWhSUE_2LA}V z0pIReC*yo>FV8s+V8s7`_$>uH;4A-YfB)I?ZA1YCpv8T5HUKATZMJ6r&mkmjUZ7#L z>u1q)@bofd|7&)Rr@XsSnb{+z|7o1Jdu}EMvMYrGpE8Q!?OaR%M?fx#|1wkE^wm#V zNoEjU9q?KzzE-6MaZo)Gc6yz$;mULl_W$Q;@hQOa0JBpYER&IgrI>yjUEwF&u}3&n zNAeMQwvBHwmZS8@m9xuKW-?S9^VWRlTWyf&asmNpv?Py8z~HK(h(b;yfF?Lt6!emx zjQY;1Fn7bqJ0!BKM8pS1fDaf^)LXf-tuA0Y{-pAL(YpqR;B|jeX8T;sH&l!7n_T!Fz7I1lpM5XJk9oc%~Lu43z2`HnYn^cS|AN%pk{}6hI*@v-Q;g z$STci;LTx!e#rM z%Jlg{uhmjycGNhgD6EJ#L)E_BUXHWdhFb7)xu!&l}uK)ydi__#QvB29~`*@>*tc`?3LF-yi!q z`>^boS|u>{D+u7gpDrm*$A78Qq)cRc(+p=u)RH45^_J&&WlLRmqkc`LcH6^AyF(x$D<0~ZA(Pb%`<>68Tv$}5aa6% zc5fNKgzn?h)9A{}HCdpyN?`FJKjskewP~m{`DCvD#}-OHaK>9? zS@Z{znV+akzrfVbL=K)e%qIgo!ajb7#65U1zhleIq|6gHz(rZHoT zn-uR|z5s^dX5}Eycdh3xI)>8|5j)b>W)`exG!0w3Q4qGT=c+ozK8_C5P%rpjb~?IDBsh9@=u&gdYs#l4U?W z<{&=Fe}LNr2n|9(V7IC>Xv`sjw=N<;zC?}kVz_WfxgH#R<-n3$jip1OFO zGt_6YH8#kPr1Lxb@P3*P^nzy~P5SFr5vtg5fESp;p1EmPK^aW=)WtXkVHBpWq9Q*R+{?DPBoJ2&{aYUw;S^<`(ny$Azy=%lMX5^ z3V`Z9q(J8PB{bJ?%LsGkKTg|izDS*215MdNxnZXK5ni0Ezqe;H`lc6+LnH{Cz-CY~ zPLa*J#&1^%vb**?*2+>OkR5)2yN<*vG|(Rta+O<(dLeHO3R^G8-nw-QP&hDKlY@*9 za)UsFQYWI<2t$6^sxzsl^hhQNue`ZT3ISyM7~{Il>~`zp-^gz9io5My?^x>E1*E=| z9R9_-T?ZL_6f9zHTvW6=3n0Ri$up9Ky;bEKF*~7oam*$ugppH9M<)jE{TQ*w3yp^~ z?2a_Na1$oh9do3&pQ(5%BZIJ--+7t!{Q2`gfBuM?2)~#=H>IZ7rmV*?0eczPYFXGD8M)rgMzk zbr$vb*)3=ORCfkvjzcD0U9HBdYG`Z>i6F>YFyD+2_Z|5atIqUDIK{-0l~U}fYyy)g zf{|naO1=*a7+zTbf$;}*?rb}6d}28q7B(W4t`00Hz~-hKO2NN!3izpIH6F?N^W|~+ zU+3-wbbY~sgR(8gq#uC5qt7F!8fc$Jju)ziRLI9oXv%zdUF{WX7ujirNZ^;t_+L02 zuSD{5_r9a0JKv~(A!sZ&55!N1dJO<}ahkj%JU^<0E$Aevb z{ZakN{+bT?=Fr03_8`-CEcmM1qA|u5csc|S`=oi;5gFXxk%Y;ao{3&p$fWlsh{y<# z=K$TOo$HIGqO~&nV37XA8pSRR545}bbHBVS8t1cAopuovQ)WZ4Auho?Z;|;y3zOb@w@8c-=>+#| z0t^3hSxT9|?E59+S6|?Juch~AYYx<##eM<$l?L*kv!eE4o3i!EGHw1k(}xn9NvTy8 zTM8E3SuH=YTDyIS+5ruge;QPixHC0OOX*?B-HOBQ%VrYUyOJi+cylj+vj!WDNbURo z{$&*rNjhHbi%j4#@Iy2DInEgHuZv|54c(8(kupx69M4=+qX0CI>+@{a&! zOX}c4LsQcLK%h_fF98&>r`g5OWy-Sm5Z$6RAMY! zud*|A7S{gjy1{akLo?&!+TXa~IU0}Mkk>a?%ZE%>HX>j9`L&pS95%~X-KTGtCK4oL;o^r}O_E-u3pRZEGAj_S%@mwxuQ;p(^)mDIqKEwk% zqrJ9Ggwp)V5`mSsXVe97%%8da?)OY7ToI zw2O?Z5X-V8|6dfRySlwv~?i5FATpens&bM!m~uo$(gJ_$ubW@ zRC*iU-4r0!%hq*-{BJ4F|Hvbl1%0=wJOG z2XDQ-7%$*SG)KS+G~WEI>PwAihlt`i8Q}i{jttL(#p=YiP};8BP*C}3k#uCyqbz9!!6eKf3V_9)4lP`34Rbkswk2odnJI>th$)6g41 zxG4EMRveprK!2>L1~r0;Bj;NJtMzIxi03fK;2> z%zTL*mI#lDDagse58m3c0XjeW2i6C9m)Q}4BD}_Rq)0K8d|v6X*-Z>yaAsURTl!D` zF8iUcTnm@QJ+_uS%!|%V)4#w@$m$@qr=*ENoD=2@C+0vem2O%+nk7>x@?sw*Cb@BJ zSPOC=1TS}mk@wU*b=9N(s(`ewg(yD0#h>AO zVfZsX9&k(@3#GnO0bWA&vB5Za-e8r z_ehqsM4kPOyq2Dxl~C*;HFXTTiP+;}NwCUK7}b7;`n?#xIH@B7Hb6XS)=GTQs3 zm~?}~vv&v``~;xeXeR$`CINVS`^j<$3_0@mZx)d5?Jcy9x-}J*Y4T@iif3qCtCLt?jC(T3;FsNbuS`@8gT1}; z{v67CBl7c)G-q=f?V_8zGLd%6fWA(b-j;x|Y@M~{LJDOjuPdJdk8FgxeRXcyRg+gM zx=H!D`}_L^?Iynu@(6(81DL4+&t;a}7vi>~t~(J8@GRC-o|OFguIh>P z4VspBSNA^#Db=Ze{6a#x@eRB2niUFu3cSAHUdE1YlDID;P&12Wy98dQ?456*Y+YQK z>|yYJ^ybb3#N>n6$)aGteP?IUD3SSdDW#p6k(;JLjz1sX*#BQIKpxMA0{LSB=?Fja z8+)ePg63z{V(~Zb2PzV_6mbI7GJJAdR{J{$c!0scRK31GG>22mP}S2@XrPBVI4Im0 zk1r^;alBR(WVc+3)wfM_y8}d7*9K38jkf)uEG>XPOU`zY2q%zZZXABs`Ah?{U)b%GZQfre7q z$7}Le=Q;sr%=H!;v;jyjsUDXtmFO7nuzllOsHaX=3I|_)*t0ZP_Ln9ilvi2YA6nM{ z6Y~EN_nrYwv|GDyXrfd_dQ}k-5D=--6%i2u5$Po$AV^1gOHe@+1QZ06j!2P?^cp%y z@1cj@A+!{dketD1@BO~#`_7N|{5roT$xLSMvhG!`Yu#(`ml0WJ^XWU>A~83}{y(m4 z>3>|==(H9wCxr(NF!57};7!~@1367X6PnvOHN;&LCiynIq)}ol`DtL=PoR11#jxX> zFVbarEYdJ&eT~iGa%upy?C!> zmpNzl-+bPsG5b=R7cV}1{8(mIg&Hmcdji)g%A=hM5G^Bc`76;WUsSi>ZPV18i7q;K z*JsofUiA>9wSCn|mlfEz$1SY9e0Z6UPh%qORz;Wmwf_akY&BvJCEKMx_y$@6)6Vb<3_DwUd!-e}Knx89 zPYjnFfg1dCReeTiHdIj-jw_quVo}Xw8EQ45s@PWSentlPp{W$HxIO!OwZsA81zZ}*lzT38 zfF@_6$W&shYNmTKrR5z3pDkd0eGYa3U9@@kL>mSKnab?`69Dq#g;!rnFn^s6) zKjGY%F>xD^ z1q3ZAM!?0N?DkjC$KerMauyZDTjFXU4{2OYQE=l*2bquuJYk00CK(`OYH_WjBM zALA{@kX+Y-f!#1H1EyibC$K>r>iTKZ8tH4~V3Y2jymYjYxw&(7e{uw=x#b;im}ery z9!Q0*e4dz|bGY;JT-6l4l?t`$>Pn`zAxlieZm5X;+ybB!=&R;u{QrtcCf)1d<)Z`N2^&(U#Py?R5(CG*L;?LCzSbVmKuuojbE)lq(LE&4Bq^u7q0_3@@j35}u?h zPj#U`2k$)N_+?0pwtQmCK|aKaH64>Mp1BVn_MCLwrp@qt4K>{B%x77P02nd`k#yDV zu9t4lfgvZusF(_;k&Gl+2ZT!<$>5mdg0c4mOhUF+;vKsMW?*+?UsEvN;Ub&HW*9BV z3puZ3RcDCPzhB7Le5{bnZI=xk1Al^JMv>8`nS7ymU5kw_jxFI36%s+x3L@UzHkt!$ z>rm)fhUg(jfh>JA5;3@@pC*1ssU03(0BTH~F_B;D)-&d2yh&tEa`l&IXY>U!?0Rf6A<8TESr7`1G+7#0lTy z)9_qveOEr&f%SV3HxZ~tUOf6N!(P0E8GS4l11Br(Fp=Ha-_sUFY-3W(XVSlXx##LC zw%irNCSp{4eA60b0p6u5y%xwH;_To6o8Q{uRHK$;CuLZ z)$FWf)1&ucO}V1rUtpCZSn&p2Fhw48HcI@|bPK)XNI4}eG1>LS?sTQ$jL&4KKlo@S zxm7mhn8&+O_f$>fZKhj65z%NAx*R2Y?m2=3FwD9D_5EiR;?44#HhaxLzRGRJa+$4V z%s1Grt`Ue~dP#LZ!F*4F?W(&n(R?bFlgbkd;)f5roztf|2o_)y z^7he6hM>KY#d2$I)0R{Ek&nTJ$EUdOByV+C(_#g+YH&ph!p{`@_;g`YVf)SbgeHD~ z#!Ed|Da?((>$!FwCBbDB=b}h2i0ZE~V=&x;BMBw6I23)j63FLCs<7qm99Kw}&t9m2 z)-3o5_$;b{$!sY!k9Ii+1%DDuId(C+cVufI1q9xQFtIH-o1!NOl%pdZm^07(vx%D@ zl?`zjOQfU&C)|t2F=_T6%#wXRi$@+jbNk@V_cyp<(hOGnS5Ojqb>yGZ*Xh16g#0~g z{lV+sB+Adfp$(HJ`!yaAa090gQBjTJGBW6B$y<*fiNv;F0wmGs3m}7;dcZ|vxedoN5nn%%V zOC3v#uSU7ID3|A!7Bk$;PMk!D0FvY~kvQfyD-Zhe<;#N&FVF*Z^%el29^QP)Ty8;g z_2P}o-t>C#aKia(ri|Q`%UaLUNFZ~Jp z)25BkTjhHaY}RT4en#>zQ!p|xAY1DJ>oH$rrm}d>{N)l*+rjI+>T@HTkeljxM~PB)cHJm;256rym8ltx(p|VGWsy6{>_-H z2A=a^(2)|z8vh7*=lNTX`NAS|RjN_(@!!Ov)i7GKH0}q14ZW9tkHgB0`guMlZNR^Z zm^lNIGHrkAt_98eE@AT?bW=>M$~jpD+VoA@DS_PBR2L{a@gXK=`Dxj<$0Qaj2NVJL z@^x%JDi6HBo9}KlfyM!=yb~8EsLT4VaC@vWqCzY^@OIfP%AcYHGVV&^1G~&s zic%m(@|kf_0hyEyW=83ck1RzJDHPhwRIDSL<~Q)IslJG-&ML$YK$ZoG=$oC95h7Vz zOE}34zjZ*0{jM|ro&0cs*|>ErRcIlx&+CZDC;2V*ON+S5OUeh(Khkki3a9*N9n$&c z!$9DhC@xr5>r{2ih%@RrXH-II{6m|@VI#9aKq8(h6ZX~4Miv6ACRevm##mh@Lx;h7 zi0zmUj~|r<9T$aXx+#6qiAS0UlYq$br~YbS#dbi{oW`(hS;3>{^ezGmkxiy2%B7Nu zsPP_Ip!oyafxTzVS2o6rMJvB~O%AeD@EiJFq&NCLA!b)5M2LgK5J8-PIk(95QZF2; zUoIkI=2EOtqNvjnDE6c7T|#?q$Q0Sx0re23T$!}3Z%T-=V+fI*`#q&8vT?di>0{X# zHxEPKPP_!jv zx3}JDERxE7_pJ2{@XHWcI5X8H7Pq{NYmWZU6s(fEghaJP%b#c$>711JRcz!KI_4x8 z8XAw4;T*eqo|P9y$EQkV(hA-zOQ!l3^7iIUrklcv)+8c3TCTb8Hs;<*!(dxmsr@c$ zuM+;UWZRPK{D7f9{!ijJU^&V|2!1&_sawCfS}J~CU$sabFn%TBaw0ox*gdpZ)i{5dPh3Y#F@Mazw z3wxwu$h`R^FT=20Ht3zH&Q?;bv{Uy$&qA{}?5O&c4R)qNVg>R=bC2yi^9qaP(HlJI zcIxbwaE^cgN6g)31OlrMYlZrV}O<%Fy=ne^MP_vvFe0y<_}XpWvoUP$Tp=Bi5c@LnLFvQ{?Y`3MaIN-Ala-LeZ|gA#MYx z)(sJn$g#IX84XUjKce<@18jegxUz!yYEWRvp^}W-?pkJm2_#}0x7|KDl{6;ASo)FO zX5L#&l^;K8+V8%k9Jp&?GkITD+=po{7-T{Xy((8BouAJMZ@<|sshC(a7Zm3sSnsl0 zdDR1c=lbfj{EYH!-918oJKs@n?rkgcRG88x+W?fXV6HV=p*rC@t(9;~kLOjb$+WJg z^aRc~5n*^XBtj-oqNZQ2&P!Sd2n+_dDtKRO&=<66Nw>RWGd+I13s3YGcRhD|rg1vo zK+Cjp>)w3kyU=jo3^!Plcatw#Kr9%KTCJrL{{SXb)SbvLqvv|z0qx@Ea@dyIgqqs> zQ^UzM*{2oQA{OG_aiB0SATK3)ek&iQTKRw-q+BY=hUBv!t4bd~sNOSddv&=~Cy|Rc z4ttWD&Y}DSkgjw%WU*D%qsvz4p1Z*G_2#K^`*Jsga)C9F9W^*z`95K2y3%RxQ0{XT zXEOf-%vP7S?A*$j$44+>{+O1Hfo-i|DU|jsZWS)KA2ftb*Txk*jQVYSVFLkE0q@Sf zn(eaax;$6Fhk%ll)ZWvTZN9{{Q1j)XLjmDRPJ#lmn_ooIM~5nb32eg8$Sw}hRyjn>_3TvA)&HAI8t5Kfq>Q|7k)@Bv;SW8+(xMVYW)o>Tq`ko% z7uT}(pK(7SrT2uYf|t=M`Ntc?w9J{`mH{MR7YZ{=?pN#b0UIA+KfioAgns*Vztrb~Ks9|jiJ2jSyWMhA>9x~4Db zoU9iam%R6mT6=^Ah+D;D-J3@UohVsB?GA5k%<~I$t6`m2I^RYkd=`|wx*8f9<^g|8 z#V{AtxEo$43N-_!Z!&|ed6*{TRWHJjnRI0fx$Hn?H6MX;)QX#EP)ZRKc{$b>?vRYj zX=4Euts>8Jgdewi9c3@GcL~F+YFFK8!_?J7qo&(VN!SWK7#-R9w@<@=I(coWoMz%P zIIDi*-A(+s3KpTa2$6r3rMV0BG&>T7h%^$F`03u(z&*Wi29Em9D@&oZ*{>3Ju7fl$E zUvjFpk}>uEV(cO<_u-&fnI(_((beQOq}H@LbnX%8**r;B?ZzOv75-}2A_F$g68@_V z*P5qMKG|?HsaNdP3XX&l&oR%mU$?v|hOs+TVa5?*w`9a440(Q0-ZF+}%loNAue`gw zdH0xi_Kzd>G%$L|=jrv9o=dMWDcQkrhKkLLf09bNenlCO|0KV1{yq;~k*|{3Nbm=> z7~Xx+TUG4J43p26wYcf)`*zix{7GNFYj#ER2nmT+ay9|!44tLL%`*^SDMomPLE&ki zYvvuXEpu5>@n@^^Mapr3!D?r#%AGs0M!wHY==pefTnZ`k#&c6D-c1}L@FyBF$fMmg zZ*vK|oKaVhS}%AIC<_)!#ZkPO;@k^|8eeoKPQckGOyn_+7n(mFbH7zE()YVQ=!jhy zsI;aA+g5A+6}Alg6{-;wuq!mxkc^D7(#1)_xn(%(HUa6y_w%!(by|oLFo*8P8+!NE z?mN?zgeh$`)M;X+U(}&(k(XtMg|CDxJRBe`2&%Z3@c?N0iG;vqKJY%HVs)@*wb}RA z8!pQTmfXePnd%mqY0-p7!%{BvUtbH#_tH{8xCeAXQIs1i)E(z?K$YuJs@56aJC<4{H@1+ zqgc!jpd>}n!P){fGVSak7Xvn5-xs&gvG%zGE17Y)1#I7uOVvtq2Q!8UJP{#FYffHA zq(Xjy&g@gv;at2PGjc$1r>B_EH1HHl0@_r<9VtjlqUGQKlxe2kC!1(fk?Z*ysUDAf z4_$&35pT;_nywKUV*HXL_!>Nk3gOzTMrpSD`4YB4-<}-o1!3tU{;W^fxE-PE%q}Fu z6ba$zDYl*}}&N94FLrHp?f2D&IO50`QEYjP2ilNC*m22RE|{4?cN_cp=+lUwr)s z%(~TNl|${DQ22b#l9a8TorKShaS*v1867Q1h7%}1 zmtKQgxf_U)y}^Ives+ByzuH4Xkh9Bz6*k9I-S|DLWG{q0k|MO#shuslZ+3@(W~C!3 zxNw;)*sC->;eD=epIk0ZzBQ8@qfNWRtrRe};~0#{{kh*=KA2Vw3Hj!0dBdhtv9(?% zXgE^ngu0xaFkkTA7X%2X{N{oPB%sS2$>LsK?YE?W|8!>ktL+kF<{JvZZQY;VTYPBkuX+7c)kGZ8mpk78mTEU#Hg3d7`H<(ZpG4ku3A<0^lXe4Z1t>fY@%~MN_&e zT!&k+CNxmMt30C36$Y^h3J8th+|r!q8%(C4gqkvxIIy%+z}?*cax}Z2H3Lf>a7(|? zgaF4YQfhzI;+6CL7yr=$_az_v+jIRNTvE2}-Av0SR)Kr}0|y-lnRBEf_uz+dh_ za>B-GLT;E>I>!HYU%X!_@kZ2o=iWc(5Q?Wc9uWv7NF)eQTK7j}9WetLt!YOp!}`T34kt7( z0{(fjii!$2RpM0rIb@{?zjuVyo}7Wu8|3Pfef|0KC6KxLj&V$b*FUrbMobzTdmfVx zb;D~f`!DU1hL_x5m!n{(=oxP1ph*`<^%L?jN720xW`rf!=hKsuldVtRIGTBx#cY7h z5}gyqp8HM!9?5|LHwJi@A2@}%=~aJh@ALaoQzI9Xc6QgZn;xtbCC*r6Sl%R(eKeR2 z*e-HK%}8As;t>@NJZtT{zpYgcmY3X1Bl9JDhZ&N6dG3gP3w`0Cc1sCRGB10t;6nzg z8u84+qDXN^$m8-p?07_L7N|xzYl+9G5Dyri>FX=`5F2-8vpW`T?Z)#B(k5g$NEP~n zBBQf~)&A$3d6RnSfj;7Ri%-0L}p3op#kwA$^pPSJ~ zQ|aHn<%xltQjEaC@n-|Io)$QebvDvQS0LgHWPat_281P*^iyD~romo4QW-?_TVM>Q zMI4PYE=06qg3#jTHSxgi+q2S3XFpFNZ!J|1BA+s<1_d=t*Bh0bn;|K>hcq{MTv zdf(ibiiLe@Cy z)YZQvCIZ!iC~wmI(bSYlKmT7#Lmt+z1~TpE7ZZz~85#Ky8EFGBkx_fHKrzXQ>(|*= zNheqv&>AxtY{s!EL!DG*-YE(mN{GQQSp8 zRP*tvQoDRr#(8omV{Q2r^fZA)nh%`HBGzq+ql0kTG*CC}wk6c^5wtM@>RC@r#{az& zH1j7SGc4qZ6R+)hQhSn%}{9Vd*zj{KY4Sy<8`TK9*PGl@^$j`Jd*HND;gm!=_HJ7!1D^j7|2|W=#sv)q>)DgwofpllL zJw4dkSI9qqibn{rfKu~iOpkyZDbPaQh0CAPEyAi#bA1|S9ePRkb^dnZAd*Blnn5u) z14QpladAN)Rj@c1#9(JHX}@O<3QxSx{IAQvgyMslQ+6w7XXjL^bGI_Xh8Y$Xsc6j) zZ(RQ`fp0(*Cz3VBe%siuk4B~{z&F?V+r|HB4;#$sY%v1p!&xOdL&F4Z>F)ws33;Y| zfZqA{9W0is3#e5i$I@Ks0^9y=VZ`{ zHTPyB`f9Kw!Zr~>r(B5T!_8_bC+K*6R#Gas1YWQUMlf343f-L|1z{+zU%#H04R;RU zrjxxVegZrG4IV*!I@PLn>zacUc!F|L11!H+_3&0YY3?00{La6NKVlFrXz&9qVH#8x zG*ip=T}U`c^xSx|H<{Y3a!cMXY>WGmNYhqoS6frk!E-_zV_=`zAjxjhNU|9H13ZG9 zI}RL&6}4$RX;?hR8y(|YfDlEJyLZ{%I*5eTVk_@sCoLL(1zr2I=Qm&vO-(L&C#%AS zr4LKT5Mm+797F-pB~tmtQUuq2C}MRRRP!2uVwc>ai9Ld`%=R>A)?|G>yj&K{hD{YF zm@gzA%i6%o!(d8_Ky65XXfg`KY>ivt)2SIQva_F81quK)2B4iU=9K1j=lF7*&4QaH zvAz9)_ug!66mRm`jKQ(Hrsp5UZKDG2+>wl$se&F~($CQq1T0HL1Pur0w5+Kir5QIx5 z{3thIN_;c%SPLg`8Vf1G>Q@I&spvynR{olTKI%vHQc*K*usKKV2L)lEhbN7m>xYkD zT=T6Ce}(S8o9Gu(F(&02bMzKG;`YI8L(lE?tv>kI43*2b`pT-R0ll^haom>Qu z<-rrPsP7sD5=V;5;B}|{k|R_EV*CVn`w0l>l*7}bQJ(HHSyV{8BL;|s=ZORHf?eF(!Uln!V(HR1Y5Z> ziw0|z)(b$C@fIFLizX&38_FhhQf~Zz<_VUD_(c<lqsHb|JWsfvmy_9t{K*LO^wZs$W)cVVYtE#WNj$arR!8=UL6zB7pL2lVRKW8yQ^; z&57xV2VG`j8dK*BZXY>VCX)j;t6A6(?r;NlEbw<;yIv3#nG1LE-d5_GftbZ~jCU<+ zCT4XlezZBLLQL3{q2&4uLBQt0F&7@?7cYkCff~UIU$2~nMhlOhxcTW0@^mBll+_Ji z$$PRjbh&7uIofKsZ8PR9u+r>g*n2?{vK(0w;YWyk7pNF`frAL4|E`6_1wWvh z-WwUWLC;1aw}b4ph!o%U+}xfvGNs2ZOdjuh!kTnZSgF3v=EJzg)oZ~#DWkA z2uX5jp&IDR03$)Sn}ai6vV8cGclllVLY2_2zmo~Hb(&hL#-zU2ZBxM)w~fGR)4te6 z7V`+xQ=z8UABp%z!JjR}m--Mi4 zlIdzEbI}i5T_XG!==zNt`JU?oE>cHJ%gf{QjRDe=#Pv56l;_To?>AF0=KXg?uCQH_ zm#0eDI|x^)Fx0+~Z{^^BB~Ao$iO*3kp*^nFo3J_88T$`mvD~EAOCb~lsnRD(l*buV z_PBc^ZrfAw5y3K!C?Uc%>Zhqkv=LyDApRfh7gO5?(@P4zrOBH>=@G59|WMLOR8f51?rk@%|a1V7g;=38=_mHo?5Xs(Z=a_6wX zVD1ln^_)xNBT&j((A3{%ejq-u-A^Ho%*7fD#Pp{C2_YQ@2)77@(`kusJ|~W0Y1!l_ zsc*|Z^(l6yq(22K#qSJx^u3b4-zap%jy!%fC@tj$uybyyHl7~S(p%{y_?!9=dMQQH zUUM43S9{|rNX@#e+9>;RexjaqzO?9gZ-a^tlP6Y6#su4D3xR!cnSkb z^!64k_2Fbsag7qQF7HT-tRx`!yYQBI%~R=hK3Urj60?b$o9m4#gv`pVm7d_I7cNxJ zoKZ-tVfCCTq+VLz16VQt$6xfh2In|gX{#h(`uxUC!xDzFD7$70_Gw)#jikO$+rO7O0@~e)vPoALUur5I$PcHIvi# zE2w(FiToE6Mbgwqs~y) zczlJJ9ejNjp01NQ1hu`PP>sH)v}W9KnJ$c!_nnb!e=f3|9o@`j_`gw65^W_Ob^Cl1 zY!8)^)Mtmx{4hic!!{Cj8~mj9{@_64Q}eyv73fXo4ml$%qop3b?f&-fgpD*gYiR;e zNy7nvW35)tpSW3S;-PC2;yq2RVEzKBxgGSz=X#i^;9z7qyc=tm|AS6|F-b2Y9?o1DPEm)@VWuk757^c6UT-X=!P))LJbI zPY>iO19%6J38KOWrE5;Pw%}{FyT3sMM}?8f2bBxj`_oHYrxIU!r{~=h{1hLuvKq}s z1ex~YRfL2T@jK-`K&Iii2rikAk$hvajQ@-kEb~z*+HWMHXL#fp-0=Eug+GPC772(S zIX-pMIGutefbdG|-Sgcd{3X0dQ<@rIjeH-NraE)}hw>68klDabeZ>dzl}P1d2@=bN zd;j9TZh$b+8(UuyLx=FovSaSVT%di*-l?nGD!0zdK)1DwKl6tCU|%nWwvk|&`|x5| zlkcgsM3B3^+?O=9{e?)-H#Ss`S`nYixd79tpBT5oyoCkqkuDlx|czgum#dtoSm3}mwiMb6eX z#D43Z+qF(odOZMKF{q3$yyH&{GQiJp|5|>SA4i?K&~+c)aJ)YgjNihp118SY=_8*~ zz}KPA7o*?mhq>tk=p}3|#%YBRWBe`S4o1iRE4`o3$R(QJz!=zJCPO>Dx1(FGa)8rS9c=2kPQ`QvQr5QGTsA#VPydELIQ&Niu?V1D_ zt-$zQZ?C)&IYbN>L*1do83VFM+S<~Fk(rWZlFw|;yri7^M<_gC z5y|jgY5&~O`rx4{PG5hX-!%_2KoZc>f!7jeSJRb)>u82ff7Hp2C|@e_ha4#{+ZJw3 zBdc;7&a1wh*Id4SYm}>+710^Rsz`bG9Q~le<`)v)X;bOprcc6m^kz<83~z+c z7p>Zh=ZJQ8y^QwGr~U!i9{pnDpKIm3Os4&rAiMC9P+dR{Dm@ExM4@wUxa%43C@9Qi zM!xQClHznasgD!EVR9k8W*X-~2pI~fV{XB#!d0XzaLUPxA^EW#zN|T0%(MCvN4P8v zI4ZYT>nIgsE~Oi==pi=;*+&&B zkU!AD71$gLC_|?grn8uys`YH}QGEb8cS~{@BamHSCK5!(D$trwnB7{`~XTql6Jm`r=!JwzUP8;027l8=qGtfuliJAc?Jf23f1ko$aZ1o@rdn@?`#ylKDA3DH0~RG`2>aQJycHT~)3l^LvG zQ^(NZIpa%Ejq=05cLUb?Z}1Jl>~E8YO+#{)yJqwmILscP%)S91zJQsnZgG$FuyMGB z6g!e7u_~g{FThtIIj`wrNojX6 zVw+@-wm2?K%3RowZ+}pneEZFgGyVoh#xC||r3gWgOD1n%pxf;+YUJ<^oMtxd^@p#=FBsD33nkBON3brml)te$Y^X%n#G_5rj_Q9<shShss$6Tm?Qj<00{DcSIoYF*ME7vC7yWdWch2OUwc_2QKkw-s zPfrI0RSK3e-NDO?6{VE`h7*yJ!o6W_Hd$DBt23G>Qg=Z#1QizOoZZleF4higoqp_5 zD;`}$waE#vpUs^epk5k+!}bDTkM5ZS^ydqi_Wqe-{U%DpSyW6%coy#`^M>=|1IS_g=h*sE5rNci#1#s6#l#XyCl3+tS(E7i~`_E+Y&tZ$K{R<+p?E> zSMEtiJKh4aPSWLRcZ`=dhO>@$J&Vs36g9JPGA->tYtU}dg>djQ!75x5*3D@p?NY1` zmO5^Mi6NXE9IvF!4Gmd=jlaw77q&$vrg~ZQU;g$w)sV>sn^AVhKQZ~z0pwHUS2f27 zMDzxK|9!33k^Qd~mIlY@zf&+Wqc<{K(3rV5an#M3VEVL5d1TF*whv&j{1TMpMl;2% zj25G8_R%MpD!>WyO$)3K1OWii_N{%J3!SW=sY!CmO7~s15&9%me zZNiZAwTkziwgYEW<&PL%B^q`b%aE+v+M%rQ(Z~b8afCE`2uc9vx$abA2Gq&htFI}S zQ5+K!*lDi^0m(lPH+A(BP83dGLzj92k#=8+UhmxP1YeW+y~M}_*g>@1XLzycr*UWD z6CzUhM5^Ur^#eeo9>1ilaL~rIK&v^?3u%0x7BkWGZ&L$*AM11>9@GHD`$Hv1V{&7> z%LSK%^i+{R@}|!0(9`hxH5}$&eCp^uAT6fn!y+KWD6i*Syc`NydL%%R#(NIFNS}GR zU6zW(Cr5T2OWZM2QII4e`~MCNnz**)0k5szwo?W07I{JtqEV*dRjC9`SCrQzAMw}n zc7{^}aV3rcj|^D)cr*{S`okH1Iv_?x7u`sA-u#HhDuhZrc*h-=UhDRDl$fQ!4I`%d zU-WWSc_oRe*tvsC>Goa?@h3Hq z0GW9yLChk*v%Q_2BvZ}ot)mlt;0au;l_=(I^2TZl4n4f<#?0+}@ulJV9@Y|CWJUlL z*w1GA7#c7b8XN{~>$J1HJizpxdq`Y4sT{X6hsx# z+J z88+S`8Y*)0!F%u?JFhZze2Nj>CeMu6rB(@u(k_yi>swS?y9e zXV}DB(jrnL}KMn?Q|0=$L+TmbotCO&S%2OzK3sf)NA|sLo`AhNf8Du{$%FM5N z{dw$>QKL?-J_{8=Z{H{=Pmj5HZ!*3o|8W4NW&1q;NyBL1MbAjaOTK!v@+TbArCEfT zAqB~Cc3m6ZKna&OKz98{z=-_F%8EibLEYx+SlkP#JGtQLXNj~9Xy@q)O&+BHsmp>o zwlh^Ooe1&1n$&|gZ$P)?JU-b^SGh@vjk?c>2>b1)($g=U0<~YZm|Js*t&@6BW=L@o zO?j;Mc4DG`+T|=#J+)x&)pg@Dq<2$Qn#&bzEPvgt?726`fkZcb-LFV}d76OTN|M+r z?RjkJz&Frtqu%#$aOcC#1mDe$1b%94#qZd4v#?QLQVgg8w^fj$=pTDk?cC8RCXk&; zmOXpo5QfB*TD6d8Sd$eQ+)ndf;}GL}u_5}@0ITdBBT+n2WOl}$gNPf!9E_>Lw&tp! zI0cmL!J>*ua$>(}(9}c|1tYJ>N__~Z7>8u27a`AyPhGs%Qiz<0Fdv5P68XJbo>2 zz-RRR^rTJ#xcqeLi(*?izyI;xY@?1Ma2n1bQyOL$Z_mLo9j!_NDMxJ#uyk~F-@->K zjGdYXTxV>pcb_3svs*1lt(P;%I$R7li&`F@cB6XwX6EJKnvNt(%+H_K)srU^ljGjK zvW|<3YcpBsAFwc&cD!EAgZ+r+sdv9ly5hUxbW_Eoheg!v=#_C`5Go*z-lexV zcG=v{$dR7vU}viQji<$`Z!{q1gSD*KAL@}?6-4O@&5xRzn%<@hrVUkCrQp-4ii<-w zl7hd=?umRGK9QU^#qTa^{5uz50@e~!+4BZal(`%dFG4La*Ij0xJ7qe;q?KDFrc7na3?x0I%g`VfzxCGmFiVsL~HT=&GR3Ali?*bLJeJ zJ~y|WaQg^!(+*f+L__xv63R4crWHSpo;ryg9kq#Hi!Ha;@$}bH6IkxZO@D}_h-at4 ze~)urdk?&HD9$zKoS)O~w7jS@upo1zfsNdplK5ZjOJjI;Zct)1-O|qYQLOrd*Wc6m z8sC~q{#4iM#NH$nEnKXB96h5%m*E``cnnEE`D>d@p36)<<=GnSyv$FYJ&P?11M?N_ z^YJqGo&Cl+*5lZK!cYx@p-~KE4q;HQ?kmOLPtRA2PT5No9#aCyxXZ&&?3rt;t7qIs z#Qon@(htErq(>r*5AAlt7ArG!!4ufU$- zd<+5#JHUUuESMykQh1_W|HWmCta&KdB?fv>vu#k+;TSDma;G7>&g^R@3P1CuEy&37 z9CoP8lk#084R)801j^9&a#nW7A9C8?a~((u7^4 zqEig7Ht4yR>Rhe&+I+@BXK^xNnu9ux?6N2!@AO!CRlekpiK2{j9YuyyQ&F(fk~tB> zjA9H6^7Cu*)V0!ZLG>NWc&k~IBfMF4y23?ceyW@qkNs?dW?Nm&b>Ly@5ip3aQ1(n3 zO1wO!h_UP`5C%B}>xsBp#x*x9Hx{mS%=f8`V~{cHD^vO)$`k540tYOQ*ZNm&BNGT) ze9eDGnBKlM9Tu#ix0aTEVD5DZnkuIQQKynM`PHll+4V!6$s8VEzSS$f6*?*mnzmKm z#k7CC9MyKC-jqt>@OkZ2jkW~+nK`U-nVGm^spWZFG5FM^2xPm(`wU6`9;MiA){Bb+ zGdBa^2iNm63ge7I0m<7X)!6a0af)aXU zb`&vt7jdK_Ed2O%u#3<0Ul_@t=emUG)B(q$DVgFV9A4uRW9cT*Q0qQnI$njPASb^a zOmpSh@9Kl2@1v^~4*sqwD&qFAgQM;tAE4;@^a}V6cb@Fi9f!x+2mN@ zHP^;d;Lc#qNc{I-l4FVY>kn6_E<4K`cK_bxgI_4AjNPst6VyrR-p{bAV3i9I&+m}% zQ(FJge^YcZ`SAC-1DBbq{>eJG9rGGIuH2u=3ZfS>wJWsQp{V402oeQ;3>dkA)a$hw9!972N zU)@TV)3j*l$2Iy*p=09X<8pt=hGP~4>Rtm?TJp0WH&ZVc8(}a!Up!sWr$36n%+AYm1C;_SN=zM3ox-5WpRJU|l*cmm zsnwijDrhZ5epY%pUIy8F@40%@L4cLk>CIUYY+q#Z?o~s=d#kPGkK2P=*PE3!2SwTf zc(2QJ6Mj+`?ZdmpX{-Vx7FQhNLpqsE(z6ukmY={@I2rmaU`AE4P@*j3$(oBUw!X^9 z3bS`kcIst3MDh&Ym_zOYbj#G#l+MRAQKeRqaLH}wz+81&^ag5Yc>B*yQ3(hnS3OdG z5g6Q8+%et)Dr3*H@`dyBpP6_}U{Au69CMd~y?X0=KJ6gR163E#grskbgMJSIwvc?- zSYoEKN7}x9q_g4?xb0pX`QgQFWicpvo*S@cJytGEJq)2pdyIcaG~$T1|Q zh=UHGmO8twOrW&UtMdB-UM+?Iz3Y7!t;laB;92hSUr_XLU0qee zMnsM_8t-Y<4C=o-;Gw#~G80=@>~eXl-N%$*qe_y~VS(lric@{Ez| z{P0fy+^1Z(^}&{lnQB@w(p6sI$FowJ-Wlgg;8u=KujGBW%>~pV_1OT0y;*mrzdg04 zU6d|!`~LQj4_41L5~b44rK9E%oWfO4&vub&je)A@wH+u+y^*Z(N}HOvb8+M>^ay|% z{niJJ`yW)P89l7*Kvq1eipq);@=^x(c(7SO@YZYW%3{|}8;UcmS_mcJc4%J?Jxuqy z*w=ES#|lWINhk_twvtN@R8eyh9hN9gN=%Y4cKqzSA|N{_NDw zQVJMUO^#u+88fULBh}G;d*FeNgfet7)q4u#UAwlozrQftQVrQ+6X~n!n-z9DBZnk= z9Hq9icv$qM`;+k$*b6N_=u{?K1^MQd#%A21Y5&818ER5W%-BHN0^vF8CdEyyRU74n z9AFp7VPj~7#!Ez0669q)Bq?SOf22a(;2^T0t_W#E*ERQ4NiS*0qWxBRp8R+1*`{jx zuiEM#j`SCY!+08^#c{SUMrXD9wW@kSW++u_mjEvD#d7+o@KzT-nA9om|vB&uH+vMYaXCvku!S2b^S{5Xz;aMTX(m3?N%a_PQlnyE!+XMd)?#^)lt-r4%X zl~_7j)pu!b)K|Nbs;U)xa@Kd`iGGZYn~K%fW?Xd1?ut=_Hy*vL`+-^f#U@etPG)=0 zM}1go5d-xoe}kTiUqAgD4FkP2xdC4vbNsOXC;a#=aeIOSa@=V(Nvwn!b&(F=8+2QJ zxQugs?7Q;^?01}Px~bEaeTtDx?XnMh#pxF_+3Xft&hMY+8ctP^t`K|2xQ;$Lt}b+P zE5Etdp_)G8ILp1D-9>G8!mpy`Z;#dYM^2}{0{k#?J!e-pLQG81(?L<#tH#W))t&~& z@|@Walm0NcIage2J!_-vqFo^6&j#`G)U)L80g-IW!0uTgDcGtQ`-9$oriDRChoCr} zc5EW8jaT;$36uY##{f$L)!gRq9ah=8qF>e-E^KI_h&wcK5}QbgNH6oil!%AXn3bJV zCroXe%;aQGtQZvx6qIG!Tzt<|V12q^5aM}wk92HgpszofREZQ%oPNeHlG>ea${FBq z5~+0y7vU^-BAc-Wkl3Uby)nPqkA~8(M0ViR?Q0V=I_-AC)47&IzpLl=?|edkP|}W( zIxs&*yoo;Wa%7DpBzwI1Cw0dCf~mm^^V50lnd_u}ox=&gkmy2IGPa_xNmxTgMoeG- zo^qt&bXs=>(yDcAvvBY(q&82jNbttv&Eecpqw>i36RSQesj=t2?NLQqF-FiPqe8NI zN@Fs@hv&s&n}(pa=9coAsf2dturtBqwGaAjmMC9(6~eubeq`?Fr&#%eJWT``7p=|y z;q~zbXLXeGPIjvLj7Nc9^$+%4Z#DOu!sRSUzlKxnsjv^j!Dv-RV8=M;j4th?g{LP7 zGOfI9^#_Yp%N_4g6GLa|WqZ$%78%I>H6Yvn)15m+o$<+J35&6#@&Vi|x{m~dzMw47y_%!L`9@qQ)}10p(uyaJK!%?!&8 z7Q~zk>6O4EMz0*eS<_}cJkb}4fh?J-MB^ybYp5X92;iGiE_o&zj7^)Y@7DX~c1E^K zH-dr@nsr8q|2DnQ-wiE z%!S6(umLLVQYtwf?OKOaw{Fev?vf?Uhp^yvyC zDDH$P7wTMXG=;WJC1U3qFm>Cfau^|FOkEc9lhM(6U-{X%n_)JyKfla4CD#Zb_IRt3 z#Tlg@pM42D z9Qea2b%ydTb zEBIoR^0fb#FitM6jH-#EW`px@d&N0gr=n90LNR=!H)8z6ROml*F7&iUCnxK-@2YGI zsa+%Er?D|M{xxbVA4->PPm+@}R4`jzoqBxv7*txb$9+H{l=tp)@3KVy!UnY;#tK)( z;YgU@8A$hw#g31q{yQX<1=x&^zmCoLxGh_jz`$9z$ws=b6hOmNp83}43btBv#^q0K zjN~rgTkIh{#crou#_}P7X^%)Gog$w2`XiSnaB3WOFWDf;lGy%K=;3J!7}wOewb3i7 z@TQZrX*P#a(i~Zfux?eLGp&NgrqJJ@yHsmj#w%Br9*u3MtTd@@MCUsU?A?tTrXv_X5i1;YA)k-sq-#S$R zf_{L_;fshEZC=7Ha&iNex{L)HvA%%gW^g;NU%xgOv)Ojx^cB+|l6tf})1W8-mSKon zU_xPnNOR9hueQqUST9oxx(uj=-6StHNGKDMkKX&*-HrKkFeS7-sRgrGDDzC$x}!(6 zwe~^UK5wr6rK=?C3+i%<%(U@M&Ebq|)SiYSPDhV}&=>2IykDo?$OO;58MKj?(O|23 z!r@Y5a`0c5dw?A;_XnynZ)%;``awrt0oO%+EH>$6`W?<5{`>duErUV`<|C&NG%Xp> zY?63um!1b496e|C`3n`J*GxNYEb3N5OLKB^1_5u}?}PYQuB9V=FXaB=z01XA?(jb`zcKeU*z~1jM*uqMr+i~aSq9s2!lZ|lw(QX0*Rf}66VK}q7Rl;Po(bdEvw!i z)ppnG>IW)L~tXGohl875Fr?!QFAUF&Pw< z7%EGbi+ee;-+1P>_?AuDkII`7{B#CePauy-cAqX~zm4v>cD5U-o_*tcJ!@WeYQ2_E z;8UeZ{del>;glnR`&6S1Nox5E!(9q1@Y4##22-1AReCCNNMNdG4SI_@ty_6vbyfa@ zE$yv$p{$Z$Ku9dQG}*!ly6iv(t2{(#V;;W2fwU;LWKQ+F3>P_-elivw-W$!dXfrR@ zwAi1bASEeR)&AS50Kz0-GUwzhC_TYKXfI`66k#^)MsVf8RF(kNN?TNo=CI1u2L}ss zlJiT7S4pj3YIC5Cfwt(Qqw1?Y6&IZ|aOa-x9&ImtA=n6H9R=1hVnrRz!xJXis~9@}_IuLS`a={H6h;7ree<8wbosD{ z{QM(}1Woa@LfIHj+^lRsDTeF8joaGpKW&|~HBwx6jJd6vpZx@S`vSL#g$b6!7dgW- zTkD%xNj#qshrKMi_M8~SOQ9462U{t1U!?VrI*G(LzeYGZ>pSQpnn;s3e1n3b<>!m= zJ7cC0Hv+FY>@{^Aaab7|{#sSjC+%G>cCIRNI&;!loOW*ZC&nK2Afk%~*W+%5U?1Eu ztV!J$SUpETTm9j~hu2XNzppX46-;X3)R_%G98DxBGQ-4+T?yZ|?uXjkmtX>g8@m%T zcts!#D)6vv&m#>J-tU?|Z{YJ7WYpSEQ5HBI9e~M^YdZdwvznD?K}FmG>0fnd1PJ@_uxcc0JN2;q$Q7N6J>p>0|F#Ky}eeCj^i4@`?+ zDLS!oZQLC)ErpO1kOZVCC^l&VO0P3Jvh0OHafbtZfjR^( z34xbq8F5n}C3~5tjvl$>C$}#so$e2^nZwz~!@D~QFnS55AzHv;5uT|;U@)AaXbz~S z0nIpQe*X>Vd{x&_G(Jgt9xYg-Ra1)EH+j1>#F6EK5fKTL2iSM_$+MH7o}zGk#~{(zOW(~9#GIKE(%mvdFTA=y{(2JqcshfJOAgP1jIFnwzo zT8bJ^ww%Zi>hOS*j|?&(TYPae|GxYRY}nInNQ^zR?^D#jslm1ab8R-9%McyCnr7#< z?Uq=VyswjMvGg}u54h?lJ}p6j?{wgiYm3^!-hf>;*#crY-VYrH4OlNSnLk(3N3<}f zXolMy8W4Vt2W7-r4SKTtD)YFJHdAGU+>SUm^|v@G!QML+E|d?rM1dOm#Oh z(LTA;HK}yQy=x<3QIUM<1=L=aI>{TRS!(h%{t@HfJpWIpysJ%^|rzX2+h3wuPG zh?IFt41e{BBj?XcvW`t=)!rd0{3k>N*Kr}v;pZ?>Bg{C9^J&a{%^#mWtMR+I>PMa4 zbNG~Hc_bMhVCd%I5Uv_HEQDryN zhNr-A`ykluC+f))naP_9l(vVxivc`lI`-SPTtb>_9#7P-MBgfws1~Eld|9lO|G;4@ zxYuOS(%4to!bPafD7~F+HWuim`$@hGEi%`8M(vMC(lEW_Tr!({`u1$!n zp_(}0wW(~n*fbmX-kpoJwI>74RAl+-ySwBu-+L0pDxHoL-}A-}@Lw;T4DMX|Nc1sI z4tSCZta)nes;a6J+fLvQ`;{IuRb$F8w#~>}ji3RUTIAD%=`hB-6|>c?4~~49brQYQ zdzUQN#}Q6cbX6y~5sBIJC@l$_j=sJzUOv9jbe6E;d{di-Fmrjc_zH(|jTCq890g@N z+1ig45z)N6v8HFcQsN2%16QgnF7nqlBOGxtHp@~j_6twvbgGJ)T#Dy5&Q;ZJ!)c)G zD44wbd?7pbiGTrLQ=MrN&U~QL;8vEn&o6gwKZxw$c7T|+EO&TY7$Mmn2b%$BJ;v^8 z9|8SMQKyxm^ZO!m`}h3DJ=*17wkQXBeXusO^Kq6YRDgQSuvXTD_V+y*Wz>B0c6aWC9l)yxMWU^r2bi$b)6`KfeRw3ZSYE9Bz#>@5sL9He@=~_eOswbpaiI zIe^eArpLt8AkU1(q?dSmDLX zLRtv=AS!M(=NUVHgxPp3-nZD;>^b*ciPh6+J+}asB$ub|mPZ=PQz7eCWR0qW#p1_J zG}~bNYck2R6npF?N7UBRCjO|g&08W@e^$YK4B!1t@@nrjvLZYCO^{l_1MIHNo~vWz;gox6$s?`{ zQrMGZkLI!8Ty&BSfwa_O~I6jCh(w-nx&P8UyFYUJh?Pi|XIHzWccfr3etTr}e2&x^Jw#79qMd^Sjy zO87>;)%c4K$5eM>F1qy(Pd2&TUKL^NW*4fJ4DDAhOoQ)ag9jc;Cm<(L@0CC89Wqh& z#@+cy!*Sy`&mS>|dt9mav7^O&1jd=dUPq6U+npacZVFDRC*6JD{J>AHEH!P3yc1?p zVrw@=K7=~ncNy-};+SeRlNli$e)|?jfpm~1?K;)3>#4&C#Js~hG0Cvqj`ei^fH370 zeM@mWC;8p>Y>M_rL4hk#atY@jht_2NuUY^``H(lNk)|;`hCk!bg<&4Nb2CGLfZoK# zm4JV+gfng7?GMb*y`#@3^rFM?0DI+R;VDZr;20i3&gi^xDj-a&xM-0ev0ASJo#(RD zWVJ8GwK;BIdss>hBVwd00;IN--&wVykr2)K|;v&ul;*Zq{9QNnFh} z!~0S6T|D(wMxYo8EX=@B@KJ}LRdv0#vRv7ABOXO&j(iliqkF@Sfi8==1O;tad3^fY zK8+)2-=-4G4PbF+&#>yU`0&@m@fVxp^6ptVI_SXPmUYy zVSD~~?up~ZrluCy(dRYx50zAHbcDY`RTB-6gFiA#7M_tcqS~2-6SxiJiuVRSUs*MA zT>pH%*L7}ZD7<&W?qdMTXsYZpFf02{;hz3|lAD_{24Ug{M7#B;Nrx)RnbphV*~!*M zG6t9Ir+^D^jOj7yS#oUbMro={^+6DKRa4M=R&_Kea^SaJi+e?C6+{p;NfPIGwTRt! z(z@NcRD`W{!+gt0Ov{R3Ev#X18Jqc1Vv+2v*Y2_I)py9_BdvI^BC{h|Y2{gdJymt} z(oY7W{X27ALB=f9b4@(Rjarv>(NVnqg!iVkP7oc3uKka5Z4~lnj+VG#C-C5XG5dhv z;3Mg~-`PXF48q9!0Q;Qf!&J$R?m!y<3^Vtj_T5*D4f>0mu8W&EZMM>H zheKSDja*^*SP?KC(G)c|7^%8PJjGm&5-aPw(j}23^8iL5bQJ8f^~Ft{0kn9%eoJH8|LE1ZUcU-Zo@bNfFQw ztFeQhX*h<)-HMwMrdRBq)_`#~YX7rK4y&#p7^U+}@80E3#vWyQt@~>ub&;kf8N|QE%Jy`^BI5TRw6WMi4x@W>D5moz$j#;6C!V`;{p6Y*X%D&sWXcE4_Sl^$o!edB@e zekj+%P zZ+_+CHp=Z?p$oDm_S{19mc|CgXn?S+Wd$Co5HNR-r=!Hc;kbvj;_Zgi^n&hc%kA%1`M=VgLtF25~JLVH)r@vIdP(+5K8jC6fcoSY#bfB!~` zi0B<;{t(g%o)kz`Nq+jMa(o3z4$y2yXH!@n@yUcW99B4;TZNDQNuoOBo!uZIyl`K7 z6d6D8os$Ln^JvMgCyEH8cfg$NwDsHl?k5Zc+Bx@g)}cFpW0w$~d9OyIf`*;!k*~s9 zN9UkXR<-SF1J5fAsVeboiKP zuT*0RO^8!yuX`@ZkkHkbC`Q}chh16m&JY=P*#2`YFNF>CXcR{KrptvByw9~ML*r%d zUT4|#gdPpby8>El+O5L=-*R*g_Q#&ZQ2V3J%8S`!{8zD(*-y|*7Ow}Ev>;(247ob) zkRxK=;ogaFn>^zTu$3}QQoU7))<`{Lq1Pc}g_FY4P>Za`>@PybTj<8UFG`l;uEB%4 z+&`BFo)9no(I|COecrCtHs?~hp{=FxHhSm!fkS61o+UhmJ(^yuSwafQI!tz(e;O$T z@VKVO(rNB|)X3(ownc6Dj9u(xPl(0bumi1S`Q(M$ZT%ykLVfrFf&8_l8_@;!>V9N* zq`}>FT>8Ar-$Qtb1)!dXK z67x*oW_<4H%%4GKyWRM?Z~MBK^V_(YBGbO`hW2OmBd6n-ouQtNJ3l{ta{5SJ_#wwx z`S;LzagC#&1>`Y!Z_3Zm@S5If`o*0CR-%t5w^|Lt%B4_!(^H9+N^fr@hCdh6`C`Jm z|74I1LMlJ~i_kxaG{sD-BT=d`ZZx+Hp(mk3&n4Qp#wBr<;`DZcP*&=jNyRs{Phab< z)qGn0JbSUgh;bgR`V`wuR(kJY)Y?IbTpy`;8l#J+zSc8Z=WW9?19@f-4_g6RXYi;G zhDQN`YcWX&pwkLQFM2z9{`3&(a!!jtUuw!Lvo!CENj-$x9k z1}C_!a%z@5ix;$td#jN8ex+}7H=``s$lFk-Nkph%LFD5n`E*YTU`-{N_@v|G`xr6B zue4_l4cnY)JFX|5KhDtRhR8Y8z~bU)FhA;FxML7W$<<_n{aE+(ljto)E#SJ{7uAI{ z##q-^rP?!Iehs`N=gSwzJhre{lc3UZW3zX+w5F6q=(dR}3-$C!8}#i#Q???_zn}U5qhp9_10bONL_ zfxduALR{S{?VQNB{^WAvm2zc6wO1TMqvpF?MsXsBnWxr0CHILg3Wc80iM#%V+j_}Y#NrlU&Kc%W{)$mr6 zzw>mMg@KA%f+EA=he_`1%xZOe_uS!=t<2%jzRQ1PjFh&WOUb26{oIE^{&Y{IRbmyAK7vm*(_LdLc7UUKGh>m&nli8b4nQ~vDFnJFZiY>}9 zCAK+gh*)ot&#I=y8b9Z5-1QH8eYpub67jYk$_=MGQrQu!U@T?!uKWFgtxIYD(ymCw!ghGA@pJV{GNtIGXT$uGxuPvHcJ$t9Hb;S<(ik;7ojKE7Tl_@E z$*L~GmFtu&y8A)ZQVnfMX*q4&K%9hog&N{6p^OxZX?rkWPVOJ5r0rJ80z#^7>$Nh_ zFMaxP(+6a}4U&XR;7%10PR?^d=&l%K^EFsYHOuIxF%VxjnYFONdu%@PNTDu)Vqu>Z zmT65>=r?VCCiyUQ?SS{7*Q8Lra#(%uW%*>**MMJO;Awkr7a|DeLo?fz-vLnu@h2p? zWK;%~(*dDo{pH&~)@C=K7WB_P%UZ#^IN4Y**F_0zonr_E6IfHzF8CjY2heh_wNpf> z=<4<|s&k#Pb6;YBT&!Z>IegT_$X+&f{1ltBrm$ zlSRMKB9EEjqo;0e_87G2NG39LjZjYCmIOz~aa1*UrV)q>qO`!`w$ARdV`A1NYul^O0MEFWh7?8qb$kXw)EwqRs!H-BZu>|dn8;qh9xcl0~GMwwW&5PVu; z+}$KAp%nIt8IyjfA748XTeW7=FdY`^z0hOpf6Sfga|b z-isKU0^2ezbUg?=ZL9>-b`1-HQ;nUpcYBL^&qSdN;hSWm!HeJ3G~)|JE4YZ1?<+dt72}cNB-u z1`2RR@%KjvEy|7s#g+%RKd&IL2Wuz28(z0PjgA486U0=#!5I09t5g3<<3zDhfXflZ z(8?}zv6F7n%Y$gUs%E{_xC~n{!p33y^9JF4>7Rpl;Pq}*Z@bzamHKkhQ}D$1=CMn5 ztQAll0L;{(KzwKK?!ME|1n>MzTS%WO85CeVoW0mrR;aua3L-iOi}D&axle|Ba2zp7 zNwlYqB(>FMUmJ>1ATTZpV!LcSJU}dzjuUgf2>ogDCr@-$BdY%chPC~5nOA|(6KNla zbn->zpk=D_yRy=2hld*S5ep%BGQ}h(Ke0!}| zPb8-AWH&AR{@}$p-nxw|F_*?I&R=;%PDRJMa-YEFtH-NkcE7O)D%8&)4Vmml1DsGSZbxB&z(*}75@ac(?L9~#I;I%Bt=v3Y z(fxj-#dUhh-iEF~Ir=jdp%8VH>v16g?!hw{`{jUCI5ohc|J0UL?Xj2KpDq#;3>CAm z{Q0}p&MKa??oE;Jjd%}>RP1Kl!bYE0bm_v@)sv{G1HaZ+*pj!rx&5Ey5qHI1x(3m^ zHe^2R$BAJLIf+WxsxJ@KD~1tz>R3@v%G$PsZ)>!DH^@fm@!ZU(qef2+CsU84#&Hv8hK5;r%_?`{&ZYx|T|jJmclm zQ#qQwe?lhZss0LVgocE+{!9BPVFi-h8DLEBPWZG)vAgEGxd_3Hx^b_m66P5YVY+^$n-q z;24TuKv|S&?*PUlBSMtwDB>g+hp8ZChpaELfhBm%xtFlgvH6jw4Ur!@vHdz1d=O=@ zwcAhYZ3eaJ6G7~P&x&_XfLdDEIG}1%O3Z=0J0)UcD1EyhLkSCP&+B9Sy(QzHunOop z>y%EP^?6QCang6WoIc|K%L>sjSM9TGl}xr@x7Y=(44YfvD^aoVhXsvKbw2yr1u^0q zOeHhyW$j)~KThOd@bE4`;5U`PDbl-biW(N+@P|Yd=#am6>^lKBK2HYUu#9R@mw<4K zW9t+YluTy*%K2~O%pqIes~zw5gTD2NI#)hG0(*4ls-Do@#JUDP0a%l7=}0^Kr_Eb) z0=!*aU2m6{m-8md0#-pBwQvra{IXroKQNmX?twn>zxb0%cs5-Z9S{&;m%AGpm9?u- zbR6GIbnahru~2}xWr#i0hO_?0aCT!qR+MTeo?JmCPB|?#SA|NhyGsxn0BIg_92FMC z!2ASU-Qxuu2R-3>^$1TA2$7>s))xg66V6M@H;GMIXU`z6o~GvGiZQ=F>6}!DcAo&! zl)CL{q^VWWO_0`1QpDaB6ub>9DdB}!pZ6A?Wuy$ahE(3kM_{76t3v~-Hfk{t@BH2C zO=a-G%V_cJZhz$AEJiL`YUa59$rj?%MStaFGA{qXuJh@K-1gr}+C4Anh!22lpO>Fj_upX~bX3(r2&bN8v$ zE~FP0Jh~*s@O_La_*NdNcY`{Pw28?>knH=_PCzwOpet5pZL&2X?D>aeTkKh}^{l8L zDZRq`)cdGMj~>l82p1l0zAH;2)~_-pW7HM+teFRyPhZM~OjJ6uLjv~qAN>0HEh6F7 z3p<|sr}@Bfh*nE29FEzSNk!ZNLlb&AHgKNcF*08?ZOhsL5Cfk;xM0I05@s6r-G{~t z_pcPMzywsz2B4pSFX9!R*7A<7;TxKZbo#%9G zlH8EMfeBcQrKp8v0-xn)FXEc}>CNyT&D)X5`0s??p^}0TF&KAd<|Uln>kM=w2mZ}q zVh|tE8N!Hd#H|GnP-NntgR#gykxJfx+8pU7!a?AhsqxaOx7BuJ=+8MJsr$p*9%{p6 z_L|PAHgQ}ZN)IEY7X`&75ZK#UjWtI>;B53Wc=fp5blP#)$wi)gwHJHH+*(cFu~x{u zxmry}R^j!s4Em^>aR+6Hjml)~LS-^fA=XerBdBp5cTTbR0Y+h4rg$Nn6H(nl1m51+ zVp#5O1NVb$d6u-a=`=GM_ew?xQ;m^!jpN2TzZcvK?Q+n`f`{TT2dtPiQW$wigHj^C za9YX}-P#{_7?ocs5JxX@;~8MGt#RUU*iodwCg*dXklA>Gxkq`PA7xYEkBt94r=VpD zxc0)!XR@TEITinZ$s#N#KgpFSFu8Aj}V z0SePmk@gaghlk3Jc;slNjUaT3w*D5--!g+voH6iVun%ND7ZiT&)I)E|3=M;`A0f?P;A%jMigc|@ zo>TRIhhi!I%X|Brojv7^?1uO+5^6k#Qb$Hc#z{V#zxFSdbJEqfN<9`(#p~#tOkGDD z&o_?qk&`h|4F!~5ML3s{$IZdCAqKg8>4^Gt%}K>4k>kJzR7j`5Zgyt~&d40b5@5*OtSdcs2K6 zj(KV>A?J=Ec7D^J<}c8PXM*!7$-hglksnc9N{Kufd(NLr4FgS!f>k)EkbLZY+kBWr zVmcpC4*E4xoswIoe;r~+;0U$d0cvGs4HlAB`4n>NmoCMwxV0^CDhQ3B&^hu~=kE4> z|5$3`VtDbX)EyUk2x#_K%_gEXuBW67)7+#B@?!Iz@T9RniGG~^k_yrmOx*&?5;iMN zXsVkOXD==x9tPr3#pc^I=2K0zrF!@VGk*wizRqT99IQr5YzWB#x5YOXtw=SoL08Hs z7=+fY_EPzZ?zcf_d_y57&KWuCh#`6|7}v;%gr1t~7G@l{b%*{fc^imiz(!N-dT4T+ zOJ|MeW}Wp@(M#xr_*^s14pUzmt40=Z9)j?Zs-9k7pklns&adbJOVi@Gt*n?D`#WOg z+a11k^vM4opx!ozHTZK(2Rq&zm%)FP=po}{gw@+;MqfEHT4f#}J3AUyUI!uv(+;0@ zy2lFG6Mi`?;w>E~W&?4Us4lz7RZ*^KpdxcnVY8ZC-qdx8zT~vD*Q7NysUhf{q#hvx z-#&}F){p2DxK5wrtKX^!0m#*g1|j_6zu@5M43|>xb3Uil#n_IYUimu@8ZMv$N?w|+ zS#F3RQKSq@)G0xM6Ee)wXFGnR&tGK%C_yeeyA|c69oyzN6+4Co?+*YyVZ6}z_=p6Z z)r22^3<2un%;)45r2VXl@rRyI-!9y}F1JZIjF~fVK(^@qYdwvQeFA`21?m;@K;tR{ zmCo~8r|sueReT@>1&OF+H=V6R@c6<@s~X=QHx%~FwhuxDm?lLGQcLbop&vnLF( z;idHxE&%P~rnqr~KmPm?6@r51-mKBZY~%@%+2LvPT>bA6zNZ#Lr%N6*!_dN?U&QC@ zn|yq-Sd5CrpDN4+O|L4@|1sH~fRY zl4aumxQ%20fHMF96KW-)LkgfWo>-sH02w4PXNw!PyVqW93&`@! zb)uVS2%=D5D#_!Z6BY^ul}y{=o%>e;A4daiuyFjK5s(ar(uq7>Uss8_$3MXI>sKzCg$X+;P$QAB1|k*)np(`VV^A z{0A)mU+AfiBi&ZC1L*k`j7c^bhU6KXR#tNXwsk%7%+hv}kV+jJ$3D&0mLfBR8f}4f z{5*FrDTLS0QT>{puDqKYam->uA^e* z6S$!Fp?LEZ+NA*0G^GJEgqyLpj!ly132^=4`Ko1E-w@hQ2QZ#X-QO1dv068fl0_o8}^FvPO>?HtN-gRaD ztzKR2uxse(g|NjEesp#wt|`cs+fnn!lPtDjjHP}u31f#q$nal0d-9I@$#}uPe!)Zu z*>T6|UDiUejcI60CpGNz3BrbW68(4xqx1km(hV6108Y;~qcjM~91-=G7fC7KxzY&G zpFn~b)gp2F*ywmTPphn>8q{g1f4X!dZf{-B;D?wu>2a{6l_w~ZnXgAX=GZf0Z2Kji zjLyX-7f#rCA2~c<_jOxxpHg?aCp7+M$3PxYKvS?>;lW2tl!z8eNU-a}oGX4C>UNd# z4*7mEj@L+V812h3@957Dp?i)eO#?BI#$$r<=Mow;ZRP*gkCL2AJ69iPe}}SZalR7E95l|WcA?otDiXJ zbJt-8^Y)Mwd6xoTG@DSgYS8WP@wGy0H|85h-f`YbrA_uM9bf-y&57iQ`EmX7@RQ3G z^P`R)C%t<2Zr1QT77)lXE(FtYJ5T$XJKTS68_6a_CA{h)bHlSz`24g?Y)4+%{ju?; zK?K_WXJ)!{{hXU6VRf~83oj(%3S9T_I1#5n$SP>b*#gthrCdx8VqUiS5;V^lD#X zE+pb@%&Uj|iY=gggjZy0H!kCiu5QR%;@nXMRaHu-TKe44E+BhO)2mW?8*hjm865nC zjm6aekfKk7D4F8;J1P`H7is^94pwlZE0A$xZW?teIT1QeSq$eniG~b(&Xs$46(X|_ zXE|{uS2{@+b1v8zEoA{^E7xBO(=})g(@mG3gWSE-FKN~-L0Z9IAm)45W?FEiH-44J zri3PisqE$hh(n6S2zTiXoRpn!zi@z=@|(NHU6OxbgYL@MANYm9In`4=KO}5FOB_F{5Yj6b((8A;rCDK(=o@F@vd=gj z)Mpv#OusaRWun0a7us5q%^^{r5I(VC-<|Vcr(dBQPS+L!T4g-(uSi#IiVb+;pA0|7 zar#9k0}-SZa1s+39et;r4}L7MC<`ZNm&Cx?L!5v8d0D=L0!p@$L#V5`*L$RX!nD-y zi?&7AQF%B%Qw$;@-bw0YdiItdiY?T<-Za z2;`Ic^~FV?-%kJ8pmERs?@{lPe24s%tZXL#=T`rZHn>uxfO9_iU}8d(NN_j!`#+1b z|Bq*sX~=u-sQhp0>Gh*Z@fLtGfD z58;RvoQ9x6YGMN`8Sv?pE*k6>C&=v;6Fuj?MMbrNvTxit=fBHItFo_<#_+>rP)V3k zd2wy5(3_OHH+Qnr$UjMsWbSk!52;%D3bV!O80CKOaA5=*oCc7Av|%->_e_b}Xu z*gwMzv@oPcG@F;dRaNz!wQe^r=LHl%)Ek%gNHebrA%8`<)QR*-pN1o{;wAL7_ti+} zZFdMs>GoXoE(u(?KHR^v4!g7fZpT{zotAQV@A8xW$JcS+j6wD#2lSz6*n22A@W1@ zzl;2`Hq60&+zx^!ivQmgXdtWJXFu*lc&F*QWm%Px!Tcg z@EWy|2!Q%{&ezNRnz11NC=l^Rrh&=G!zn!SORg6veWww2P<-fL(dyl5c}1}Wek}lHFQ2Nk`EZX@R1Pi(`Y8?j{^LtdnuRZ=$QT+Gw+YDUy1JByU(M|@l1;Y zP%@HJ-+1z6GMJh7X3%7CwxB|#2FJ5gIAW7zy$Oav|Bfn$fbq^*yf{W5n=w*?{-~^2 zu%_?PjHUi|P>3~u1Unq2@~oW=#qCp5S1~HJJK56A=}Soc(?bpF&1I?^KzDa+mjW9* zdv;F23aE|(b%_S$TIeC6nhQm}0er?~^t-NIp9c2NY*-(-rQRIgFKh=EEa>UM(3e__ z4nyi{>8-0rim{8n{ewc*w)0=`@8Y{`;oJdpK{<(pPiWvq@c);AOqV`>GvDEnc8*YP z-9d(!w9S%B`**k78g^@iKCDc)-xqT{QNM-B?W+cISVD#MCp11aPRu-#4R1J|*Z$UT zl~ePXWF6~YU(U`OweCmvs~7RIMD9}~FC4zE@*h@+u+5U`pL-`GB+8UF`^3-!UhB~C z-NMWIzh-XqvHm1_ge>`>_D3nN3fh4PeChl^syOAedfWZf^%YAe33ojy8D?mIol|k$ zT^sX&uLr4*IF@*$5!W6vj9~U0N(gG3OH5cd0Mko9{A8clWM3;DuuE=={9 zb(OJk7KyxmGLFUjIE|Kr^TrAvoa#uGNCn)7?p_@Jo^?j_MjExbSfXtJ-^;c(M3-G3 z_C|(AtuC{x51rrh;+K)$19tnjn_Gog!o6`Rk)fgCk@Abte)v7aYjo{li}q!i&RYcS zM&@}(usrRSb0)NVZ6!;fU^fVj_lrze8!4m&jn38`<0iS(=L^zU@{g5`H5_#xHSv^-{ZxtW_>d1)w z^)Qr3airVYvFKiJlO1$^5m@2wCVX`0h@jX0qY&p%^xetpcSRZ{Pet9^M z{DQ{zka3m{(D0=m59GDN0^PV)%SYZp^j<3d%3A#t8X+%qc1YiCmET^D_gPwpi6Glz}l!nHXust}c(EVcvPSk3lZtDTafI}WLUrW|`N z`;4E8U{g|^j8K?Ag=q9bTlBd_t(rvdhHRzqX}+GrHSi(i737u{ZLgPH1~|K((LGs- z=vs-SJ1S4U2kn+KAci>TJxL*XRz>>I>yHPPf?%MFv;BM*&RC?5W1|<>uj)e|878(- z`LzQ7Y`Y~sdc}V9-JsArFoU#NV69w=CKPv+qm_m_Nt~47R_!nI(Ii|=fH8d`f=A(5 z_aJKx3)wPIYthz>I7e5;i?Jws$k7fK2+Rx(4Lzc>WvS5C&#-Mw?DJHtXVcideJr34 zYJ^&uLtnh4g(In@eF8MnxKVN&gfz-1jHI_ZqkcEzM>LLd;^5LGG*w{uBbl_l_O`5} z`z-nsW?;6in z$5y#JukfVyjyF~Zz)<9{S{59gPGEWky$<_7C;j#Bg1lK1fL=( z2dO;u3-_N{jF3@+po*O76Cxw=D-cc`PaY;`ZuH+3X5Ew;~MR{cn-9R_4U2BrXg)}|al7-Bhfr9|u7WB=8RSzB8 zk|z*g09jdC?}8p9z_eGEMLeXP$pLb-pMfLx{Y>EM<98#Bhc=d^u(^YAsZEu)Z=0_R z%}BesiBdd#MWi8Q#6-S&sm%B#Fp3_MAR-iBwDOy4HCgOo88WV3><~iZfZePA4LR<}X*-B>vZI=hoL{f2}yTe%;H1yGmd0@e7WZikP!sfkT%O zcv)-D5?8&jb=LI_(t3TshC*TC#>*?KyDfkl2Z4j&3mF+KWJ(PnPT Date: Tue, 28 Nov 2017 23:17:50 -0500 Subject: [PATCH 2/4] More hud stuff --- code/game/data_huds.dm | 109 +++++++++--------- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 13 +++ .../gamemodes/miniantags/guardian/guardian.dm | 18 ++- .../miniantags/guardian/types/healer.dm | 3 + code/modules/mob/living/carbon/carbon.dm | 15 --- .../mob/living/carbon/carbon_defines.dm | 1 - code/modules/mob/living/death.dm | 3 + code/modules/mob/living/living.dm | 16 +++ code/modules/mob/living/living_defines.dm | 1 + code/modules/mob/living/silicon/silicon.dm | 6 + .../mob/living/simple_animal/bot/bot.dm | 8 ++ .../mob/living/simple_animal/bot/ed209bot.dm | 1 + .../mob/living/simple_animal/bot/medbot.dm | 1 + .../mob/living/simple_animal/bot/secbot.dm | 1 + .../mob/living/simple_animal/simple_animal.dm | 1 + icons/mob/hud.dmi | Bin 14533 -> 14216 bytes 16 files changed, 126 insertions(+), 71 deletions(-) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 5874a794c9a..a60554e64b0 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -76,56 +76,54 @@ return 0 //helper for getting the appropriate health status UPDATED BY PUCKABOO2 TO INCLUDE NEGATIVES. -/proc/RoundHealth(health) - switch(health) +/proc/RoundHealth(mob/living/M) + if(M.stat == DEAD) + return "health-100" //what's our health? it doesn't matter, we're dead + var/resulthealth = (M.health / M.maxHealth) * 100 + switch(resulthealth) if(100 to INFINITY) return "health100" - if(95 to 100) - return "health95" //For telling patients to eat a warm donk pocket and go on with their shift. - if(90 to 95) - return "health90" - if(80 to 90) - return "health80" - if(70 to 80) - return "health70" - if(60 to 70) - return "health60" - if(50 to 60) + if(90.625 to 100) + return "health93.75" + if(84.375 to 90.625) + return "health87.5" + if(78.125 to 84.375) + return "health81.25" + if(71.875 to 78.125) + return "health75" + if(65.625 to 71.875) + return "health68.75" + if(59.375 to 65.625) + return "health62.5" + if(53.125 to 59.375) + return "health56.25" + if(46.875 to 53.125) return "health50" - if(40 to 50) - return "health40" - if(30 to 40) - return "health30" - if(20 to 30) - return "health20" - if(10 to 20) - return "health10" - if(0 to 10) + if(40.625 to 46.875) + return "health43.75" + if(34.375 to 40.625) + return "health37.5" + if(28.125 to 34.375) + return "health31.25" + if(21.875 to 28.125) + return "health25" + if(15.625 to 21.875) + return "health18.75" + if(9.375 to 15.625) + return "health12.5" + if(1 to 9.375) + return "health6.25" + if(-50 to 1) return "health0" - if(-10 to 0) - return "health-0" //The health bar will turn a brilliant red and flash as usual, but deducted health will be black. - if(-20 to -10) - return "health-10" - if(-30 to -20) - return "health-20" - if(-40 to -30) - return "health-30" - if(-50 to -40) - return "health-40" - if(-60 to -50) + if(-85 to -50) return "health-50" - if(-70 to -60) - return "health-60" - if(-80 to -70) - return "health-70" //Doc? - if(-90 to -80) - return "health-80" //Hey, doc? - if(-100 to -90) - return "health-90" //HURRY UP, DOC! + if(-99 to -85) + return "health-85" else - return "health-100" //doc u had 1 job + return "health-100" return "0" + ///HOOKS //called when a human changes suit sensors @@ -134,22 +132,26 @@ B.update_suit_sensors(src) -//called when a carbon changes health -/mob/living/carbon/proc/med_hud_set_health() +//called when a living mob changes health +/mob/living/proc/med_hud_set_health() var/image/holder = hud_list[HEALTH_HUD] - if(stat == 2) - holder.icon_state = "hudhealth-100" - else - holder.icon_state = "hud[RoundHealth(health)]" + holder.icon_state = "hud[RoundHealth(src)]" + //called when a carbon changes stat, virus or XENO_HOST -/mob/living/carbon/proc/med_hud_set_status() +/mob/living/proc/med_hud_set_status() var/image/holder = hud_list[STATUS_HUD] - //var/image/holder2 = hud_list[STATUS_HUD_OOC] - var/mob/living/simple_animal/borer/B = has_brain_worms() - if(stat == 2) + if(stat == DEAD) + holder.icon_state = "huddead" + else + holder.icon_state = "hudhealthy" + +//called when a carbon changes stat, virus or XENO_HOST +/mob/living/carbon/med_hud_set_status() + var/image/holder = hud_list[STATUS_HUD] + var/mob/living/simple_animal/borer/B = has_brain_worms() + if(stat == DEAD) holder.icon_state = "huddead" - //holder2.icon_state = "huddead" else if(status_flags & XENO_HOST) holder.icon_state = "hudxeno" else if(check_virus()) @@ -158,7 +160,6 @@ holder.icon_state = "hudbrainworm" else holder.icon_state = "hudhealthy" - //holder2.icon_state = "hudhealthy" diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 9f39ca418ea..a44d759dd6d 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -112,6 +112,7 @@ loot = list(/obj/effect/decal/cleanable/blood/gibs/robot, /obj/item/weapon/ore/bluespace_crystal/artificial) deathmessage = "The swarmer explodes with a sharp pop!" del_on_death = 1 + hud_possible = list(SPECIALROLE_HUD, DIAG_STAT_HUD, DIAG_HUD) /mob/living/simple_animal/hostile/swarmer/Login() ..() @@ -131,6 +132,18 @@ diag_hud.add_to_hud(src) updatename() +/mob/living/simple_animal/hostile/swarmer/med_hud_set_health() + var/image/holder = hud_list[DIAG_HUD] + var/icon/I = icon(icon, icon_state, dir) + holder.pixel_y = I.Height() - world.icon_size + holder.icon_state = "huddiag[RoundDiagBar(health/maxHealth)]" + +/mob/living/simple_animal/hostile/swarmer/med_hud_set_status() + var/image/holder = hud_list[DIAG_STAT_HUD] + var/icon/I = icon(icon, icon_state, dir) + holder.pixel_y = I.Height() - world.icon_size + holder.icon_state = "hudstat" + /mob/living/simple_animal/hostile/swarmer/Stat() ..() if(statpanel("Status")) diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm index 009debb8324..cbafa85b9a1 100644 --- a/code/game/gamemodes/miniantags/guardian/guardian.dm +++ b/code/game/gamemodes/miniantags/guardian/guardian.dm @@ -41,6 +41,21 @@ var/adminseal = FALSE var/name_color = "white"//only used with protector shields for the time being +/mob/living/simple_animal/hostile/guardian/med_hud_set_health() + if(summoner) + var/image/holder = hud_list[HEALTH_HUD] + holder.icon_state = "hud[RoundHealth(summoner)]" + +/mob/living/simple_animal/hostile/guardian/med_hud_set_status() + if(summoner) + var/image/holder = hud_list[STATUS_HUD] + var/icon/I = icon(icon, icon_state, dir) + holder.pixel_y = I.Height() - world.icon_size + if(summoner.stat == DEAD) + holder.icon_state = "huddead" + else + holder.icon_state = "hudhealthy" + /mob/living/simple_animal/hostile/guardian/Life() //Dies if the summoner dies ..() if(summoner) @@ -88,7 +103,8 @@ resulthealth = round((summoner.health / summoner.maxHealth) * 100) if(hud_used) hud_used.guardianhealthdisplay.maptext = "
[resulthealth]%
" - + med_hud_set_health() + med_hud_set_status() /mob/living/simple_animal/hostile/guardian/adjustHealth(amount) //The spirit is invincible, but passes on damage to the summoner var/damage = amount * damage_transfer diff --git a/code/game/gamemodes/miniantags/guardian/types/healer.dm b/code/game/gamemodes/miniantags/guardian/types/healer.dm index 0a6efb45d06..f0266dda890 100644 --- a/code/game/gamemodes/miniantags/guardian/types/healer.dm +++ b/code/game/gamemodes/miniantags/guardian/types/healer.dm @@ -52,6 +52,9 @@ C.adjustOxyLoss(-5) C.adjustToxLoss(-5) heal_cooldown = world.time + 20 + if(C == summoner) + med_hud_set_health() + med_hud_set_status() /mob/living/simple_animal/hostile/guardian/healer/ToggleMode() if(loc == summoner) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 06110242eba..017e9d1c6cb 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -2,20 +2,6 @@ var/canEnterVentWith = "/obj/item/weapon/implant=0&/obj/item/clothing/mask/facehugger=0&/obj/item/device/radio/borg=0&/obj/machinery/camera=0" var/datum/middleClickOverride/middleClickOverride = null -/mob/living/carbon/prepare_huds() - ..() - prepare_data_huds() - -/mob/living/carbon/proc/prepare_data_huds() - ..() - med_hud_set_health() - med_hud_set_status() - -/mob/living/carbon/updatehealth() - ..() - med_hud_set_health() - med_hud_set_status() - /mob/living/carbon/Destroy() QDEL_LIST(internal_organs) QDEL_LIST(stomach_contents) @@ -23,7 +9,6 @@ if(B) B.leave_host() qdel(B) - remove_from_all_data_huds() return ..() /mob/living/carbon/blob_act() diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 4de6b16a687..ac93c97f447 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -1,6 +1,5 @@ /mob/living/carbon gender = MALE - hud_possible = list(HEALTH_HUD,STATUS_HUD,SPECIALROLE_HUD) var/list/stomach_contents = list() var/list/internal_organs = list() var/list/internal_organs_slot = list() //Same as above, but stores "slot ID" - "organ" pairs for easy access. diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 2221455c5a5..9056a078791 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -14,4 +14,7 @@ var/datum/soullink/S = s S.sharerDies(gibbed, src) + med_hud_set_health() + med_hud_set_status() + ..(gibbed) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 8c81980eb8e..807ee0ef6cd 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1,7 +1,22 @@ +/mob/living/New() + . = ..() + var/datum/atom_hud/data/human/medical/advanced/medhud = huds[DATA_HUD_MEDICAL_ADVANCED] + medhud.add_to_hud(src) + +/mob/living/prepare_huds() + ..() + prepare_data_huds() + +/mob/living/proc/prepare_data_huds() + ..() + med_hud_set_health() + med_hud_set_status() + /mob/living/Destroy() if(ranged_ability) ranged_ability.remove_ranged_ability(src) + remove_from_all_data_huds() return ..() /mob/living/ghostize(can_reenter_corpse = 1) @@ -214,6 +229,7 @@ stat = CONSCIOUS return health = maxHealth - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - getCloneLoss() + med_hud_set_health() //This proc is used for mobs which are affected by pressure to calculate the amount of pressure that actually diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 5aaf02688d3..d5c1480a3b7 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -64,3 +64,4 @@ var/list/recent_tastes = list() var/blood_volume = 0 //how much blood the mob has + hud_possible = list(HEALTH_HUD,STATUS_HUD,SPECIALROLE_HUD) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 7e986f2f434..7469c2cca73 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -44,6 +44,12 @@ add_language("Galactic Common") init_subsystems() +/mob/living/silicon/med_hud_set_health() + return //we use a different hud + +/mob/living/silicon/med_hud_set_status() + return //we use a different hud + /mob/living/silicon/Destroy() silicon_mob_list -= src for(var/datum/alarm_handler/AH in alarm_handlers) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 479f727d9e6..bbf591ee453 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -75,6 +75,7 @@ var/control_freq = BOT_FREQ // bot control frequency var/bot_filter // The radio filter the bot uses to identify itself on the network. var/bot_type = 0 //The type of bot it is, for radio control. + var/data_hud_type = DATA_HUD_DIAGNOSTIC //The type of data HUD the bot uses. Diagnostic by default. //This holds text for what the bot is mode doing, reported on the remote bot control interface. var/list/mode_name = list("In Pursuit","Preparing to Arrest", "Arresting", \ "Beginning Patrol", "Patrolling", "Summoned by PDA", \ @@ -170,6 +171,13 @@ path_hud.add_to_hud(src) path_hud.add_hud_to(src) + +/mob/living/simple_animal/bot/med_hud_set_health() + return //we use a different hud + +/mob/living/simple_animal/bot/med_hud_set_status() + return //we use a different hud + /mob/living/simple_animal/bot/update_canmove(delay_action_updates = 0) . = ..() if(!on) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 8a7ccfa37a5..3cf6e92d5f1 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -21,6 +21,7 @@ window_id = "autoed209" window_name = "Automatic Security Unit v2.6" path_image_color = "#FF0000" + data_hud_type = DATA_HUD_SECURITY_ADVANCED var/lastfired = 0 var/shot_delay = 3 //.3 seconds between shots diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index ac48445e32c..d1fbd235efc 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -20,6 +20,7 @@ window_id = "automed" window_name = "Automatic Medical Unit v1.1" path_image_color = "#DDDDFF" + data_hud_type = DATA_HUD_MEDICAL_ADVANCED var/obj/item/weapon/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents. var/skin = null //Set to "tox", "ointment" or "o2" for the other two firstaid kits. diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 2a06bb488cf..0d1cbe27cb5 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -19,6 +19,7 @@ window_id = "autosec" window_name = "Automatic Security Unit v1.6" path_image_color = "#FF0000" + data_hud_type = DATA_HUD_SECURITY_ADVANCED var/base_icon = "secbot" var/mob/living/carbon/target diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index fc331fb74b9..951336f8d5f 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -109,6 +109,7 @@ /mob/living/simple_animal/updatehealth() ..() health = Clamp(health, 0, maxHealth) + med_hud_set_status() /mob/living/simple_animal/handle_hud_icons_health() ..() diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index c56439d56f4a454fbce0c29f6b5147c6398eec12..67875b802e8b872f84778addc39b6f5891dea883 100644 GIT binary patch literal 14216 zcmch72UJtd+HR2EQ4y3X3Q7k-r4s=Wf=E|7h$sjsMS36!qJWBk1_9~4SE))#C@M-3 zr1yYy0)!R<2}$neJLkLqf7bfXT6e8`?q#jn8TQPcJ$uUYKJ&iMYZD_qb{0Ms5D3H$ z(Z6X10@2JKCng5q4r~aO00Pl{g<4qo-F)Qh{LIbU&&|sd1PV$^Pww^PR^y5oO)h-g zcKv2D8}pawClxm=rDxBW)Y%W(&sHcbretpI1)j8d!9-hVeTx`dXb0{LSbjvnHBn~} z>of2m^hAx)l?|cBQOnWN=obrTo1#2@YZ}j5M_$RGJl1NP)*(EYS~OM|Hg;QB{kC=? zx?wZhwoJ&X2{2h0En;$> z9WwX$&@0k-%}tAsX)2z;CNmk&=)o|jO{Av{oVqoK6qyLO;Hy`>{QJdWa>n7g#O&C( zJ4h}IB_fr9!!>tnp_HzcwE7%T;XPUVtTnE;?7g8ugT0QVLjZ=q(+_9S?+3AIw30+(dV`T z$<tPT?T~${TinPTp0W+V6Vnb$QR0Iiqo8RnFzk^;p)}SZgyGONmHw zkN!BvO8MN)&Xt$JF8pr%@nIT6;o62tcI*?mE|9E*h|_CdS!K5{zpu4#x|RHKebFNB zf={}jz8K;obv-OS;5_@20*-}qAw>cU{3^9e?}tq)lISN5uHVTsVdIX!_S`P`kF-pG z;d9P{u|~z)^r3@4`rEVQGoExx^5{EbZil-R(`&U&1lZop7E?4w(b%4xI68{#+>}Ej zwyE4D{qnz0>M|;>7sy_HtMJyFX>7$MJ9~^qH@-W0fU-3{zrVAe%mqX3anra|7BXE8 z(a_Br$4Z>&aWFo4e;@khpme<$&y7eduap}d?Sr2*P#az=du~XWJvxhQ8>N9FQg8Z7 zy|j1ZTv`#o$D*|I(D0>0D8C2OL33_tm>NEqaoQ^LMr5@L5_c}NADo@V&Zwr` z$;h&gsBqd7(!V|@b6sQJD#DddYRAyoKf|qT zNHOMaNWrJ@zN`0klfQRq4q7d`^2xx*Ou21U*Tvs_6A0k`hCB&es*iJByugKc0Vud; z2UNi>ROO0azu=^2>U|)oRCN+aZ9wvoQu018spQ=cq%bL^{x0X$+24I>Z6rG1TbGO9eIG<{Bucd=sxY^D zsx!CV0yDRsQ)O=52J%0_%s0$cm~Ws}nQus`Gxs}RNzQfbIQ-!j1^bZpA~J_Eg z)SwKfF1a(epc<{iOg zSnM0^*rnyFzoy>2)8Ex3t6M_fS5Q3sHYJI5z3Wl*3VmbHqn~lz@08JCm%jC$_4Syl zWzu+hu!eA4aGHv1BssLNCoQ;-poUQl(&8#A>-anN)9Y;^w zda`Uc_!s&(#oS!0dLAOmumn1^zi>5u?Edm?^IvRY#qK-#Ht2oE1v}8QW-XLJHD45iy;iZH(JANn~|K&k+KI?gxEgR=Ay76duQxUZMKBP{!Y3? z+=s982ugE1Ud(MVX1l%(y9&zKU4Q94xGRIq``yXrBNXnNkUh5cgAHpPjL!|>m{DLbTgMrsXkV$t*-N&SeX$xZYdQ!C zGR6<ix2o-8Yef_`kFBY1GoNsfI0dIYNtx6Q zWp>h9*O<;hY|>Fx=s`9z?^}FBVUkCb0W!rA*0Q1#)SBWp_j{gGI%pCGrk2Jw@0q&B zAvAg8sE4~p-g~YCqv&gjEq2wCEmM0<2ehB1e}OsnE@fCITi+5{Z~t-Sb@*fsS8RJ_ zef@P`QhNmJHRtbamp5uEGI4#>fVBFjlP+dWLr)&F`0oW3{~1y9tygjga%kjTFA_Wy zhD%?)s{eX?pjax8k-AXe634jJn^{I!`r*lRuw*qnccQ#om3`w76~`(Yf2Ey_{`w|NFi?A`4lQ&dX0wn!Ef5cJfK|RC#zEBI(_Wyo-aOkx@yt>_~xdcK7UozmUhIDb=O#HqM!S_CavlN@T{Qy%g-~ZV>>a8lyTllSu1LWaOT}poxqd>8=g1x zX!%#V?Ws!i=XCh=YPRUcxzCqtHlBase7N7Mig0 kP#(~ai&Ho;JNi)FdCRv)>~ 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 amG;w|-G$_0k4O;k2hlaUS)qMD{C@#c&I{N8 literal 14533 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 No@hKSePkB+zW^Rk5j_9^ From 5301e37f2200451bed013ae15ebd84f191eaae95 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 2 Dec 2017 18:26:58 -0500 Subject: [PATCH 3/4] Reverts health rounding changes --- code/game/data_huds.dm | 81 +++++++++++++++++++++-------------------- icons/mob/hud.dmi | Bin 14216 -> 14509 bytes 2 files changed, 42 insertions(+), 39 deletions(-) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index a60554e64b0..23bd63a58f7 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -76,51 +76,54 @@ return 0 //helper for getting the appropriate health status UPDATED BY PUCKABOO2 TO INCLUDE NEGATIVES. -/proc/RoundHealth(mob/living/M) - if(M.stat == DEAD) - return "health-100" //what's our health? it doesn't matter, we're dead - var/resulthealth = (M.health / M.maxHealth) * 100 - switch(resulthealth) +/proc/RoundHealth(health) + switch(health) if(100 to INFINITY) return "health100" - if(90.625 to 100) - return "health93.75" - if(84.375 to 90.625) - return "health87.5" - if(78.125 to 84.375) - return "health81.25" - if(71.875 to 78.125) - return "health75" - if(65.625 to 71.875) - return "health68.75" - if(59.375 to 65.625) - return "health62.5" - if(53.125 to 59.375) - return "health56.25" - if(46.875 to 53.125) + if(95 to 100) + return "health95" //For telling patients to eat a warm donk pocket and go on with their shift. + if(90 to 95) + return "health90" + if(80 to 90) + return "health80" + if(70 to 80) + return "health70" + if(60 to 70) + return "health60" + if(50 to 60) return "health50" - if(40.625 to 46.875) - return "health43.75" - if(34.375 to 40.625) - return "health37.5" - if(28.125 to 34.375) - return "health31.25" - if(21.875 to 28.125) - return "health25" - if(15.625 to 21.875) - return "health18.75" - if(9.375 to 15.625) - return "health12.5" - if(1 to 9.375) - return "health6.25" - if(-50 to 1) + if(40 to 50) + return "health40" + if(30 to 40) + return "health30" + if(20 to 30) + return "health20" + if(10 to 20) + return "health10" + if(0 to 10) return "health0" - if(-85 to -50) + if(-10 to 0) + return "health-0" //The health bar will turn a brilliant red and flash as usual, but deducted health will be black. + if(-20 to -10) + return "health-10" + if(-30 to -20) + return "health-20" + if(-40 to -30) + return "health-30" + if(-50 to -40) + return "health-40" + if(-60 to -50) return "health-50" - if(-99 to -85) - return "health-85" + if(-70 to -60) + return "health-60" + if(-80 to -70) + return "health-70" //Doc? + if(-90 to -80) + return "health-80" //Hey, doc? + if(-100 to -90) + return "health-90" //HURRY UP, DOC! else - return "health-100" + return "health-100" //doc u had 1 job return "0" diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 67875b802e8b872f84778addc39b6f5891dea883..760e82458d8f47194475afd7cc7a9a4715b9c613 100644 GIT binary patch literal 14509 zcmch7c{r4P+y6*Pgchl+2_Zt+vQ9`EM96Lol`Yw_Z!@yqC1gu>*=67N8B3C^*_Rk9 z>tKYLVYp^~m-~M1_j%s;_j``x_s4U*j^i5F_nK?2>${xa&-pn&=lSZPjs_D0I|Bp) zVS?Sis}F(D%pV=}C%`L#qv%8k>3%cRflw1f4`_ZyZ@P9A$`41&8&*&2$M_Elp_1G~R6krS6 zJve)y%VTU#yp}(!=1uAzTYD@h_j&U}bE_%*jcDhkZm8KqSJF`HW!e2mZGslNuU~c3 zmmj76D`mzP9SdHWlZIwX#BN=b_h6abSllqMt)xv{E}GE&wvd2+#f%}9Mj;Jmgtw)y zcU*E^E0X@Ybf!t#L4}>ZK@fl0tWJ<+{B$tms_f~81sR5<(;sf!&$Cu=KR274`K_hhY8eOzc(9REj^W2%7_^HSH*@{ar=S9SST+ZIbKGqW63escRV{kT?f&4JajnmPN; zs!&u1?o~Da^*T$fV-8h`!Ang+8!0jZLxIj_lcQ{R(~`58zi8jA!*j55rK#4v2|8)S z44Y@u$bXLeI;Wk;>#d~EUJ#|l`7nHE{Oh$(37i6nmv{?Vg51Ppt-sv9TGVy<^Dl?KA8)?eR(3WJ!WC?^I$mdRRx60zmbcZc zwaB|fOpdME7%Ex_jsA9Or%z^B{u+(+Xt1hw(wh?-S*GXgZ5Bf1e+Sc01b5lnogF^@ zunTDwvL%?F%h)b$xWI8IZ{t2Ku87O`v)FZoeHG@?MmuTNiQZr*fz)gILMLALq}(Y} zbbH6PGS+s|;Q8!jExMMGFGC$!647-}E->a+x(KMWjs|C0Ikk#q55*-5V}tZVWuVxF z%KgPf4yyPE2Bz~HdMj4p57tyWg*xdYf@+=F*k5lvw0|LIFs(7jO-dr^{;@*HE1;L~ zS5nWK!U-Six70mrMf7_Osh%+S+THurJ73k?3Nca``aJtCIjw!eKZ<*7x?k z>^s|;iNB+RflQH0WLai_F@o|+4ez$X#oXHULH718dj!QQ;+oiOD5J=;5lPPCtv8=v zE9O+n589WEO0pLd-+X3J&Z$fRo9kfn@XftQp1O-&@0e#IAK#4FP_KL%3Vw(loo$D0 zsNaNx&718EZ&6xYj+`~TX*lobUlqmhwo&JobXRb z3klDr6xAHiP14~W2U}!!3EZ;CZWH)np4}`EXP#ZhM?Ae7=KYcnKkIUSP@N>dW5H}` zm(jb6>vJarr2FbfmrD*h?3~@%+}@O1YGn3VK!qT04HBmKmiia_-TT~U5BH*0w&hk^ z{oAePym*u`_&F50fz0E}abxHD_p90v$Q20euF4~yw2fKR`vlKc>hFmtjasSa@v%MP?)b#>D)DVHMm{{vY-_Hh zCIz;ru91ByHo(i2J~rA{<7Gr4hDI&<(l zX`W6c>v1Zz8}@;Jmi*GMdqMp2B7@g$s{DQCZ6oA zG~tF#$koEmR0Gu*e~Q9#=+ADSXU~}vTLYeu`D}jg4Z=+t(EO#%a&t01UCi_Qs5Dk* z|0csYDdMR0fSN0XM=-2YWMsm-emCk2apK@ZnUHIz(`>}n8I<1pXU!RJ56*D@5N9~= zG+}Up5ZO+;7-rpI6!*(_jG^=C48gZD!qsaJ-SG2wA92HcWN>Y?8k)Vf_Uwjf75_4} z)TC0i=jkot8H-jwPkU2pFy4jbBs0&9^#LOl*>o=e318<8m~cm$$ZeazhN~Q!M|vN0 z3czlNx9V^6D%$^ivz72lgRNy_?tqdVUq)%H?uKSYcB3{`p_~V?yM*!qn0QjTu6R9g zjRGnAV<(0-@YS-R-8(({W(hxw?D;yO(3~yv%E#(UL;(UK`Uk z`pw^^WFq8kvLAUK%*xHAiedPb7`#TK4_TmW?CiOp6jxhnheJ>=460XX0&pkSTKB6` zkD&>)1WQC(u=1mWU_;9eR|X$M#aFGwHdYT-bR&){6*g)!g?%z%91Y5o!F8Zb88K{{LJakc==Z_aF4yH~J_XKb8A&fOtT(Bv_ zhx=G@pEGR33mj3wHx{+kl3_Ybou1L#7RPxYpRU!`+6qtlJ`LYC#U4lT))0S{RAa~@h2GKwy?m%cE zRzZ*xkTwX-X-E*w(G9f6B_NO!^i~ka=`(E*$fYa)p&PIBuexDb7-xNK&-jS3|335{ zIMp5VdvucXy8r&?U5&I+46d;Q!0fg?B~38-AEal7a9^%I}8&p@x- z45^&wgFpTtQm2W$Tse-x$w5mveV@0_m|6M>5Yy-5jmsHMa?94uJGpF5kK@($R-7_V zFMkJQO9OvAXhq=+<8li=mws!JJn;+=aGChZXKB2+z2 zeq1~t-i+Mkp07F@eCIzf#O~nr1(5{pYfo6Laiq+KehVeZmW6kVO^(ayak*MC)L=_r z00wkVaF2HyE3PYT9xT-8P&Tf0@pRPI)>_|69wlzfxYxySE18Xrja8nk*k|>4;{Lw+ zr@8`mUQXQc@I4Zk##Od*U_O9HY_+B4xbpA(frqLEffTQF;{J?h_&KwKPpQc>Ne^by zPhnMYWv1g^rIn39C(3J2^Fs@Umt%Az(sOFG5I&J*rS9WSo&|IQ9j4pz@@ZMr$`Qc8^-`~enzVY|`f z)=f>yN`0CK+l!+q{d^Gq2~CaS`RVx{cs&ju73XKLPRgFJ@@Qq{ycBS!HnnUbF{vfn zrH`Y;EeTsxTJJKJG_g6+>CIDIAKsGK=;HZ4wF@@5G4Hs$@-2C&AI)8_eDm1m8{FBg zst2795QlnalG0kmR|`vxVg87(t2k*Y3RX-SfN3okCy z@G0{Nz8NKLDjQ)Ntn+lmDtrX=WvW$iex^uV0uD5w!KKDz4XF-G-&&@qKxJ>L|&a(<5^+{s*0p`I{CCj2}swj-SGleoz9d5j4&@T{+KF8C8+X_quqXdw@y|ML*~Z=ZN4Eb=NN6e=xR11#ZPh(|~(?sJf=GT${- z_N5Ho%rFk!Z1|Zriu%9kjviDD&BGdC$)_^!AGiDIysn2IMsnabAFBHe5;rW}_XvUow^fisEK>_rz;Z_o$E(izQ?Fc)Kg*+FrEFG0tvR@Ku z%B!Ey^!szYV^17zn4_ic)Q7Dseuu8tsgGIa$6~&pL6ZPM)|QRN0?7KwhAR|h`i!zj*J-LP zImh#Fn9J4ypPe3noQ^_)f=)vRi~6xtAJ`B8^01VlAtBha_Y#)N04bASm{qvm9kzjAn}p)_#)eSHPoibJW1F+1EYdKwSYf zymL!sU6U2PKk;*XGHuh26+Jc49rKD>i=E_r2115{g~eFR%(%E`%dR@KSwP5VHqSoO zy%i6RMN#ljR1|bNv(a^tT41L~(4J3fU1le>&orNFrQYAbE9BKsBQ#gq4X!=gZ)1?w zzEmE5>St|$RT#ITO}45)TFpX9^}uj9dfQ-ZbhHrcH_yRWUFm0|La=BwEoC9mc&*Ox zCGr+Q2za`t*W_fF#bfE47dfo-!fLXjuh3XCCI}w31>(v;fsU}!F>b}>#k6$30diQw zM|?+v%d(|>XoYN6;I6s->`Pss8nM-+_3exC^`B>)n-e0}0qB8J;UgkSSNMUw{b+bW zM$hw^tx-vEYA3DDXme;+$=<)94Cf?-uKHvO0DM){c%5m)t{##vxV!d^xzP|18w76S* zR)Qz3VZ#|p{tT8e4a~CvQ#td8XWi1WFZvQAp-ppt`KdLH>~Hn_f&};%p5M_2UUOX2 z=$(Elvx$iF>st5}(o5^@<$YU(cb9y?&W%6$K!r;L!LdYY`Q+qn@*%zkfVU3HWYos;gqYiTd`3Y_-QBSBYW&^KafD9WKn* z3HgkifX&)d#ibaH84gfVbT?rAv~&4OG%oS{1qMTjiHRReO8VXeiHL|CnMIzya2Jxb zCPDd}-|oR+f2ivbrzqeCxv5Nu%mDq4E{*+j=5(%?_HZckH@zWq%;-&@9H*JGMoSQZ z($m9#{b1!U+8KFkkrvE9g-4AS(3notD>D_blBi$!QF<%FdElEz-iNrr^q2e!L)StK z2XxffC2h5riYIP9`MeU$DE0?cioZ=&S6A)z0Nn}51ie*4Ne1Q2Nr=gxRJP3pMCboK z(kuMCkcX}5rl;3@qy49Uf#QE*yZ@64f6YdI55R2ga2$8ez;3RYV<^3|1uhiB2FwSY z5W!I)|NWgAXDh0E)}sSzTY@kh3HPP%hPfi1fMb33Jdxj_t!+X8b`l$4N9LYMdCal^ zZ}tk4mX?morR@xd#a%Zu7l3(sdRAgi&He-5dh<61rqItvT#q8EzW~>D9M6-$zY!n` z+~z#upB|lh%WJvCsLfpDBZU`-zvKl8KbJuGyw6|b^ZT)Sd395he5pmFe$k`r#52S| zs3P@n$FuKdxBY0L-d`~1Ph9^7kg(-U95O4@wQ2$|6ut5_7&(io1sj%K-Vg|V;x%vq z!5EXGs2jICT|my+h;ag@!|lIiqr9;p8PL=05nrs zw3E-x1#DR*kxXw}-SIn~<^s;cj9SBK5dO@2Wtav-T|ELfxqd@QQT?kduqm2`ol16) zTZ;k0Ln^@GJa*qC%1hZO2MfQ53cMIsl;DN%hz$>4e;)a+((aj*lvZU=(x;a9}2FPnBZiO;^W5)GZyRAaZNPU`lU+61Z5!peA`s! zofD@6;P7Sd-*@@2%s392+s|IUxYxFyvv3<^oes+nR@?fSJB~V0*#6G4)`Cj%$h7m71}%X2jI=^m7L`a2A$e*&saHIzhpZsugAI?iw``W7-V~( z(p-pF)zXTz?I+g|Hv}3PlO%&xB$f_B4lY zc5~+RiZzQG)PruPo74Txh)h-mTI$$6qck|2Sfp!z@agy}+3EvG<>#>uJ&`%Fg^n}S4#P2e(F(GX5*DCYS=uh##)s*5j( z=Kh+G=%;mP>x=^+qzfpU4CSTT1@D~s(t2-ob8VIE8-hV{qxC2X( za?o$5;u^}29Em^?8a-F-tY!=f8w#tua>c7!e!ZFiYb(uPEa^U zK!J>y4)6Wlt-FhI=+F1LpRx6c9V`w6DLxn&HKy|m2P_s;M$FrleYY~Bg5pYn=ZhII zln(|C=`U<%n0u$0_ZW44rHs<$-J&HJb*b=3YN!*R0VRmt!(Nxq+#RnpfQL_tZ{hwy z4o5_0Qpis9NB#2IX%Epi*;Cpozi`2fJzQrl)ZE;haZcv>qy$X=YV5;X$$gFeJH!2J zcwWv{imcOg?gzC9+q#L-QTv^x{z`)Q&Y`#ULJ&=*5*3Y)z#cBiHn$AcPFNO$E}$^~ zTDro?a3%xwamT!}GBM(r0c{nHg(Orf=c5Sg2*%ff$(jWF)M6RdkFC!~wuo9rmzopK zqXm9}ec=+*paA%RH5M-Unt6e9VJ@DYwI7R%1z^^vT2J0xFgGyB0o9O=*=A$V&85hD zK0EAUREh>=)UL>jB>S163nKh^YPXv4RtLFr{3~B-DY#b zNywwM6Ug6?VOsd|wsA%qcX1>ZMfHz})Y7Zi1RorCOCs(>=Eos@-U_EtYPlgnJo)Pvva%QN$hgWSK_ z*a0?%nb$h#I-$DPE1E>1+o-$inh1IzcR88PiuEv$txbRM*pNPg9s$d{(4wgeT~+{r zBIKP%`KYQa!fWpqyR$La#SbDz_TJ`aSP(V${o!L?j|w!lSvsm7-#j)@=Aeg3yTE{m zln|@kO8gbjwC|d*wjz7W$;>Xo|MQm}`2oM%0Vwmv7kO;rmT8jP@WvN55eFOas=F7o z-mQR|+H~{NSJgycl{4=%PdtTV$x>HvWVdSN{*aNk-*F-uDq3mbtc3E~T4_77+yKS% zHiNt$*VC}_-khu)$N)3evAoqt<%~~$0WY1(8E+OO8Uh+PEmBr2EPi^ymm*24e)ZOT;#i{JR z7#<8XFZ*BgjjI_#m~45$n&cYfh}~JuM1nUOgSMguTSdoH_8+J*Oq5SA=TiE{BpJt1 zR_(MpYt$b&9uX7j&k1Uk=o*#WAxwuu?RJ}k8Y!tNldS~R&Q+Z@iU?TUb?t!Rzf6s9 z9a2ZWHp>tT(b&0&{xIHJSjb(+I}D3LWgl__Z(-MVE4dtY@A z0_hJZx%Eq5sRV!sUz)Hgi@MFV~iJ@JHP!C(Bq;WlY~$Gt9arM{m$8_{h)n?vg6 z?m(nM`4rtg&3KN{br=0e$B#DyjGj9kW&pm}g(wsXT!U)!%RB4l{a{&uJ&06=R~l*d zJ7V9Ph|J2A+w=CZdh~I(y5@5;ytB8fxQi#x$oWlR2fhthy#g<-d}Fj*`tA+B2p5=% zC?G{qvPWb#14{0J)6-kR18po*yF#+F-hM4M0l%L&U5@aceY8x-+3Lq^YO*5tC*b4Q ziUlU8$*pi005#$ghc(RyGkT0BQT56Le~RniFdJWbl5unIdkG(~G73c;VfdSwhjv^( z0E&QVkEz{S%JUN)=nt)w|ToY>0P`EAZyKzA73I*lYS#R&r4uOs}V zUYF?j!ppkF7#6NZl#gm0yNz0tGkf=@RotOtd_=PNd|igvMqp9r?3}DT7rJaQ#%D+4 zQ(i|gy8r2}$YQw50c#D+Ks(K27?z9!6x;fky8r{Iv?8ua)x`0 zkBZbK{?gW27FpnaoL9X|n#e4LXLV)?J_ks>xOH|Z)cMxgukM#S^!DDZ z(Kn1bxlCp+EJMpdzor>S+?*|*C2Y9d$8!McO4UHKpY4Hn?WSI_(e?99c~U^y;MGvZ zFqf;mJ$ewq^F7Rbb5E}p<#>WQ#~eZJ*bLE%2OQ~Rn3e2ZA(J?LXm1pmcCtkSIr;OfE3u|}kRducPwT8`j-H0v88BFSBpv-?4sZ>1+fU>Dj!y^q0ytMi4 zd33Z*gsaDycUlNVU?SN8D{iUOCYpTag%lD$mN57fd z;>c}!L;9wC?gLxZQi zARhkGr9B48Dld9VZw7%_{JbLiAJ2CAy(r+NWJ{oCz>Kx=;S#Hi!~JeD;o$oiet?jQ zSRX={>vAoY1R~?HACM0(>?U`ggbc-AJg$=Ded#EBykORonpCYMAj_-h@Fn}9FwD3l z(K&Sjtqmrf(a4?11^>AnZrE_ll5QgZ?3Bkt(s%cm_%p=RLy6e?2;FPLa^HuBvf@$h zFJe^p5GWs=Yc14`ADId$MGPT?NS+872n2Y(-&8W7x+gh#SW-1alw*t5d35=}1mPb? zwE)y90qSB4MI243)COV@RITMd@fbX(_(blIX#pZjxyy-7XwCTexb2!aylHe7cn)L} zyB`l+C&j4CjpM)3o6IQ|-J#E!1v@!r=Q8`;2%1c9n7#%$F6By|(2UDK{pf!zTclw* zNq)z_`pL~jvWU8iD!^s>y?y{drFh=*2fAtxdUZYaZ&}3050`V}IK1cxd7^h3&sT6*wi{;l`3Z9aNWJ0dMQR1m&B`Wi625XPETxe(t z)G%I9*UJp55D@?Bp*M@)xI-Z14xX_2q<-=KUY&1auW}(KI+zBsNuUVX7sqa0aCA=! z{F46Qr2D&X-tA>lQc}M}bMW8|fyVWG^MUQx#S>AiHL`4_NQ6Wx#+ka(arT>6jpa7BTr* z@QfFa?jugk3^XV%7QUr$)=?VqZ}~Uu<*mM-gS^Y2^c2OdGasvNV{wE0TLCMfmV@f_ z*7>krWxO9^wZ58}mLhj<=EA>C>{{($f@t6J11r5D0x((VZoZoqq~SCDzsm!IyZX-M zW z0ERuE%&?>oG2F?Qh;slb^^n;!_~Vsvv>xU*!Tnwv?qV(VgIw`<&#dxMDj{q`p-%(F ziBDDI1?`W5x!iz9IXOAyQ-<@jim)*^%%u1qUHwK#*Dsn>-8*88sVv;<+sce5PycZv zG!RPPjl|*Lb9OV*6WwebM{-ey+n`d@RtF>F9OWku)kHU7Nit#)d}&hcFRV<4Rz}LwJ**6?q-N8Jj(NHuc*Hn)b99UGn9uHMjmRWa2vQc+rp_V z2P5LyppE+C0pFQz&iFO`Tgiv%{D#KHs4s=c>{8^{LiF^Sd4l&+`)Wp=a}q`O`ejt5 zM5}I?<$>~It<%U^jZcz?w(TyzN5Pi$4R zLwSXRQ(EN_PV-kpv$Pd&&pNVTZ6jO~GLlZg#ZL~qwd9UH{r%#QSqLn zEW7jwE3bLO0>ya98?kSGsCMtRJC}W2{m2i#`R>)7no+&It7zIMuFm`XEIKUzL!{jG z0T%9Juo_ILp@6UL@t4i=F8bT-z89bAded8FeNta=>@hfy@|djKOi|xsW0)R5UsSdz z3lTI|Qwy0o8T5zx-aTedaw_D6=J!JPyo)@VF-T~oiKd11Nc2i+5mg(M3snr~ed~Q~ zHE5PcsZkFCp^3^q(*C2fh_&-=cTV}cHVHn^ji}%UCNyE&X*z02?(?6er~8+-6FAl` z)+^JTPAFW*2abT!Ahz4bIXd`VzlS?w;Rn6_F5E-l#AqS!wr)2%}-)uU` z=hpt<%cY^ysk{B-4-?cMeDnc>q;eJog|RQq*XDSByaz=MJ3x(pyFUAy0wJm5~Q(Fxh0p8 zv9VU%J5kfPDfHv6*L@pq;jUgldBCDb@`mi3&yyu0=0Tj;@M+jEC;lvKm@LtXR*CsE zR`bT3zjeFFP5$;1N81@`eyc}7Ydbp*<8ADmBgD?=w-$X>AN5uR2nRv zLPmpIz&$_vAWp~?9)sl5n+Jnwv&j6kyjz@fv_j_UOjgB3So>+YkJyR)EIy+Jj#W`m zKMatr+lXuJ|6tF`87A?AP`oBQ{s8iI+L|Zy!XvtjOiiA!b(^RlI2Yu?Sj@8s8cOt3tY1PlP&Hd%f%pw;qk8y%EpAsFit?6>mzw!1><_fgXmxKUV*zs`g*?Lax!mu78#k z{e9z|sZ~aU`M+C#)eqe!g41<$iS2)6ufc*pt68wb`YZFF4&*&u1vR8;2s9QGX9Cak zN(773Za?`!;F>`udC?40ev^wPQ`$Al#-XGIIsQj%nCe#|2r?8rh3Ix%#@#eRk<^B6!ZPN!d=8{bF z2t(aUQ5Fc;gDrH(*`tE1mMionGhkuXl=bodU?o;oM-$DRMt{P`UjZ;o&Rgr^oY~>L6TY!*AIioD+sLo zU#B&44V|>wZs3GXCRZiFX}crG8)O|VYz0{qI^U*E(|N|AO`?-kqD11@UlnEfK{N?@ zFpvxR6NjabT{;JT{fSlLbf8ITcYe~}C1!yT1JD9v39J>;#~NI$7%thqKNikAB5dXO z&pCfefzIbljQYQ065b(Wdd&4R$pfPZ!XK+>4WO!wI@4lfIz|e0QCj4yw^sVptanA^@L_F+l+%*%XF^ilOyB{`yf+U ziChcGn$df1V`JkJoNx;2o59K^=)ZitxP^Rm+zwnAAtk+)3&H_E3w6Pz*1QL1Bodo@6Xd`agjW0iH{bY>hzXT;n7Zhkv}+B+lp?&A z7soefAja1or2Iz2Wt5boe&NQQgf(dS9fngb-@_QC+geaN<388lpeeYjxm#{1=D3&JWaWkX@Rap1k?mgajO4+UX^cM_qOpVY=W#x(CNF*6v+inO9OwU&#Kgcwc zWnxc6lBb+1KJwJ^mXRa<9wOp4T^cdngd}kUw~VxO(Z`RPQ@uQtt%z|RoxXi>R??-| z`A>6!^9uD}2s~>xK%;sYrYwn&bfJ+_)k40|b@+4YmO|z-%=%JkM3>L`EM-Cw7P@Ba zKc*Spqk}^P{O(#9NTQVU3!@qX_P4i+5x_Iwh%E`G9;(Hz z;Y~-p@{$MX(`(yp z097YfI26OgMyQ^#GK4-0u?d7tpM3%tDitD3O)qP%ZbiN8kucpt8yXrWw=r?gq)lz= zW_--g&+l}R7>ekUIrc7LZZ)!D2Sm+LJd_Y`UDdmlmLAO#7*4bCIB@xC?Q8YG>sO?8Eu7WJbe4XgV#Gq139x%4)ssd-L z!g=Qjor?nUm;dc^>;h4c6IN?KBE^|^bX7in{HQ<0LlYGTIu{{xP($@G6|A4-UF~Z- zjL?7Bu_vqvv2pU5)BCZHyJG)zuxN+iI}{by@l@2Gown~;Ke z*sABhpZ6zaB2KE8;Yn2#M)fk(V;9^%T1{6cGG}_py{|1$rsBB48!rG)Ujk4@r7(7h zimiTXp#~rgWC_KO%dl{2#Dzwrqxb>Jt&ecvM~x&LQtj6s!G^(zr}raO55u<);AMhD zbQNkk+Ea9#Z&!Mw>;lAb*a_2F8KgKabG(!6*i^(JS6NT!_BJ4)=YZDpfaQ4kdamN)aYzB!{Wg0N5G^e zp~}ZDPL3N=QHWn;BLFd>4wR8mf4ES&EYh{TkWbzKh@|?>CMuk0u5`3mSxJ1=acb06 zl#IqvPl55d2U9kb*>$yjV=k_dUb69pBIn%N2!h?kM(2FWP54A+prN9tBtap$Dr2MD zT-Jd4@jLmZQeXN6BEAgY>M1?^Nuy-XG_{rp*jWoc>tnHVA!! zXxjgkO6dQK2O5A5wF5m3Fq6RGX7i&% ziuag{a5-MTXBQlyhGr>MX~P@LD`RJn8f1SeOD#5*GEMCSuc=X+^~}v@Yz~;~kzxG8 zc$J&9kG$7o)a+e_;YdokLZ5!b3^kjmFdRZD z7tt?L+dzo|n=haCd5Sy+aILY_t1CV17j zajFg_L0wlVK!{oxG)Kf#BY8f8|4e}B-5P4wrgv@uAnt|Xny8Y7@cGK}ey-x=)2D_P* zBuTO^wfCWXP?Q3ur>fyDbrlN8-law*`cs*}?3GD94J4?l)B9goPgB2MX&c ZQ0Z&TPjdS7Qy}0UOkL-0nW|Or{{d5ny{Z5J literal 14216 zcmch72UJtd+HR2EQ4y3X3Q7k-r4s=Wf=E|7h$sjsMS36!qJWBk1_9~4SE))#C@M-3 zr1yYy0)!R<2}$neJLkLqf7bfXT6e8`?q#jn8TQPcJ$uUYKJ&iMYZD_qb{0Ms5D3H$ z(Z6X10@2JKCng5q4r~aO00Pl{g<4qo-F)Qh{LIbU&&|sd1PV$^Pww^PR^y5oO)h-g zcKv2D8}pawClxm=rDxBW)Y%W(&sHcbretpI1)j8d!9-hVeTx`dXb0{LSbjvnHBn~} z>of2m^hAx)l?|cBQOnWN=obrTo1#2@YZ}j5M_$RGJl1NP)*(EYS~OM|Hg;QB{kC=? zx?wZhwoJ&X2{2h0En;$> z9WwX$&@0k-%}tAsX)2z;CNmk&=)o|jO{Av{oVqoK6qyLO;Hy`>{QJdWa>n7g#O&C( zJ4h}IB_fr9!!>tnp_HzcwE7%T;XPUVtTnE;?7g8ugT0QVLjZ=q(+_9S?+3AIw30+(dV`T z$<tPT?T~${TinPTp0W+V6Vnb$QR0Iiqo8RnFzk^;p)}SZgyGONmHw zkN!BvO8MN)&Xt$JF8pr%@nIT6;o62tcI*?mE|9E*h|_CdS!K5{zpu4#x|RHKebFNB zf={}jz8K;obv-OS;5_@20*-}qAw>cU{3^9e?}tq)lISN5uHVTsVdIX!_S`P`kF-pG z;d9P{u|~z)^r3@4`rEVQGoExx^5{EbZil-R(`&U&1lZop7E?4w(b%4xI68{#+>}Ej zwyE4D{qnz0>M|;>7sy_HtMJyFX>7$MJ9~^qH@-W0fU-3{zrVAe%mqX3anra|7BXE8 z(a_Br$4Z>&aWFo4e;@khpme<$&y7eduap}d?Sr2*P#az=du~XWJvxhQ8>N9FQg8Z7 zy|j1ZTv`#o$D*|I(D0>0D8C2OL33_tm>NEqaoQ^LMr5@L5_c}NADo@V&Zwr` z$;h&gsBqd7(!V|@b6sQJD#DddYRAyoKf|qT zNHOMaNWrJ@zN`0klfQRq4q7d`^2xx*Ou21U*Tvs_6A0k`hCB&es*iJByugKc0Vud; z2UNi>ROO0azu=^2>U|)oRCN+aZ9wvoQu018spQ=cq%bL^{x0X$+24I>Z6rG1TbGO9eIG<{Bucd=sxY^D zsx!CV0yDRsQ)O=52J%0_%s0$cm~Ws}nQus`Gxs}RNzQfbIQ-!j1^bZpA~J_Eg z)SwKfF1a(epc<{iOg zSnM0^*rnyFzoy>2)8Ex3t6M_fS5Q3sHYJI5z3Wl*3VmbHqn~lz@08JCm%jC$_4Syl zWzu+hu!eA4aGHv1BssLNCoQ;-poUQl(&8#A>-anN)9Y;^w zda`Uc_!s&(#oS!0dLAOmumn1^zi>5u?Edm?^IvRY#qK-#Ht2oE1v}8QW-XLJHD45iy;iZH(JANn~|K&k+KI?gxEgR=Ay76duQxUZMKBP{!Y3? z+=s982ugE1Ud(MVX1l%(y9&zKU4Q94xGRIq``yXrBNXnNkUh5cgAHpPjL!|>m{DLbTgMrsXkV$t*-N&SeX$xZYdQ!C zGR6<ix2o-8Yef_`kFBY1GoNsfI0dIYNtx6Q zWp>h9*O<;hY|>Fx=s`9z?^}FBVUkCb0W!rA*0Q1#)SBWp_j{gGI%pCGrk2Jw@0q&B zAvAg8sE4~p-g~YCqv&gjEq2wCEmM0<2ehB1e}OsnE@fCITi+5{Z~t-Sb@*fsS8RJ_ zef@P`QhNmJHRtbamp5uEGI4#>fVBFjlP+dWLr)&F`0oW3{~1y9tygjga%kjTFA_Wy zhD%?)s{eX?pjax8k-AXe634jJn^{I!`r*lRuw*qnccQ#om3`w76~`(Yf2Ey_{`w|NFi?A`4lQ&dX0wn!Ef5cJfK|RC#zEBI(_Wyo-aOkx@yt>_~xdcK7UozmUhIDb=O#HqM!S_CavlN@T{Qy%g-~ZV>>a8lyTllSu1LWaOT}poxqd>8=g1x zX!%#V?Ws!i=XCh=YPRUcxzCqtHlBase7N7Mig0 kP#(~ai&Ho;JNi)FdCRv)>~ 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 amG;w|-G$_0k4O;k2hlaUS)qMD{C@#c&I{N8 From eed7e2a1904ed42f72e6edf49a888c306de88ca5 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 1 Feb 2018 18:43:02 -0500 Subject: [PATCH 4/4] spacing on maths --- code/game/gamemodes/miniantags/bot_swarm/swarmer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index a44d759dd6d..ccee4c0bb17 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -136,7 +136,7 @@ var/image/holder = hud_list[DIAG_HUD] var/icon/I = icon(icon, icon_state, dir) holder.pixel_y = I.Height() - world.icon_size - holder.icon_state = "huddiag[RoundDiagBar(health/maxHealth)]" + holder.icon_state = "huddiag[RoundDiagBar(health / maxHealth)]" /mob/living/simple_animal/hostile/swarmer/med_hud_set_status() var/image/holder = hud_list[DIAG_STAT_HUD]