From 421e41f3e29b78afb106b26ca91e3c2a208db8b1 Mon Sep 17 00:00:00 2001 From: Whitellama Date: Sat, 10 Nov 2012 19:07:32 -0800 Subject: [PATCH 01/14] Ported knocking on windows --- code/game/objects/structures/window.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index ce11f1969d6..a6af06a6a67 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -119,7 +119,13 @@ if(reinf) new /obj/item/stack/rods( src.loc) src.density = 0 del(src) - return + return + else + playsound(src.loc, 'Glassknock.ogg', 80, 1) + usr.visible_message("[usr.name] knocks on the [src.name].", \ + "You knock on the [src.name].", \ + "You hear a knocking sound.") + return /obj/structure/window/attack_paw() if ((HULK in usr.mutations)) @@ -436,4 +442,4 @@ /obj/structure/window/reinforced/tinted/frosted icon_state = "fwindow" - name = "frosted window" + name = "frosted window" From a9e3300a73c12916bfdfa1b8d72ae627b3c4e97a Mon Sep 17 00:00:00 2001 From: Whitellama Date: Sun, 18 Nov 2012 16:45:53 -0800 Subject: [PATCH 02/14] Disabled automatic spawning of space ninjas --- code/game/gamemodes/events/space_ninja.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm index 2801807815b..0a53b2ef9ee 100644 --- a/code/game/gamemodes/events/space_ninja.dm +++ b/code/game/gamemodes/events/space_ninja.dm @@ -90,7 +90,7 @@ I decided to scrap round-specific objectives since keeping track of them would r When I already created about 4 new objectives, this doesn't seem terribly important or needed. */ -/var/global/toggle_space_ninja = 1//If ninjas can spawn or not. +/var/global/toggle_space_ninja = 0//If ninjas can spawn or not. /var/global/sent_ninja_to_station = 0//If a ninja is already on the station. /proc/space_ninja_arrival() From 77b6f1e6fcf494e361183076d6cb5a5179bb9d4f Mon Sep 17 00:00:00 2001 From: Whitellama Date: Sun, 18 Nov 2012 17:40:39 -0800 Subject: [PATCH 03/14] WIP: Porting gun auto-targetting + suicide --- code/game/hud.dm | 6 + code/modules/mob/living/carbon/human/hud.dm | 4 +- .../mob/living/carbon/human/update_icons.dm | 28 +- code/modules/mob/living/carbon/monkey/hud.dm | 4 +- code/modules/mob/living/silicon/robot/hud.dm | 4 +- code/modules/mob/mob_defines.dm | 7 + code/modules/mob/screen.dm | 86 +++ code/modules/projectiles/gun.dm | 522 +++++++++++++++++- code/modules/projectiles/projectile.dm | 69 +++ icons/mob/screen1.dmi | Bin 146271 -> 158885 bytes icons/mob/screen1_old.dmi | Bin 113495 -> 114244 bytes 11 files changed, 716 insertions(+), 14 deletions(-) diff --git a/code/game/hud.dm b/code/game/hud.dm index 4d2e37532d9..9a29adc082b 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -45,6 +45,12 @@ #define ui_borg_module "13:26,2:7" #define ui_borg_panel "14:28,2:7" +//Gun buttons +#define ui_gun1 "13:26,2:5" +#define ui_gun2 "12:24,2:5" +#define ui_gun3 "11:22,2:5" +#define ui_gun_select "14:28,3:7" + //Upper-middle right (damage indicators) #define ui_toxin "14:28,13:27" #define ui_fire "14:28,12:25" diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index baaa63bd93d..86c08fbddc0 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -485,9 +485,11 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") + mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + mymob.client.screen = null - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) + mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) mymob.client.screen += src.adding + src.hotkeybuttons inventory_shown = 0; diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 16c740f6dc8..3cad3a2f64d 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -64,6 +64,7 @@ There are several things that need to be remembered: update_body() //Handles updating your mob's icon to reflect their gender/race/complexion etc update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and ...eyes were merged into update_body) + update_targeted() // Updates the target overlay when someone points a gun at you > All of these procs update our overlays_lying and overlays_standing, and then call update_icons() by default. If you wish to update several overlays at once, you can set the argument to 0 to disable the update and call @@ -117,7 +118,8 @@ Please contact me on #coderbus IRC. ~Carn x #define L_HAND_LAYER 19 #define R_HAND_LAYER 20 #define TAIL_LAYER 21 //bs12 specific. this hack is probably gonna come back to haunt me -#define TOTAL_LAYERS 21 +#define TARGETED_LAYER 22 //BS12: Layer for the target overlay from weapon targeting system +#define TOTAL_LAYERS 22 ////////////////////////////////// /mob/living/carbon/human @@ -441,6 +443,30 @@ proc/get_damage_icon_part(damage_state, body_part) update_hair(0) if(update_icons) update_icons() +/mob/living/carbon/human/proc/update_targeted(var/update_icons=1) + // If someone's targeting you + if (targeted_by.len) + + //If the target is already there and finished locking (after two seconds), put in locked state and be done + if (overlays_standing[TARGETED_LAYER]) + var/target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locked") + overlays_lying[TARGETED_LAYER] = target_locked + overlays_standing[TARGETED_LAYER] = target_locked + return + + var/target_locking = new/image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") + + //Put in our overlay, since it isn't already there + overlays_lying[TARGETED_LAYER] = target_locking + overlays_standing[TARGETED_LAYER] = target_locking + + else + overlays_lying[TARGETED_LAYER] = null + overlays_standing[TARGETED_LAYER] = null + + if(update_icons) update_icons() + + /* --------------------------------------- */ //For legacy support. /mob/living/carbon/human/regenerate_icons() diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm index bffdc9468ad..54b487ca680 100644 --- a/code/modules/mob/living/carbon/monkey/hud.dm +++ b/code/modules/mob/living/carbon/monkey/hud.dm @@ -220,9 +220,11 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") + mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + mymob.client.screen = null - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach ) + mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach ) mymob.client.screen += src.adding + src.other return diff --git a/code/modules/mob/living/silicon/robot/hud.dm b/code/modules/mob/living/silicon/robot/hud.dm index 88ef5577055..0087c13e969 100644 --- a/code/modules/mob/living/silicon/robot/hud.dm +++ b/code/modules/mob/living/silicon/robot/hud.dm @@ -143,9 +143,11 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") + mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + mymob.client.screen = null - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash) //, mymob.rest, mymob.sleep, mymob.mach ) + mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash, mymob.gun_setting_icon) //, mymob.rest, mymob.sleep, mymob.mach ) mymob.client.screen += src.adding + src.other return diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 068851304c6..d69fc758db0 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -28,6 +28,13 @@ var/obj/screen/pressure = null var/obj/screen/damageoverlay = null var/obj/screen/pain = null + var/obj/screen/gun/item/item_use_icon = null + var/obj/screen/gun/move/gun_move_icon = null + var/obj/screen/gun/run/gun_run_icon = null + var/obj/screen/gun/mode/gun_setting_icon = null + +// var/total_luminosity = 0 //This controls luminosity for mobs, when you pick up lights and such this is edited. If you want the mob to use lights it must update its lum in its life proc or such. Note clamp this value around 7 or such to prevent massive light lag. +// var/last_luminosity = 0 /*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob. A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such. diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index 3cc082d1798..53f705bead9 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -5,6 +5,7 @@ unacidable = 1 var/id = 0.0 var/obj/master + var/gun_click_time = -100 //I'm lazy. /obj/screen/inventory var/slot_id @@ -64,6 +65,33 @@ var/selecting = "chest" screen_loc = ui_zonesel +/obj/screen/gun + name = "gun" + icon = 'screen1.dmi' + master = null + dir = 2 + + move + name = "Allow Walking" + icon_state = "no_walk" + screen_loc = ui_gun2 + + run + name = "Allow Running" + icon_state = "no_run" + screen_loc = ui_gun3 + + item + name = "Allow Item Use" + icon_state = "no_item" + screen_loc = ui_gun1 + + mode + name = "Toggle Gun Mode" + icon_state = "gun" + screen_loc = ui_gun_select + dir = 1 + /obj/screen/zone_sel/MouseDown(location, control,params) // Changes because of 4.0 @@ -456,6 +484,64 @@ if("radar closed") usr:start_radar() + if("Allow Walking") + if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes. + return + if(!istype(usr.equipped(),/obj/item/weapon/gun)) + usr << "You need your gun in your active hand to do that!" + return + usr.client.AllowTargetMove() + gun_click_time = world.time + + if("Disallow Walking") + if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes. + return + if(!istype(usr.equipped(),/obj/item/weapon/gun)) + usr << "You need your gun in your active hand to do that!" + return + usr.client.AllowTargetMove() + gun_click_time = world.time + + if("Allow Running") + if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes. + return + if(!istype(usr.equipped(),/obj/item/weapon/gun)) + usr << "You need your gun in your active hand to do that!" + return + usr.client.AllowTargetRun() + gun_click_time = world.time + + if("Disallow Running") + if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes. + return + if(!istype(usr.equipped(),/obj/item/weapon/gun)) + usr << "You need your gun in your active hand to do that!" + return + usr.client.AllowTargetRun() + gun_click_time = world.time + + if("Allow Item Use") + if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes. + return + if(!istype(usr.equipped(),/obj/item/weapon/gun)) + usr << "You need your gun in your active hand to do that!" + return + usr.client.AllowTargetClick() + gun_click_time = world.time + + + if("Disallow Item Use") + if(gun_click_time > world.time - 30) //give them 3 seconds between mode changes. + return + if(!istype(usr.equipped(),/obj/item/weapon/gun)) + usr << "You need your gun in your active hand to do that!" + return + usr.client.AllowTargetClick() + gun_click_time = world.time + + if("Toggle Gun Mode") + usr.client.ToggleGunMode() + else DblClick() return diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 1dd3ca5114b..b642f088b32 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -22,7 +22,12 @@ var/recoil = 0 var/ejectshell = 1 var/clumsy_check = 1 - + var/tmp/list/mob/living/target //List of who yer targeting. + var/tmp/lock_time = -100 + var/tmp/mouthshoot = 0 ///To stop people from suiciding twice... >.> + var/automatic = 0 //Used to determine if you can target multiple people. + var/tmp/mob/living/last_moved_mob //Used to fire faster at more than one person. + var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. proc/load_into_chamber() return @@ -34,6 +39,17 @@ load_into_chamber() return 0 +//Removing the lock and the buttons. + dropped(mob/user as mob) + if(target) + for(var/mob/living/M in target) + if(M) + M.NotTargeted(src) //Untargeting people. + del(target) + del(user.item_use_icon) //Removing the control icons. + del(user.gun_move_icon) + del(user.gun_run_icon) + return ..() special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. return 1 @@ -43,10 +59,99 @@ for(var/obj/O in contents) O.emp_act(severity) +//Handling lowering yer gun. + attack_self() + if(target) + for(var/mob/living/M in target) + if(M) + M.NotTargeted(src) + del(target) + usr.visible_message("\blue \The [usr] lowers \the [src]...") + return 0 + return 1 - afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)//TODO: go over this - if(flag) return //we're placing gun on a table or in backpack - if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this? +//Suiciding. + attack(mob/living/M as mob, mob/living/user as mob, def_zone) + if (M == user && user.zone_sel.selecting == "mouth" && load_into_chamber() && !mouthshoot) //Suicide handling. + mouthshoot = 1 + M.visible_message("\red \The [user] sticks their gun in their mouth, ready to pull the trigger...") + if(!do_after(user, 40)) + M.visible_message("\blue \The [user] decided life was worth living") + mouthshoot = 0 + return + if(istype(src.in_chamber, /obj/item/projectile/bullet) && !istype(src.in_chamber, /obj/item/projectile/bullet/stunshot) && !istype(src.in_chamber, /obj/item/ammo_casing/shotgun/beanbag)) + M.apply_damage(75, BRUTE, "head", used_weapon = "Suicide attempt with a projectile weapon.") + M.apply_damage(85, BRUTE, "chest") + M.visible_message("\red \The [user] pulls the trigger.") + else if(istype(src.in_chamber, /obj/item/projectile/bullet/stunshot) || istype(src.in_chamber, /obj/item/projectile/energy/electrode)) + M.apply_damage(10, BURN, "head", used_weapon = "Suicide attempt with a stun round.") + M.visible_message("\red \The [user] pulls the trigger, but luckily it was a stun round.") + else if(istype(src.in_chamber, /obj/item/ammo_casing/shotgun/beanbag)) + M.apply_damage(20, BRUTE, "head", used_weapon = "Suicide attempt with a beanbag.") + M.visible_message("\red \The [user] pulls the trigger, but luckily it was a stun round.") + else if(istype(src.in_chamber, /obj/item/projectile/beam) || istype(src.in_chamber, /obj/item/projectile/energy)) + M.apply_damage(75, BURN, "head", used_weapon = "Suicide attempt with an energy weapon") + M.apply_damage(85, BURN, "chest") + M.visible_message("\red \The [user] pulls the trigger.") + else + M.apply_damage(75, BRUTE, "head", used_weapon = "Suicide attempt with a gun") + M.apply_damage(85, BRUTE, "chest") + M.visible_message("\red \The [user] pulls the trigger. Ow.") + del(in_chamber) + mouthshoot = 0 + return + else if(user.a_intent == "hurt" && load_into_chamber() && (istype(src.in_chamber, /obj/item/projectile/beam) || istype(src.in_chamber, /obj/item/projectile/energy)\ + || istype(src.in_chamber, /obj/item/projectile/bullet)) && !istype(in_chamber,/obj/item/projectile/energy/electrode)) //Point blank shooting. + //Lets shoot them, then. + user.visible_message("\red \The [user] fires \the [src] point blank at [M]!") + if(silenced) + playsound(user, fire_sound, 10, 1) + else + playsound(user, fire_sound, 50, 1) + M.apply_damage(30+in_chamber.damage, BRUTE, user.zone_sel.selecting, used_weapon = "Point Blank Shot") //So we'll put him an inch from death. + M.attack_log += text("\[[]\] []/[] shot []/[] point blank with a []", time_stamp(), user, user.ckey, M, M.ckey, src) + user.attack_log += text("\[[]\] []/[] shot []/[] point blank with a []", time_stamp(), user, user.ckey, M, M.ckey, src) + log_admin("ATTACK: [user] ([user.ckey]) shot [M] ([M.ckey]) point blank with [src].") + message_admins("ATTACK: [user] ([user.ckey]) shot [M] ([M.ckey]) point blank with [src].") + del(in_chamber) + update_icon() + return + else if(user.a_intent != "hurt" && load_into_chamber() && istype(in_chamber,/obj/item/projectile/energy/electrode)) //Point blank tasering. + /*if (M.canstun == 0 || M.canweaken == 0) + user.visible_message("\red \The [M] has been stunned with the taser gun by \the [user] to no effect!") + del(in_chamber) + update_icon() + return*/ + if (prob(50)) + if (M.paralysis < 60 && (!(HULK in M.mutations)) ) + M.paralysis = 60 + else + if (M.weakened < 60 && (!(HULK in M.mutations)) ) + M.weakened = 60 + if (M.stuttering < 60 && (!(HULK in M.mutations)) ) + M.stuttering = 60 + if(silenced) + playsound(user, fire_sound, 10, 1) + else + playsound(user, fire_sound, 50, 1) + user.visible_message("\red \The [M] has been stunned with the taser gun by \the [user]!") + M.attack_log += text("\[[]\] []/[] stunned []/[] with a []", time_stamp(), user, user.ckey, M, M.ckey, src) + user.attack_log += text("\[[]\] []/[] stunned []/[] with a []", time_stamp(), user, user.ckey, M, M.ckey, src) + log_admin("ATTACK: [user] ([user.ckey]) stunned [M] ([M.ckey]) with [src].") + message_admins("ATTACK: [user] ([user.ckey]) stunned [M] ([M.ckey]) with [src].") + del(in_chamber) + update_icon() + return + else if(target && M in target) //Yer targeting them, and 1 tile away. FIRE! + if(!load_into_chamber()) //No ammo, hit them! + return ..() + else + PreFire(M,user) ///Otherwise, shoot! + return + else + return ..() //Pistolwhippin' + + proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this //Exclude lasertag guns from the CLUMSY check. if(src.clumsy_check) @@ -77,8 +182,10 @@ if(!special_check(user)) return - if(!load_into_chamber()) - user << "\red *click*"; + if(!load_into_chamber()) //CHECK + user.visible_message("*click click*", "\red *click*") + for(var/mob/K in viewers(usr)) + K << 'empty.ogg' return if(!in_chamber) @@ -87,7 +194,6 @@ in_chamber.firer = user in_chamber.def_zone = user.zone_sel.selecting - if(targloc == curloc) user.bullet_act(in_chamber) del(in_chamber) @@ -102,7 +208,10 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - user.visible_message("\red [user.name] fires the [src.name]!", "\red You fire the [src.name]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") + if(reflex) + user.visible_message("\red \The [user] fires \the [src] by reflex!", "\red You reflex fire \the [src]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") + else + user.visible_message("\red \The [user] fires \the [src]!", "\red You fire \the [src]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") in_chamber.original = targloc in_chamber.loc = get_turf(user) @@ -122,13 +231,406 @@ spawn() if(in_chamber) - in_chamber.process() + in_chamber.process() //CHECK Might need to be fired() sleep(1) in_chamber = null update_icon() return +//Aiming at the target mob. + proc/Aim(var/mob/M) + if(!target || !(M in target)) + lock_time = world.time + if(target && !automatic) //If they're targeting someone and they have a non automatic weapon. + //usr.ClearRequest("Aim") + for(var/mob/living/L in target) + if(L) + L.NotTargeted(src) + del(target) + usr.visible_message("\red [usr] turns \the [src] on [M]!") + else + usr.visible_message("\red [usr] aims \a [src] at [M]!") + for(var/mob/K in viewers(usr)) + K << 'TargetOn.ogg' + M.Targeted(src) + + +//HE MOVED, SHOOT HIM! + proc/TargetActed(var/mob/living/T) + var/mob/living/M = loc + if(M == T) return + if(!istype(M) || src != M.equipped()) + for(var/mob/living/N in target) + if(N) + N.NotTargeted(src) + del(target) + return + M.last_move_intent = world.time + if(load_into_chamber()) + var/firing_check = in_chamber.check_fire(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. + if(firing_check > 0) + if(firing_check == 1) + Fire(T,usr, reflex = 1) + else if(!told_cant_shoot) + M << "\red They can't be hit from here!" + told_cant_shoot = 1 + spawn(30) + told_cant_shoot = 0 + else + usr.visible_message("*click click*", "\red *click*") + for(var/mob/K in viewers(usr)) + K << 'empty.ogg' + // Stolen from sd_get_approx_dir, didn't want to reinclude + var/d=get_dir(M,T) + var/dir_to_fire = d + if(d&d-1) // diagonal + var/ax=abs(M.x-T.x) + var/ay=abs(M.y-T.y) + if(ax>=ay<<1) dir_to_fire = d&12 // keep east/west (4 and 8) + else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) + if(dir_to_fire != M.dir) + M.dir = dir_to_fire + + afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) + if(flag) return //we're placing gun on a table or in backpack + if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this? + if(user && user.client && user.client.gun_mode) + PreFire(A,user,params) //They're using the new gun system, locate what they're aiming at. + else + Fire(A,user,params) //Otherwise, fire normally. + +//Compute how to fire..... + proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params) + //GraphicTrace(usr.x,usr.y,A.x,A.y,usr.z) + if(lock_time > world.time - 2) return //Lets not spam it. + if(!ismob(A)) //Didn't click someone, check if there is anyone along that guntrace +// var/mob/M = locate() in range(0,A) +// if(M && !ismob(A)) +// if(M.type == /mob) +// return FindTarget(M,user,params) + var/mob/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. + if(M && ismob(M) && isliving(M) && M in view(user)) + //if(!(M.client && M.client.admin_invis)) TODO: Look into admin invisibility in post-merge code + Aim(M) //Aha! Aim at them! + return + else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! + Fire(A,user,params) //Fire like normal, then. + if(ismob(A) && isliving(A) && !(A in target)) + Aim(A) //Clicked a mob, aim at them. + else if(lock_time < world.time + 10) + Fire(A,user,params) //Bang! + else if(!target) + Fire(A,user,params) //Boom! + //else + //var/item/gun/G = usr.OHand + //if(!G) + //Fire(A,0) + //else if(istype(G)) + //G.Fire(A,3) + //Fire(A,2) + //else + //Fire(A) + // Stolen from sd_get_approx_dir, didn't want to reinclude + var/d=get_dir(usr,A) + var/dir_to_fire = d //Turn them to face their target. + if(d&d-1) // diagonal + var/ax=abs(usr.x-A.x) + var/ay=abs(usr.y-A.y) + if(ax>=ay<<1) dir_to_fire = d&12 // keep east/west (4 and 8) + else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) + if(dir_to_fire != usr.dir) + usr.dir = dir_to_fire + + + +//Yay, math! + +#define SIGN(X) ((X<0)?-1:1) + +proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16) + //bluh << "Tracin' [X1],[Y1] to [X2],[Y2] on floor [Z]." + var/turf/T + var/mob/M + if(X1==X2) + if(Y1==Y2) return 0 //Light cannot be blocked on same tile + else + var/s = SIGN(Y2-Y1) + Y1+=s + while(1) + T = locate(X1,Y1,Z) + if(!T) return 0 + M = locate() in T + if(M) return M + M = locate() in orange(1,T)-exc_obj + if(M) return M + Y1+=s + else + var + m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) + b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles + signX = SIGN(X2-X1) + signY = SIGN(Y2-Y1) + if(X1= 5) //Otherwise, they can just aim at one person. + if(ismob(I.loc)) + I.loc << "You can only target 5 people at once!" + return + else + return + if(!targeted_by) targeted_by = list() + targeted_by += I + I.lock_time = world.time + 20 //Target has 2 second to realize they're targeted and stop (or target the opponent). + src << "((\red Your character is being targeted. They have 2 seconds to stop any click or move actions. \black While targeted, they may \ + drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map, their items \ + (other than a weapon to de-target), or moving will result in being fired upon. \red The aggressor may also fire manually, \ + so try not to get on their bad side.\black ))" + if(targeted_by.len == 1) + spawn(0) + target_locked = new /obj/effect/target_locked(src) //Add the overlay + overlays += target_locked + spawn(0) //Make it show the 2 states properly + if(target_locked) + target_locked.icon_state = "locking" + if (ispath(src,mob/living/carbon/human)) + src:update_icons() + sleep(20) + if(target_locked) + target_locked.icon_state = "locked" + if (ispath(src,mob/living/carbon/human)) + src:update_icons() + var/mob/T = I.loc + //Adding the buttons to the controler person + if(T) + T.item_use_icon = new /obj/screen/gun/item(null) + T.gun_move_icon = new /obj/screen/gun/move(null) + if(T.client) + T.client.screen += T.item_use_icon + T.client.screen += T.gun_move_icon + if(m_intent == "run" && T.client && T.client.target_can_move == 1 && T.client.target_can_run == 0) + src << "\red Your move intent is now set to walk, as your targeter permits it." //Self explanitory. + m_intent = "walk" + hud_used.move_intent.icon_state = "walking" + while(targeted_by && T.client) + if(last_move_intent > I.lock_time + 10 && !T.client.target_can_move) //If the target moved while targeted + I.TargetActed(src) + if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. + I.lock_time = world.time + 5 + I.lock_time = world.time + 5 + I.last_moved_mob = src + else if(last_move_intent > I.lock_time + 10 && !T.client.target_can_run && m_intent == "run") //If the target ran while targeted + I.TargetActed(src) + if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. + I.lock_time = world.time + 5 + I.lock_time = world.time + 5 + I.last_moved_mob = src + if(last_target_click > I.lock_time + 10 && !T.client.target_can_click) //If the target clicked the map to pick something up/shoot/etc + I.TargetActed(src) + if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. + I.lock_time = world.time + 5 + I.lock_time = world.time + 5 + I.last_moved_mob = src + sleep(1) + + NotTargeted(var/obj/item/weapon/gun/I) + if(!I.silenced) + for(var/mob/M in viewers(src)) + M << 'TargetOff.ogg' + del(target_locked) //Remove the overlay + targeted_by -= I + I.target.Remove(src) //De-target them + if(!I.target.len) + del(I.target) + var/mob/T = I.loc //Remove the targeting icons + if(T && ismob(T) && !I.target) + del(T.item_use_icon) + del(T.gun_move_icon) + del(T.gun_run_icon) + if(!targeted_by.len) del targeted_by + spawn(1) + if (ispath(src,mob/living/carbon/human)) + src:update_icons() + +/* Captive(var/obj/item/weapon/gun/I) + Sound(src,'CounterAttack.ogg') + if(!targeted_by) targeted_by = list() + targeted_by += I + I.target = src +// Stun("Captive") + I.lock_time = world.time + 10 //Target has 1 second to realize they're targeted and stop (or target the opponent). + src << "(Your character is being held captive. They have 1 second to stop any click or move actions. While held, they may \ + drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map or their items \ + (other than a weapon to de-target) will result in being attacked. The aggressor may also attack manually, \ + so try not to get on their bad side.)" + if(targeted_by.len == 1) + var/mob/T = I.loc + while(targeted_by) + sleep(1) + if(last_target_click > I.lock_time + 10 && !T.target_can_click) //If the target clicked the map to pick something up/shoot/etc + I.TargetActed() + + NotCaptive(var/obj/item/weapon/gun/I,silent) + if(!silent) Sound(src,'SwordSheath.ogg') +// UnStun("Captive") + targeted_by -= I + I.target = null + if(!targeted_by.len) del targeted_by*/ + + +//Used to overlay the awesome stuff +/obj/effect +// target_locking +// icon = 'icons/effects/Targeted.dmi' +// icon_state = "locking" +// layer = 99 + target_locked + icon = 'icons/effects/Targeted.dmi' + icon_state = "locked" + layer = 17.9 +// captured +// icon = 'Captured.dmi' +// layer = 99 + +//If you move out of range, it isn't going to still stay locked on you any more. +client/var + target_can_move = 0 + target_can_run = 0 + target_can_click = 0 + gun_mode = 0 +mob/Move() + . = ..() + for(var/obj/item/weapon/gun/G in targeted_by) //Handle moving out of the gunner's view. + var/mob/M = G.loc + if(!(M in view(src))) + //ClearRequest("Aim") + NotTargeted(G) + for(var/obj/item/weapon/gun/G in src) //Handle the gunner loosing sight of their target/s + if(G.target) + for(var/mob/living/M in G.target) + if(M && !(M in view(src))) + //ClearRequest("Aim") + M.NotTargeted(G) +client/verb +//These are called by the on-screen buttons, adjusting what the victim can and cannot do. + AllowTargetMove() + set hidden=1 + spawn(1) target_can_move = !target_can_move + if(!target_can_move) +// winset(usr,"default.target_can_move","is-flat=true;border=sunken") + usr << "Target may now walk." + usr.gun_run_icon = new /obj/screen/gun/run(null) + screen += usr.gun_run_icon + if(usr.gun_move_icon) + usr.gun_move_icon.dir = 1 + usr.gun_move_icon.name = "Disallow Walking" + else +// winset(usr,"default.target_can_move","is-flat=false;border=none") + usr << "Target may no longer move." + target_can_run = 0 + del(usr.gun_run_icon) + if(usr.gun_move_icon) + usr.gun_move_icon.dir = 2 + usr.gun_move_icon.name = "Allow Walking" + for(var/obj/item/weapon/gun/G in usr) + G.lock_time = world.time + 5 + if(G.target) + for(var/mob/living/M in G.target) + if(!target_can_move) + M << "Your character may now walk at the discretion of their targeter." + if(!target_can_run) + M << "\red Your move intent is now set to walk, as your targeter permits it." + M.m_intent = "walk" + if(M.hud_used.move_intent) + M.hud_used.move_intent.icon_state = "walking" + else + M << "\red Your character will now be shot if they move." + AllowTargetRun() + set hidden=1 + spawn(1) target_can_run = !target_can_run + if(!target_can_run) +// winset(usr,"default.target_can_move","is-flat=true;border=sunken") + usr << "Target may now run." + if(usr.gun_run_icon) + usr.gun_run_icon.dir = 1 + usr.gun_run_icon.name = "Disallow Running" + else +// winset(usr,"default.target_can_move","is-flat=false;border=none") + usr << "Target may no longer run." + if(usr.gun_run_icon) + usr.gun_run_icon.dir = 2 + usr.gun_run_icon.name = "Allow Running" + for(var/obj/item/weapon/gun/G in src) + G.lock_time = world.time + 5 + if(G.target) + for(var/mob/living/M in G.target) + if(!target_can_run) + M << "Your character may now run at the discretion of their targeter." + else + M << "\red Your character will now be shot if they run." + AllowTargetClick() + set hidden=1 + spawn(1) target_can_click = !target_can_click + if(!target_can_click) +// winset(usr,"default.target_can_click","is-flat=true;border=sunken") + usr << "Target may now use items." + if(usr.item_use_icon) + usr.item_use_icon.dir = 1 + usr.item_use_icon.name = "Disallow Item Use" + else +// winset(usr,"default.target_can_click","is-flat=false;border=none") + usr << "Target may no longer use items." + if(usr.item_use_icon) + usr.item_use_icon.dir = 2 + usr.item_use_icon.name = "Allow Item Use" + for(var/obj/item/weapon/gun/G in src) + G.lock_time = world.time + 5 + if(G.target) + for(var/mob/living/M in G.target) + if(!target_can_click) + M << "Your character may now use items at the discretion of their targeter." + else + M << "\red Your character will now be shot if they use items." + + ToggleGunMode() + set hidden = 1 + spawn(1) gun_mode = !gun_mode + if(!gun_mode) +// winset(usr,"default.target_can_click","is-flat=true;border=sunken") + usr << "You will now take people captive." + if(usr.gun_setting_icon) + usr.gun_setting_icon.dir = 2 + else +// winset(usr,"default.target_can_click","is-flat=false;border=none") + usr << "You will now shoot where you target." + if(usr.gun_setting_icon) + usr.gun_setting_icon.dir = 1 /obj/item/weapon/gun/proc/isHandgun() - return 1 + return 1 \ No newline at end of file diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 067ef207acd..c78d9729aed 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -57,6 +57,17 @@ L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, blocked) return 1 + proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. + if(!istype(target) || !istype(user)) + return 0 + var/obj/item/projectile/test/in_chamber = new /obj/item/projectile/test(get_step_to(user,target)) //Making the test.... + in_chamber.target = target + in_chamber.flags = flags //Set the flags... + in_chamber.pass_flags = pass_flags //And the pass flags to that of the real projectile... + in_chamber.firer = user + var/output = in_chamber.fired() //Test it! + del(in_chamber) //No need for it anymore + return output //Send it back to the gun! Bump(atom/A as mob|obj|turf|area) if(A == firer) @@ -153,3 +164,61 @@ Bump(M) sleep(1) return + + proc/fired() + spawn while(src) + if((!( current ) || loc == current)) + current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) + del(src) + return + step_towards(src, current) + sleep(1) + if(!bumped) + if(loc == original) + for(var/mob/living/M in original) + if(!(M in permutated)) + Bump(M) + sleep(1) + return + +/obj/item/projectile/test //Used to see if you can hit them. + invisibility = 101 //Nope! Can't see me! + yo = null + xo = null + var/target = null + var/result = 0 //To pass the message back to the gun. + + Bump(atom/A as mob|obj|turf|area) + if(A == firer) + loc = A.loc + return //cannot shoot yourself + if(istype(A, /obj/item/projectile)) + return + if(istype(A, /mob/living)) + result = 2 //We hit someone, return 1! + return + result = 1 + return + + fired() + var/turf/curloc = get_turf(src) + var/turf/targloc = get_turf(target) + if(!curloc || !targloc) + return 0 + yo = targloc.y - curloc.y + xo = targloc.x - curloc.x + target = targloc + while(src) //Loop on through! + if(result) + return (result - 1) + if((!( target ) || loc == target)) + target = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) //Finding the target turf at map edge + step_towards(src, target) + var/mob/living/M = locate() in get_turf(src) + if(istype(M)) //If there is someting living... + return 1 //Return 1 + else + M = locate() in get_step(src,target) + if(istype(M)) + return 1 diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 6040e7107ce165eb46d25052976ca207ac113603..48b8efcafc1bb759133c9f02eff68ace3ed914ad 100644 GIT binary patch literal 158885 zcmdqI=RcfL+cr8FE!vFUXOtijy@#k{kRXI0I)muFMK6QVA`*!nJ$jIc9=#=c7eq^< z3o_cM`*PpU`(gin`+fd^{b8=MENiVf*V&F^ofE60twwQ+`4$KSqR>!BJOP35;Wr-= zBA}%ucAOOiB7g?y8+jvay-=PG?%ob=t{{+qR#BRk+o~`mdgQmE|NO6LGwR&ks4j!t zr$u#v&m5AH-;l>fp`Q0?hhH8A@q(6zzp&GHiI)r=$-M39l zi~UxwD{fRiK4Z<(>mXjD^z=*U0NNZdXaLj-Jt?*tpNx~T!2lGO6w8v zfXc*p-oMe>aK$4*U)H20A*O#Vtp65R|6Q<}Z`gkn;QGXpk^7hfx_c%r@xVW|rHoU% z0I$%6@x86WEB4m@-K4Vc z+9*nNB>ZEn?91sr%8Q3@NWR|_pbzgHdm1#rW=>zzV!0D1YL|Eu zo(fJ{B6Ai_6CQm{R&(00b+Zf@_#$AC;OzB7*ES0*$a<^%EgtoPmcn2%hnU%$&jDmf zEfyD7N(}bT`1F!zjkoAxx`r7kdC78c%)9qLM{oYB>XVt#qHMyZL{3w)Ajy3ODuOE< zhXWKCA6q8|=WW;D3yNM&DcF^vXlJB^W)QwoVS2hRBl-NcX2fvY?qTgxHG&nJowqFZEwcOyxHpqZfBV1JZSAa zC}*#ru&}VYwpLtRQj$|ZfMRoVb7P@VY{9zkCEG^_D4N~%`sdzk4Z%g|%WWx1N$ZW# zypJ34a=71b;aB5HeMXRyCi+mz8-ZE>%4H%o+$Acqc&SBx$=9=yomC*A`jUcJaLb z1Tr%d8Y_EE@Kk~FVwb;$9dFFZvZvRu3c7Z_3uiyXov=R^7Z(Ss!WS+skV{%ENJV{Y z^4@F9%DwPRh^zbu-a~iQkf+;Fkc(D7FwHEQlt#zI#HraXBt*Wfyj(?6+4Oqet?i4M zf~>4;Ve859we{(@uXWpXDJ z9ErOO9-`U%4_F9_)8CJ(NN^bY|MFYyCY?WQ^4_#=(*2XT^!I18%f!gg(3j~F%1p?Y zwTq$j@bxI(;Ky}_1PYA|i}Tm$p?5M%#%AZ!m zI6~$aA&aL)#l^B`zxbJ}{H41@p)Aqg0}DTAQFNG391!mKO&Vc7?Fz1%*>`E#4Clx#q;lGnKYI{TDE01 zD%2FScox2{%5lRKIe%slvd+~8p9coMBL~Em6LM*M$=dZ)q_iSp6+iS zGriV_8_#4bC78244=a(p(w54SRW;tysJxj<>t55s4y_oG7;y5JqFs8uT_E8vD6#1t=jI$d_=OI*+Z332A&6DRo1}^-m|%n;oEB#Y3t^FB zS2m*Y{L|^Bq;R=6v}-?C;f{rBFO8xLL9tX-x8^1<+P(GW@^K`^ZZ^vI2~JlMEHAHv z2eMk3ntZnH<{LZnBw(QG&15f*r1~MWvpE5+w%Ch`y$)e~Y7QhIrXf-+9%Ck%i+(o+ zHjm+G6onU|g?Wzyg@LaM^YWA)J|GkLq%v~waZj8UkM#1gckX0_Wof#q?J2_u!OZeh zp__8+-|tcDY2!8gDHUU_MW`9cXhbS4SXGd7{3MgAGGw)@{IGx%e~yQnI@ndd_Dmt8 z=AqPGYKrsY-Osp$>CmuIToiAOW%!6Q-$P3)a-(XH?w_!YbSiebvHW@g zyWq{h$=rGYM|OVV#cPS`lb`MXuBzsLhw{C>wI&k%BBAsH3NP1HESsRyqe&O@rTNHz z#*aBJtUCmZR#SK{U&qcCbJByWYE%8k5MFVC1>L9Ii!ZLP?90Bd3pl`68Id1;v-c0( zr>fT6ng7aUC|H47;pC7zvocWNyTzFXYjLNbmKN$N3|i zw_KGYrr8unETz-Q@>NGHXWx_MGhOD}l3jd2h%qBe_1n|5*&r0-k7}HfFMqN8cNw!u zVRA>4dJji8Qt6zMfnZgG>cii2MF6fmBdgJO*Vsq>@5Ez;p}*`Ik;N~6mM`M=qs$y%hF6!YtHr~9p{I=A&D zh`9}rX8nH&lKg^;^GMXszv0QO3PpFbECrt*uQV@RempbrK=8fu2Fzy1$5*H~v6&Wj zwUe3K%K&;U$g1S@D+IpqxXoSGMOEQonpzmW{JCe|2p10`q6lQ;h**Mic5<9PCqGBC-xTz%xvNNk@D>cPo^VCQlXhCvxX_k zkG4}iM@|0Jo`Y|iyo!|8x*N`DH8 za&lN7a@l4OKcA_c4G8(O;>|rRs61g2dJAM9(m<}EKwj~gnAy9&{FEX_oqLTy_^*LS zd2>&RNl#5)J>VIyXIj-HKu1NlbKfwB#CU*DZ)+PJ?RNs`Ir+N$aK9y|#Z(7tW5k2i8;)BML#8Qf^2qD-NJP zv95)a{NP6YRiB^c?R)#@KlB;5orYqVF55m{XzTkZCL}}y>R_lq7&J!pa$=2OpNX>a z$EYl&qW%~qm-5v0=qmaS>Cu#JtxP5r&1eks-5YH6N`H zXS12r_Fo+&0xCp0)dP9-lS+HcoD*(bR#uim3=7gJEh~Eh*tqvj+?Te^I1Q>>c}7H< zMyt)|*Yy=q(}OYnwu&AeBKN&FKtbdcfzE9EA`ycz&w@X%MZUSUObUvL%+e|tF)*=d83c@D(V3YAJ z%c>5D!zdoR?57iVD7s^0@nNnPO@OL-73Q3nX-6o0~M zM@TRvd%ie#K@fQ95^E27WY9i5wX(E#+317yNPmf2K8I}hiWIc1Dwx;w1nmba=Fayd zT%8!UuG-^#*hxL^`z7&axsH3+@Bd9rarjHm{YwT88U_31!{@T73O>@;-_2+C`6B%k zI^|5K&)>ZuZ2IHBa|5z4q{Pqz>g_H#8J#NC6qJ4Yx$5FBC&WhnV!uCzDY!hDN+2J% z{GVr8P8f2ZTmLl0T8G&qfr&&EzPx$O)tg{{ZUUaBH8=0ygsqr(U2KwEmK?I*C<(qrZKbgu{M)$V| zH5P_jZN1mU0?U_L9|PM2D%`;C1k~J#W?@*9OBn; zidSmV!Mx38wfjM@e)S~{lwvaWGK=bbQEzrtJWzz6qdQB-gzPAyoC+*XM@`MoxgJt? zzXjlpq=vRDS2Hy3f1EQLp_t!a(_`2(sj%$wt{GVc!{-5Ceg*}RJI_|*g)N~^DO3;4 zdPs_3Hu9}ULePCq{Ido0{(9b_D)vB2nJNgS(ov(+FUTA_C*gTy)?Sh4?sypgOvP$@ zgMmRqc#fl7ym<%7w|JBt%?aNX!xsf6BLeZau|^X&nNtByQ((yzF;H(Y>m=V0ei~z` z{8z}JfCG7EjMaUxtfxXA`%Y2tf6}Q+^m6584_WdUle+MB^`3n z&?L=vDP8bPq4@*h7pII#RhG+9b~n0XMFPNrBBE!$mz?J@Op!=|r4~dCM&ljPY!NJL zX+{NF)MeBDI=3fJ$8WNc+7Z@Qu0NYrW@}J7w1nG9n#zBwWH*^#zJAjhR|>N^yG3>2 z)2h|{k>8iTRWLOvoFWyc*?zb=5qW5`ZdP!Oyj(+dE*^mJN6LwV%Gf(km^_$)ehhdE zpOh@FtICg#8gc&HpPcX%gXMqylA1!Dw%WTl5Bwnq)eOeyrar1&i|pdhxl46EZA;5G z!Q#u}`a3?m0CgDsGnxgry0O7XJjzDMh1J$SPI9}k^27*-9Ox^H%Pqt21xfPXLCaU? zds5=C{Db9@FUYP@f6TspZ(nQ7)6~k&DMJeikpJ_)vd}*->=V`bP9Hc&U3(mtgmz?S@H)+ur)l4?He((g*( zQ&T`y74sDnywTgP9{3{TPz}FFse)!YCQcSU6y>@p3k#+THknO(K_7mYQ;=su8fTBU z`YpD3=|5f*)RmgFTrJ`E(@#f@37RZY$$JlAi&jSHqSM6SXwzC<5?=Pi=s@f@NOlO- zihMJRd!^ApcpQ;PU)QH^)r}c%r~UVjNCW$}9V;ClL~KgFG#+E7YQ37aov{Y6c-PFI z_4R_fI?1w+3o-iZC zS}8t1=I%y#gL400WW~_Yn9wR!^|9;I?je_h!ZuVN9bhCbuL<%7i4`?U3Wbu5gh8w47{WO(FgJ5;bh}Fe zdH8&qL!qF-rF}xAS@+Qq6^cGf5s12;CU4*v#*XcO*`eg0bU(H3l zUHVwpgyxCvimfZ1dwHqD`RyG(FGC9_<+~w4w=)+fva^<-#$?W?y}DJEs+t_=8tYgq z!C`AIwEgGx6-TWE-lrqCR-E0tl$76bA$odm9F_U-m7$RIRXO}svsGK+5`pKk_hXaI zQ|Dooq_H!{kL!ELj*#DTZpr0%8QSOdsD>}qjWes#?MaS3_fO#D$UAg{92%m>gs2al zz?b=)OAM~R!77`nw^S+^V$M6)NZNM)beu`pn%mKmGA&G1E6dBv(DD&`J5*^$_u(n7 zWQNBPW>y^~YF(Foq?-uj$zSa=6fIEiFM+HF`RXh`UVHgqh~ucQx_y1A@U*ZMB#bBD zg`y=TeGBFMpf1J8{s)zwt1wWtM3T!86y3!~&0(UT&xThs=*4|RbOXB!3%M79utUH~ z5t^^ru3lkq|6x~vAv`{DthHS)-VzdvLpS8X9L}G|${e-!{Y#KMYq@knDRyQgIYrDQ zYWA;kMiV|<#tPVx7fHlDmP2HxxUZ=sj4$k`)R5j8-xxuWOXzN;PJ{P^DoL%B*J`KK zUie=ET_&#!*Antb?*w7JSuTfWK3KcYfP+%gD|=o&#j!5d#memLf_V(eDgw(PANT+2&f^d; z(w&PTQ3IG5u~}ETnuB#72mA;w>MUELvw^vq*6AQnd%M_k?;)@hEZEC)vIzKs{r-^M zjI-4MfEu*CzPg-k3svylt#Co9gK}_bQbPV?%&*n`<*F)Mr(c2Ov3XN7zMgCb8UPn>m)?v5hwp5?IiyE`&W&G&U zcV@S|R`7h}y>!rN^_kJ-m|BD9oVeN-(oWK?_-&EfT%#C)pG|aZdQYCxbaHVl1o7Q! zzid4V3Wt!^^#6L%dzM61YIxJWu__UbUF*nr6My zm`7TJaUc*~7YuDx3$^;yTBlJ`Byo%Wyy_TV^&l!|WiLR{Qas_Q!NQ+`6ZK8DS>I#J zdG5&!X4R?jiKNwNoLAuPN*LGCl$s1?cig&IyS|5?$Kv)`D?}- zn(^i|t1wHhPq;aKi530Hq{*Otgq};GWkc59E=ea71&jCfNFl8$=fLg3-FG4IXzv^&q%_q`QMjUf{u{I#xki8v);$ zHuQQxPs}1wu<)vy2;p}a-!BpVYc374!h-1yvR7-vOp^3DX!Xk}0gx<@E!f&SYZ{F? z8%v`SJDcNZwB|-vsYNVqFeGnYDRAt*G8LijoZ(V(JB($YG#sC~nGO-KP;8?v>;HsXS$q~Ia@7ZOs2jXb+G^v5JgLlvn3& z`shKyV6KYVQ0V447ptl&i6CNa>7&avIR&O}gRwQLl@$8siH{~m9ngX{11Wq?ZriPN z$Zkz?8rA2sCLV;^QW>r~A66#)>^~hw&=`%<03JklEpA!r?=29IT#Q{d>3mNx=v~Ki zWrSuX)%Et_nMaS0i)Z?V)Vq=AX)+2%y>Ym-x>dKdUkWc8ue$@bk>~DRM=qKq=~Vd- zXner%TUe`@5b?Dx?MwARHN;uQU;3}dk5B3(`-56`EtEOfQ94=oo?tz8xR$7I9WWNG z+9YRCT{Y=o`WWeW<0pd<`BjED9cs4R#SGXe%{r{L(WWIC2cMJe0flT?+@mSNVGItXsIz`hG_b7E&r{i#= zt%3_dLRpUjeMBegt>qC0Y_62DOJwUWAM_%7KH(tHc|Ag_#Ax!y>4 zC}SQRt7J-!u2iu?Q><|@2g?q|u-&M!?BUUzLSL~(;$+Zlsas!9lEKZE#H$a*m?3QC zYxhYoQIfO6y*X-%6=@LJqc3S9TsHEU_$Z7g95@_F-kP_)!P5no@yMl;OEMQl@+Q4Q z`!{0N1jwIv0_?qzJMHct8Q5xNxO_LUR&^_*YYDS>Bb&mJlFz#(ITHeARSR{giuo88 zHA@5;A{u7xg$fkam*l36$=^KH$?kNf(;4?8`utSKg(JeA7_#DYs7<3(OHjR3jfwpb zu$}kvHYPsyScf?Burkj{ak8v<)$39>IJzp9$oxn@DCEq^sVX+QN40~n_n}jmN=(I9 z9%lb3y(3(nn6&%ooKt?d;e)3+R1dp{dq>w)&NI~0C6=Tj2*cdOzvB;i?G|)+%t3|i z(q$}kV^;2(s`-Bm7Qe48i{E?8q&|dn!TrJXf`6o27sU*L;^FC7;0O2-7EkSP?O;3 zIez?|{(F%95p3kMg+dB$bZcEE7k1OYVrM*4zZlWN7SLZgv7gtt;utAS2+QE-hec8i zy)7DvS&J^GSf!Pl(_#DD9%+J;)tFV_mp6 zNx}%9MKf;7O5hWbNCNBv;F{o?9HJ9bT2-X1ZtFUx{{f+ScAbgf|Mdy&-enf&8j5{@}{rJ-9@qnBt&XMT@)$15Yy4;MYRwJGZ$FWu~G3m;Kj(!h4C@E{&5 zJi+2^FuszUXpLds{Um<)jf<%?Z;C;!xnepY=ouT&mQ_rvKjkj&`@rtZjCLR_F@*c= zqc+9;{qfu}!I;RT;DGt4>h(_#xx&P)zRoSngjL(FvdrgQZB7(N0tz@LxPt7|(MQ|+ z1(9|AqkNZ$1ix*buMNdFNQ`FNO~O1au&QqbE=Y@$V}nXDD@brjDe2e8+^=IdPG#6h z@}Q16z7JkMbH}sP#$4tdJIqvSBl;3md_C2=fY(@rD3nc#l7>8=$pZa@m--vRJ29hA zrw`5bI(FG+J4TE$@7U>N4B?GHvuVx!pIU(CuHichoN1WhVQS)JO~mv1kiy*@v$MQ8 zg`%>uhh~i~0J=)AtVm0WyLEn4X?nqCd%SHT0;5xC9lsiJ>j={KXKT2kXI>H|KCBeK z`Y&voKk7=Ssv^i~%&yV>6jEt(=_=Y&URKuHl@rKjA6k(H{B1Xh4hv1%wYX6*&Q>^q zG7;iKgS{f=v@1Q246Kx9Jy+{+{i@W$wk8lmQr%_J8*LzvzpYkl^6=rq!o@H!6NFcJ zKY%gn4}XiT;O6$Vy+8lLSXG8gp~cGUE9c-#(bPi*rj0EoH5(JL{=30R-)VjHWWqR4$&+-syT_udKM?W#V`48*$6(J?_YL%g3)IyUwf-q= zEV7JfZbs!8vUfgGqrwNpIfmuu%j~~}aV~YH5LzN@ zo%tKv411ywx;tiGCKpFvP*IVxsj3WuD<~`_+pD{{xTt$|B`POZvsaSVcn*i@^5F{; zo4dW3)FqQ0xr2OAJAeK=+jk101CDNBwAUk*$igw2TEJ@UnYy-u$>M@2+C&LaI)$!O zepl{m1$nKa_6`K)V58fTc|@5hy+&v|yLkITDPGW!{E+Q@{-aV->+Z_O(2bvO z#aJTfAN*^E;g23;*ZmZ1{I7oXZ6nzg%%#Tf00%P(6fW^G&^we=O-?-?Nu%~&;JK}m*ovOBdwbT>H#RyN7SMKZ-|tv_D@N{R zg4qcXo78os=U`^>i-QQy!5pZWbFsY8V>JaBQ?swCkNL!zn9t$!H7*oRaD_3H%!Kr! zMHGU!Jof7OD48B7tG&5JX@Nz0Qo@~xkfO&51d6?TTli2&s5rQ7H!k5$@}}XivweYu zj2KMsT`^f7C~Qycx`ldcePoYam=pOgAIJD=LMs2nzI)M)vV?g~9W%`bQsqY z*Ao@hAUI*Al4ZeOUBuf633$xF1+^axoVOo_X@>}n8l zrp*0&{cVTeHEZkeiOF;od7cnLSv16OUG}}&gVXKH?Vz@&cb`i#-pnQ|-}ZBjYeD9@ z;nO=3`$v?xd&(3+(Hx)DZ_e)>;f|Q--sj-&!GWiETk(}@0^UP0XDf~nEy4cLGS%7yS+GlMZCs+PYUsE@7h;D5qv?T>^ycEQ%tggC|VR}O=Dcn2E`gq5rImZ}yn zqa#Hw*T*bXmq-UU+Pn|p=Efm9iT)t_OybpC`NeByroB)$j6dl93;6Kn4Et`>odE(I z3?%*n{#Civoc?op8SR)2Z7EN;G4N$^%lc1;3|baFb3B$Wy`cz!EOA&?-qZLLzpu7C z<52ghARRFB`l}B3!zF;l@lQFa6pn;MUsaCmh2YrS`D&q%`lIZy!#`WHTD8fq0LGCQ z*kzWrNU>VSxO3rKF=;!t>^2dX8dE*-3woXFP{Zobq8 z18{uLc%?}f`#{==KVRHeDCF~*wk7hK_-9~2h+T5P3>DZ@Y3n(CDQTJZ=C8Q$lB#>R z5Dy^zgr!yYp3vxLj{^%Lc`KH8j^lq$M6Hi{tFEOE5bZRjq#hGN?lwPP#Pf6?kqlOu z6M;&hj4oY5NXx8ADXck((<}_{z|W(k!0IBNO{2u_aLSbGx`e?;KY;>x`x~}Ck`_rw z7Bs>{mX<_F2JxXT+mUq_J3}^7A{(K;+bn+q82?1iR_^^?_aiIk=@!Ix)Ho{Jq*49Q z0rM!fAT0%noQLpq#|A!Q#)FK;W*$i=0vynqm+;z18o@n2x8|YS!NtM_IW;XrH~v(J z?Lo;)%nQ4RLN@oR@a_i7aB8oG*=Uv?sLCu}8?!<6_F%Zzc!;;e*2tXo&`I{)KQQR8 z^9#LqTn+5%2`EY4?)njVY==lD&FVbFVl9$O0$)W&SZV&}aCoCpwT)t2)Vf`hRm81i zTzzPG{|9@i@{z<5Mp{A!PORI>k|EPO6jcvkDSA0E+e9MbtP&DUZ*_L3r3ybF0T`Nn zCig?1HF}_)VG2O8U-WV^6LPH@wvL&9J}mLw@_GZkzy;#!X5b~%j`vW#=+nA+CwXZ* zO-z%>@L-HH5PP4L&c(Ui5@Q_+vjQyY*_t_kuruZ5` zH3vR43RnGDK@;mvGqSjr)WigkGTTT<<&`zV$_NT!Yg}u%t zNoaIZ@l#jvk95NAAS)>i(% z4Hco#G^z-AL^54?Raha8y*70-IVGUA4BwI_$0Rn_yLf=;J7`R85Vjrzz>O07g{0!$VQz;~bR zA}xHu%5|;eopemUq-~Wu8JJZ1?{nBFlW_Wq*eVj;#27A>`hyj*@sRpfb_-jCx!nU= zilet54kyGog+8;#0fD7!YX<0tn)yn(xt>0`ROE%GI1|&_67o}T8!yhGRLq+2p$RGq zx~4omES3fW!e@?(5ZmAfAMQQ&Ls-z;-OY-dbx|JFmp+321p9)O`Z=8M9P0q*U@UnZ zlnZRpqA=sj=(COTN=H%vr=A_XNRrKUTR5$s8X@!0N1t&Fs@@>4j1De2*)QwT~--g zuk442V{RsbX{stVkghmS-O~nYknnl9Q(E=7EW<2m@~3>qgTRM=>7#yjU=oP4GWii3 zGakVPKq#G2CWhf1YGDkPw6QfOnFMv&1A{WVqA=F~`WX%yWymhUgpXn?HL{U>`p3HX zCX*idQ8wVffmP7sv#XZgmJ&BY!&$9de&s(2) z13>+bPEKlT>+5cKSt1;!D$QDM?^Es9eQP|mf4(r!&zkRv^`Zt_3AvE>Gk}mxtj<&R zLC_ACyD@v_>Qv>(0=Wwgm(o(axHxaWXOheka}P^dNuNWtBDZ6X})?UCbF-$?Z=p-Z(P8-vlC;!)Gh6-H*k{k z(Zn!>HEROKhO-Hi5Q*0clZ%%)=MtghSPc6UyWu=lFAp`d>FrRL2jGqK)rA2IE6X3Q zbd0vp!xf@@E6j8d!gCnjW%)+eeKiZLG#mNk>C>W*h$q5)tOg<7cUx>JH!|HWzS8{% zjx63fKQF3GqjF0pIHPB_;63|ODK2eG83bgKs2d~!0#cuPX&~|E1_9N%c4fXfG;h8= zlPR7tu?jqT!aJ-1+0B0an!2=6N9hLo`mGQl=mUT!%&B4%o>f9mpycVDZ)fMXw+G&v zxg^?LR^8qX<#~3Ewz-UaeMB1Z3QWhzbpx0?eQvZ;2?AcZZ=-nA5aG@y3cqPkYM^9- z{0Cf{#*mZTG(bM8+{^{E&D`iW(16~)fkXd)8Ag{8rFonQCrJ<5?;w7tp+WlQiy-zv ze@M!udH0@T^H8PFvnC9*#asx0hEHtdM0-QX!Ys&$mb7HrL{3g~0zu*+X@cdJYk#8L z$WROFFvQB2RT=6iY(2=Ha1@;TqwOk9%Jm9eO z(~??1Koh@<5>Rtjc4s0;|LM~^w{PFR{u9bix}SdQYT=iK;j$R{b5Ism!R=`8*IGWo zTt*V&TIQ59WNGNCh^`&Kxyr3M0*c7ed-{|xeOq)Xa!2jQo|0+p{DN_65x*ddl&g(v zjmNKEcrZwFnhUj~+dGR&sOe)ukzEdOUY`{t)Wk5MuuP~nyM)UKkz==nnjEr$HnHBn zb_s7qdPBZ3HjjkvxB=ZS){VLu1A#8YRxbwI_zqfhz`(ZxE}Zbya}Ou8cY+p=A3uJM z>P^tSrmx)_&^}#S1mNW8=qOy^9|uB_o$0Z6tPk!915+pY!h+GoI9pt$p0~CzdNCVK&jW(DWwb&nvY+ zweBkid0=bytXJH{#=tom%gC>)M(gvmLm_LS+5Y4z?auC8UX<;G*OIQjtMmZPzrghw z4-?h<_ygW6moS^qYf&FulctTDA}EV!l*Hn-L*zB?#c4iFZiay5cjW#BL}V-lmqduK zOLK4#ah>%%s!uHBYeO_S3G}4j8DyPz@WugT!vg=Y)TU|HD)@#G6PAVVPTful^0`_E zs4_;v6*KXc=4jq@N42jQ-DJB{PWA|vS*nF-PvIum zAc6N>XU!1mLb6c!;D4ISGYL-r%W6nQevW2D*_{rOj{LGD8OA$+Tgu(XQzv*u37@*o z%7oUGBX^oss*?ViOV~s)CGk6{YuToM{su{}&{<-ZlCE9^g zAFrDUkdh#f)XuZ_FZXe6q%CH_6(GJaVsM|mvf|B6?xAQ7Y$I-F)>b7ejfDyRj*^i_J8Xv z`fwtZ{h544Vj_j)o^-CvoA}hly9g-MryVlC&fSQ?Gz@j9tCvD9NnSJ5sZx{vZyFi9 zfBOv&Y0?5_e}e?Vda%45)Y-%{#5sK3$zm=4B3qhvW|EIl1L-wajs$Z z^X(S0+`C?LXC*NRiAj;qB-D%|ly_L^P`yUAvFJ2bIv~FN-{toM;^eolD>}a8JQ3FpL|4|`10$lv;4gQ6JZz#2%WhkB&v#qnTqLqDm)?(yfL2K zxTgr7k~!FuLVZ`M z1moA^T1n91m+#s}?2&m7kQo}Yry8W-S~)QOXWPS^^oRrePqu+WI;kCE$|HyGqE_qP z&55$+j#88JS9XkW|7!qh6AAp8;#te~?1}MKpq{IDGhdI(;UirF_`ioG|Jjh}17T4- z*Q$a437PNy<64;^imp=Rs2zn%H-5Zu&mFlZcwnkV!U(5OkUWaRx73{`-=03Yec$vw zY#e`CiGN1>jvBudTUhh$*@-P3 zqo9hOY3k4YzKG3NIKb3>2Heq{M4pNWvBkJLGXd+xn27djQxBs`X<~9A>s~H)IUz*W zBcjf$G}QwJ8X6dm+Oh34;I^ic=>HN)F5Dv3q!3*lGpb$fG>VO)JO;zNHfaH?lycCRC(jDJZ~fSeR4WbNOanEGj1EmN+z$KN%!_9vOF~dX#xzP zvmk26ymvM@p~ga_m)$bqk{Gokb@eBt*C;)-F-F8!3bm7Zbz~vdd-X=-Shja|j|r6| z+{=zic(4_E6?pxR5w+uS{f`f|qtrX=c4_=jP6#+%!vuD_w}HKbo}3wvsxzU1-^PQZ#ENdzLDSTdl^!pQ`a>R#%V$kNwdx^NU5o& zxK>R;`se=Vl^@^QuFu;G~cKTiUSRH;IQorjoAg`#tr-WnO@9HEI)EA z>aO(GN1F3P4Lv{oJ)Somw_q+f^S=DEH4x20NQ+le(@ zU~~T-!?7#Z&+*nQS2{iAaNVPr+P}CS%Aa0mA?t_D{x-o^Mq@dVoN7k{QR%ElMmyCZ z4hh>6N2%pPWMh1jxkRd}s=6#h0AeyV1^d+O6N0`+xwuRJ#Wje+JrD!LGXd7chN*0eHVR|fDzw3YRShF5$1{|&+-hDKI<6dfGqFXvDa=Q_r>?wKbvrm-9w z_fM}|ZE@0CQATu4tMdK3EO9t?N}BpxexQ&Mz7#$(R)KW^e)!nucoN&!ec$`?SCXnq zdCDg?^XLptS~|MC552H2B{kDN%4?C;5u5$dvl3k8kJh4DKKdPAw4x_QlV9m5pzH=? zHVX|x3xXdPTM&8bTqHJ~nmRAzVjq^8y1RSA?3g-8L7^MZTK{Uea6(cUPBAufOIs?cDiR~ zqa```4ZNKS+yII$W3cQ|3DF|V1u_(|t3FLN)qc?IQd3i#sY8)Ooz4 zGay2_`TK6eO7!-@Z<=`F&401}|6*0QtQGzU(~z#5xn?Fwu8&LZ&yk>q`ln}J>W@mg z&&j$sk4f4GY%^fZq|C14S;~3PgT&A~P^MQmnVg_+YbkGz5t@$w$}Z5mE3TD^#&bl- zSNgd;nlB>5aK&wsi|Ose;$cs-{d>c9773|n(XBsp_Anv4jk7)}J1wBfgp>ImZ{EAR z5Bb{&?y4pRNOf!VTlYH0mf3T$`0{3FOr6|*&&>OwjKxJ9w&iqT#;CL|jU`rGxbD_@ zlteri-g->g?BWv5nZ3ToJ|u2#_qY1X$dG&;@x~cVSYx+72&lHe)Y#CI55-*LtZ6&` z+GCtM*U=3r*c-4fYQ@C?bl}7IGk$yzT}iq7&`CTQQnRhf`m+2d4?D}2w8#8H<4Utn z?K&W-*xqEwl_^R-%(KFbAzfYxf~bJprN$2fgL-fz~@T+vJOI1bmUKJyNVa zQm(D~y3Sy`C39NmUeum=6r~jI(u5lQ&_7!^z@S>_c6=!l<$UR0)Rc|%Ep`6!A2-l< z7s&$#0dld{WP<#kM9&o{d~}_dcRid7Cm^1?Y8|vhF4@19tbbMMCa#fg(*K@YvrgXZ zdNzyuC0x(|_(!qcd@b(oXdC^Sz$k@`O}nu!M{r@KypZyTZ#d8#_lJ*0x-T_SO=eOb zun27S)wk~aaJSv=J9lo#6K3AUhv&zYg7Ktv;(iKZ@!Bm=D(1uBnVIYg?Oor40uheZ zEa-Os`^0yLzf3HSof|$K{qm7q&_T00k|9j%vf>RlAkql@q#1! zV=}Pe!YbZe6YI|Bs!a3+B-fYS&PR=>T)i_mk+~TJ+08P1-!pg!GQxGdH7kPdwjyz% zRV96&)~}~Nwbrp?bblPl5LM~YyOC_9(wj^t(Gy06U@fID7U z3tdr&^F=5emSx6~<^_c|xCE?=O%T$Q;8C~srzMTj%s!i%QE}FfM)|sPVae9_%G4EF zj~+#8B9nX5(9sXBtCW!3)CfH*A5R$rV^$l)LUf*VKc<#pkd}!c%$~QJYn1_O*I{{; z`ed@?r=YLT*KT|}{;Z62S)RG?d2_O+^&FR{(=$lvica7+i9FnM>CTO~SGLLxIQz#u z-Of=H{~3bCDZ0Z=xnZ+`F_G9Z*jh&FhO<QJ~@08KcyNcA2(I>)$&Wr{d5TD zlL{8%I*#znm+?dXpyUz9?QH8M9G-*h!5^mQ@(Rf~6xKyJIOvHG)i)|BE9^ZSi7g3Lk;feR_DJtoxvq)k3 z_@BwItT}GwXS1a$2vO9q3s}=4+zb}}32!6pcQU5lX_8nG>J?bl+C@}({Tf>wjK1N{ z2Q#UL-#jL#kd6NvNB2iqFUkItCVqb@W4#NijuijQPEiP3I$rg2;| z`HDK6jvWPveQ7(pv7#{%u%#$|KEnzL9iD^Rf_s-pZLBc@IAdr^hOA`CYXQ_;O85Ve_axWUNqVL{TV2gDFXqO2`zKF=;YSm7!D=ibf>!lyrqm z6;~9cqKS}98JiK2k~C=ez0T|YJ3etDBYL8vr8a%uy03B4%qdsQ95U_l(TG zf8*U{^Y!|7&M~$VpIVLlrYkhlq@-?ZO_Rc(8lU*EvGbdVsLsb_)8;gmt3^-Je0%D7 zw>OcI|K|tG`;XkJuF~aB=q`aERGrTE{S&I(EZ3o-e!pXuRFS1qp|_Oplh;ixf6r?E zTP@D@zQYBfqh@C9yr&e=JVno~Ec4X~m2Hl*#!d}Jwp>0x&VE2)*!BMpWVE2C&W=`1 z{o?f1e?L5Q^jdM?nAqm)CTZ(hJ=5B(CyiWSa&^wNyWjG4mPB4lvuia-Yy0l?OX^>J z^LwBFze=C~ThHxX{3k;$cH_XSb1oU#&dRy9qu1>=+n|Ot-xh}_>m*jKUvFt{-tp$T zH@mp`AbQGvRZle2+WTs4vJ)muShZn;m6MbDnQfnx-@D}uknnr^cCn0_asOV%jRURr ztA^n&DsQYUuPlh(>(xAR$<4F;{OiQEitg_2HTk}6eU93D4SRKMX^5EZJ@TVy*PcCH zv=?3P=QtidK;ADnwrF7C-^glg1zWdXs725VGO7?MzRfTam1<_O7 zz9$wsHP*;^eoM%4ZEtOmlvuoY@mVdYeX5g!YYm#^(Q zrzPRXKyT@b*txk69(0iKG*Ue^VN;ipBS(s>LX?~hTuUUHe}4~|qPD$n!v_zw-o1Sq zPR*Dxqp>1l*3*#*{fa!xd$_DzIeAXszKV*M3)6VDKMg-}4i1?f?~u_^H#=SF{@S?I zJv^$IxcJ&|)3wyx=ZAOkX)2Di4BZAL$HHI9wns9NMxH^a{R zdm`56K|7lAmZ=XK)M4$bD;fW+eqM7=TBqdIl8u(rr%SUa5)Q4+^;%k5rfb#=?`xUC ztsh})uO)X;9A#(9E`I&`^=abT1^p*^F&@&r^3~OTudXcG-M!CH2QKhX8oQ=1w}lj3 zT{6Dnpl-|dWALlj|Nqf)I&f+yZo4;JBO_%Id617+L z-o_nu{dBWyE||1-pL=0u7E@-r4(Sp;O&^aQ8@FC%@scG8+y89s+qbWT#EynL#ih@t z>sZ>__EzcFPtQ49#xBXV!?Nx5@_Tv?2qiR$)gG~WL7@&X;BhWDG2 zzMMZvAo_KX)OD}0ZfR>s%OT#w!^3x;ndI%1dtlI-@>ngYF1=J`Ea&L1dOA?FP?St| z7(ILTjB8~=2wpp{FEJt(fBz`nKjK!-C?a$dgMRi-JXsa;uY15>PTYt@Uad9cRk#9Vi zF3-62Z~YbRJv&5b&axt;3sSv3BIWLUR1kT>x3y}S-s)$A2M--umRM+ipIdTVnJP|c zEDNbDN}VY3U+mlqPWfjhDUDerd+^}Fn$ITf$|6zyuKo~m>Qw)f`d3Q~ynbns+GhXt zR{*Q(RFNCL@VZO)hYuf0NKD=%lR>cWny~4UpWYtJ5QS2XWmZ$&XSbgfQ+--$bHo8F z@~RpsPDiSDgVpx!lUUNHLwt_gmks=i;Vx!o7y0UDn!A ztSPDfr|ZJo#!G#Zo85M_#vPmJQIX_UuItn2`gcrB2MOc$mQCy4{?mQar$-srm*?rO zd7&lZvc18#eQ#vzx0PBtIynUSoTW>{#6p}l++yBP{Q;oUz2eiSGIERMh7F^-^z0wV z{ZsS;qj>paM%(mB(RY5_4IyVayt}zR_u)fxYMZ{kzOHYZ&ne^WDossI5FZx}ReSa-^**iMo1Nkn#TS@PD? zrrqNs_)izH+DDgeRX($$dG+S6FS;K-d^m|Kl4^uRb!@_>p=3iza>4SvBc)uNbYC2h zjNM(MHx}RZY%JaDM*R?v%~G88TKQP%K7~pgT2{NC#EWd5@#7UAJa|BXyD;VioKA;^j-nr)SNS#&76<{rdHqmb(1QR-3t2$a>bS9J18Y z*twd&zQ0qH5M@>T4@5$TP)AbFrGlktJ0^|WSQP5--|3Xmw%*(=Wwv3%wKcMg=I;I+ z>8qNRmDTv``7Axx5>xJ4(%^{%R48uyJ$`fbd*wH8-iVX3wfcQfN{Uhaq`1Y2Qpw55 zJTcGBA*+0IocS?PvNa=pc6E^KQgZcHkvX|poUy49 zL(S&&B?V}ZcfA{`EzQh2^zPl;wWZPR*VmWQzAfcydRxBE8$4u)W8J66$Befd+WWR{ z@l3TRVh8Ey^z#1wErT#Sz>P93Ek1Tz-z;C4xJI5dy*I4icqhcp*Z-{ULoV;hzC3zl zlhRP+U0E2XX6R8Jdj9;-mZp4PD=ys-M=4azMD_Xk85;ld)V1#@NzWx0u46zCyqI-! z{X5;Q-xkUYFzl;yw^99TRh0Ca!g>x_awUw#)k@H?be*EJF?)J-T zdnJk!L9}Y!x=d-E6hGE%kcNgNkuGABUze~vPod@41(U4Ipgy&qPHrqC`Xo!Fr$@5K zBNkk<02}b!doX%L-M+0tJSB$S=U$O}w(6nM+-L(b!X>w#o<_O(`8k*4?goQ?dxP1tkB?p{ z>ia1ZUv3=gF&Px$_4`}wj(xniC>nrT&rio!9yokBAaB$i8RnaZp0_zJ3SJq|UCG$T zK-6G%iQHZiHonMo&K$WtJ^Jk-_C)D=ow9B8wCU3mHh-~oS+T;26S2l1jnyk$>M;O# zBFeM~y^jwMiwzgBfY39Y(--{g1K6VmS#W1dX|3mhg9mqs1Hr8N-d<|ip!rZi8qS_I z{XSE~@$IeOgZab$T+ZhSz!v*05X^}ASJGh_FRO0tX!RPaUz^=;qXQ4&`T4Ym?xs&R zJkz=4VW#f;pay%yBm>?QIII|14<1q&+Z*oRK6PLkyAzR6T(5>NDrk1UnAK7{Hs1zsZH z=(e9O{S7yF1He?iPS60BSz2}$_q5rkdWma^Bx-cpf9kASv&NiHqmb4L#CxlF$3y{= zVNua=1uhk|;!J`qF?Lw}`u3(zKtMp{^9#Lxe|xi=tq?i)>eZ{F#y*d1^H*!Fobvki zmJ#E)B<4YcrZZXFlf0+5_LX)@TXU6&D`nX?Ch5=WzclB)++SA}Ieyb8Ys)!L?|5vi zzvjc$CjyDjp+=JFWK_m_wI;C!=coukYR`9=7koyi~B-S)c^YSv}AO|s{|I(r! z7&CV4*rbYs)5XJUFTLIOR*}~TK{`c_lvW&-36$B-ZC{s`_7+SBh!=k9R4C6Spa7A> zS?|iFM}9|+C|seSY}>YN&F)B06Z;}~E{Vj--Ce(}cE7L4ffwWAVDpn^&z-xQ<9wEi zp)`6$=$fy9%9%5>0gV1XeB1vt0-7G1C*jYLH6$o352 zI>@7&<(%1IEKr^X077svF7GL+^^Esvau>%pHn#hnt>10Kwg?_(bG&1=(mpkled5-Z z2bz(YACE5EC+LAln2;5>Z?E-4()EQ>A7C(-e-6#~2;e*E~PP6Q(K<% zGV|s7cQ>Ozr~)zH-0&e-Ao|Jz$+)yOLlGX2xiXD|rZsY8R@CIZ0!sEb@|0b)XpxA_ z8cIdU&aSE=k=uKJA1kygksCf9SrYI5ahkZrNW3RMUkf@G)Isn#@^**D-fj!7*#-3+ zU|1r~?W$F#ydFuZ_Th-Qvr$nU1UMzjbM-=$mXuYf(oRA74o)8>_`&Q&i-OqIXm;pQ zP{mR^iiw$=IEPo3rKyVIyCM0bg0@|ftm^)*>`g#U`J6imV(A361+p)w3lwk~xFPmg zWX2CacI-9V-No_4?Ja_>+RmLTo}&bqZ|3Z*A*3|mpWx-tSshmb`@Ls**qWk)V0Mc9 z3;%bNq1fWd91A!Hd{7T!PuaY*O(XbRN%H42f<1$JU8x@eii$!i)FL#g%|D6;z`y^6 z55TMM?`~=6{Aj2EZV0}9~l`L*ZQx2`E1_~&o;aK@@|XC zA1{e*SygG(?G>+lv;OEzpIXqtf6pF$U0uKEXpNaOXBzo59w;es7~H#iVq)UA4|f(^ z`5d?Oj+Lvc?#d^p2I=XA3%*=frL3wt)X)$V(C=^CVUfOV6G+pQ^eKo&+xj=3E8~YrqtX!3n zl5+9Nl?p-u6z;fweOOwW$?n~|4Gaw8x7DpkNlnc%g+-W%3*c;HT~IHaKJF;b?$OfP zs;4C5@9#hG@U+-#*M@3p?qwb21`G(ZP>(u)e$T#rJ^3e1g=uYB-ak^OfES~pqWl8_ z^z`)1pbKqnZAnQ<4!TO2HS#Jd(-tjKPEAd{IB&Sb&X>M~NUn>%y1Kfch?6HzwmCVj zN9??Zr1`v*ZFM|-ri1QmTU+zZoB#34G?dywSfSai^X2`Emy*fX{ zW~j5L=dq_xXaBQ!BwLx8lT%(+W{$k)=;(N5$*p}T9|#fs*R5NZLGyE|LM($h^v)pBib+g?^)UQkv4tD(VJSLxW;wF*|za$I{%;+}42 zcWQQ`jg8H~qj|$djk1cdt<6$g#zywT%6h1XfS@m`+=iI^$al2 z5NhJ(m-FV$lT}t8=5^6FHuv#kvVG?;EA~OM%kG_^rwzq-!y+Tqyi!%83v#JWi*9co zW_Y@1bV15iG8>A0XCb9T z?r0uHwI>$t-MiPwV`rmDNtv?B3xkdxIU+SRx?q({{nwXTeWkp-ygDXFQgBp&{{JU?o-R^_*EK0!;CEMhh>{m`(v*3+kp ziXUS;6=njUqu7hW6cQp$VaO^hR6IOw$cxb;weHxl1L@=h$rd#*lk#A~0D9{n4Y{+}xrrUk>Rkt#J0`n$E{ZPnfXCROfSkjqdQn!CcH-_wCJSlE{6O&;xlN7cN@lxP18#gDEK1k4{a9KnZMV zX%Pz}DJf}TX&F^m^#<-v&D^|YOO$PFO>M2*)A{TVtnL1*S4X(AM9;vWTe?6hCm(xm z+ct=-a`mcw%`+-HYx)@ygKRJ;+**hhXU?4IKf&Fff>c&kR#R8kr&9&;X@&a)iKR=I zS`Y3mx(sU)CAhgvYV`)P#K2*H{`@Kb{CSF%RTq1EdtP?M;}e#vR%tmqI~z=#cmvLd z94Z04QXf3nAF)~A$mkJ|qO77)26Jls^Jlc4-p+`K2&H43+T4jhQYN!+NI8TS@MOxo zd4~o*-aw^SR8;IgU_j?cSb67E`}Turb^jy%Z=7i@E7@(}ynzxud-lxC$^ys*WjLhg zM~^CU@Sv1IlXY}-_KWTL`t>1cL{3f) zW_$y9O75qI2n|z!VjjiT*0$#N@9Z~klp`MaU%ouz*2ZEh_3)aS(#e0@#wO(sA3of( zrlf;FQL`eAm!l7|$F@tBOkcS0*uc0~FJ7FTe|ea;b_EcLXXSHt&b$yE9W5z=S)VF& z`t)hBPvO={p0(;5Hf(@K?-z`te}98*KL>N}#32F7mVNwaX<^aHq^(hd?eEm7)4*_R z-QzYQe{S433ypg5)gy%alT#Bk0uNBUjCQmfgB5T>b(Lgx_4-MiZ8kjZxoPX>&7%5T zu}l7`sQ;3^m+2yD(o!QycT7kFYuAPptl~L4`+;cVVYe_aE6@m4=l$(1Atz2~UznQs zUtR!}`BxVYDY+qlT}6dIN%qyNSDxP9Jkb7m!?Ows!sFw0c}3qp?~0GSa^KafBOzff2n8asAWR_54{4+oH6MZ-apZ`Vy}c@73AjGuQM_F- z$l@OVwfDx2(L@zdf6YF1xb-Dc`Mp`65kWGuv-eb2Z(zrsu1R#dnBY_Vc*STgd5wvW zKY*mW|I{S!BQIXeGrRJ#s{WswH=V!+`}g;AjiWO3(A3l<^+~W_ z^wDH{_r6zpfA6wh10%Le%<^h2Y>j;19Ov2YyJmF(f#9%wd4Pp_hJ&ta)vJ*wPM##; z*(JH|1Ov@HV>E2f0oFrSMdcv`;3BAE%$P$@p3K}iKF>v;zn;pGy?ghrl1vvq4$^;t zibiqg)&$p0n<&=hiqB>M6kfkpBK5w0^ClcPIrBm}VB6Evv!uLy@`445T=Z{~%4wpG=GqevSk%t90kYnub`W#1|+|L2%t)MV;ekmm29C?`i zSdgwUYSbw6NgW-CS@Wn87#)Y9{M)zC!-wSwHOiR)6VzCFdHI&F3(^4GcO6_@ENWz5 ztQmV$XIXZB{{FjnjYYeXdgtcu?t~)u>-X=nZ{Hr#36{_rHEO7q7MEVkR2XHKo0-`O zC>fQI5dJamXnA@0Zo5&6v-yF3H9vngXZ5?8m^hZ`2aJhk)sDK8#qsn*DGl9ZWL%2x zZojfHVV4kYslq+`8wj8aa=@KyZf@QwNWuQ+ENz#k5Tz4DC_-Jb`^Vq|FT6ZG;q>>( zPG~#7e*K!gY*{{>ZR+&t_lt^DgDeC`gM_T)TFBS0UptIZiM@PToCUB3a`Oz3V_As!9eAA6n9AoRqDc-z!3;+zi zEKAno1FfRxT)bsxXP4yLZp`E4esrhwTac~YlTX3lPn&DHsx1TwAvLswL=jF@4JeLqafbaMlH=JEvWtS{jf}U`X zB|sI?oG{@yh||q+=+L23P8S2ZDS@l4qJ?TM%niWJGsfG4?M7X=dNmA42k)VMq5;-A zZZov!GgRWU&%cmkiF((M59QIZe9cUeM2F9rGY6O{ppmt8w<-JjN5#eMCmVI?(na*t zy7lOhwQ5XnC8b>IyMS^=MyJr>(PgJjn^wl6^80E?$BsTj4o{n-)fbV064BK3Ir2en zuEXZdeHScPplamlN4}w1Rz_n$1SYKXERZ%Y&$;@2vZt3=GiEX!-Er1JNQ16ch?*qe+wJ#v7Yy(}D-4YRDM? zIS`%)^_T0@XYz^_Lv3T{H9Cu2gp*n$;z82(KjV6-8p-M}hINfm>47)cF4aqZ{P^)8 zCFOqoqQR?VE$BvfY3Xw0UDA?$is#O0F=cc$$*of6D^YU?4H`uMI4~??-tdn!ku^A& z%wkfjaXwgBSzTY5uS%uLrksefIeNt-ng+X2RmjRoTdEWQn>?;w=Hf+*21Pu`bbSu5 zW2KP4;2BS!Ki?e^5~76Ek{WXB)_7LL!onhcW3h2t&0Z7PzI`pI2k6D5ez@3#t>2UY zJiNqVuq*WHfc0QesAOf+3CYf}Z(spbmje+I_i49?!!Z0XM0KEns#Jiv%sz%ED9uX5 z9(|HUbO?I~`Cq#>ipCHe_xLwS&u9NlbAKE5yX`W82nT zn5GYxa!csixij#vVAYs~OO|Yc@evccDq#fY?0NGnC=sC5XbuJ;Mn;;z#gOTBk(0c$ zX#-kA3vi_V3pmK0KI3I7nmQKnWHO%`U)b3(I8gehP+8jzGZCUUD-OWk?v0=3mbG@L>Q! zi^8xV&ORnKHi%A+)Y@MO3Ge|U|FPb)XUmG_Q;aQTFFja(gy?i-Wm&F!pq+0xZrl+* zySJQN2J*n76i+=a7XM6N3`tyX{o66`-@i}t_@PROuNtF5N#-VOgK^`=l`U$g2@BcY zL{HYq$qC`?WBGoQp@3otB~?fi0%{o8L*Src!yIu5y-)Q%N-Zax^3ck*HUAn0ul9Tp z2_0BheD^d*KdLR+xBaePptkN~;x*iQF!>YydjCF!rcqW+Enl>#)+Cw-=#LrWU$Clz ziep~jqZZ&Q?vgr7 z4fx80_yoRg;nq>H$JiyTqG?2hg@?C?aeBiJ9GBzJratd7U8 zZ2|!dd_QVH|NaN2#q4_SxO0?`j}J{O)XJT?xz?aoL@;!N-Jp{r+KcX8U2;n>3}6hJ z*Ru~FX28Et#$nhA09I~^8RVYnJ zuCryPDYS9K6ny;Yrq^b4RiopcwX3sq(vDU`v<3P2195RW>;N<%0ilKBx$vJ=;eN{6 zv#lV$MDqDdmx7ZweRgtomP`jFl5$9{oD4X%Cd`lDQH!WuSDT|Y+R$+L;O7eYp$I9u z^sL#IVO%Za>eD1)3bVxm<`rf*6&MQ|=0q00? zI*vVF!AI&Hw^45xVqloP&s`TrOZoTz9pq{aZGQ} z7-$>Ymm-a;i41qJ(AB6JGtT6RuOP)Nw+*m<^#7CoS-Vq%m%@H=2JIw zrjbHcZQOX_=FKCV5*?=sx#j-`J$Qw{EdP`4o z)O6fB(BwK*YsA-*gq!@S_ar7t%kV^%>n~ypw-SgnbKg*R<#Qom(aTj7^r+RLA6lt=|^KDCG z`F=7pxd?*cRQ2krlWAaBnEcR{Lbis7rnI;HL0kr%WMbe_Qc^n0avz?Sbz}0aG6Z^A~Zxs4bob%*KPn44PA3kKQnWV38yKplv zDvB($P`v+quhM&+*|9mp51WVC&YL$_`*P{WcL`x(J)oPs1^5@NP!`sN$U0b4Q!Ej? zK*tx%7mtzSh|V%J*%3n{g2>f!s;Wbq>VczfYe2w2kcdpeK1e(RQE{@+MAD_5>W5$C{WkaluSkv556`Thja6WTAVWDFhd zRQvqgTwym5r5T1Khfa?kMXp@w>NvqWdoTa`N&+&Pqtz-Q>NIo|3#9 zt|^6*k@Sy;{`~14zHiB*MN>h6f=pWaf@<*4sL#tUEJVsxc$k-W94Q@sBE%X}wA5b( zNR1Tj^A|4$^5ei^IDVfurj&b*uUJalbs&9pUEKpwQG+OOLaAAC<2c+D1>BqWqn1NH z0uR~6&I_J@`6I{;&}*J_<%G@9Z{NR%KX5^q{5Rk8olre@XAE=*0~D#6?9e_mvY?=V zEKD|EXPrFGB6YQ``jVOQ|n!iU; z?2i^m#C1KeAf>IUZPtd?1u5+ZGc8Vc9v;7Ng^6#Qox^uFRBES;V0Y0_N;|S_oxdzDxzE z78Mm?90){|4L^AB9ucu9-k}4@m_r12e2k(nG-7Jf24l|}Kav!s4H3t{(D2#&_crLF z5F7I@Sh*Il1@M$(HbZBgGB6{ZKY8-x;>$HGu#KZ*sm=>+P#lpYOM1pp@bt@OdI;`6 ziYAftL@J{th_T2WB!%)dlQKf`=MmM9=5gY{YtM^|_d|FNSTA-6BBMF_eS+3Dc7KBi8WMZrdMHq7!c2%E`&;>X(sWCR|B(?o33)2n_5-S+sn@il3ulg&u_X`sK$D zd>8)5jw!h*-=7})75RA~FW)<;6IBR+v&^S9AiiXONJw;AS|p8x1n-6or8Axt7Uocq zW^45o;ysL7L3^PeeKcfIA=$iU^zUHwj>>8y@RN5bD?Z!0Fgv^Jr;^xNUncM|) z@xp8^(b>bWM@$Me3u;0+G6qWsxE9R5&^~ z_@Sciiq)-;F~?&BAK<1Ps<`Zd#JA?SKPJib%WB(ZWo9xa zuw)8RR~WZU6GBcrn>pOD^FK0PGj`rI0=CO;vxOdaZr|>xGcr-l*e92QUrYNSyox3h zdWW?Sf-AN(dxs|0WV44y`PZ-0s8fhU>3Mmb2SUzZwW4202%^lrPjcH$4(kIu<`1L- z$`lp#2i}w=MRTUZ?WGZ`W`Q5b@1o(g`uTZUsW$7^UmZBskgA0q1d)gBck0}^w6anw zNkierC{|Da9xAmB#s|{sAoLqDML`?{IUx$F^8SuTuK;t=Nhk0aQR&#RqX4a~t*r83;%fO4#9i{i%oRbL-8=*hZqA^D3JEYLjY5oezoOb83{ zo4+NA35OL(1s=mAtHsy`*~V5ZYj0Kr7~=et_IL~)r}us_HntQ`OgeCd{f{bG=&yXjV$h@RiLhR{z|6b>)TwG9)0o>F*`B*88yG(b4 zrlw9J=LZFKM+87H<_inSLP7-<>anr0y=M+hje}>-JV9Zgx#08r%}SckH1R`dX4Cjm z@0GJ|oOE3}a%9A@W4ZM7K`muua|D0D*#z(3+QNt9qVMSJd>@;7Wv$7SlyC$qDL`*esIY@etr^^4PfZt zi4#wv+#z@FLSmrZik#EUcJ-PymkxAY?D~U>1`^hkNf4SV+SD@N*0H2>p%Z`lWCdlX z5eyjtnb6^#e06>u9s2I>k@JQxM;d_sppPVPs~d{>SRLU2$06|nw$n@wT*RNj)zgSEdAt7AcPidfw_mNCTJGGl_G`(uxB(cU-fcfp)x8uVK zz!gWKKo%0iRah8yG?sS#h$Rc z`T3uDK6?B;QtfpPnF*};_N_kZM(;j-(3ofoaSdD^P!)9Qi0M!id~_z*MDdP4BQcK3 z?z_OO)S!U_P1CoLfm&LB_-Zz^t5*|#&!bK?jz>Lr_OECOpqVUl;6Ov`OZY6m2{<(GQ z2A10^SFirBc1=Om7QY$~koyp0<1;v=L^J%&x)tlz+2l&UTr(E`OIqvqjoN$}t7r0R zI$@=A2M3E;0{XRBW1hZxB^q*cP|t#PL~{g>2+}!+S$H-{ z_7r)*B7%CUu2rtWnY+1^i2PLDAEs;#OF{1H~_dBdT7W^sk1 z$BY?#s5hEnMMGM9s?uy~IbSo~S9CWisi+74ep4Bsj^EeGan8^Pw~Aaj;tUOd5?zOj z3*X-i+IQd_@p}taRet&6_~ls)_(iY62&hA%3l0gvYhxN$IM>cjyCMZAXDKs?qlJ43 zsU7PNP!CMn`(y~5nfzS@c75%8_5tF@KtUnxsOwW_&Kx>u&`yGpciM){JyXK@&3S%4*iK=}lqui> zCQeosrEDY5Vy?)nSwvZ6_h?^I(-0vpUb@t~`i8<5TmEopM0es+7%ckrgA5C^4ihC$ ztLk6Bdsl}phQCHk;2Hrd8Th9i)4=T5|d1Adgp z8uz+#3UvPs|Auyl8C(Cm6G>>3ZfIWD))y{|IDL8s13|+3!`zaQ*RMbzZALYwM<;T* zXuk=phTj_|1F|Labr>Q{TiMxG9GeN7D`h#ED06ixuasoCSDG z`b?AU)vFhYjVHL?{^zD*!o)mLrS-D zYAasR019SyEFQ!PClJcm!qyRer3?)XJzE;}SP>uQT7=4kFh#TV0ie#m?=L|=?Nd*% z0ASj5aNw|!BSqO49L+(>XQ!Ag2ihNF{{k8`3sIMTZj zG&8!eitz2dArWMakhk^QYctT|rS`mmZ?OVHeJ!R;dH($QeO8vdkwKG;S)E%Xr_mJJ zbJ5Y3?{@~I_<-x_0+Y4u(sm3`R6Ke#{zX-X3i-J9+wBoc+U0+wO&Dahz|KwpQEDP( zs_gssFq@$o`12q&Vm5~M&2c^FE`(M2EZ^onFaoTK=WJs!CYfJ;DGVU1R}Z6sE@-xz z+Ww0fH{I->4m@5{Bp1-XhZ%vz<)Op24?%h$a?Z2%ZuS z(9!qS-}SFvzQkS>2+}e~E*Y4c`-B02danNPd)q?jGg0tJ!>`-OkbkOJI4Id1# zmk2Yt#V8vxoXAeYhfmX*gTxR1xmRC@*}p4=1$6lna|b{o89dJ-2=Ku78Nm>yxVZeC zn}eK35pQm8?nXud3uErVbJ8gtkR=369EhKN+dlhdj+TaI@l!PL9Q2QS(*F<&ra+2g z#>_J)B8I|Go}7-EsYG&Wj4igzfR%zYfj{V32lj7h#{YijEzUx&A@nRS>s5K z6=woi2EhQ00^__3n`8O%X6n8lnG?bydc4|-O?!`<8W_WI2I!NFw=Qwc0i#uVKl zRbwA(UtbgO_UB{!qb?EMaZrpT1o%3 zcT2F9l%%y)rHRJl<@r~|pw=#nH?LpkG8!@Pg$kwB>Ank=D4fcO{Xg#h*@t5k$DPI7 zYn{Kwn~qlqX~XaZ77(Kh!gkCYSive`iS4CkoQblE1D8}t7fQWr4)zYAi|E+fz`9`z z!m~x?$C1OKf&2uXwZN_HVM-HLz`N78z?=u{d_SSkZFgOIE5+z~|%CdRV~ z_%M5RI(i&HRLJtF_OsyKAbI?QKdY9tt3(%Aqgw(loGO{8Q^Jv~Ze7b_v6^D4W99{C zA0NRcpd?oOq##{jW-NUeq-gChs(KRAQM#!&viy>bsrCPNpT$H)K4$cB8@pup0OS{1 zYAk^xb7W$2zAL^m+5Y`)7#Koqd~|Yruj4jWbj}2sA(|L%q8jjMyG|El2EY$1QWzcp z64TC@aH1{*h3^g*hJ6)=|x5X6pB zp4w1^`+8yKuyYQSIn;&_c4yu4FAl!t9`TyFb1L&=oc|Csg=g{8lxUCVfb*-Ipt6Txh6-=uKD$4E*6z! z%(siL&bK~~It8&8WLk_$I=S9h=SFWj*}GvByNGS<+1s~b3JhdV%AhnqWQ=iJ-Q)4X zt;j*{`y`ou22c8oFLA*Rjb=qgB(*@R>75+}^U_`0L$}`j8*2#~nt%dU)xqU@uac?% z2bMIvPrgm5DB9kz^i|w4(cQat?Hcgk4c{|qSByvr7DNP{IH4kR1H_ydThg@!XAhZ6 zjBD@C@Ux0G8-BQV-@b#NEf2HOU|RtEeNVY~(3fvkgZs z)>EIE)_#O2A%;0Pa5GMh3zEM*#Nf%#MQL>6;iWWoqhewL=wQ&!KxNH*`BEOye&tF{ z0;glU$@b6NxfqZrn$ehigliAg$7s?dY^K7WPjjk| zvho9}2StVAb@z~4TclU!x^d5eQkIqhNynt6rSVr7c|;qhXr%N zBSyDP*bML;;AvZqXGYkx&_JSO-%_d&%$>9Z&mm%ALo^Xzr}>(oRu0kCm8D+_t^`N* zt`T(w`4^@Ng(vjj7vX#C&}lG6bCmg7UU~jbIHfgVj zrK!%y`*$d&7PP-WtTJ#{Vk{z}56~Gxg(vwwRRq-I47D-8E!}PZ31RPBW*V{dzwLdK z*In7LYE__c9edU~!QTPC!e>CD36ab*_iyp-ab5e20=m+@caCJ|vW6pLle4ydaM10x ze7EH&Z^TqY5K?}Ii$0Wh8kQ|m@u$-sMRGGwW40xs5@r71Tp{DaHb7cIpQSvBUdkjd z3xX{sCI%&^4?QtFFHM!v`vdpw6FFad+1*nJ5#jyZe^t&&_&rKXOWcBlfOQ@1p4=o{ zTy)UE6K;4vIdnug`i-z$qbcPG(1dPAeMSRmW4c~yL<84LkltT2^^T1gi%$ge)&aho z=mQ$JH9DKwZFY4{r#lWeWneX5I0Jkdbq!C?bh+Dte@o%60&sHh`Nitrg=LM-C>rR{ zNs|UpV!`vvb~Fv4&WLLq*!;V#zn73Eg~JGmhZlVQ=8bRw3&L`B{&TK1!Dz@o-<6i& z+r9&8jodA)@ax{_<9G}T3@qVxB4IrG^ekpN2clzRdsDw7A+N6wtAgo7&E{g1hrl!t z(j8rukp26o;EksM(hKoF?7epF<=L`B=y0M#aWX4`$XLqI9mLRSLiqJ#d+Kp2@{RY> z@3w?^Z(P1Srltht+B~{|aZ@e#ecJC5+7+d)*BlfVEKske#q{PpczBG*&qVa>s$vXmLdh&zvuNmJ&tj5k)no>~p1K zxFY||$ia7rZR+}lqLisyw~m9vU%-WpH4JWzTPud-ixNkp0E4R#7d#e(9IPP2p)d#5 zjNyH8vv%v%OW4#fBt(*HIPqH1UkR?`DEe`VVYnt zl%u0?ez8K~EXt;kED)UNmvKwaUTjq4Q<`^Wq+ZkjH$uZ~_CE{5CK?(ZJay_3A1K^0 zv?IV-q~azpmJre4&5*v3&`9VF{m5WKq2E#RlsnE4{#i1UXB1-d4eJv2>2N}s&o)2O z$`OPHh>NzO3u>4Gmb#mXVF}e5_q4BX+5x#;tsItcPMN=NvBW)aBZLrjLM1 zfiy7L8Yn(!LUd61x)fQ{>1UpjS-1qoBZ=OuPUC2i*KzhDj1ednr%dT_L7Iq=lI3l- z;0g?Z`11}#MhaIoe5ah$LR((6*}$>D_LVpwC0I|#aVIBm`w^;2f@gQ(ipIwYIG55a z1Q7uL<9P&JgD9wCaKzKI@qb~APgiek7A_N(v+UW`OPADXXHjq4&0p3qhj>_QBAzE< zXA}(QP)G393Rl+yU=YdZR~|bDI^d#{#SZ zgm8fK13Z`c#(zSosAfyoZ`g1i`Q+R=bs&$JC3x^)YGo94zmdz8GH4%6a4Yi$D1{m>=pddL*UwJ|plnayvL!Kn z(~q}_A#{!OB*#l!MUa=kTg~thD8ZsF_vo@6!%UsQ7fEXJ!^FIbZ1nastgXs?;GBZ_;^omNfGdXzzlZzOq=sYHop+gi#I;~q5 z${1x(|NgkNcI+@l$>}?>n!Ob9@dys81o?7UzkUWHHhKv*Jr)?_7@UrwAp!-|G8d;I z`mV*4`>;tQql1SI{n{83N5vOS93&rZ1Q>)c$L=E2HqlCiDfx9PBJq@C+eMso!&8l# z==rmvyMV=G$Nm*KN*cD%qlf%I@4wTP~~ler;~Qozrfzqt%4F=)^}d zS|VKHTxhf_CT7U_^XKt)qsgN&2pbg@)3FCyR_3#32eC_#Rne;lj~l0e`c|+F`zCg` zPAremSf!-sNS&cDy67vTpO}AJnOmjXZSr;>ABK%Su}}2w(3JMT$2V`@+->bf z42s;pQ^Ls?N0;J(lus__FU5xmv)jgvpE3U;JBywr(ibY*u@fhry?T|6^n{9c4h%=- z%Fxo&K0y1?QuPrYA-KF;uG?Y0Oc3Cz3V084~{f_3L8>nzWNdFN`TBy0x+@F*H6%U)aW+{G(s4fu7<{2*BOO zZF)0+6>9#Ly7xFCXko z*L#;QST@K!O7`q6CP4%^#ms3KN#(~!uU-9;bQnOv6>|mKwk1C;z?Vy_XE(JO`_u}8 z6J9*a&9tOY=YQm0-)!I31%Zw>t_VxWWEr4XW~TgOlr6$(7c=FK3{Qp;ofzC~a8DEj zxrJLMd#7+))!9or%kJ8+tA58?rw{HeR;;bK{f{plijMh;<1qO-CAiVEMp~m|DWZvu z$2~z|LJG65>C2G{!cfmAVPX+K4zdZ_w{IvG-P1Ft@Wo@fZ46PJrFB3XnQpf*M+>hL z77|VnBU8fhKq(Zn=lDrPxuM9io>-J=wm+sI&WWAJU;*m38P}(v{Rma|@nfu@NBq1d zQKjft3JfDguh-+CfoGVnTX#h%iU}J=v;?>0l3nDCVACW5if6!yFo-#mtMfCeQ>e&2)z$j~0y?AJ%U*59#@Ai?Dr6LI7P4dbv)kMu3ZKOE$Kgkh zr6VB*iYOaG9z&yMDk1|H6)Bz~gvSxH5aYu9YG7>XmoLMv-1kbgx09TFmT{Al3r%sl zx&ih%sbYqP^`y?fSd(b_T{ucP@IXoK0xKa^3YC`5&~+{;#s)d+)Mx-WEusiyFjOFn z_e1pb=4|dHv(wk4^;aJ{E~4j#a{_r7yRwi{w*T46aQhI?!6;c-_wP>*mB+2YIG#9j z=#HXMg)k_@?Dx1xrZY1su43V104!h+JYu5$@TzoTgbC%-r%%{LaU#TCy5t0W7mjj{ zru$ZgvMYzHJbCc`eSf_0IFArPD2WX3PUH3xgu}tq8{#9jb8g&HKi~TDSxeiOH8i&8 z#I>xS8=qe4l=h)c(2D2`fMVuU2RxkJG@OB}J? ztdC8Lxd#ZVt#uP-0_-w6*>WIVEF(KPO*=K1bJt`9k|}YzeYI++U{JD7#ToD4p8~X@ z6NphMROeH5qNdO#0VIef3eh0w6GkXh!sRGOVm9~7mj`5ng!p*ucRi4+V6%EumuoVZ zlks%K#&_uvm~l;6UY?P;!6XmQqHuJmhPiyVHFncMe?LA&4*F3 zf&RT{;fTv+&EJ)9$BCuX`j13UkgW~%uDVeH=KYjOZ#F$a=c4*?QGzU!ng;2)FRy6FcZhB?@nAf8igS|6=9W(e+Ksnp*1Pe3`H7 zZt8Lz7J+CakvY8v6@+%G`D;a;rMJbr1GRBVjIA3sXS`7c?iJnsGeHdJIDYC>r*vAO z-xl`>O5*dOz8!@og2zwDDJWIKc# z6A7zYnu}m&N}9OVR&Sr+A416NDD8@DiLg|YBHuHAy~$ZSz?-S=V#rkFlN0I%psM6f#|kKCAiU`B``^vJwbr~UOx8aOAxXJH~*ErT(ImT zZdchW2cfQroyj}}wTJVoqcb~KtP z0Fr0+j!@CQTVp3#8^<@nuFVtnI-zWV<2u{f#1+>4DQ;Kwy!-l&SN$c~cj$R@i~ zTXLqVDfje*h|5MC9L_F`LNEgY)IS?DTXv~VP&Fd!1d`{*f3op zuEP*1NZgfL(|^*sfxo`gd(o;QmCNPmwxkXENvN0?EPllSY$e=h^{Q147@b51&NH(|@eT4mWrnLd zB7J^#$1OaZWmBI4Gq{@4`um*(`9zMvbuOhfhkk+76n41X&vBS@hdRQ)Jl8r8@d4-f zwvUGwApN^g$ppJUHPK@qK(PCd24ergqem5hPwdtS$e6-i3{RlZ2&e5JeJL)^chtA0 zm6u!?Po(OU<2YcnSt#ka&lvU)O=UFyK0F1@#m2hGc5SJ<+=ay-iyLL|c#G>^!LZo7 z6&J2FeYBTx_nn{boENhtk>k^Yup2jVMO+j2Qx4v`kew5rRQxow+Q4`?brB1*>I=VY z7OqW9TtbO1eP;r9qiA7+4JlsFHJK^Do=u1JI^bz(EA|_(kK23Tt!&vYVF2JvimRVt z;JLosEe$UfWC8+Pk-k$B!P%3y3=E+7I(7>Ir-i{*g}Nzdgo3*iWQD)-ar%c zAZY>T2WLav>OeP6D%5d2LkQy1Vc{rD+Vpu}?hM_&I!w4Qegh*A<}xmn3<1%US5@VS zJ1D@b8~ntTi6AY8_r&C?7z-giwS3g^EydRSG0wMj1ePhva0EVU;*gXN3K`AyCuAVZ zR!%$GnAi-_`okR*NL@J`GI3{9e*UZjhN&qjg4nD1)N~MrC+=l0$2K;ISsc_@8dqH6 za7tpQ^4sP;zdbMvfmQ((*by)x*v{p9giE%xxS<4-M^IUYQ}kHjt`sV44(<7 zXKJ>zaHE<8AUb2;(P=TX?%ct<|GALjZypY6$tBx^KJ7>45nWI;{XUqwxPgW1>`08H z4|R*#K-d;`4F~qI{l?9K7&U;>w4~(Dst|_^LJsa^vBxEiHxSs*=*gb`k~}p&ml+sM z31cdTxEW1*XRo< zkQwMA-T03QnmX6Velu-81a>iMc&6Q=y9a(^`B-v>2vQn$Bz}xHBQsa+nc#u%T-X<~ z-{<8`e}9N+Pp*JqWZDmVNp2N4Lik__1Ee^vSdq=@!~gytrp`OA=lyTvNzpi{M7DhG z9Xa+YMKVtu#~vZ!An7iGqYi@qs$Q9&x>>J$M5`e-{*Iz z@Avb0zhC3JuGjUVA;us$nWL0ea06c?2Hz|go+t-!$qeOy)R8p#a=1{KVgwPjELEfA z)n4!BpMI^*?(SV$k{|fW^n{3jyHA6w|0fAvArp2Qdu*c=>1e0+Sztyj#m%d}lGwZ)+#)Vvgj8yR!_t{b4fa@yY41}mHg z4{88bNbbjzA%){>y@?_T2{879^#(qr2ae4spBh4C2v$OaOSI7R1Z|B*_V|Q^!;>_| zY;;)8sRyemSEWkX@|7@~kSzu+Ak!!FDMF`w4EWM>{u}(XD;W`@(zIlgfVl(!mn*-WRj;qnv@Tv zuWvHGTU4ErXBetSpX>HR4Y{uXQ%R#7>~PMg3KJ=#;3<>G4GY913C%`|PX8|AQH(QTB==4Z5KxU&A?Sjv2zpHSb{;rzO>g6h!)21DCK(+}B*d55 zy)S4^WHp@u1I}q$zG4N)#NRBl=)Ju!*(e5+6#^U{fnrHUjBo-K0bn!s>BH;=A}Ly6 znMS;NwZu6_>seGyz(eHO$ijpmWfS%pXH^ZbaFlsrU6^?8-P=BF2KR?s6^Gh}R9FfP z35a#I zl1rMKGYi~fjz0y4X-6dlL(B0=fu`bS7>%RH2?RsNfu9kCIY9Ze={}TBiR&e1<|=rO z*>&T&xHXJ?C=h$L-8SE(M^V!$bgAOQ5V6xknp)g+=+nXET#4eBolS-V{j)(sgv-tiB)QTa&I@=g_pNMi@D_Q_vu)9%2n2ZY&9`qw{4qqHp+nfhP6EOTk=xZSDWYQOiWOyPKxgXp$JZXZULT%c z?Qk;_OUVPAp)yX+fHa($koais5dwG}OjGYi3^@??LxC=+E>~mhPlS~7FUK$;W!$g7 z)@a+d5^5>QNU<0p=xb06*4n!CuepYbS053vYt*V`Q?X(Sp4TWDd;TXv!t6f$fIRhx_#DgU?YS zWksEXgft5E(Qtf#*Lpk7F}US;V$ua0&zCuhH8}S}ZX3wx=RBV96s!oRRxyU~JWQ2J zC&ZUQSd9Bq1bwy9($GAJUKoKImkyKG*0q|V7i#%oPErr~<8ejch5ABSUrEBY+nH1pRSrW8brY4omQl5XD~wEqopu)*HuKX@MCT7z}c)1G=0 zo%a}Ei_;Gg4c1(6aMa(#VFW6v=;#M$Yq5oPHYwY1=Xxt=VVNJ}qm7{Qb{M*vJhxvGgtv{<#tFDSjh+5R2+B02-} za7O5vLMtDOnFHDvGQ4T0CpWOT5JK6?_d!VSQx%7b>reyeu^sM2Z&EZQb%#Vm#YTv25yJ~Rs;lq4xxW8q{`_6Wdxob#Z}A@ z?KKd-Mwe>HY0Gr0av1_<^neWqSMKv}(zjbSZ0pxERA~v!-%2eE`5(g@nCr%q++IuUt9e%QAy{0nMixdYfs-gzZA#~BA&6_rLT9==lvH(G_ z0c-_hUh~O4XqHJX^b!2CZQHg)3P6Z;O)T8qx^JJX2V_>WvOzZde*gac%@WRuB_G&b zkQoRyAe~v>8ZbJfA%s0ZJReh}`2+J+86Q|Lft zoW?p+ljm2O2LW8oy-yumEf+h=t~u2@f4%^;M+65!UkNq`c_d&vd2;xO5pywc<28aU z<*{ujbm}K&v=`D1LcSNbdg;oUnmeeuEkuYNq*F+ExTb4P?gEV2BuiR}P z&;JZwuEk%=HM;~i$WbHwCZ9i#M^`tZ6@7x7X6Vq~0JilRHjF`dODXEm%Yo*SCi!XL zmAvI-92^-@d&pQ|4Wf*gZfZ|Ns;G9W;u$o2+O%?LSq2P14OxY*hgV)ZaR}8!+WGSf z>A`@6st;{2b?Q`2Fc(+Xsc}n?CA(G62@=etX~z^c1J)fKQc5BES?)elFbdEVJ*I&%Zs3ZqTaL^a+SmK+=T^ zz(q)!JkXctNq;418NIz~D$JRVzP~k|U=(_NC*^m>(y<2yO7)Lr1r!>a55hoZ(rwl_ zjwuNYKbk2*wlm^U1D9C`fXFzU7VA*;+w67`i-zun5sHI z@CZG>((KeVYB2vzRWz5Lp2i$4DzT=ky9ZU}^Qtl=nlg8GA7o9UL8`qG%#IXf(hpO_ z>_ynvpg{v~M9}<5KAINoHQD;(`EH||mS+%(P)8xd2zW9+$(%tD_|&3=%hZY6u<4gJ zdE`i;Yz%+kWh{7_TtpawupA!J>z5remm)cGp~u|XFGa5-nd z9%mNu30F_lVRlpesEg?7sh+7dUsF!qfBEun;2fy2i5i7(|@s&OrMHD1~&M z3zEjPJ40(lHlfWh8AHO)`Q4%IE9zcFQuq?DB+6@z?Jiqp2)zA6zY~TZF7oap%_vU0l_elL*(A#cH&Gxo|; zhMcxrb(#f4pc7AtDpV5TWyboOw{KexT0}>>tAD3Dy-^Xw^@+aE(c< zR0O_Ucn-E1^%NwF%SNlVTkpPm|K5`bO{tjp%Du+Lk>RD7bGX$_s#OcMp|J1! zieB&VJ29o0BKJv7#JQ&grqX>49OgLbUR$y^;3KRB1cqz3jKq%O78s{e@yZLu_%V3R z-HR7X9Uk0hZ)@3LO_)#|k%IW9tAsPM0n}lTo9B zQ1+~*6h&nuH!N8x5(WXsxCrz5?HJAPLxV)K*_q~ny2IJed-%_gWLa=-6qY@`yta71 zY|q?<4EWjnHgv|*ns5Lz=%FoPj0&4v8Ei9PBX!1j*u$L2+?x-rA;H0Iz zCb!Ce1q?)%-TZY5*ELov_>LY>@B}-z+id`gQ5{LgPxD4;q(M^Yv2mb+pYGUt{(vZ_ z7he3oQ_FzT57! zq1~7xAo-A7D-3_NU8ktZn60(L&f$v8*`-8qMk%j-X#IF<@W7vX#5G7zur5#n);~7nxr?8upgA z>f0veSpWlsWFPnlUVsUoch%apeb^?+WJ|~>g3!P7viz9j&lBeCF6Yvta80@L((`sM zTysFnfSA*uXi0ABHGX_It{-e48*o>VU(`Z3Na$W`Q+#~y^RXpLZOkt2J9TQYL~;rI zt4!sYdjYy3FNqFe40hEfYVSyDY)zCAfPH;!fIB!wfGVY38@FjQXx%v|7MeOuTd;V5 ztA%W21k8v3>oc{f<VP*I0%m@`uK8N(Rgf74_(` z$gK0S@5YE!jG)8QkvI~~$@x|`HqJPE&9Q&=o1b4+R@NNO0em?1k}ujrGBMKJ+MFB6 z8Olf;T}~w>%_U`tMu7cis3(@b6mpNOM4Y_nF zpBBL941pA@($YARPrXpKY+3SbH2Jh}ZI1)67yD1ZUbvKoT=ev?b z=!9xEYSh!#wBxAyKJ$T>(@x+^^iX+^dA!fVg05!G)8&QseB3DR*N7*$v z<#2_o|9}lKacIU1BtdB65WPyvW>o967CFIoL#+;1laCZbeVo=vkUg_mbH2L;(Eh+Y z0z{2q0!%BIO*%_v_;tustqs?Rz)6vkjzG%C03o2>jp>B(QrQoG4c#+_Q^Z8@ zYiRKe%+pFd9njuz04q)G~=N24sa0Y;6D}H-^T{Z;xMoGk3H;>UOpd{QbF3@)c zUwcd?QiCZzq6b@*&ww2I;6t%*VoIqAtA5tH5$F&s3|x=Ix)|_R@a0GV&d`9zVy#G0 zLrRp|X%$=gI&YFQ99M~LHpr!{-gsfv-HX&E@l@&*j%^w&7qz}IlyB$MNQVx2bV6D5g=K_6>X#d519@rW;%#ZF^9Sj zpq(3G_px-b?7n0d`UmGP!*F;25+T9mn2x5EFzQVgsL9UOt#yF7T9Arb+?qGD{J?C^ z=|g_L;EvdK+j`dtiZ8X{VmkG%EDXT|FZr8MN(&_85tyl)DVEiU@FWkIlC0Q_;^pTCQsPv zng+MQ73Cat?LQ7cgl%!2Xr8z+M~)ofF+C;?gMx(&nE(_bCoFDu3LOOq6c3t+_kf_p zscrJ11%g~cI{w_8V}|Nty?>iJl^c*kp69Gl)2SSJ@j^KuFcBfTAH5@zDci@NFbY9J z5W*ePBnu&k_LbEY^B8!<`Vx^XQ$OF_1^$$to4gq2Ukd4nX3vQX42xm;VPj>bNnP$& z@-e7ajsWWqs2)Hi54&RB8|tsY5G4f$gfaH5S%O?RDA~Ay&?mz9~ zg8B1N&2{`X@!N6AlzrZ124KHV{6zy0^x>XE(dN^F2~5a&So-AL)`T*OLp_B}ag4d7 zSriarAJ8?}d2YkU74#zs`DgiZeBvaf{oS7h(r)t}=snS( z3jrgnd|7MM1YiqLkuhRkzRRwDmNuTqSXpFN@Xzljc;q48Z?qE)8+l47KqJA%Xpv`s zd}s&!!s|5FCIyb1t~HmzdOs^!9m&|!bF=0qmODYE>(7!}L%1vifB;Zy(0H@X}a2QW0ceI1Lb@wU!X7`Q?On zvCEN|MX1oegysXOc_f;}i~=}`B+b-_hS#|HfD@Xu1^3b}q8-1$%vG5Snd(WvIP2lV!mth`7mUz zgKI@fMwqh&RWia(M$$O6_>EZxJ68+)La^pd+4jA_@W5-j?r44k_o)YKTZ1nB?Bj9iK4iS$C|EMzrNuea|E7(07-8W559Q=;`hrab7nf4u<(%Q z2=4xErNcwt^u@~=WR+E(qhp^t8K9noWNXve*m6T~u3EPahzOfK=E}3#rh)1g7ng3_ zVaN!pHw6fN#Gtr^03s&a{D?o2$}QAa!6z~!c8|4c^^wjKg^`YQLIVDka!#jY0OCyH z>ucbd9`jrGc>TII%D@f~#Sw&>Sy;%s0qH9GUhOX6XUhV z!H4*VXiq&G%!xdk7!j8307sm>?fId+wRN>iHwhOAN7vw5FH#QRlDm&qB^zpD_Uz;F zTN%q7-2WdEgzK*#sUo#eixa{C1zoj#Yi!QE>AnDFNESYqo^TGyAPFh&@D^#>)P@2G z#U9e@8cmv5bIhlP&d+R(r6vzsyFI|+)!|EfOT^U*0LGj6nY5*@AYh~x#5Ha<& zx_oZGvBN`TiNaac(vyHMHv-JVqn&SxAmsE9OdQZ3&FuzLug<<<&16wqCZt1%+G7>kXBuQN2n}D z3o{wi7swQ_8+0#pS`Hs|?#UnbN5e9J^AhCH!*r(cqB-Pw@Y4_~8>n_ACWo!&f>I+_ z!}jldeMAE$<`>Y`Q0w!S=VJ2jJ%Te8x?nH(AU!CT*ZlkPCD{(b&(bfff>S3_GjYSB zD8a!JO;DH`=MBaUpY#N+X$JBfc)O5^cW84i_6P=35D&;j7}6bs-z3gH2}%3Op>+vx zF)YyHz^d`XLD8kSPA8|h!H=QWHxBP}qg4yL3e zJPvse#S-Lu0?sp<+}AMh!hA|)wsMr@nLS(*P*9zj6NnH|3r)*&ZODAqnXjmR1E-Fq zJ)${u{5xQR6KneL8tF)}$fM=6#ADnB)+DzAc6@8E2RbepG`@JDO|67Gj?*FRw|E{J zIzkm?5=^>9g-szq3S)g^6jfZ(+?FURxat(Mgg(X>t%H*{24L4>Gb0G;!fTm8{<~2E zD-h7L*oM!L3}7=rABvyUTrf(3hfTa37B;0O)FZ&1UONWJc}66TpyBEE1N-i{M&Br& zKyD}MZ5qs*-)a`d4w}xsbGVPK5B*p|#n$+Fkf`O_*+Qy|o2)hj`N51|Rvr93b(0Jw zk+GdKK@q5RV7IOJv}@aTAv|pEon5S3{Tq_DBc(f%RAve*BP|4mvAQswMN5~&&-3>v z;YflZ*I#m+;WE=QGph=;Sho%&p3b6k$RnunS|%H*kHFF~%Wd>5{lwG`Tvh;CVR#J7 z@C*nQdIp%ek+#pGEn%YsyX``Er}NikS@b`Ok=2764O@#f1k6hAds3ymbvd*x;o*R8 zC9`)ZEV09WotYg<$$7rhqi1fMm_?Ys%19y-Me=j{9HOyU+PcpEutMySGHlwRfn(X=~@Ym zJcl!F+?|b&TG-abfdSwJ7S)p}YuY@sh-FkA44|lc_;LJofw@fIv6Caj%w`6611aAK zw(b}l&hya0)F`((|Hc>BF>Feu%Y~)-HvIY&mAP@$Uo6sXpPyBffFzE3vj-B-Fw!Bn ze_i`o6_8`_-9NH{OX@cQ84L^a#}OI7JSv$h?LBd#m!$LW zX0-qEwvXUOc5E`p83S8QTm|D+wNFxFm|cK(ojO*hCwBU4FJ|Jj>W#hzyjcJEm*pRh zeC^sJ9O90Q?h#K3Z+Rbxr+Wc~vyv(+0dkwvv;uN1e@p48)Pw#9 zSQ-+#ZNS$`koVFzLEZ4}%q~;6uO@1P-$}uOLUi{-WFrvGT6ylDn^fGedr-ZC+`uM! zkj%dVvLRLopX}YQ-^z^xn5vV015konZ`g2$=&bZvsgl-!>RuA*knu-GM_(jA!|73w zNf9HkRhEJgOuVy;2<;t z3~oaSt96%5@v*DGc47oVqXbWZFy$L_4GI{&r*kQ|@?=QhW|~k0rFbQ+Fl!KbW~j-! zADcH{20DW1f7SK?$9I#qeEl->S#-|xJtv0l=(i&{>jm@)GbG5tApUH{r}7UXM26TG za6br03_{WWedF|5>I9RGKw&9JtML>lB`Uz`z=iqG&;!Kp->)6hQ0~+p)tXjBir58_ z5&jRg=>S=MGOX~^F9|0i10!mrUnRx_E&0eJC83O%II$-nGJH3wOZCvfg9o2ns^Kyj z#aG5y_aVy(P2>qFjSYRDGJZwHD;rI2w?6mf%X0W@GH_Y@9cZpEU6RxaBm;*KyT5Ws z>{`uBBM~&QAtg(c(C%uI zrtAZ-`Cz~j9VwN+q4P1eb}$o>ZvC&Zhctg;te9Ry;&#X(E@3-)>GDNtHjS5|_5;hM zGYl?q6?Ajw&ISq9`_)@<2kkw-7~KpVFgDH$X+$+7`#p}=#KDjy3gl6f%lL_f@&EG= zL#0TRAvYWJE8;Qt9*i#y8kpNJw#CL?9SZ8){k@^`UV;r+|7?as!d`XRdIf{fM$Vgo z#6>A^)X0ueP(IkXd~=lj<14RKkA)zIw3E^0G9QNUerd5b({_T|&i?vw3?Uzf;E`~D zK!@N5xcUifW-19Bnx(YNG<1)9aQ2}u|0)jyGJoLSKUjLm%t>P69Dbk1Wo2N*lAiGr zE)y7n_Mx70*;$z`R{RA&qOCXXr4U4mLmJ)yO*}NY=z)PfSV@a0AS}z>2(%?+LF{r{ zjG8qF%e%K{%#c2qUY8FK?niDcEYZXkp*xl#3lqd zhdzZ~&oaAnGOu<>*HFoA|TOJ9$oIk0P00+*B1 z-1wXHsmvwKXa0|JRI3cimk;G@2DL+C%yyca@QQJK~gzN?nwVD_m(d5~aVF^3M7 zLwuFjN>d=}3vmH8c~wZGAefOQEwEdYj^-6(11$g+DVJJb3;{xrumW=mohJ1nBNC9h zF?H>+U8ORxp|X@{TG9@smF92ijWI9%^3kLDL-*9C8KGiFnS^US%1ZcAqJiytEnb6t zd&rEON%7*A?+&?dX14DN2s2|()H5Ri`6&UWFlwezDY`%IITk34^WkM*`s!gOFCro$ zIzj^Bslyea6<}L+9K*{QiNO0(jFFw!_dJDG4-^h+QIs%_y34P#{ zw7qE+550XA=dg!@6W^TaPd7*DP_l$$4thx50QyJQMp2gaH!Xhyo+M2VVH#}~k{zs6 zLPNST;ge{&;~BqOeH#uJ#4q5Y=vnVqPqT*x6kiClfHB&M+(#b((A&3P49P-`t?hnN zyir{covDD0AI}2N;4g!N0gj^lm+kYR-A!+XXZ^ud8xf_ss_CkUQ5F|z^$g2%9KtkR z11irQMkaBRW(v`rfK^8R(HMM_bb&o0oM0}w#@7zSNUBUx$ec%bdL*nt19zQ-VS4&> zEceif_0P0iNNjxba$HAPW5iGcn;S|2%5&P1Y;r6ruaR6x8d)w8jan%>Ty7b>QVdan zW)7rU!a)+VS}IDi__0@HC)(hxu~w|e`UYZL}PD{fAo03^UGls)T!eO~EI<_{UN-pXh7nl)^Y4MEz-qlAzHbxHlFZ{Rhu zvV=t{gJE)M_dp>RGn1S*tKE#ZZhmzTqeYbGiDJhg=X*BVZrjFYuxRQZvXazB$o99K zUKKHMA;}4~zO?-^rc6s?GPi!%s??ry?8>&QJALoYow_lz3-Y>f9Q8nB4{WhL$r;+YK7Q zCv|d-ESZjx^OO1Ch0xic8(h+`W^QCHEr;U5(U=;_@xa|pJkC7yRmDKbMwzzSt<(>| z-9Yh+VL-yI0@rgTxnEshlz#c*1&4ut8jC9WEFRPX=1AlYL8{9~q<9u1g*I})r) zo6;Q0GnP0qjQ}8)kbFFMT1OJJ*Y?973;!KKCZo+i`WyjmMeh3GbFmgkcLt!rTiN#bkL$>0c?g9%l`A@t(G&Wqmu;S!b4?ICo@oq+p}YjoK3#h3kCs&+~BwWWOcl}YSpc4PT0Zw5a33>l_VtV1}*-p9dF#|kQQB7@c6*xwdWw1 z%`Gh{Gh;lqiySan_zlk)&1SDd-c*n|yMDyA-X)-0i+NW+qN}wmb+m@VUdA~1&>;JK zAPwLqq`-E`T9lzEO^{Pe5E_bP(UlVp!t#B`zVPRoSl9f5p+@$xJp|@``yw^Six!Dp zil>NzCY!CT`W+=$%Q*-$3UDo=kxavmv8B2+;qfbO*5OaaP@^JS6t_t`w|U>bK1V0J z2M>5=92ZSPK#*$GdNTz!@Z?9Vj8Mo~qdT~tow5MnI_Adno2(I`I|5N6ThfmmwSRH# z>eUdx6wq4DwW4KV@lfI>jvDKV=9-ON);S4Q1dNj&Pa6r?M78a~yBY03R{Vq z8|b$N-Viy^n@+|kRq{;b;w4M$0$s_P65nv#$wIQKLwv?Qpl*axpa(J)XHgzP^5JLs z>DmI&Nous-g9o3dAEVVm3fMp6rkce72CmU$214zkv?37V>Dl1k9VV2tdyS5ad$o%C znMshjEb!vpg4!v^!$988QSkLSBn|sk+_dSPPXELuNN!Z`Sa;G662mU=|NKn} z+?WL-Rq#~B@aLFzUb6)ih~7ki8o0Jn`}GNsu%nc^mvG$#V1noMR+rLYQdL z;83&HyZ`tD!<>2aypRPQ5o$8dz-L+-87Z1dL)lDN(MW07fi9eeMLQ)yPGJctzH6e{ z5+d-i2@G*i7h0U|Ur1Yy?_Op0DYPX_oEZpxVK>a*i5j1}nb<3I4b$q2JVJHtz!;kT z{jR#A1VQ>2Zl#ToU~GB}#eJAaRnKz|1m^csBiJ|gDrq5H01UHiU$PU;snU-D?|EU);kug#9gSg7& zATNX5<-DIwpc4^kp;_IC>V(>--|oTYM?*%i=p&7p5UU286Lydu06V}IqR?t!G24Tz zqlpd5!fAhP4mw2#zx1{MLTsEb5@-o~Bk>LOd`oowo0~?_lLd1rfST%y3AQwX68%#` zd?41H!5Wq(%@NTgE)jV}WyUOmedMu?ZvfgBk@fCd?sHMdi$PR}=qu-T-ju{r=aBAfOAMj$nikQmNe)e>iVxfac{v;) z5e{O^XBupk=P^^I$>VGoE%aam#pJ8^ERYDb!gTMqTZN@1(Ovtd&Ga87?v7g zn6i%9MKIx}F|tJ>x0vG;G^N=rz} zNJ%LQ-qyYQ!uZfxjBXh_)IcbNt3NFrLV2@K(GPx(+Bu9EXndKqkwKImph*srq+yxoulxVD4$(ZQHTU-QB%w9!npK7xRGbo29d|?-P-%-ThXtz{o2d_ z1B8x?O98h2Cjm^K9LKxJg-_4X;%tV0`D=MUwt-!wF{S7xPJkJO(udBm>d~tg_5&I~ zqzR&1bsD@5@(&gzcHb?!Rwe~d^0+-PP|XVo;L8Nt+(r&ff8q3{06j)kDiY0xq0vBM zD_sqCPiz8%;D=PlB0S>s0yImV8%a$ZPIvlU&!FPU2!NnJj0ptxqs9Rr!w-2;)F5pL z54wt4Kyo#D^~HPk?6GfO&(?yoA>MbBKN=X2tl?At9b6P^nOG4->CkC=jn+_v%P|l6(#I;^)?58ytpkYqDY8nl%QfRf-O_pPuJ)h>U_#CR_W!WhBgGk3vkjv_*8m zjQVM^$;1WiIwfD(h68IDHM+dJ&)I~0R*1j(R9!3tOh>7hMnO}%5PGJ>ELx-<M3rSA&-X? zpdb>3S333F+tK~ZHpDbY+UO#?Q2R2wB)J)KQ}x01&W>uT9vmh}9Emi?1QTi%QXfQE zN!lP8({OOa`oQaRl3;JqJmN8%Uwdv$+)u>rvOAWNa0t{uwJHQ;%UHQ{|Ng6tdaPK! zT!U;?W>7HVI7?Al)2|pAT8{JZEnGc>0X4`{sMg_~&>%iwl->)#24;e?FRj}R4n0rY z+R2l(M$8?W?aT*#(=0kICDRGQrf6Nb&ZrZN(V-&CCVSYfD-ARvV=UR;{Vzwx{;yL5 z=Wqk@2nu27lph1aNNIgb~-(Mh?>{%XP+P z2A@DC<;y2e2KpW9QVpV#c$mz>w=fi9tM_A4gJZjPe{+D%(5BFo*_J7j$ECBev+Dxs z0CrZBA{1TSHv$a9u+E+5ckGSUCCm>8n^8dF5_?idnWfT-xum0Tq4ba$F>)x*mTZ}< zo%aEGAd}|3JR~jz*36S?H}VXpqZVRr-Y&B(17OG`$jf^szMdT&Ik{a&-sZ$6&_Y-H z;p$UAHrK^m8^`Y6otMfmKjr|IjlpfbDjUJoNZaAN<$!{?3|IgW484PVawyMvdkW@^ zh|&M0*6Dz6FEtC#Bj`ytn>Ppc?{{d|u3^|jf)15Bol@w<8AM$oUJ$^u1i{opTp281 zyOS@$1iB$&b|A(Ao}SJQ#Q?OBCu(e$Lg1%C zgU*p+PkjAUpTrBKqy4FHAV@wvP35_4U2P&>Fg$yZ8|L;viYQn$lboqlc-m)35Y*xz z(iFwreLxKwx&#bDX=OF~2gC!LLN#J!f2f$pN{H1K5CgWCVb4IUnEy;kOEU$S7LCEE zrq4pRl}WgMARLj7rtsac!kQLQ&C<}9s$sw}m+;()x}9gr$H1^r`>Q!nY~EQerj>@n z2|jWsW+3b6$fk1|CYu@GC(7ucq!Tg{2o0ztpGSg^t|Ts&$S|2|^88xxQB0Fy6h>g!6a;Q>fQAM2m+O=0 za0b$Xc_~~^1CI;|BIOBFtl~+Tn-hjd@rp$sMa*A+{pI${x(yp@p#dcD2yCrmD^`i^ zoOpp6op8I}2uZtP;DEA6uZd{2KJ0ee9yip$R3P{VET(E z0>3D;(K1o{JdM8WfOc>ZH2gFxIUulJkDn-KTOLb}J$1lYq!mw^m` zDVSjq1z&HpLoO!;Cr`kt)FVv>;$>Ea)jAN1C<#1I)F0wlw|sMcEcq$B@6t<8_#D*n z%TR;BEu^)&iD3i)P!@eO3g>;u>-asZHf-1ej7(!mFhOp>M1~D63g|n?K%mSx^qrw? zTSyg4CX;O+M@qLdCL)vdI)I`%n_XsD5k6#puD%B+8J9(p-rl`CWalu77<_bi#fZQf zwk+pS!5eK1NY+Mvsce+bpU($Dqj8s#7F8Q$CufI(r=kDb^e#Lw>{k+b`{keuo)?E* zfVbrq{OeWA15AeCTfJ`GDB3>HFGgma=hZM<|6c}t{yZ8Fg=sJOp;WQLsc3}&543oN zry#Ao$9CF2+drNI5`-^(fL?|9hPY$LD$`(6!N4;y>*GP=Mwx-E-|j)Dy18CNBu~4? zh?%Ls$UkTf1<36leArMja^Jpv)2_6p8RW?ryd|v4xipjpDA+lP#((>^ZF=uy8nO!# zZR@WEh>o;R#yNyzISt1IzIh71Wpq(8VulB;(|?)OlR{(98odtk!*iQoBsmuhtq|EQ zV?^Bx6|ANvfFy+PEJpI=Fw66hc~u6$EIsZ*(V+I?UgdiB`(Y^7IVeh^z8*`qHkK;z6)MF7w>gFg#oeJL{1~hqaA4;L{%&`(3x}9?o%s;~ zgElun`_Z&hJZ5ves7Yx?DH)i}=z{nJ;tMra4i0K^@Hs6A3}Q{n6|f=tj6lSCh#YdN z$#n(NMypv7KLH>~08Z{A_{ioAD;GJPC(VOtDm$bJUcF_2YiNcs_KIJg3kd)8HuMOPurKuNJ>%By!=%;M&&88Kjf$&%`<%XyU>eL4N#sBA7x4 zeo@@od?e5Gex*sclus`-qt-K#7tM!FM<8eRNx(l~;`gOdbzOWAtZNsjyj#z$p^oF-lG$1Ndy-@Y z^tX6;B{)ZXAjmt3xU_-qpm6pn?&kiCfMl7!l(`FD4K`{)JRej*7YJn;#Bq)y!5N)M z-Fx|*b3kIP&y!$@8js#0Z5y8X*SNycYgrfaM;dO6rf?(^s_w(Yh)zs{?1o#PsJN)x za3iU15_Y*2KdL&Mw^EZ@n}t(}2ynZsA6&-Q&^8eHWtP(U zyqId!x)r|c`ip~dh}s&K>d>Jog_7v5n5gd)6HvFzP}?;>!W}oOeG&%>>Ph0i?>~21 zfz!$f4NQwF5GtX2Zx*g$-9w|;g#Hq53bz`)+=mG9No-ymnwF#t%~%I*J%ki(%*N3a zc5P=Dl*2cOvq935(IEc^^xxHN-GUBru}F@R@seM1F8%z=FQu)m5xgdK*gm81{lOCnOzrS^UFo4&p|r`z zLb5&%CdXd}l3KjXs4-qS&`=omC*Qoe8ZLQ&|Hox%d8nK6hY*kdg`Esy;R%6=!a&F7 z_1s#WoxQZmDAxolVF*KXM#A2i*UlfqA)qvP07VJMTM}nfs$g*5-rfup`ZDw*9Yce; z9=GCXM`?H9m2%)JSZe@wKyx$KXyt6!E)`lrTKOu5L+tUe;QaG(ym2D)@#*a{yPMHY zrevhJpXd(+n{W`W63wTe2=(xc93|E`g{XYY#VT+RXULfv8FU&-g#c7noL*=0O9_@> zC;`>r+UApUQRU8IUIwX9^>*zllZPlDNQY8@Fl>(s2B1+>5EwyLagcm?;Gk#6KfJts zYC+Z6r}^bv_@-#*>HWf9)ot3;BWMJ{cQQb{nhDB5XzalC_D!6L^%w#@{{6&f?T-Q! z(qY%nkS!SRMEmGz1L*R}nl)@cBgK_P0i#Onj~Y9cp}e_Js6ct7?_`SKCq-5Ashj|$Ax+VT>qoo&N7tt9e zjiep4m`S@wbn4Gc2-(T-@Fz^iMvo4LMgr)juj*7M@ztHfZ1rwQEN$uIF>U104QU!cm=4mh;pPOEC~_(^eF~X z6TJ&~BS@2qE?BZgOn-p6ShW2>Qf9ivwvEr~7p9loclA4waj>o}1M7I4*LmGVgJ`-2DMWm(inL5%eL6;xV8* zP(y;#0}ekCHyDPYfC+CggSR6X)z|lRhcYrB1$)0hm0q`ged2^RcuVXui8*cSV%Hh$ z$zJn`M%GuaEB z$bJafXk+op=x6%&1AqSMfsZZ&NR+*c`XAH?6RuRgEr^yrzyEIc_%uLTM7<(>57QrB z((fKcRi*feXDjk4ZMXXU_bE>`hDBt4hM= zk;~PU#Y>zx29~ey9-@|A=qGhRs(-hHbFw+*59GjMadLAxkN7FoYH3W$mKqZoZlAt= zT^MaJ+l%EE<4u-7_3`!H8f;Ap=OPgN$~|B*e_dD&PbRCHq64{J_ykO+nhYno5iY z+TP`N0^vrI$O`u~Xplgy9HYuDCq`^jUj%DejkZ>#{h z@GafYad9`p86@`zEYwD3c0$0#TM&tb=o(cD)ir%!*xfuRLjG&T;KN;G`{LZ_EMK z9RVv+bqNItUaU=nJo-)jcF3fk-_N_2RtD?yWkGJn?8`ryzRts}b)r6tjs%Cftxzc~c z*tYjBUpDl<#sf1hsQ&V6&1vb{f&*xpy67d{$HYI;9Y?NMfwq3rjvd`>S)Fk~6?sx0 z3@VzTd4u2B&~|zod46c~@g(&{Yf=R9JNFtkJE zUXo+9K8I>4)hrK`mQO`cfio>i51d>%V(nVhWSk_Be%R==P7d%w1bRgt;V_J0N?1Y- zMijfxfC5(={hjTmPc80E>(u`=Jsuilj$z31>&VPE;zw|16wsWg3iL}jXVqo_ERX69 z9#kkn7D4`adz&#hg8B%ZHBJZ&T_9#bb8Pl}-OxRDnR9KoZAtfbDWdgfOvEVG;}y?5 z1Rp}hz*RpOe;g4sc}=o}1kb-#BjGL$*J>lmmm z75{)Vw8zxt{>*h@Nm>b*4^=J5UefnrURrzCaa;Z32^(|lymQbD5?eTzX-v+MCip~o z?5{L&85>Z0NdK;Fx86A6ma?B=L8gO1M<2Yli*b=khm^$Bh|65IG2mj!_0bz2PfP`<4XbNjb+CGnmYP2T})yo;9gm#E~lk3=d5-H=%GzB@LU7 z>wl|DF;i1~LjESm1E$8EI8l|n#O2gRae@XSX`%e|T2$z=gAu6cwwUpWR&!XJo6UaJMPzZBY?@K!rtL@PQmIJ>T_a=A}R*X5hk)Zx++b~|;R!&l-pCv&G7TUe#VD!(@(QMzPQXjt1DZk6j8aqT|He#+xUlEJ zg@_BATR0?!SEXoo?S90)p6{ZRXrX1a*&S4ynZ0b}$DA zq@za%Ya>~8puC4%f0_%5P)2OzWll9cYOme&hP);|i^X5t>7wxCGXUJ8FF-oB1fo5w zdciQK^~@0a`wtEZT8}7(`bbzQ2gqbk4%0|HL&RW#(Du_JqLwd@AD(1PVWuKPtR?FwvpmHp)yYHn@$V=qpvB^TunxKOu!QK67-S%yRL>S@^kv&%*k@Cj|(~ zc*R<8t}cf+Ylu2WiClUIr`?G(&q7=}6WUFV@^Jc3nf|lcaLx!1n>{rm*8K;@Yh;rS z{`0`6r6MPuq?5wJlQ|!2Y(m(nG{~wrOK?tO2SE8FV=EXQN}vJ9W*o?Gigd^UzL=FF z+*birLBEK{v#&F z0mrG??9mQcIvO<#N+(ugs3n7e27X1E7TPYxuN-ko%J{Fpf!VNSrOwqCkl)Bmw1`r* z3~g2Wyqp|Qu2(+Ovi*ooi`E%@{@zTn7>%f^8hR%M%&&hO3bpg2sV1BZD|j8C78Y)M%kPh5J6-bNV^@`K`h+4QGr= zZ_{9Sy4|tgQ#YR6mf+gMb7Ac^P0qBhee?0CsMYO0-#yc_Sz6^j4Vt{a*QQ^XS*+jk zMh1(JKzl=vh(E8tD)r&R^xyAgW==YPzP{sP$0t9G-u3EB+Yhsb-FP<^`QP5X9uG_; z6-70U0=gq52&4h!z&>WmNGP1p`}ukI(X2FW)v9jb5gtCeUn`?#9j%7kzIBVv`~i!k zN}Dg_fho6kI~D%vL+saM+X61)GqQi+grRI!0iF@Ctr-*eyQCfwRXord13luMmrX=N z*&j$ZE>|!fG<~bhxC|bunonXj#^&GdDZ1`h9F2VlfU zf#uUWzZ|dC_(+@_eEAg6F3f>d<$=s=KdBTq?K!mKo9lxn(P@c?k^GsOIgud&E|XN& z)cGHW6+RD`41pjPJ!`<*_~nMaQJn|=I`7?J;H$qKZ?Z_J7U~xpI5H1#b$cJC#WZZ6+PbJ`hZm0?)jG0; zyO z2edXunkmT`LiL9DpcCeJG$i;^Xnuhv0{tUQAKDFfs(HSnT!p~`sG+rki-$!&7w&iH zdo5MIQYGnpfZGJ=#b<&cbJ1k9Z$z1&*6TEu<3{8l1 zO!yB!yS%O}?WmoaJY(?1wnEXa>4oTCD85|hUh{62e6cEeyL)qN+H`6Zg|o)rU%z~o z%O7)2U=B<_BmGFo=y2rFp?Cy{JX>T2Vkjx$>D4PX|JBN{4MfP`7a?BD=p|I5LY-Na}7%CP~aW%iJ)oO$tweIlvK(uZ)X! z+C&T+HtSs(Dlrk4=&D=S?dn*qRU@`1$?at3t&=A^6WaMi4_TRs7rW;8mZssqau)q2 zqjqWchyC;njS$$X@JqnT`NX>L9Ojt#~sX2*_mU=(0K_tCycbjcrp zEbrQ@7sY)W&tDo>JBNP9bo~LgErO!*cuA(tyZY@z86pdIBaow(40XIZ_Mr+Kwg#b* zy)i1s)JN&&S4mdNAO1 z9!kAu=l{EBzx3|C@j;8%NdN22o>=$LtIWc07mY1m>vhpQ7t~HGxiv11_BhzCf2~NV zXklxxiYIx|+2ZsR+mV_2ecwF@Rn& z0h6wCbFH=-Uby7?}apvj)aE_mJz0 zX>yr*bXoYC76+FBv88}usDTbK76qmSg)4toxBxko(ixZTy4a?|Efga3WSo8I+R_KT zL)T)P+M{#lVg!riinB2S0ntcX{2MrzRZnib#E3+$*fvq;97 zJH>;ixK-C6Rg6qAA>B3`vC_7!Ez~>zG5Cfy*6|yKF;Cr3KZzNz#m_Ss5Xrv_>aY}z z5upf9wE`n`iH_lqv$8f?jl{S`Gq;))LSRI@lWblsxU!%T1|JYvw}Z5@pH`KbqHMU+ z;f!M-F~OuroFF6wXHK)VfR&nD=d}6qo5jJC+cANWHmcFINVd?Go~=EgA`l*A-?IvtTV@U8t_l-g7gRz*A&ma=xj zQ%S9bjetzPxX$b>o5TO8Rudu;!N1{mR(x7+_Nd!>Jk=X$?&*sc9|M6Dvsw_10?sW7 zrQ`!(B{nEUl3C~r7Jc3vy${P4h(gdumqv5_tXBl>=Jwxr{W9~X!VSNC`OEL=qnc_H2TD%PF-fba1FKe@KJJ4qz<@~mVK5tX zz_gZ0B2+QlJj|^dO+DiANCunV#rdJ@?^E_qXWy1w!$aQiW>wf=wF)>H*ZW7vxju7b z2Tp%%9Usjhj){m0^a8;Sr8@wRW4A7?f*Yfi+VRuo0VBp*t_WWWv?e(QBl=*&NeGfP zV7kh$Zn%@j+HM7*T z|0$h)-qfD2j(=`M^`nA{gIM(9$;+t5Ao0qQ47iUXJV9Cz+eY9t21rFoXcQQl$1E#T z{q|Kdc+g0qQ&@x(JhP*3X^C3VRP%ZP=uS*atXX)hd#x09*bQFC6dBXb_i;?p<~Rsh zOtN|5v}6dOdO`JAon|+!mYf1?k|N|a%4uNCwsFKi`YsQvU@wVwmSh8BV#6vTE-TZv zyed(%EceuS4zfqCLX!)b_>~Nw;O2P%_FXF#!8fWDCPzPi@}xJ`)~NERECYAeZ8cO- z3+g59jB{}4y|XlJFk1{U#I#06!AvFie)fM?sSSt8qji4tspxpT_Xx$gd38 z0AkT|%SVh$4Bj-7QuFEq3VY{Sjb6G?=0I+ip-6j3i2?A!?1s2uKp!3!0pl=(naDJC z*6FYSOC?y? z@y9UREn8L^4=$f%os;8vqK>1_+QuXTy|I&HHYnszse_|duEfwwZ}Dcr$OUGpOIz>f zhY@}amn$+c56VQc0i{2Oa2LNSRHtH2(0=6Y~QD7vU6-UPMC|g9l^PVm)pqBRo0lo&Jum4N4@J)1VAs4QC7s&(sSWHBz<@CKALbOEfQ zw4K?9!2X>)u+B1^d3J-@LHaepc>@Q&hQ$FuR!z(m!8R!7`o+Khez>T`J^3HN!&(FM zdv4ggxCM58m+E5a1EX4_MGHIBVt-D&%Ln{r8l%rfauh=u$p8UD0GO)M+)*B;MGhma zHAvH=Mvq2pdJ1SF)g3jzb^#v${7)N|YJzLo2K}|5g|f)=RJ|ysRNVU*aql3f$U7?JnQBF5fMXuTX4XId^rSPS z{*d??@emUnqL>C>NG56`oM2*+)A*2$+tp4`-FK zy{yG+(yYb$usAy&Ow#S!gC2C^$by8;L%&0#oa2mGruLB-2t~ZB_%q0>7V~70b1&lD zavXWGEGeqFtRXcIrgvF{Vd{CAD4^7(Ju&{aJPwV6t6>}81j)E&x>0Bi{!t5&ldmy< z!W>KL6rBZ74QZm8JpobWD3iH@eM0!E!h3y3$1=M~(zKrnhh9DL_~*hZ?fthcFZtkc-iImCbNt`m9CPmYr)TxO z&abN0`7f&P;mnW-50b)&7cPLMLe+=iAcC zz}ivgo-)q`u>@qmaglZXljSH_C}MIJJ))=d{RczeRjsDfqFn;5^QA)}!h;FgLw8b1 znjO@#DcLP^78y;nDqXsI=WySTj*I8PtMTfR|J={QI)FzF7pm`-;{h`w^vP79Se00N zZi5h)vG3ogz7>LZY^Wm#T){WWAR0UW9KLFxO$BnO=e)ld@FfFK=-~cNE zTkvtoBkb-8_o+E;D@IqNXWv7Z)FdM@YEFPMTzwmxHY|9Rf+ld)&Aj)K08z(-I;|jzFkGxS!0!?4=~4 z!94n~iV$QLVbN9=;HAbqfByVFSPb0)NCqr7oNSJ@}Mi2uh<9-OD%wm-OBrKYYSDFu4 z-F-gajARygE&KU%#_%j5l{vkLKjfLOMNC8_olO1#4xoN%&$$@EIt!-0wS9$hR;zar z+#%s(B5v3vDr~4Jg|)YDg@~{Z2;H=BIA%eqfa|#|@aX4?F&m=g|IcUKB6st!4{g5| zL`MY`DU{f7&AvEU!jY|c9nR$O4eZZ>>-mdP=mK(-59(+g~j5bVCK^QSR zj-eva=9rtu@{>F8AUt{N*0+7(77ww0384|w#1z07#jDeA%MA-^{`>~f4)OyA8hHqo z+D{$yV?!QU$Xi~R&(x_5N;@4Lv9-tA`K02UTIMZHE*4y)pO?^tSdVp$dIWkvgYlrS zlno35zr1xo+8Gpe(v>GKtMTy1ME!Q)75F#L=!(p`Bk$wTN^VHTf|@LadZrt75%r74 zG^?TRrOl8f7^}_U&wz&qg*>Z~v79Nijf+_S=19XxAf@cs1a=3Rt2qx`DJX?Zp1S=t zyXy-tTAd>nj6nitvBM>cwI_DxOKgv%SXKzYWdWRl6Gi8<5_$qq7K<*g!mnSn&FKG# zIuo!S*RJhnE^}obN=cGXnTeD{2^lsKl@y5(A)ySVq%=_G(uA#&44D;*WK)@<5XmeN zC8WOJvY-8a`*@G{c#gfP|Np+PYYpdlu5)n&sY1=p=1v<&L`B?-vcJ<`_yBCfdK%KxA)zQ$B49iMU)wOFdPn5|$ zl(66AR>qHsuGu0reLV7KsJqPUmZg07KeZdT?9rw z0TTw}0RiZWw}9+Uojf^gx4!s$KT!hjHMu+i$1=nMROtQjNuWaY+YOX4E6EN79t=kL z`5C?~7=JQ%F;CE{r=&j0l^sh6v5x8G1FI9P0b}2$IzH zmF2W-c9kh-&sGoaVfy<)&u*0WwlKq11RJ6RVq}#zZOpLTp?d-3`-~vK5mvF)n6w9&z$x1+grZz}2uJGLQ&^qVmhw-e?sI1|k%kb=5b7C;? zwd#Rdh#f{dq-7&ezv#T{>P|*ZSw<;)GkL{wsCXT+p^xIW{^RBW(}usRGR9wpHwU$Z zYytD~_S^_S3p4!J1Dq&DMYRqqNU+lU6?^1}A{~gv`ep9nuegCC0Z30vTicK=1)wrq zC1DGRPN`#`qUfa3=iK8dbOj6W8r4C9VY?{4Dq*Q&q0i}4*lU=h(XeU z3Ym*mJM)(bTZtH(B@`e6;6z=U;U>SWKMGg0h5D>tJ zz~}@_gBGztfb|h3F3`S)SZNEy2qY#3HDo!8tQT-&Bmj5tLg}$6_Bd{`KN4aEnAfjS zDl!)M9qM9~YCT{zs9}{f;<=ENiX{|oD9n_18KFZ%%nyp_afd)DbEoLVUbY|ffJr-p z+9it@x6y09wNHa(jL`{KN-0gzj(Le7vNS6waQ?Q5c6)TZ9^5}K&ujwj)EJpy%@s&K zyK|iC(bEE3fni`KG&?ay3N z=qPj9paua{S{lEsA6cK&9f&(HfG)%enL3bCi*6ONi{)#*!gXHksmuim0ivZ|r_SIW zwZ^AZCz8)EFP|*{qHx8iho%uQOuYNpiO6JwN89j#@vv2V!eMs3&RPt!BCE4N4(Ec# z)aqBFs;ggyh@}l)q=Y*Y%ZuprIhdTgdk-IKCv6u5ogXU78X9Ig=`GaLk5-Ova^O^A z)z_~qWjMgJTeI`AD2~9FWLwq!`@VdBCg1A6?lH#{(I}XyY!@WJfQZtnss5U;v=Vb= z>~FXz^~r-2w%``#2~#GcK%sGe9Afno`n7u2QV*Ek*VUZ_*h&v#h{)H zMLkSUH=5%|u9ZTI6*%;&BEl5zjy~Dc|KK!TAs>*4fYZnh079{FIehXn;PVJ9QxLKj>K2cx(d)~Isgdy0bdjjmJV+j#?6`rG;U1k5@(mSBpud=qa3CSX3P+Hp9>h%L3|UAyC3o2^Ce|;1qoH-{k?($Kx}_- zKbl3^7Y%LFH3pT)qe_b|{*<3v+gwCVh2@59DHY`X@BJ#eJpBy>SOYrv7bDcWba5gD zasQE7(T=FZEvGt{!8yASc&yY0ktb9z78XE-ioHYw5=3mwAJsg>tSpX3v^gdX-P!eL&(yd&S3I#>6Js&TAo@3a9rryx!d*K>=3)4Vy8P4V4tR!HYSU(AR`zqF5?>7<6`@- z9vIlF-rlt^l3Y7c)c~*cEF=ZpXc%JdwRHTZ0;ZBB{__z*xNx2QvJxic3QL@5AP${B|7TA@QWEHPYMv@& z&I#tLd4y}2Y=SO~Wx54Pwpf^a%)DFszeR8|&B%}-vd3C`2O?kgeM>EiUnSilulQO) z!Hgrvn>21rvsg+9GR^PPR=HR5l!`oiOh^a;1oTWF+&!CZi;h3Cntqtv2~LO7BD3}k z`aLinNDL5s{{)3iWwi3s%zpJ!m>ipF&T+^{8-j7fh{r$=m^P0Wfqf?G6`LZ zx_7k(e9hvbv=)%EJoGg$g9p?3cY{g~9a1-3Bj^PvaO8e#F%9gRP<1L7lLAsjX# zh-+H!6)u>x1IV!3)2#pi(4RUs!YH`c6D1i6gl-dHf89E?oV3O>p2y@K7(SN59-Lm1 zq*Q|pY(F%h@Kn#)sVjgP;43hRQ9)SBB>_AVSb@ibpp@t}kNywIz6kU93eVle5^!~}Q$iQaB6+s- z=I(X1>qT4)pu#`0hn80cQ*HJgMTmCnNtXV|Tn@$iHQW(^9zn9jEdnJwQK#A3_spLA zz8W%U&~%4eICx}Z3KD4X>D9l{K~8D-!`z(P;eI{z)n6q-G-WdT(EaUsNn6T}0E zGAW?fo^P|#|3l)bQqp@VzXyV6mdE~eS=ntKo2*%fEEF>Is-aHVJ6_I>oxP^wDxawH zoFYE9^Dw4IsGBLF6bG(G`9LB$l#t*@#myn+AT$BufTQ61p~kN#kP)^fj6H5B9rs+% z^U(C|pjsGtK&Qy;96dBjk1TYpif_=Jlhh?d2nWdLp_~wiIIakMSdd6M904Ba1u=Y> zHf?9?+l;wcC?4d8PqYy-1%A9W# zf@JzI8#y~(vvITUE-jM z8zbcbReYnU^(a5gHjjU~TImUp{upq0VlIy!+FgKrz(DW|S;#{+ZscmDp;2#CQtx;z zE9wJK6j_`N#pCE({OFO6S`LAMPsAnFq$*;0p zn~wuG#)0G{NP8uc4w(`}3)?Knljc=Mo}~^FaVIp6R-ZmCXr!;ilTS=ztOKH#0_13x z-K7)e(hulbH*!;*z|1!!`-%-Kxde)=KNO;vGmtOnkjExWfebKVPz?Nq5Y0|x z_Ae<=zEEB@HF?3A7D9pQRL;vk)*|;5gSeP!})&|K7MR~Lm2=Pa8P$09SV6h zA~u>Lv~tp2VsdqbW5PjZ5?}dnpE0cq?%&5sIva(6*`@`U8N(`wc~X~Q9*Pl`W3c6Y zdjv(87{r-@{@Bw$$%?ppiWax~we3aK%BbjLI8AnH#H6R&H{?<@1ud6Vew_VREE|1t zag8cW(I{7PEzQOj5|)y~ZnN(cR+!L@$?PA^r!TNuJHbYuTDsBVPYft)_FacGM#xrYvD!N)SPrP6_=qjdKw5G|G?rBrl@w;7!Zg1b{Sa z+-o2y#QBj^~mV^U7t=~~^07;%9<>gqUmo)l(Af-PTE!UZfCl%Xi=_%MFg;18COrwosmROb} zN(3jRyqL!bwY4Vag%~0y2xUQ-;gNh7zNI;73Rqu^x6pUx;;!7`12)kzKNa(_CB)IZ zGuh_FZ(jVT1;`%9QN!J$U6Tn6%}O|CzP&TAm0X!~>lW^IaX{sa^9IaT+JNtdyN+di zCRV(3{B#af!N9EYrs!Ct2&aA%%Zj=7AF+I8`2b#@^gxfX5E1jt0iB?RWQHTg+JPAx z>c`gm%bs28%%6hxAS+(1d}vGK{Su;yS~2T`)WpbmL{UC;s4VmVBFBjTqQaJQXV0=< z{2D3&-;|N8lcmcoe7vHn(ew5F)=WilqDpWSuxjZL>5EaY zpp23PNQp$M>PQ1bUuEX6J*Lf!Y10%Z_}?D`-Z2-b3A(h;!R0uiXV7gSqCtC&^hRa( zf`zC0u1}HX7rqJs5+{y_=Qv~kjvcZ#U3kFY@LjulY9=Q5Go7~qMKHxOM<~Rp-_F=995udS$V1HH*Q3QiqQpTbPX(ICQ8rsA)sJuXp1>^A4zxZcj#|Nm zw{mi*AM@RN>*@j+mrA>kuFif5clXo{?|CN}{918;=$5)uc>fl$L5IXz|s>XSkQ*e?+ zr$(`ep7Z&H)9gX01N$o}cNQ3*HV644Fd{p7&+;xjS4dz)&W2cU&ui5j?s z!QUx=JMmw|ol=ehg#Na!hNFz1Hc-D% zK)?ZGzAhW3X}@F-0(3M*cL%1dP!5oxgkQGWPR!%O_}$J!^vD0^ArK5CdLzIfY?)m> z0&ES=ERrc`1#s=GfI$GMFcL7n0b93yBq0egq7 zJX$@%(jcGddjc1e2QpetN`kp${|dkl@gaX^U)!`Gk{Q8~S+|4Ba^)*8STGir78ep3 z$%EwegSSK3zJ~>B=;5f9(C3R>uv4(PQBNEsW#=ICF2cnQ94M>HcpQM0zAdV1etZ>y z2jbL!*MGyvqg&dJgp-2e>yKGmKR#h3`S3nYQm%cx9v z&*m6*(r|GKU?JrHgZER7&JEl7P=!iXQ{gsj9|4(3lij1n)lJ&8hOunf#zyZ0s!cai zA4+E|l|Gd_wcA|hoq=IY%b=j4(iZs@Ka=H=4tEE3YVrA>qh46Dh*AZeC3;-|P|<9- zccTRrNgrAHk6oZPgRS$y4N1Xr%&_1 z#BYFfEZrnfaun!I*=^v@8zt^bql@gER3S^;rQG_wSkH^J4BhFMFyVwTrN!3uyU}cY zwz82bgzf@70DZLqF&vbOg)lD|mFPj^!Y2_~8^SQ+O#MZ8&-vW|nR=&bc<$1r12n0z z4_pz8$V({+?aV$z;s+2m1qraA_?yxiE7Jg01wD)^nuZn!Kw;M4!G%)9|jhzipn14m)Yu7urRQKIn1JHac?8S2|6t6Q7G%Bxd-McqH`#~n7_aGyPu`s3{ zAXJ-53ZVj-n-bX@Qvjk5quY>eT+r9j;j^Vd@lpI{>p$Du;8<$*Z}6OiRPHkX9(fTc zzfE=}G#o9jUqEhgv3;99c)cQ>+hE6K-#WXVpJ_d#(Oz##ORZ`CsoH7acSc4E)(dPb z_->4KP06UpmaeFMcuFMHO?J(4&ChTOXzuPIh=4SN*Aq-*avZ-2Zj2)??*LdCp38K& zrr$~!RCk6hM&cMvpCDOYG+86p&#JjBV++~?P)=+0f5!Su=3Oyjpax*X4EBHYzowU> zg$3jtt-mUMo5`wGgAk2#i_x4|u~!G^r$nWvb5CX)PMAHr1lG#IY3hej=7h6)Sfd7WTxDGB2#fYO+t)hv?-%ma>uIblXq z_VOYU6K^9+%cis`nRo7Nr;Df6lEtkw70O$EfOj+5%o=oZ4uf}$J6Zg0U-Fn&-7tTg z#&DsF)YpBk2jfX@W2->`m>qCcY-d}}BB_TPT>m+;Da9a8JU9}1h5%GVY(3%~3foS{ z%P(%@`2nhgEmPq=5dfIIac4_r>e2zA81$#6dOd&pEL_=*;jch18b7i9ERKghHw zZzzwHyj=N8&RJFLdo-N&9phplbjNP!;4-chb6$>6u;7%3Oc9TpLSU<{>F1!~z?Hh(?9c<&Mmu z(UGxrXCps|f(2nc1}Nfc@O-A#PY_eQIA202h|dpolhUd?e7AlNCv!Fhc%VnBNBsgm z)-Y_9MA$w95e^el(9x4PyD@tJl*Mo?Q&4`()cyX<>R-cqkK#Z%)|^AnhwpCKMGSzL zm|z}=0<8(%ub3MGI*^p*MscJ$90Ie$h;(NliZ-|9`mLXJugK0eS~`(4$bbu5{QzIS z(&|v_G49))RL!TMipg>^^U?<7M3G-Y8HfAAR>##Zt~Mfz`;Phy$S#hW{}qwtXSDxF zJ$N*>?bzca@Tnrm(cE2|7PPtt>WC&lLq|uEHX34v2-y?%9XcJ$#(`fH#y|B%Ver{$ z-`>4!(3nVpBT6cg6^(dciLJf;BoaGq0q$<t{V?HvGOD4H9=(@21bJG-$ggny6am^i_JW6H1uBy?T@BM5csYs8|P&i_L9j=~|5Q*P5n0H{x~Rrng7cr_Xs>^6AZm+L6cfjwK%3c2+ZK+|)?j zzxFClQR(Iz?%Sq*Opl$d>udRbvoP$>4yNTH8jZ)y$T{}C(zDcH&$;h+=q>O3y2$?( zrwk?$n7+t>a(b#EJ-WdWm-18g0Ik!OkF!%-xNfcj&gM(FE-s9nKKVQe8u~Z*P~7 z9-+SZM8&)OIREU8GwSORyfFWJ$z>;&vk6@<=NQlRE5l`Mc)o*ljwW7A!WGsbacQn* zWV5s1j3;+s#d;z>iqF(N_Z<)@o=&W1^g7w@0fvhKW}NlHhGx2UpyAYnA{~HVaGH7O z+_{|(0qy(Q#WOiPGg8hy5tNP|k0SbBm8Nl&g|X)s!GaL_c3Ww~QJ@lQ zw{Tah5#K^}rW`)IsYT-koRAy1Y4JS>x7}k)oo9+$)I~H;n-0oQI5R!y6wMj_CCrzy zo`99tfL{ITw_`CNd<^yojk%A4Dj%5~mwoG&7~YBf5Q{76Eo3?KRbM3=y>=$cNmQd~ zBtZ2=YL03wl+EaO*BJkN+r9R)zp?(Z=cCBt;D7P<>E5J;rnzI_8w9*!2Y_H+usFd= zs@j;OB1O)CljQdRb3f`U+%PwzdDmfWaQB1L0MKmSX+QvEd$_H^O1o*;CCxKr)WccuThI@RgZPu+bI{JHRS@ES4KHodnJ6ELEI#^}E zcdQaackaxj>6F2`F+0TXg`dwBjCrsqVrR?>O_u>ONke|#MIOh9slGTPZy5Jws&}@) zuW-Z8cjGNC{`z!53ehD`hCq!gW&|jAXF_*O;sdab&E|2+jZQnwZ1?v>1!msg5dZ)1 zFzau$8RT3(EiPZ*DZ91ux-_Qw6wHG=^?3H{^NVXx5JJ+U))m}@=wnoo-CaOB_!C2y zylygRz)+LH9xF<@EnqQ#BH9(%BBwnGg1@DC$E(CRzxsz&Qd7P?rIP})G?*BeFDX@& zWE)x=bQzzI!{&a#MD?Bepgl}~j8xG3pQmpna>UBXpJU=hW_XDNs- z60Mm4FR8jz=_g7aw<^k$tJ7yqIj2%JCt z9lu%Ok5?6PA81n!X~oIt-$CBLe;P0!n3_%y`KNn`(N$p_hPZ2njHv3MKuO&$wH{hs zlW;A8NAq1uc}m$Q{z2>!q-7ymf2MT)cyP9|gw*A|G4Ck@Eef*63Gg!iok#PIhQ7=l z{n^Z-tx7@?|L}3)TH2o(_uZymEh~xI=rI3!69kAhyaWWlhoRw=BWKBIpetF%bw4IW zdH-ApW`Npq9)wkp+K5@xDvikNDB?6QDB}%_OkUnr<5_uk~#zP#Nj6f-~X z6R*|Qel!s6UW(l%-x3_{Wbq2c*^3;;ilC9VcD~H|EsGu6`6m}l0?P9{N}m^>_xub) zbfhTC4+Dn`1;VB;T^JF;IWs`{>iYGF5eWwzz`4kLt#<3zn;9u;SU!hY z&kzfk7msHUo+6&-J>7)zCx#>T`t|&#hm;uR63fv~zV`{7?jQbhFTvc*3y+1*6&0q3?}-frPh{z( z%62Hyo2!r9&+Yq?(>ukQdLeq`dik+3B2KBnfZ=g29WFZ{JQ}R4ginv@IGL+NltBgi zoY00>s#r1L{iEM07{I0V<}0HRj{SY?nCvkIv1GJ&A}A&TPO%a+f}R@}o=Npb;dT`g z8ucC1QA&y~ws{n7{<3&(dFeQ@U*WoH-q)kYWG9^?57OxSlNIP?Wm##OGLqLZ>y=*( zUQNxb_4fpm3KG}1xA~i+$_$^)Ke-3(ul>#dAEtiK!DQL2_d!EK<Fzs9nmiEQm%nP|WDy#D6K zElQC7$_4|gEr3+Kl%@}I#Sw)vMHXAre?r0v21Ug-PrpNlL5n-cR0aJ{>`0a+G^YU+ zW1_gRtq6RQ9I1{K=o5m0i)3W6_S<3Ot>t<{hU})m4s81Oe@V}HO^^GC6|DZ!ZLq!b z;Fgeg0CFUFOx2bXMbED;$FLw#@qU=rR-fM=?1cu#PKat=wu!SSMkH&fPC8P_gNHmu zK7-gHh7229vw|)h$l+qI4C}{n%>WILT_L!FVtiphm-l0}cYwvm(NuAYF@IwjVnAi^ zC4pH@fxA3BP6hPm5J-VPR&7ngnUO=izUhEja$kgBqT2U-|My}2eYf#66pM_YJ5+5f z25;+^2}V4Y?J%Ja-0-!7u%eEV*eLZfD-d9I*>p__LQuelYG&yVPT0P&>g(I^6`-7< z2t7VLY=P)f2oib*zh?@gsGjL&HSJ8?$KTmEc+%OPP;LleMTN2-j9xY*tb9L>ktdNp z0YN&J!xiO^D$0rH!t!U;ysPIbk6Ob;cbdtdlYwc5<>L?2-rI=IN3-2%gPnnkzY$WU zQ>lK{&!<=Y(w%L^=)S|?C0#bOZefdTm`E!2BKXmYDX`2h5FmI$n>qw_9UduoDGDOo zsJngB2r}<3c1$>pU3buLt)e1{N=&$A4CumzubHZo9P~Sgug|-pGbxXn(xSjpDbr9Y z2dCUOmQsvnQ3gkmwvm`XTx8>o`^)R8Twta?Q9v)q3Tz9AFYvI;3xdDrpg7M#gP~_Q zffvxT^hn#)Ud**)-Qkq6p`Pdy!DOdQo@@fohd1z;lmd}Vy16A=zn-Q&I_tI(rHjU# zksJbEhxD8nY$4^U{kZbS)%O&aG^K00X=&&{fokwW1Z^2dkRw6i*;_j9-0(^9Ng${2`=a z)+vh-w_lZv%DuHB430TH$N53h;-@~eYO6rguRoC@el;Q#WoxVCC=)cUHKRC!_)jQtM+z!xQ$tquYLJUAo8P6lB} zm`r0Sb@OPkbCw!5!Q-abw#9MSn&>F2BM^}wwkL5zWT-0Nv&?az4@HfzfXFB&Pwlsi zpP7a0g81n)ZrMdjJhnM&urYzpAfo*F^R=<%h@FPTr=Rt9Bg7=223?H3yU_H~vP#p- zW;6O2`Xg3bzGl#{x40E|Wd-C;N>ZWkU!16;Oclfg0ihK22yUqEr~_s7z|OyroGG8y z)v{1=j)mpnrb|eMEa|_ldRf@R_CP4i7V$*oBr!gvWpVNQv$g1Z0vxVkeJ28b!g$A_ z%e4r{^Lf*9P59$VF^OoE03`x~gWEQ@|J(Cu{;3D{Lt)V96PRm68!~|-O88`vX$Wu~ zsS{o~!)1VDs*Mop@L?Y1&jfZ5=Nh|pU&b6v_HriTasp-9B7HNpW3 zZ0I2Z?xZtcAeRn}(sH zn)U{`5AbpeXf(aUm<>tbI{L$4=&y0hX)*EU>`1%-huf%ls_T$t-DKv6_$Ld+`fO#% zm6Am`)q&&ljEz!t0Fg9Xj- z1bg(WVBc+Tz%`)q=}yhZz$TKqnR|e^8l6%wZ$Kx%>z4mQvcMH5T_5O9`*pZ5eXVny z_j`kGAXWtvTQqH|iI#(er2KdCxCR9BeFz)G(VZyiH!6?zYLEWh`iaw%H4$*I;WdDs z{-62%#TMMyM~w!QZl4B}9FF)w40Gt^IQ_I~W0fIZv?L0x&(o>s#wjW8o6089+K5CtD~Z5I<^|h%}08SCij;3s-<{W_7?ps7|@ZF6y{Sb&lby%WdS;Iipl^TrNAUt0PO*m z=c5h2`n$1WaN{1`Txrxy_ah)_;!@Op#>jp2Vq%-09jZY*T{XnJ(SKTiO_a*ACza|O zJf#WO1sBFJoQcVfuyL6V`ckP-o&mk185TB~sc}p20V+N&ralp#o~r{VlRu&P3Q@%- zboHDX@#A6oVrC?2Xqm0yaSMD#s`35i$#cexWG?l*0zwZ|RO%Q6nLu0#Tu;QOMi(wh zZQW-RaYM$G`6ih=1bQEolT>j6$2(rp8V1fg4)f3<4AH-D};3 z+B>!)o`zJAm+`=vR|SzGkbB~cek7lNnFug<-A{{poPOY-FV=&T|5kONE2g_JIWo+f z;;?z=K~_nNVF^Vmg+Ps7YFl&JFoA#3C_*Q;Obr~^1%vj05s)03(j`Y58&RYo*~v7s zW+^VMqSQOazaHnBS&ic)qe*7sWA1=XvVV$398_;ELOrrl*7u|~%W1k8M>bsjX*O;u zqQ|Et0ytA_e}2l4i9eFq>S@dX>S5$gqWwWqBWr^Z(Vy*yt12cAnan6a;7BT`8s{rt zL7W9e#h#XpG&mqLVt03c5%=pQgSrVc6|`cLA%(yZ`8Y}T=~3Jd`T`721YeQC4`gp) zBQ$Rr0$z#6#nBOUSWi&Xmqa&ehd>(*=SB5eN6h`}&)u9`hZ3>8cm3rBBf9XHec&yzX))_6&gPfhfStND0UO95-gSlg8968Z1odSkP1sY700s`cxwZgyhx|3ll z5s*V6uHzKsLKSfQnKJL;>Le>2kOHZBKCdSz1JxB35j>&wlXy(OwJF69M|m}!8M)?d zjK2_#0KPKQLx{FrdMS(0rt_^EVJ+)uhi=1%cP4OhJjJd9qGc|{A;!nZgoWm3C_suV z;ulvzze97hKwA$UVpyozu2P(`Iv9EC^Rp4w(8q|Lg?J>SpUhlQImE0x(x%2sj4AXs z@wIUAa3&i`K;%Y9!>K)$nlJV4YOtZ(&Ck z$fz`A3fD$fX~F^vtCK#+5*#&N z(e-oj1Q;z@DjL3K{Vr}G>_4stnj`XbmP?`iy2`*BD+AjPw2$(7-z#QOOv5T&gI;XE z0Wp#BFFGcA2bJFU*%I&1LyTHiVL@gQNtujNfPuj=0pd@hD1$kSg#_d(L9TL9S^Pdd zbE)JGPNT@52x8J1z%m0*eZgy|;%c*g#~D4)p0Ky!x~}OlR+)i^t^QYvmiH{Lw}-58 zA2cV-d^PMb#b>D2Rzx6d>hi8Dn5QKs2I)+^w7Bd^`u0!2={dn5(7>Qu3OVW#XK$yq?{vdu#gG&rbPVL=>jx^;W~H>Lc{*h0uE=(bv&{5bx@_RgP`5rRdVy)iUYC+yafmD>_GR z6NI!GJS?Sskh-y&0$>826+idl=c~;eRT!}q6BQag<>093=nyJJN_r8`1HAA_Xngt! z9TG8(!2)`=tlZpI)EcP#9%1eCLTt2a!%j?A<2|QvO8`x)tCKS24_3T2Ad_fNNlGSIS+gD1(D^CfnK{HPy@)h2>f5vI{e)pJvQ zOw{vD+k7_-g@FR-pmOhcDqyIHjZ_t&1PM5fv0jU}DdYLKZ?~8kNk#jd(<}!Gbd|D7 zYPB8O6C8=pU>g-6Vmo+lu(-eluYZ3pZhyWLrB8?EZhm(JVBlk*R*FkXvTArG8NC8a z?F4EGJAp65Huh#=|3@b#)=dm{=M5ot&4yD&K5#GDcCcQ%W)#tyC+8B5C?QfA9M|w} zLkOevK;wRRY4K$-5#gZfGyBcKrOfNQU#(VSZ}k!0!|!p|O~HHIRdXVioyg0Whh|DN->@QrHyRW}xwyjs1J}Y(heLw(ct?h~neG zQ46LAOl{&tyxxD{z(N<7Zcxn-cH#}qAWdrOMZjvoI<+*-9l}S^Fu;ju4qk!M!BMbvMSlT$K6GF0T3Zp&$fkY@3zrE#p0! zKnh7*AgEB%f;-990;EUe#{RDNbqszGBf8x(q%>>0aUYr#&6YGiCinee_7jNelFMZq zf^_txLGCcc7&63s3Q~DG{B#i+T&P!QmPg-kLT~C{e~m$_&fzqR6p-=ShI$Ra^MzGI zQAS$xWIdUze}DrOo*y4Zrpe{pIEW&9& z+CNx@#(?3@*Fc%vh#iba{;Lg8Re9S~cuNv#$C2xX$T#x)fW8H61gO}ZUnCRb=#Ict za{Uyhv(SV|fKAl|^syg{)PZ}U7>S5$*yPJv8DfngJl+>M&%k}M?U7?;rqPdhi&@kL zz})Ij(^KpwK;c1IFF+_IxsxeageEx`3oVv;jS`f8ni`odUWwhp0FxLf9J7}^QqLF@Gneq|Xs>2AcQ`yloVn0OuY%XnD zP4$zH^!ei9Kq+_~`)y@02QyYY!BK1QI}~S>@V5$XBQRv#t#0F5nabt zvz1R(eEzI3D)GTxsud8-p6^3y%9i@5n$8Q?+M2W%Rs>XCV|`k_NH$!8-&}jD%BR4ufip}T;445TGf&XkTev){a1aop$!)WVdK%Z zUAr(v4$FHz-eN~);98*BpiTpu0%xZN%X#Bb@>gykRu+mvzXSCQGwB_J&AV%*FxAic z$qS!dcw92Q4TQZ^)1Jyg1U#V0p-?LFlS#J>v6j5rW#29VnRBylMD(Q)*$U))n+wueRsiqHPO`RK#7}yOlo;WT ztOMfGO5{f#CZ|JKqEyB^D6-E1Ad;qqy8_sU%n+P__Jfi*(6HF@@ei@nqkj01)rzBB-#AfphoSX!b?VFs7BE7=#j}GN8%CX+6`X_Z4r;OD%io4?spmPGI5N z5DY%~L$R8RnaMn&JB*vHWf2PuLG?;aVs^WYMYtGM(YtFim$w0JBUM??l9uSs5$8M6 zVG0z)GgNM<6p%}q65{XgAJCtet+FGROiux)f=-~d$!d9jtbL_Qfz6P8!YAk7R&mY+ z3Zk^0%O)Mii_IH103X&o76;r;m5ERp!bu+p_v-kB2d;QNEMT-r$b1akEHjz0*#zYpY{X@d2vP5UW8I#_X z(g7Gi>>;i=Jg1cuSet1G-1h?)czsm001@rFUt{2FQh1Dljx8-xEwv< zXtcaEz*+-a-1$^X%!b+=sakk?7Ik2s`%kzeGDC`S_emK|;e4QFqsseJ$A!xtHGYn8$GkcTk~sFzSkeqB z&8Z`^%Sb4LNt6k(cYL!Pl@nbPCQ%PD%yKZ_MSw685J)}niAbqrz_NqB0+G*k7X{T^ z!#%{p1@tnGucje2=I<{I5&@K0l(uyg2L$%OjB9%mc#;&v!5}=2Mk0#_tj*+Su#rH) zc1}aY!w^A{ctMIYvc@e#@Lj8YgIdtYi4S(*h;rUV9^5Q-OE+C>-PjR~pKvOspgEg5 zX@npC7Ey{nZ6I&(byRzR5JdaGNgO2hrASS}aYL z#^@~$sWz~K?XNH4B#1rU2tN>}dlyzO1@NS6dPDaoT@6oe1G$_ElFNAZ$nVM1r%PJs zVCbYs*;<1F$1GfneF&DA>j7JoFt?lGn0lO!22g186$jZM0&*tnhr~QVb&`=r&K{xM zP)t*FQ`3v=xQUwQr~t2lcwSH(6E@8_3t11%fk0)5zHi@&i(`P2G3Xa7C6pNQ_B4k( zaKG^z3q_8A7+QOWh1DkBj@)?Gk4E{_u8|xzFJ#1ZkR4jjE5*g?l)6kE>dvmjfa2`9 z7%I^*arwttPdPbZC8eb4xqD!ubaC`0L)dU93_W*BbXGJ+!X-lDLCn$6OgrL^GsHeH z8X$~bQ~aH0wwrgb(D*^^(`LVRg@w7>D~Dbvs~6@p^VtC^E5zXnNREIeu-&2@t1n3N z+Fdzoh_j+x#%DCf?ks{lBB8MS$Sf&qr=KlWc=2#Jx02k<1cD$m=xHRpFWZR4kUqjB z5vjQ+Pq{GQma(OpFCji!#D7o? zpusF;tcX*vUELaCO|pee8yvCp8SK8`w^9ZCM!}~A$_$xDRn8OIf22n$hL(tgt`n66 z$R|3Z(wrXjittM03h{jAzMn`UDUbzGL33dW=w(dr%;=RpKh=gU-+w;G>%r+b>g@#w z2`R3t{jQk^$Ph&5vU<(EnR@L+D$ei{Y$I)x=+ZzCd7-gBISmhXSdx%yInc_b$WfNB zg9)HZn3<&3=0Gs;lb!buXZHh;gmilHUEAzcA-?fLM4qTP8lMk{0TPljDyW#A2Y0S$ zVy1kYqLVdqy>xX|epM^{YbEvh@q%d4@@d?@NbP(*L_Os3;`!W5a6uAaw;(T~5iqRC z(g5Npw22z?Dbktc4vaW*;_4zKKsUpCi2j5Qdh~rY;ru%cU!_M&pn0s}b8=3b$0`Cr zL+XLPqxrX~*Pz61+JJ!&3e1~GYB|eD`m0CCHa^RhW`;v_F(^R!844wX*Kma3H#64) zc^LxDdH*UZe&(@Mr_l`o6|v^b`h9}^LA7suYMablk~s0ht5;b#JT=_293sGFKz+13 zw@0@cktusLYq{2+S+S&#B#%8v!rcI5iiD(4jZ&0mOEI_JsjUxsMa*5~>I!p*Of>&mqL%+&nBKp>Gqu&~(}{Vj zmAWPr@FUN!n=^D(PrG~c*{fWEK@?Ak)`tTEbtA5sdbif$g2^M;wtxNRE8VmfGAOgA z>~w)A*gGLboJhaDe=z>6dqhSr3)kLRb1;Q!s*ax35V@FGn!!9uSNo&D(%NSF^ho{s z(qG@dpGSX<-1d}aXdDoD45IK2ow%bUX<&AT4-g0-n7{3%m+3=Tr^YLQMy$YjDKljDM|^4u9H z51@*mQjxh?@y295Zv7M~C@E$AQnv>Ns(f3S-8D6F*V14#h@OoT2FL64HZMkVqG?=yz|H$i^1NLw7%QzqHBZq3At?I6?^S#wloGlrGH3Up6Rk>ZqEDxhOMU#+!rxt3Oev(Y~=?%VHTZ>cGJ zJZf7xy+?Q8D$At(OshN14X8Z(2%kM!SN$UX0a zSnuc3N}RP{M%C8VHT#+Jq+K(7ef1wbe zo3_=RcEmcSWMat+gOI0f4KKNWJ=)iz4x#)f%U|j~HK{K4J-Yq*Bc@p+GOx{3+cDzl z`R!BBsk*JymRZalZGTh`4_C^o{oW+w z`t$p*27Z28I*&5G5(`toDsAz!YJWXAj?>03-TIH&2A|#=EdTuQBi3JDX57A= zd@Fr>X?LUJ6HW$PS-K*Bcx~r5b~?GL<%2I>TWin%7`WkbzhU96{6GXs`VKc+&+xaP=B%UsgB;c+TcaQyhgUEFzA}O=-dgb=#2a7PmKN6ai>?l z>oa+r`Kz<;K}}4|hN;gusM5NvuD9m6XoJzZMmu79^%{P-f9DBzuYc=N5%J9BTc^@{ zxrb(+-*~gKdE^BP^I1U?28C3F8;7|I#-s^uw-xKNk+{wC!1;!>P0tM^2tdb-VxmTXLP77SHSEV%G;}1`I45 zH2C4r-Lq^fy?Sp}*11ryeyV%j^9x4Z0t;SVIJW1?ZLQK9n(D>vx>t<;^GuegHvN)) zF6+zgs+Zq8D^JdDQrULpWz#*bdHv9XK(#=|X7ZFt;#euEdKc_2RCmPhU0uGZr>^(x zCpisD9xjiJTWjaHLBl@X=KO^|s)w!(%vZja?Y8T8w1&miuLhTX5A4zT^)HZ%U!6@3 zW0O#wWXueMxC)8JZR-HrYfm*bo+b@H zWjyHO^P81FeurHttWDqS`^0SIv52*Gi)NSR?-~}A-n4Dk{D{FXV^`b$^?G|peT8pb zo|#)dKeV`mPkF6o>(g;>UamUfaDJ1DOQAsn^DA7M4g01pZ>yr2=1^!65FS{htXpq# zOv&(N!%IgGU3KF3lV2NsJ+#%&7Y?eJTimSE#LW?nlTJINZ5XX%6z8AipS}8ohRWIA zTBV)KLPGx8ccO2)am||@p?6B>y{pcS%k}8w(^hv_?8zpjNB+tieA0f{!O*mM?Z032 z+R=C1*hv8uv)7bw`T4Nu)1(=X`^||txtavgX_)7z^P1}azU9uv<|8Mjtu=0=vi!T( zgMsI@)W0|sw+bz+)lwRu;&!w8eA>M9=byqu`xe#pLvI)sa_qXjU*Pt)Z|j|V+coz@ z$q#Fzy0l{lo_zPY{6gtn^Uj-9XXs9PI%WH%?o0gF={(klZ2cJSJFS&k^RC%rfe|IX zFaN09WJXMh?LklD%iGpvdU!tT`TNr2p-+a{R8H(ZXX}r%&u)HIuK)Jnt9^g}IyHOA z@cHWX)5j?!YF8Za@EpEynMbQJDe)hk_3~Ka!y~x(GiQ1E>z}j6p8WeS{&j87QK2C} zTb8~Y&gX3UT>EK=bJo{2HmxSzzg05%$A|Yn_{ekKZ_@EG-nlL#dGn;Y2E0+ z%_e`&k599vKdSqNFCRSFQ+xD1&$7MAdS^TrE*j=J(!=4{yOR3n%5rC4D~Jm4%o`k@ zlK&#XV6JW3bxqu|`V`g`oaM6|ZJH8!$lUg^_$qER0nt-9UM zN`Lq^)8ux=!(1BvvpVVC8CM?<&nrv&=hP%MPYdppTy^JkUH7YwgBIED?ewvB=rE(Y zS4CaxqIK?iN4tNv`~JdCbNzf*(;IK-eg-e}zJFm{aW{=Ko42QG75lIA@I8@G;bzyO zk!7USjEzUnaE`o2@!3qy+TR?zD>Nn{s648=bmE(5Zcjc`mA6^4y5_H%Qupy)L)AZz zEH3!!-t)6tX@fuEy}0xD;XmGfdaF?nWKnK%Pm_-S ztn9Wg=5mL23pPKFT(+Wni&d|Ozx`buS!MrdN{6}5^9nvkm;6@9b2&Y~cjpUR+NZTK z@2l21%BSdMovPV_RvDAJ9vIQ>K>p*-%X^n+x4P;1u6d8+-&W-fonN{tMxy@ZCZASU z)N8G_-}RjLrKGSAZQJ%~xx6mRzp!M~x0Y_I>vp}>|8eHwm6Fj816nU!c<5?uT>eX~ z$l-Q6ib|%T*^GKSi`0SNQE+#p#Zx)Qm4)Ogne9ewVlDZ>`5a>+kNi z)`z+IVN1h9hW9di_}8zxo28>o7N}Ijo0<-j>(DjEvu};d+9cmWA>(pioVk3&V=&G= zgYEBaSASpcot35_>}x)?(ok!9zuPokT7$}W<+rDMjJzD|pmXC>!uPoD+7qMu`e%;F zKf1E=s9T!Nt}{byD(yWR&T<`<=r_Gthdu`%j2hoZ@8Ye}2A3b#`ZV}qofqc&=)#&^ z#^**FAN|S;%2%HAZnaKp%Ohn`+qdT&IdiwR+8`z%tk<*9rBlr>%{ijRVOi23XL|E> zbG|0@cO15VZNadru5aHeEj({$vMssImlrXw>sxFxpK7aowpG=}oAr|i`3@dDHQ!@b zc9T&nzZR4krzhxNefA)+Bz@yLowpyA_MDH=ueg@~;z!QEzkU9dQ#X7Sj=%YMv*PZ-jJiP~ZOW>ti!dnoG_2WP(nn=IeG1OT9JKy5@)Z4tO}b|DKNnN6h-? z#527`K?OmEW&$O%*%i8p=}YDS~EDTRima#29Ji`f7fErgcD;TwSu)aTaKExF1Y;LhGi=b z{d30dMo4+RAE|%tCsoZ+KMbhU-|4&Pc<9^k(z`n^`o)Zb5ZFB26yw!if9 z!pOrr{v^!_5zE@vTu=)w3Y$CQ&M%Fb`f|4a6w03(czkp6(6cP~v45XYx3V|0pL})Q z*LYl$n&JHEzXq4toc;7GytPztfByXUdY#_eE;LM=(dS!Bm0o8Q{MHt#wQV)-MeM@j zvzOzVyz=)n23K7&#i&dt>)Fi6^$dj+|FA3mQv&|`1C-j7<+l(X48$gMEsS?w9p#s75< zxnI_gXlp#^@;1FEO5>o3R$sWiHt_zm@i$B&4Gn8o99?|0`isG;kJAQrexb&kPmd`} zX6>EOp!$}>+QEf859YV*dw@d&JzZFojcjy5k27dVIIT zsRlc`clea`CS>BIrS;Fwc$sp_r>8!X8%x*uhc{e)c*d?iw%Q4Y64w6?9v}LpyYrTn z5B%?7we)zzg}S(V_x7R8?y=z;)o#$&j(YpbY~{Nr_9dil_<`FqN|?Z4a3Fg{eiS)J;y=u>)8ZAhbp->LHs=S-Y9a`nlDct4C+ zsM%RmH??w2(X0*w)Y2L}S@@v-`d=@Hd1mBnY4FA|&(iSIk}9`AhZFy-J`u8g@RAvC zp1nVtS&$ZUBFgSW=IN-RyKVQ5JKsLKSh=d+lf*Bpeb=wv%_ z_E| z4;*`Jj(=dOeIVW~OzY<2Me`Qj|Io!M`OvUA^QOj`L^>xYJV-j@;?#A+bK}TwQ0e5h?b*$kkt5eRd|k2BXa2^Pw))bUjt%PI?r&UM z;I>jrqgBWnt3fuyWAb%M8w|J`V&5}Y^UToUPLDU~joy(u>r|`f?;hIj?``2WINAK( z^wg9~j-LCJ>*<}EQBis!*I;!;>g>ObvZVQqusEJrHN4g#bFHQQ_rw+Ig(C}Yzge~J z(!5u_CiKdvzbBuWr-S7(yZTo%2*iOu;@;YyRJWeesw7< zU;FA@#jhRlDHdCnN81*b4{YI-6cAcaFLj+~e9=oc~c<=Tp1& zs$H+*&8lwkF{ke>>YAI{pwkj}t8-B;-(2?oS{>ccWr^;+L8k`{)AKp~B3x&3?`toY z+KxR|J$glLY5KlPExh9L9~HXVRQYeI=vh0zYidp1qP_<=C$F#R`XReVUD5u!>fu}L z+F2O(sarYq-OKWhKaW+%rIrmJbgk6K<-(j}eHSLU{d_;Has0eachVccw0-eexw6Pf zolyhi)|X98fv@shJ>GsBtx%XQ5&2l`o*4Zff}Yr^13kD|W4wtV&XzMl_L z*9RXeyAfM(`t-adDIHvs>wfMwZ=kI@;Pk1E!-5YbcRkt2qcCknOqtD!MYi^BPE^b( zTfN1wUD}qk?`bwHn*CAuvb%-b`kl`DX{SyvO!F8qbbWEvQr3<6rma8S-PS4J*tx#- z&%1y9Qtx<5rsl5&J(~G%x%PqQYPMulpI@iv5 z=I!iSsRt^1#w}}~vZYm)!bQ8Y%?d;2C|n$NX@0}nDQBDYE>z4}T9mRjd0G3f*ZeDt z{Vr77R$JRuPAUyKmfkFJ)a_?~F2EObl3BUat-V#{ zD;8H<&)N`NmV0mGnXCSeO%}iPxTD^5^_TCTV{BFqd#F&8wygcau0MAw)!Z}=t4q07 zEs1T9MWvM=sxuL)H;+cmwr@Du^CFfYqa@)5Dtnp6L^xny*mXE)j{$^;( zF1y47dk(BvV*GtY&cKlRp5F>TuDH8AI$~m3Nx4()n!*ViH~WQpe?J$}dCTRedV`aH zzHhLi=(WZK{k;{bPB+6%iWx}CoEx3Ud|6GVYJ>J8zYi6Ynso2qp{><41~6;>@MoA_xo7y9lbZZT}waaI=8A)dCE-1>gPZF`j{;Z&RaL8*~w$u@^(y9b?jBs z?B;-j!%83eDGgcnPq1>-r4xQ{Z!7Oje{j{{jJao3QJ?1-HaSMe~oJLw1bV) z{{sj?_r5Z=x);#FXAUT*sVt=2#mlEd$WYH^Ep^>?ay_tUd3t){Xb3b{nakT;;JCYK z2et4Q<3GTs7>&R`9!C=*xAV{cg{NF22kK={@%MIjZEpKd0q$vQ;d}KFe%RK+*Xtt$ zfVATK zHM3f9ZtxS_3uTk0dU0}ET5 zxvDm&Gp2kIkyv8@Fy7UR0M7H+SPs70zi!qu(KT(w`*AgDjT z{{3zp-qqHU+c~FzE9)cNQ>4B}YnNj6zc0vBif4VtWbK_8N+#HMXWWl|w>myuVAE6%jb6X3asgKZxQX~uO-?BkyQUE-G)$}qd~nI)D0iLG z%%n+Sg(_(9#b2psYU=<4&i-|jjvg3S1A)w71f*DYx^OtGc33)$D^tApn-V5#D|zt2 zlqq5G!=;Z#x$_In)YpgAB5%UPiD8l%C<~}(_uDTF2GorY<4-6QWHkPT?#%^sCLv+DD1nsp^t27je_T}+ z0bNk;Q;3tN1UOPH?um?=DEvCq1cvhONI^2kr&#Tcz<*p7eqB&zC?(3{pO%owLfTUE zOwfSZy};jV|H(jE8+;@jrmPKSg~MFh+RP&jQ2>70+RU8|QG9Lia6^d&jL2EM)G(@?#wV6vBqHM`$6z|Xds|h8llu#3P$FqxaRF?xjIB;56X)1w%{(jCw zQ4%Q_Uk{itVPcqMS}84{T|9PsFrLX<<^0(4JL=f z(5C7|Z-Z~PwQzkyl<$P2R08E~@NIYT*HO>wZE$8=3%9zvWnUYZ;V@bE)7LhDYz$Zb zQ{1||+pTLq&?rn%d8$8z5!hbhJxicJ9UaM{&DZJ;I zZg8K$?OWMl>ObVyWhx~s960p`-$$fGEWRf5PbsmKym#c&92OqSz;mK zi`V-;`n&ID)|_@z;9yNx)qU#q=En^~>Pg4eCZz`WmaKp*S+a!rRRcT62iLDB5G>>E zx84|}gm`9`*yldS$uL9_$v4a7Q!Lhj- zG7_$4I2X2>?1gaCS4t z{wP8$9;2s!Kp7Yd0^!w#X{mSK;gvlW0}Ybh>a({){Wjha16|40*{2YL!o_G;5fBgY zxaWli?-#jyhAyyz8pmF(bMmZK&b?@M&JJeZx{?Q8Ih;gFV$0DH5KTb9fbszR;E2^6 zd=#8{UlVqJ948B=2`AO8=8!14o$g7Smhw<<6PYa77M%TH6AzugnjdIOx#;;Ok|~9t zI3w67`g-D+e!(qAtme?Uu;C>*@FVc2sgW?^*kq!v`D0VzHb8;x|FhsPg^hYt6a3NVxs|{xh2) z3!lC@lDpoQ0-035zx&i?NUM3F%SAv0N&%@16%TgE9|PY1@5W+WSRcWUGRa(8A0dV^ zvwX|lCEwiELM#>|1Ke64;Q|*y0eC$Y~m# zeUH>G`PWLR|GhyTnz#0*EJ*cPf1asKA$ys3{_2vp0Nec>=DtUtaS@PbTbuc`+kPH$ zk%`5aS0BN2?;lkk!BZvPALd>RrGR)tIp(%QVg1itxKRG?Q@?eDVWhAD^mY%?$IyCk z;L&Tce*<{*+U(zuP#qE}1YB^7??WjY`_2`kjHAwyq5tBl&<7qa~X+=g^N*$WuPfK`A67J{u0>_m!b(2I1<%2Ho4VWep(N zf65Vqu5aA@GSjAhaLBthZhjdd#GvQjd;diOfdFM?Ay)wjlGxnMy%)^Y1ru{Jz<`~% zvK+7m&<%fu`hL!XQSLvjnab*LZaN)5AxwYTMJgnm{ZN$fc+f-2C!$mY1eDfX83G)r zsSAS!wRK^zAy5^DES&RjfeZpBO;$3Py87*xe-q`ID-;^x+f4+dsuDF50bluLl+ZZ! zf6e$X2&kwHg9ByN>a!*sMg$bk!ZmkS5RflUUy(yRyvGEt)2#qq6O;!8&wRgwpFHB) z3-T;^;c%FstALD#fan^O8*sED!0C@J;QNOy<&gQX?1=&2pHsgI zM=W2>_g`PY!>2Cg-B$HG!-P9NxSC5}T|l1&wlh2eAOuv8tD-I_F#RAx;4cSJ2EGu8 zAWRHbkKEalKo?pgj`8v%rYOdCAf5ara?X2RhxnKroD-D!WT;93S{mRRKO5M?;bh2bb+ z$n6dX&00lv;Nb!U#2f!-JQPI$4}GPXvT>?^pYu?Z{uGR>RnON?a>t$qWZ~3bMTsXM zPyy9}0Ur<#0U3^T6xx$<%U|K{YNv+7T+rIgy$w+w3`cVah21uQnAmPP?L4HzLr^Nh zVRix)ZhaJ^a5zkb%X?Bd%)Q|#Q&Gyqw+{7y$uj{H963 z9Pr!Q7nJiqv!N#i2VHF9)7AH)C}B9P6oxja&qKgGu`g|H=HZ4YUkgWhuC6>$i^gaC-U(+#%W3?x=-m88dno=IpvtPN*U#FWY3g*mveYHNH)K2@cHpPpA z2~>sBBl>`hL?=$2n*0C3J>;nBQ7jh2?@OU+I^k;AwB;2%9dZ9Dvt1=*KpF8&DjPSy z48XLhA9R01PWkY@101m5hj{P(7wPEe#BnSa0Rg{5&{IVR`GDwM%E5j#lia-Y5e?JBmwC{}Vo)3r)nS?6)vA0Kf=CWqy-x7f={Pa|{6Wq2n1{v70 zB?ej8zCA`yYQXlLPh;hO;YV6s)FU=18ptC@s-6-zHD+G~<^IFT-1Z8lA;@GUi(6+B zPsVa4m{JgslmVB$+{B`ft>)m5!Ws89(fJRs9d{|y;ge^glpM$1`2w9?agO_G6E#8j z&H1Z&>pAtFSSmg$0uqnM31pRH!sdU$ejkG^FSw&XgZ`d4$qWcheILZXU;Q8Ni4#wa ztN@J0UvuBz*ArLutb^>2lS;Ud?q1^WwSNHR)&D{)#__;=u~_aq?!Cfm4rwq=2nsL_j2Y<39tNH>rL{8n$d!{rvtfHiHfGZ;F6jF!s{$&U*?GNo5BjWky0k z(kT7@TdmDG--(o4p4VbAt`MWBb^rh%07*naRH%<|pNlHw-`nbzKjqfRaGzfJ1MYL_ zLgsnp?*%S!d6_7sC^JHR57#ak;8eF9=hjDfCl(vTb6+7KIWvfWb+=`ibB)Qrew<~$ z^UNW0$et!IGAe5US=A46fdE-IFd=V)ltnq3dVWwVfz9s!54JY561coR!j1J2o^$)b zQS}iru^1~+C|TjXZ7vc>-n)lGKmZp0YPtRM@1Bxwdv!xrhE*Pq6um-pCq<9duZ7Y{ zebVH#d1zI-VrrFDQFCzSMPY!%P>7JvgczPW&Ff=ihm z1)+m<;NAaG*Y%L9uLsXu%Im9?4~PsXzX{(cJ|I<9RaAwPQ-WiI%z%|97jqq|tU{)W z@c#$g_|^h~d;fyP7p~^ypD!SjReY`u?RoxQ`%B=$ zaFir)QJwm{q%P{|I$Ts2rC+LNB+6uPT{ub?a8X!|g9!pOsh$N0=T8-*ARrPo)`KP- z`;#c;xr?HhWhxpbm{$)YAt3F*`3=!r^hmdR z{h~UBBxHfh>!LU)hf$eVe(yQ2p7QI>dnTM$ufzEOUa7j2iC<>-WsCRm^aN+y& zuU%B9ew%bK)R!1;Ai`rNt91b!BdGF>Qe>sYtHXMu63eqy@sGjY+7 zBK7Yo217>f%9YoNnl*pY%hGTA%Y;3S{WC94oQTp+ZP>15UfJ(`(O6%VO75%*WQV6`l0QBWvfNdGvD~!5Za{cI9RF=$Uxa$UIozz z-aWlg1{*9#4$3>={m7AH=U+&<$Ou;+f!Zbd3?+kl;a0Y9aLM$E!Clf&>O2&r+jc;u>`7@b&g44&VFS&J?gF|goKn8FF6V(9*^V82pk9Yn+;#SqY1}` zYd^diX+yj_PH!4W4$r@{Cr)=lIgHvx*_6Ov!t^8HjC-1p60ZC3Y5#UkLV{Bc zZv_Ouf31O@q?0o%x@hXEFM^9XV5U_0fyxhd3>*{yQ&TZy1zf_*` z{prCuF?Kf!L~}c3RZt9)A)b_^vjh1riqY=!_mm^QDX0txJ~?p(crx^>Xp`bjh^6sY z&aZ;1ARIkmB|^aRo%6_8l8|3eQ?7H~g){l_%`J?tt0R#a%F|mEO6Bh%Acf_`RcOjJ zsPe(hjZ5)Y!hZh+!c;Kiw==6r_rSN-Eg+szyJIQAlxmO-w8!uWfRs>CS%u#($Yww$ zAYoL22I+nv38C^T%FE#T!$;=dnR1}@{xCcO zmfr^u(7b&faZd?wTgwN0uP(}=z*Vm{GcKs{^d~jCg=E=|dGsX7ncslXeLzr(Lb+dX z+|(6ZcI7NUAa7aAA2-h>k#-R`LCKkqVRRpmQp)d*^Nb}4_$yic(v$qxhfl(>d#MZr zIC|m=kg#mWT;hf0_GlCYWQg3O$dPM@yg3Q-=A=Ry_7MV-GlNKIyh8baG+tqnbv!h3 z@ACJQ*tc%U((o-4%Ta5`+jnF+_?uuA0Q9A_|Et^Q@phZw5KHoq8!=NW;B7-NX==>oKF9IWedmM7Qsr! zNGFvo&(H)XAJEF>-<%BywA)tlz?#FcEJ?rzJ`0Y!FT$U%Xy&LNMCj{P$%s5ydUx_* zc#~MUU-0>9gJt;D%ZJmOmLtI5yU)K+hLdNFU53&44|@N!R<8KgEYJjHcdq1#HyT(l zt(9{xYGl!!Ej<24WRQPHDO3sqGN`;l^^T?1ZL#GN#Rg4a-2JdC`4)e#cD`<{5$py z|3U<8NFP98+_r)T*UluBl^DA6*Kr(hEXieCTiD+ev;{T3cEv2vB=VLO{CaHz{b`w# zXVfSd6#8ig1^xrznLo60>?w^H8gz8T=uOESQZg1A2>~g!{Q9jc_|=-3IHH2}uRTe_ zjHB4OeFFhgaPqA6Tz=&&5E5=y{P-||q#QLF)Sf^a7Q-j(d+&pV32hIWEL6E3V;e!L`z|G0kT)B1u9m!&j zn8gu*imEDv8)WY=cyMYujPt{d`-s2v_)GPEO&dFZYuGj^4FMUp51iUaWk6%b{^PM6 z$tP-8U}yrLUAUG+Ca;f-fB@Kzw{sPQ%QZp) zoxX&|Z-23#mwKa&uX6|_oe~nR4W+RlAcf^$`uKVle6f+BPcUQJbe6Avf^i{@lMjBL zmlG$D&h%nvfC0}eZY5ws{e&<*NjWIJJfoC6N!HlGQ zz~CqtMGDxHdFQuyR7}Yj4iOnla)=K|p$woDkc0_G{V>9F*D3_0FA2#sSWX8O0W~r8 z_9+b3vSItq7+G8L!RsSb1XZqtKVH$oQ9q2((Hq+%2#7aI`YLo?Z5(&Xmzg&-DYMkIb$1uxkBY!DLZBIYpTBTzSDxRG5DGdr zgQfHD_ab3rVVd^R5Rk$?(AOte@~icf1qGj-vJwY4>-<^j;jH9m&RVLiQYp!w-)SV)+d+Ru<|5HXLqH5&nOILb_*K4q(QFqEktFU}$#1qEPG7G>GCSb& z1p~U6*A<6D4=y;rftzo8iYMP};7|RH)ZVua zpD8HwYoz-+>Fsss&ko)Nj|BnolJ(6jOwVTAee3Y=V*3}R$F37S#x~QJ%vKsx zGHaYF7+*!sr)B3M))U0R-l89v3~oz~f9yJ&{~q4wqmcFq0y3KN0fX~^0E2RPcxD%M zeZa5dz4u=%c#BtN#imdp0jRC5ar1x#iXtGM4~XuEPcMq{m-CxB=BH8gpr9h4@u~e+ zarT8rfDR8XTEnXLc~p*bNLw=ZyFZ@S%%>Mc(L+$KD{uJS^#KuXr>rg0IQD=78DjIP zs&?>YNA|zi9sYYth7mKtGOz#~KW!CfUo_iIt{}m(`PuDjdA4mHMwvsoPY#MQD3!*F zfOrbXxH9*y=PT|RzvaL+fyyYFGK(t!BSoS7C-4^xq+1UdAcdMRYy9qlI}(2ZwbfOK zw3|*|sswBUj<};EAS3nx>Et{-AHH`TsjQ?wEqSgdir)|%J8LCpxP9{X_pRY`hpyw# zTjtS|lFBc|q38~wdu>N!V%(D>5VX3^L4 z5=%DDp}SuWPDr>fqhN$8gQh{`+a~N~#Uq~_sT7_WmzhJHP}5TR3+B_P?e93smh
j+3G$_ID|ND?8uH0(nkA5b`ku5RzW|F67nvf#VApGu`jCj0X; zp$?V7BTotO>2UbM2*?-#pWyfpzRI~5e$b8WvJsA?y}g}SpF=9^Lf1NcU||HuiIK4f zJD|d@BM{2@RdC9|uX5fnGIaDgxr47p(m{3y0ofBW6yx6!i=k-{GzCGaQ&z6Kqg1lw z=PmU1S^VL(26pzg)0=W~JDIW4m=O@%%&2Y@RBpj7T!7ult*<9eZ$d4+!y)Ov2&R)$SN5X=8n@DC$`UCAj=wP4wl`(T|LPc#HIqJ|HAZ zezul$%Ar3aNxFYeywQjRLcR`8nYEs;UNAd%kj@v*pT&cByu$qP%{uz31>EN#(9k(CBOgWdd@g+7Mk9IwEvE2>U`mxS;{HL zfb%Y#Mf%ni{PLy4>B~bUOF=-2$??=f>p0=8nf&*;jk&?s{QFii8G}>Li>P0^T{z?u ze4=(a4{d2sbHXS-ID3P1O^uzm?{*b{G}O77Q1^uu#ye-|pvwmQPApp~^@aRLY=0zA z{Gx@v9t-=wBtjFMeOUwyjU`pByy8f7pHRxjF1CL$+O&D2p^I!e^_dqZgi%_9H%+-_ zp9x`TOJ-h_ZThrLn>Qx*-x~_Z?)rd?MB#Aln9hR9Ki{QPDk}@&Ik2issKX;59_3DX z6$(PDE!QazzTqBsD_QcZb<~ZMeEzU?JhN>c@ub@Qs2`&?Yz$o_OUVNw3f>`5GSpR! zB11o>Y*tAx-fo2+1`&m@b7%(oFhOJtax$_l>v*c zxWi|rxA4ri`Giu+13w>W842PSdEUumML;wGWhR8n)b}mVgXTjGF`+)CrLF^ntEQ@)go`RGmiN}j0AfD&{kUsFl8p{0^+hY#PcFZS{QDO0+DyRr(95ZDlU%zlR z7;2%etcH0fHsCiPWC~6`w1s6mqV#8huHkopV1%k5tOFa3F0{VcI-# z{~A8`^;w*M;Vf9RmcPC~hm0lpRQ(Dry>b>H;pVmcY0JD}o&QQfK#G?C$u(4%7Qb8c z3TeyD_hYD4>`Uj&c6Xyn1AOX%HB?j!<{#IP^9AVc&-2SF0Rb5z$GNjX6I7NtEV*xu z8|fx6b8dU9PjOn-h~+(!tA=LqU^^MD-n9g`is?#br+ z015H3NWXhimIJRa$yn<9#@n+@|MpNP)Y00%(r>dp7ItGmE?GuO!l)YI&A)FxP>&57kEWL@c9E@^GIt$F3aRlDx6vdKQvYZ zL>C}^@ST~fIp9cme=T^Y5hDRx9mr;9;eaFIJ3UMJ%JWV1W`>Id89M^9FZt`5z%k(a zGgs%*&|flrDbr`e+b_bjBjNp5iu0d#BwUtS%8U=eyK4s0(SQG-rF{AMCi<-6{A010 zasV&V2go{Dw!^j^F%^A*pgf>);w8#T-Q`WBA-vG)F+-flc#^#!U^AK zV99;!SbYC_{Dxq{_&Vi)Su_WNqGCJny1H;K|47IWfB9N7(Vs*~W|Zx^GB~;n6DQP> zNK1qUK_4`q*UYDXp>mjb`AGVD$H+ge6cJ4*uk6uem^7h|lqE3@SXLr`f!ZmJ3kd?g zf(0P!u&G_rmyz6j>pGt6m``<$B$JogTnH6{Ev38jl(^sB_X~20ZGU2z{P2v7Km>HS z=B)+Xpe^MW+ZJ%i2bQwsA1XShMC>eEzFu88so?GtwPwTM`b}V&*GEqaYypbKZa)%FbqI95%E| zR_>h7-2Ikw`Z=?>|MnJEcg^GD)yuFfm|O=)<#$k39Y*>Kl(Bt$7L1o1?x^pY=M5cj!8n?U+w03r}yFtDIYP<+~KE zTSnG`spDa+?LRElflt~R4#u!rlSke?2g4_Ajk?laUy=f{WXTeGdU}RcK88CHcUNfV z&Yfu50Q#Zrg)FE}UPO&IDd#K0#Sjof2Ro^u9i%R-Skg*GnZuI%S`_?cOYXjLEgi8K zJtZh0BOw4@{*k}9`A2Lw|42FuR=gEtxZ?WwQ=GvvOGeBSpdJ0(x{fx2uVoKpgu} z*#ASY?PZw!A=t12HtdLV?xrUCvT>CWRu1n3T8su|Vs#Y{-5uBoO6Q-j;sc4mWa&{T z`92{1CS3Z@CT^3fx$C5*9DR2aDGScs(M0tq{4+96z<^(0yqY)u4p+R;L@XJ1bAybG zfOum~FX#g@-7P%*b_7$GoP0(r>6h~DFp!;sr*@6WdgqR;zoLISfkqa@SzF^#|AAc`RfB~NoOTHcDB=-8py^w8Um6(=jG)1(>i2-mTX!nV;i@% z(@-Y4<>s~gWy35?ErzHOOstYf%i*uTT1zS;*}h{iZ${w1H%Ll16RNEc5YjMVANhbd zj(ZBSYlikBVA5HY98DA;F{Si>iR%A}o0qfr)ke}TqG)JP5rAxsWI_eVtj)6ztRZ7b zcJ6Ga$4#O+W(4G=Ra(Z*m;qh-5YW*JqA-n$RM!z8bm>dm8IzY*X&gSfAIPW*$VkeE zN4u+pJoU%L;)LVAC_(K~l@hWyEOe@|97pYdHO<7fu%*jtq&WEMkmgQWf_W!4u;P(d zNM;;DS%*;sVU?>{N2cu~Ik$a<9Yiu^qicfePTRnD z9+*aF=hzSs7_cYnIs`)QVlD>$q=Z0u6}kp~TV+5UeytsQ6p8~RJ-fd)I{$#9vbF{d z)m=)BLh<-(LY;bR_~A!yFTi?Roy==xltMHbe?x-br%nzwP~pQt9W=Myiu!=mg)ud# zDc2BgF8z6*oym&dzQU%MaytEcN0jbcm-El=`FwQTa&Eb`g%{#cYHBp*PiW@s%Nkk! zPz#PF*$|WTrv(+`YWZ+wGg3lrI1I5O2tcj!0m)<>ux*w-){2mVQ!Z@e*LSUB>ZI{> z_BlAfU$@Rh+`W?XFISF$Xo9C6YUPB}8z?K+nZDlycE)Xzc_EOa`hbj5{(iUoowqLM z@3APA)e2TuegjbHo?_uhu(Fbk9X6?~pt>fEKSRkrAYPuILOGWG_7yhnl&oll zfdYb1ZIN-{uq#Ynzdg&Lmz!j4Hw3rP2c*RQ-*xM9{@xL#s@ln&aPBjpDmZ}pT9#x} zrzC5uKJUv@K*m!4>pFYIIMdN(MdsxRA!yII$6RgV0vkjg5UwXGX| z_iBXRRBUj#SrHn^2ct0mNN*DQQjp2U2>CU{K_knM$h0E_9C1U0$|CtliXjlOSd4@Z zKJlXnf4{bclWvdD-48uUNTgyasZU5NUJr3t{Az@Z-Oh)95TQJz2E~(?xA2J{MTqsr zNM=SrKw`0idX{u|xo6x+*s)XD@V%S@h9Rh|F!|o+-{YGbQ5UU< z$JJRVsbNho9+ieb6h@(Z;;tt8JOy9`{_%c=c$E9#&zFoX3MHSvV?vn?S2e8W;3Hw~ zT}||)T!-wD%J1?g0Du0lBO)LIg}{Ye?|;MRBA||BXH1gHLLv?CZjSMW z-GC!wY}nF>&wz4&jMEy|^R-JN{O#d&Xb!yBAxUQ7@i!Xj&&Jr=7U46~TiDSaV*;UJ z$7s771+%!f0pIOw*gp(i2@PzGvoDxU|J|$j&C7=q?|10X;L*+o%sbao9uNc#LDdAM zhzedeJ8#@*J z|HpS4>F!tKzLY#Do{U4}kV=lUCE2z;Mk1{?X5&ISC(LT)>z79O+iz9fZ|smHv+%^5 zjr62quBmi@&%Qhj*FzCoZq4$EYfN6eY2TcN3u?YF4Yda|bU5NWrt+^d)Y&hC79w`P z{Xg5#!nA7D{+qg$;w2r`u6=2C$p@sWra~GWzO>U7n6cGJy=`wdjt@3iPj~d84x+Td zNkg*LIDYFy>uI_IGYr$0uBxdhNx%D#Q9%ApB>N?Cucn4WK)i%7<100EFA=^Y6^v#{ zl4(iv&M3i3&_b%gN2~c_2uMwBcu4+{qkkGDXhOLV)RvDdL!c6L*Y0oX#q*IA^8u-; z4d)V0eg6I^PhQ;2r|*km8EO~n)1aRINTSHs~jfsE4b9Vu0&z$$}zM}Lf)o=lTU+xP=IN6r5jKU-l@R_^1hYct$_ z;Z|;Z>>w(ue2lC1lioi3f#jnhAclYnA51EDcTtWqjSF`Ym=vx;2B0?s)-EC-!$qN7 z@Y@AU3`0*^oyAaJR-C^`D0sKh4;L+2z`b88Jqo3e{|{#_WyVo(!NUs}Uju=$@_%9h z_ny9#JH=|gw|*4<0wztYqoz#b*lDXc`|Gp8mOOfY3yG9NGV8FaBTA@B!P*knQPM9s ze!rERbIB~8S-g(z?GBl&%2b-Qp{hEJkx^}-c8ws5M8VY5sBDsD0q9LSyxj&b_C`r8 zTE*8dP>!e8?Q8h+<~d}t5cElUQ#Q6O2#*&?Z&fig&bwe1+0@JYapT-UA>&06kTI0s zbQg55e`y+2_+5WRU{jYWyY0Yd4{Blg&S)+Kd89ljUKB>a6h-B*Y^bgY6Ud?>hNiCM z+)Insy`H!5<>=pZ8t&is@oBi4YZiIqwyb*~6e@Bo4f|cmpo2#DMEje%ny21(+uw7* zuAdO5H?0)Xk=lPa+JFB!PJ3c!%9d^I*&Skk4SRx(tnKydQ((q-@*lZMMjG77SchcstBoA9{~B~nJ+rf2^%*bnK}wif3<2m+ zn9l%AIOb}T zzBF_vp(o`=u;*3Eo^1b&1y8&gVZnhdXabI^Y3BE@M@XbqFio-cAC~4WlyzWjd+SgA zR__LkbfO}c0|@ui0g33he8IS0abW+%gFkDR5`qgQC?F@Ecp^)dECDF$2a-xAm~rr- zyXAzsFKN{(Emt`g+`H0#_P8$s!{-4B7!a<|2>O%<(fxO~uzcHGGFh9CRWBRZnU6sM zDK!s=_vtePwdG>WGUQn@O3K4gR~IJegPIC>>ilNTekjVM$xxL9%Mw%s1VR7EGKAdl z+fYE6f6jg+O7r)cIpMx2oxPCEKyQH$h!AQq*{{B?Xc-;p%9mD%i-&-eR~VF+2dSzK z;1AgZ13KkpK|+;T%0fPTp)_y5{tlJZ2UA{dQdMn|NM?pD|7d5yRQchyhNVnD3UwBW zfGsb;l#jS|oPpcYtGS|e0rB+M&tfTzLb>7ar5yZGg@AOdhuUhm{;-kx-<(~|HLow= zw8aak4Z^)&TFP4`Mxp$>_H!aE7l0;A5c~_`<9BcUt z7oZBC`tJE0get?Vj79lGZ8N40Cmq~E^Uf&AEYMv%6RbDi4JSw1^=7WC3zM>-!Y{^N z_aoH*o~D2IX}I9d!5Td4I=~)up-DOm!pL(@-V5y?tPHcVUA2W#V*3}RxeMi__Sc+u zy5Ezg=cJZresxW-!nTE+RDGaRs`3FPA|Uxn$d2vXhTQ*uN%-pOG zvv}a%bu3;xldk?92qYh>REuqQr_xN*)_~*FNK|SjQi1Bgg2-n@p+_8Ii`n(SyxbNM~BJiRDEUmwJ~ z`jIj)Z23n*KnzWlMcVMr-&Oc2021C^uKsmwbwA!6r#r)-^DhRdG#`w911{-p;&x{> zi%wihbWsyXm2YDt{*DFh9dQuw$VIDpeUoO$nwBR!G1!C5L6h_8lGAj)PsTCgb+@m`cc&w+N0H1tJv!A}6SYp{cr=C*O?F zZ3vQe4oC-EN*1p_fMiBuXd9Rl7JTWP2FSwp?KU+v$~gapuQj*_f=K*#uAn2~uy}m~ zM&1t8i*g!M`3uIlsYAvOa*{$hZAa~vEeDo#L^$E#mYk1UG7D3R?0`FCu_5zaz8v;A zC2zbdMk)(gpEl;YAF2NLChhCfa6NKdgy5K~O?uM`5%HS?Is81@TkZeU7}~!mt-MZj zZeL>=a|AX=YLlF>N zK$%~-oyZ}Xwh2{MW0^9Sq{}bh#DiN{-X5htGmO1+7#ho2EPF$SqCP0$FhLWJzdy>; z=Qnf4gHaOhA$*n90^5-z%5cJr7FNchI1-NeNtCjnI#u{LXEk&D{ZT5%siWKr5fB*I zt(02Eth*~PP59v-W^?N|Ht@lZswkMNAD)fWB(JZ12cb{Lb|jzwrq1=Jzk@Gu0M0I) zhN}s+1q5_=;b6cS9F+5A$_ArM*?x?xp>jIosWi=8KzWM3`{3GyB z+n@zO3i!+e3($a!sT8PkHwtDXACP|+{~_&PQH^CtG@<&lZVYaJ+f_iSf^J*c5!{MQGO`#m7lH<8f zb@qVI#OcN*>ot}uD+t}Gw8V&9yGE0x}<`cW31{egQtc{XT`9ki#Dt*d$`&)vmT z>@#Q1WPOn=r(;z#X3m^Brsx0NGz5VVDlP8f_)P4ZTW}o7tWYz5c)t-T;qi_LpF6Y# zfR9u)^Y|N)0q36)Xe?*3>g%SGF%0I*&#s|bfLAZ<8kG+hVCWv=yeD#(Z41EW-Q$r>bLrOUN z$JJO?2aW@#AvpWSYBHG)biHEO@{bg1?x9f~qQH5qfZTJ^l#^KT$42EpC=Un&4rLl8 z@CT3s&kfE4@}I}w0D?9={pN?UZ+>BD`*#j)f7=a7o_E+fdQ*a%Z(7S^uQ!rN$Jitz z-U3h7j;WJJUEU^8Z-y`dAzcfIP$sr`XAH}g`|-{QhUWSWIv`~`zuVb}Ce-(|-Hv5L zI@3eYZ}Pw^2O&_ohJN|-K^VF~2!U;98COu1@a|2)A(u~7k(5H2qcXNq zO#E)W>`MP1sr?^+GeUnx`3^qOuI6IPiRIdV;uz~cliH%2P9`KKrPoaiqmXS4IucM@ zhC-H1*p^DKGk54yGN~>7?9N#*ds1;Iv~kTw`T z7Xs7Z>32VY5NeY3`9UuM0of6It0ew=ONNp73!%;^NZRnh8$Y3Xk?UQbk)_F?yS>W6 zeTSpo>2seS!e7GX?Qb%5;vu_KMoklBvtYUDJ*2zZNd%fEb9qY~2XtMsy?to;fuhJn zA&nHiw>x&_|Bd_|loR-mHayQ&2Y!r|uYEYz{`I=+Pz|hpt0~w1lXaCxK@;%OyC2O( zHB{MxGGq>waR8|U+CX2a0&ahQHCZ4lND7GsaO||zJhQQB;HY*nP)^-dpuF#frc6*0 zqt$6#7L{$OkO9?40Xln;8?=ZR@J>*QY(gIBrvV3?8_pl^Zu3VY>a?UyD z>~Ub~{{`g(z)OTyNZzF5bs%qN>rGO_T`z?S^PUvrzqe!ZI)B{JIEcmMcvff1Pwy)Rz z6uS-sNu}iI{leS%Jr1Ap1$lns2hoM3E?myr-h21tB{>d|w`=7PEBm`uT0`h+}GOe6D zSIk|xa!9ilyZ(PN{Aa#DpH4dItbI~v|3|~qlTSVLn1KBxc;0b?*0wwv>-Awt zKz|v$-vg<4kHHA`6B3e;?at4d*rPfKp!_{_sTM&?VhN2zGDQFMXR#_Fu$$#C^}hE| ze;K^*E&jvQ|7h_eR5KrL}%J^su>*&}7E&JB*uVy|@1yXKsm3s6tA)*BW3~XytX+iB+3c zY1@-qbh9I+^#bF{4Vg7UPDOc89ysAZXWS7Vkgq+nO5475i*9KttvqN*Cv8a0Z;8I7 zB?`YAPQaNsd5S&f|6}jWkk)*_@SGIh0b(2Kc8et*y(dD%ka>Do33H(s9j2#*5Ev zi{{AGE61~h5}p*oF{J<lrD}N@&r;T z;Rq>R&v7jbWnf4@^keIWF(xGcCP;0A4%^HBA%|iIeg06kLI^S z+4GO(w+HXP<1=-OmNqRM{PZuLs$7NYNJvMAX!_i(?vjOz+4kk_V8Z$TbP5Bbu&Zwu zsr0B^e;6#?VDYUK1bZkX2to}O;XgI}qQ7^Nc!HVW8xp_css7vbbUlEe}@J*ZrIG z0MZNPWlnZ?bcmzI4YOvA@@~GByaTWN$5UvjhsSQ&&bj|^3ZX#xT7P(kGCzJ2b@hiQ zIc`2D?UxDjr+_b|!0;p9m8XiqvhD1g!VE_ejXuT$~MzKclaAZJtT zxLS=&haUt?1`;$<3uH2!iJzHR=OFmrbog>Y@G|~*47tB@7X(ZOuX(Ce0l0V!rIoax z9Q$PW^$npCjz5R;PPV~gFuvg2j2kDVfXB(kPzirl{=8*mWG9V{4U-0hdtU9H8X2T3 zl}R$Wn~{;7`>`I=;U6rSh<{WmAOQK0snF$eSo?4GF9A^S_WuaI8VORUu;;i1AutiJ z_Mh!vzvDCEQ-U?J_*~ahV%-|&0bDR#X@|YYQ5OT^D##aLR6@+puMVu-?h6s(69+#a zZZfGO`uc-kHHwrvpj%eF*7Oj zHEz2lMQkekfawXDx~ECdZafmw_lITp?dJXZ5~d$N6%?FuU5Xt?g#_hkWi6ef*p+qC zO2C7OB919FM&8!n30Nm7zzUVlO;8XjNC7uZJ$KXan}bytL%2dOq*<92s3)0B&Pds) zMzlgw52UKb7eZ&c1d6oF%rg)x;UAC!(%s!5s*QH7Mpms^qaMEeUN2=Cg)2W5Zd0Du z1cbl4#_kkg=t3@Do#8niLYWXSAV~bR@5)bw&ci_Bq43~}|FF(7q%mZLVyW<=#Ya{A z2b3(MB9&fdJsobTREhOaNG+9Mk4F3}mOl!>x@RvezGfJLMGGa5tQmxe;A`L92A(39 zSNvl4Dw0{<%3P@$E8$A055r|kAK~5a6o_buSW6q3;a=YTP8-|a!hJg~Vk}?1D`wJO zK=HU{TMS*v^?a|3--X&KIKJ}WGYkbsS9}dh&71yrEVFd&293C0X?O9MY$uh|-|;*c zn_~VUQ+K0%A2v| ztk7a5{Mr?e?hdhgXuWh^e8D`?bi|I{yOp_QnX{<%f|{DpOeU&1szgG#YyV%q7r%NO z9(Y2e@nGFQ7dGL+Ri6u=j0bB!ZvQ%n`55>7KO-mMfHckiXsB+qZRu&*)2nO|d?dtQ z-;byqZU*9l3oa1r*RL;5`)J1x7?1z@zte+n6yGxqffJRy;a?2ia>iD!yXj1AHrOui zE!})`+%yizY9!vH4&krMz*5^FgFgh8z34ASlfA|aQNp#;fXg{EKA%)b(T zz_z@xwU_t*2i*PXE?iq%@%U9GM>6m~i8eC6)gLqAP4jzcj_S_4NNxEWA-MYE(D1Ka zd}pw&$kaq8!5Tt5fe@re62+>~($=qC@ufD#a+*yr&4hmKi@L|qa0asZ1h4#b z8!dJ4(8qdt{mpF*j=^XqL4FDbLtYJSR7=%gv`=& zfpDa0*w=hHJg2!ans1zUa{i|899`KjN25%~0Mt}$VG4OEG9Xthf3(PW1RpEL1qd*t zpgtma=o5o{b!`xgF#gz4UjeBWKX79-#U{MS_@IpV+&H1kcvs0(GARQvH%`3;mqxpI z|EGWuT>bC2XFU?7 zSceKhn#qvl%$uM-d@6;{ZzN<23btb1*3(F46GazHEewb$p%4Z4Sin_ehBuZpt7Ya2iIl2?~x@K=O5f3;Xsa7*3Cmk(p}#DhJr`#?QCm zdGOFjy7;Tlw}A%(eF^YjIFaD5zu3kPKGe%dBB5P1H@5+B|A%|&-#YhE8~siC?S3?e6F(6@FT?MpgU# zXbUubsYoRYTnODNI$~0!;d0LSpvqdM76ziI0Qt{@+w(w5u~*GN2+e$a|Je(fKesej z(*Vm5W$Cc07=K|Jprqiw7cS7}%hlF+W4Ls_s>L^?_P;j8V8duTtv`N*Q_u2{rtZD) z_(sKs(RLOsP};pwWlHX(-H_+R37gR6wPXErm+yk1APUQ`mg$!4J}|flgEI}nWJMs8e)J4KmVuRQoP5v+QET!H}&d^z=6x| zY=;8KXq-9;Mnqdf@SqiN^KGu%V$Tjv3X#s+Gnt%YeLeq`SLAZ2kFqIn@7x8BvZ{f6d*h zb>1@P^w(Ek?Xy}r8W<3%JnAj@(6O5NXjqKa68x;p`Xx}e5Ih?`7Vg2$!&i5&W;Cz+ zhfSA_H)95*klSTg6zZIL`7H|>$a^R>-d{AWoejHW{j%AH>9RP%^1A?#4R*6N-p~w1I$ux=LyRd_IF_= zZ4LkcAOJ~3K~x_lIqI=?%L>LaS~;9f37HCCN*Ffa?noP{5BBmvvWQf zaNe3WLP9Stc?WDS!C7nC@H~CqgwlR#$Ab|8r**VpI|&LC6tl_Z-#?IG*nm_0V+vr! zC)yAsIMaX4knqYiZAd>G$8{6D@)KC*6#D?AXnlh89Yjo`fB}K^clUVGXVOH22Pqyx|1Avt{_!ipE5P-C=;X88 zR+29ZG@tCG98e619!EGj@vQF!gVM?kS1n|qlzcP{CI+RqO6L914A0$J1;}V;G!0U04PbJZL?p zospcMEkG$YCm6#l12Vk?o4=h&)EUyL14!>0O&^Mle=^ycT`#>`qZj}WNgF!42bYE?!%_O?t=7lN0qYD^auTWR`{Koh5k(50eix= zKOF;N;L&7FGf;ucnq+=zC1l17NVuuVvq$#j%s%U!eX+tH<}dKy zaADsdn0?kcwlH(yrl#3=iZTYa9A@4N}7t2$$HLHZnsS zxcVvu-|6CiHn%b6D2Ll)I&EVZ-ZHPZxXFJn*@o?aWx?y4dwKV@Xjaq) zc}ExD8){=LuLIR4M$A|D`|B|nLc5_F!w|E3F%9k3%3E#Z9H_J4bqmMihwtcOU9ydA zu7n>bWYypY7G$u%M*R6-?$6(G;d=um{7|Zw^H0|R2YR_h4`QlgZFiFPM#Wsv(~p-BxaZeev@fx0zPU z(xInb$Z`0=HJ{xfHdIkt@?9k9jiZg-G-H9 zZGGu5JGE+qyekTT^bn*im&^0VLu)yZeJt)!6m-N6-tQ)kS8m}zZu zISSW$&b&MkbAA*Ap&HMbmlqVSDNts*+9S@&(I(><0DS8%CQwBa(gUSXt|A_vgOyQL z2R@cdbqs{WG@vOeh=kywA8h3fZ(D&Wb+$$-r)sMHSqlRqU>x=@ez=X-y<-KCsVZs8YuFC^07L8P`yq?6*$)iD^YF?hq0F0Q^3L`X-tW=6IWYd(k4YM=m@ z%*a+?NIsM;y(DWXcqQ>F~iXCRTn)ofH^NOzayt&5n}4b?;N+!Jt`)ZSH^6erwQ%wWwX*g^1|(qj3=>X1 zTW3`%7oyMi;CZFZT?%b5opqdck1RhGwr_xVOB1PrW(otDjsXdRP`|o&H8+Mj5vGp& zm`LYl_W>S6= zxs9K{a3(_|gN$Y?voGJeavSend)od7uYm!Pf+BWZ#2}p(-1pzxFhi2Jz4ugZzjX_1 zx17#MW`LYiyBlh%N}Tm!cUmc!u{WeP+0MXzbS^_GHx|c9uMBDu=8-~o8Vn< z2eGb;@AkHl&*_cNoKLqNDXE&0{+AfJW}y%&#~(xk@3cd@;t*e z9dW2LQs$ll)+SGQN(trdZ-9A12}^on?kNWkvl0X1SpI!0;e@jQ1=3=F^~-?eE6}kb zw*JoWNRqKaZ45||hMNw-E$Nkf)as#bp}y?1{aWEb_=?9?z=MS+mz0oj7_MK^iEYDY zo>)n~;Ipy55;8Le#8@w**|DfJ-8r%j=FOqR1PlFqp98{l=NQ?sQH=G43a4mV>F(|j z$L&}z8%B2-$sAab#qOfh{Q_s*9b#bny=Exa7x7dfZ0wcpiw|zIEn#>mN2+-5-CpyO zWzOU71>Q_+ksN9KBQ1diC?!Ngg65cH_2O=tnhf54%~{3tPutx{GU@X0u2qa=JaTqz zn{ZVOgehr^N-kacD1Up?nc4zz73u%l$U{3WWH9BCwa2p{8}CYS)-|iBSk9wL1|(oV z8l#d+m#ydBH=RkbF^}W&jaxVK@ZJkC>pbc$Rg7z>MJnM7bS2WJsP_2^1Md4F{Cc3B z*UWp=pX9{LO5fGFEIhimo%Fgc-u_m2*Og!yy`<9c;NEsdbJ}eXSWJ`6fBw99(c)hn z>Y}~@-u-Wk4@C0^8#xZ%^d5M49bEGNDon=z&bvDR2h4xz<>5>_Lm5bnOph=6yO#Z^}2Avne4w5_4x2%(p}a74R1gVe*sF7S3h zd;!!Q0}D^piU%IF%!T28n73Ge+;iaLMh{=v<;R8i)s$z%fb4kj1=A3AJ;xM&KR@n& zt2`Lhg!ysUn=Sla?KPI|c=3hw(itcq$L&}z^Sif21(}ABP{MQuGDBN;Wm*TeJ9~zo zllko4XvoRT^;&XIiy`Z5<>m6q!;MMdjTJ;b{mkH4IQnF^{|gV;P95Y$QZh0@kvNL+ zkF+EbiDK}jSuc6r$&Yix-=C!$Tu49aNWi<^dp0;O#%=4lXTzzCrE60{rn10`3Xo+G zRR(nphBkZsP367UpNVtZqpaPug7lcHaTR>??c0E}*?3o}&%h(=Hk8RiGp0Fp9=;11`<$Ir~>D!SNdBi z3N}2mGreFz)#vE}TcoR|L1BloyaDtvjcl#lL?4$=3_Jt4~)Yiwu<9g|88^}5pF z9c2dCx9`~a6Xm$HG`F^8M^p6u?>(dU9t0(1zdkHzMZnGYihzPtf=TP_prF1*f3|-x z$%r2aUOuR57!Z715eBuCfcU}5!&m;elI!w4%vaj&xbRfivqdW)!97toUyo&>gzM?# z)7w^(^@CG|sFeZf?htl1FGE6wg#{Qel+}LfK!&o=8UkT~^i(*P%}csFM9mxS$P1>W z(v8Oa%r0Sqv(H`OIC}?nKR=Wy7)qFhY?GLudwS7A*cUHs2-aZffhYhky60M1d(dWV z)EPn42`6GZU^)ZoXSP;Rsr5+XA7P2d<9_cE!DY+VbHhz%=_|3=oJQ)^-_VcO-*g6i zaT5=|cmX46Mc!6b6{DFh3nFX^;teKmIIf#(-g_2Ec=V^6868wycJ&I4`{hkM{NhC< zvziI{r_NRU;ffSzUDHr@#4v0dM$-bK1}t6}=k<{;-uFp#tiyE6xu=8GN^NN?OFjV< z;C-J0^|4;=9XOwmguxS#-K$o4<@n*jE?#pE#F{jNAj-#4?s@Xh2({vWbUgm;x3BUH zSvLP@?eq5>y#|cC@cjV_1u~;!L;m6nSiiBC!AJ?8!w^jQQjzYC4zcx_dqNT6)wk3e z@qBoH4TFSU|+dyV{c=u>5S2Xq=Zze17b=Yi0b-j{`GUgYDLF=`LhdZ^c03b74&DL z4NbU_QVdui)%Jo3;!l(dW4j?b5Au2N!cE+@XEpCJI*}4$^YnLz2cYE`h#o`nzG+wt z3qAO#+rzCpS2I=sPt1S;5vC_RTS;RwYk<-T@jN9($eUt0m_)iegyrO=hZmD|aLioj zi{!Vs&wH;{%1)UMN}ytHpLyxPT<3nX4(2paG74ST7cKnWOar^!GouEEGr#Z$p+NMz zE9$*zDzzSI{G&hy6A26h+^EpKM@+cy+nZ^OOD??lEbtriJo?ZkE`0r|eE*xhTz}IF z3b#JWcQ&8SXx5|POs{}U7lTkA5xn)p$9ezt=ViFrf&?M00Dkzpo_maOK;XP10tev%BSpSALF{PI}7*S1(*FDgqKW#KhMX1 zGhFu>$baB5o;4N_osV(q0OB!uVDrxE7bv!06~uR+ffRyx#p-On|30>(35mlR6!Cnkek~Ehfb?jR(E_*=wEF24khx$fSK?ugtNSrgg7-X3OSzJ{(;j(0 z$tX{RQHC^uFqlmsPqBZa0xL&qI#z}?#W|EOeYZ6V^XEhVAjm%NIQMwxM+@iZ_xh}| zO07fdQ;R0K>5nx2k(PKoj$uG^RQOti-uTG}_ND+_RNCQtw{2i72VeVgFCVz>bcS!~ z<(GXI78`y|B~x`{H6%301d*WlgYYzF-eqT>N8a(c^VUru1@FJ%bk4sq!6nN#(LJ~t z+l7xjJhK>(AO@p3CWu%Qux*bW1B$VN;^ten@T=8#;dk7k^~D0x|wvLT)Fl`v&xgcHFzVc>5>xNzC_`J|CV7Kl>8A_Huo^ z`#%YPd9hx@C*p^akMZhrA#B6mL0EP&ctd~%vWb!c;s@Df`{B1wLH&|;+&ibie~XX* zA7%IovJN8aU|5Df|Ia{v7j*u(w)wNCi*x5{1I!%(5z{UsVZrWaVc{HDb{uSb0^)(u zGAsMZ&{Hp%^)b~jGBVWrfe%k@e0=o_n}4tJE}mU?+|cMw_ut;R$~;gvOm|0zAexuT zBN8#F+5r3Ft($wzaLdbv(<22Zw>`aThQDwn1|)F9M8ak97?qChFVUV0k-8@8Ot2~h z=~v5uNTJ!6FYaEA>7UU^y$;TP-{MY|p5X_>1`5YSrAY06Yt(?$gd&Er z5HOhXY0(LjA53X*VJIu_7DD`Cz2wvxY_!27q@G~BdHiGsGcc!~%8HN)^Wu;QIX{}; zi1z;~Sa1yNaq?TtKDo5;;xxJ2M;iYK%7D*6WW$2&LIsXTp`bK>kAojxgqL#}NxQ7w zb|x9OpKn~BAZITmYd?wOs{Jo|Z@fk@6$4@#;ASQA1VDH^`oLDmI(W86Ca+k#{S0hZ zmq8!6c{3L+^!VPBi^$pAai-`7TRw)VVldpSM4ku;#iKvl0vQ`G@A(x^&tR;e$Q2UU zUX5wM)y#iD$KWJPcyVtVri7T4z?lapoGid9V?Km`*B9XTzf&X<2}X1JvUHp*h8YE= z3us+;PA^~mLmPQNW2s^{SOvK!;o%41(tpt#@h^V_Z~O;}lgtnJtbl?a+zIRUv|+mm zUU4i%cH+T1z_#Jit991M8~*`*_BpMDyzb5L-T#IM(&uA)Pmy(TeHK8+_@>~Q6r6T4 zcq6c95Eh*bUQScNDg#C{xH;JT4D^dOcJG)uzA14X4+G`T{|SHo|LV{Ght zdLC?lLiffvc^O3FuxL3v{{$R62bQ+N|2_j=^ZD2*J^vY8K7W$Z-O(Wmp}dqhky?z8 z^XBe+zK}Iq_YOaoKNv9}MXAvMTXReAll3j}IcoU1GCrab6M z{fr#1))I_3t#;x+@!D#zQz>9;5yaRPjbMW$D`HId=`_W8QiL|`;jn2ja7XeZdYic7i)XPtQ;Bm=cOJc2UWCnXd zDCWlFgmZeadh2mr{BTD*u3xD%Y{G(haWVxRi9S}=jW+Az+MeE&8^8S+Z~r^UKj$kS z{|I=H+X46A4WSUc`Qv~By8zL~IAK*52jW3G1&=xHjD4kxE8nYAbl>=4`0*#;4VUP+ zl(gSPv+o(a1t;jgz2@`TwBs>ea{@S{uyYWOJ6ZRh$tB>47a$yhQ`_{SmOcphuUd@z zt4*l==KpMM^DhkR_0M)-AO)fM?fm-jE?)66sG9@F9tWGZz`RBn&O%z0=0CG5=ucC^ zjwdjblqMC8kDaOT>bh`fxFKqa&)nSm`;zg&kkh-DZ!BJ1@wnA0Cac!0QR^?i+Y?qU zm$j!i!1kr1ul?yWt-mZ8U<^9$UjBW;II6{;tQU+B5H;YF&#vYZ;Z9zDu0NFEsD60Z zlbiKtqV<4Vd3~yu0V!gmJx+C|?hkYP8IT{+u9w&X$PVZaMd$lp2=oFE#`eJ87j;dM zh(9J#YYa$JYlAWet-LoJIdQj{d)nN-yNx}e7%DeFet_Y9uhq&MZUET}9z^nG~qC(xVkv#|CX@W4PDmoMloQox=A zefWFG|lc{g;czB2ro&VK=r+y`bo435EI zHbKZ}qwshyuRHw5PfPNqR1H#ilNle8kQ~mta*s$0=YMK2 zK5CKHla@KT9oti$QP=k6&u#9V$^a{PULu)Q(;8sa%47_P0LCQbES-s>@=)+Men67| zwtjEVV3JgUNh?&>!hi%~2ylF_M|J>4M_|$Ex)|B;04zKmzwwN&j2fM%^@9H0aLW@q z9wlR!(s0XVS_Ne3(hIzSbbroOdk5@&VyVQP@7XYSj^3c>#9-ejNMxV4FS;~jMUzHk zL2lvF3ud-V2R<%OTNV9dnqeuA!5H*(3`V&U&>96CKL+DT^YVSiJ3pEq#9;J+*%w}s zC!8{uEORD89#!~9P>OXpeE(lVoz!}iC$U}V9%$#nd5?mUNGXWVoy+ix`=<3n)WU#B z0pXC~m;LQnxBil)aTrcZa3$});Y>1L-poTgFJvg~@nT;;%B!vo^mGh}5U^nWT;?@O zjG*C>r!#w8U%`pT<3tKN0P;X~j;bobq8X6psD7^e|C|DZ8{#+xib18pcO!X-SrD}( z*POKtAtlQ5h**+&^WuzV_h&$E=4)B!f+o`!GzH~g~DjvLXN zJ2vE=(&K1u(U~_R8My1KdJX!8*N$1Q&*wwgcJjA(A%I6{C+&dM0O`@n_)QDi`PI{1 zG}l3D44gFl?iq0Bw&S`mxDUos;EX}80L^m_F8++?zZ<%@YkcFFcFerS&xPB0cv}|$ z;YIB@^Cp?kt>&)G zaN6!Ki0G^9ocwPlGr*z|vrvrzR;^6c4Oa+VAaBjntLadkNRuL4s(gib%`>a9>YzR{ zIXhb`0|KRbBzN|$<_4>i1xs`c*6<)KJPmLm-3N)iI$3DR9E$NM;kqUw1{nVDRC^te zRcq8-aP~a)K*mWuhnY_|j0=PbtbRnsv7$+%;rPsglP-2=V&%t#R35_h93T%)65QuQ zuU1N?6gmsV!&?wN-ML??30Ww4*p~n|4Y=}o^EvCBJ(KS! z+j_b7hBLVS#y0HFck#_lrz1u63(s^6h!l`cCb;m#$NAf9&ji=y+h5&GHsew7O9>_t z3C0eB0#a=+6jOp51F^i!*zurmUjpS*p2Gj^&|rd89-&3;F= z5t3SW&%3(wYcT%jWg9|3!PVV!gBX;F=P$sIhT2GZ@ZkUT0x)W|F}hRZH-y{xMNbKT z*g5$4Gnu~`YGV{1f7f_?E5P45HU6wXblx0yEIF2TRoyGTcI&49n`nG|<;$CYT^DU> zbEV2FMb*YfEwXCO8a2?d-Ra-(XgVAS3TJG;4u>(n&@(p#`_h`$3?`}yz>7q2S!nf#2LweX$T5Iw7gK@LBSO?x5hE^s$wsaAfBb6MaSR>3HRmOb*yV0)cLhZ zOap$BZ%3jRl=@~}=DFyw5<2p}T!P=nD%&Wk!7nuU_}+N@f}!z+2leiu!#|w!pA{|V z9dog}Zus_me$-AIF>QQgMeMKdxUKgGf${OB&u{9LX5(@x%tNNc&E*so3O(jYVQWXa zZ-7ZD(yniO3sG{{A1s-Q0STmtJHhxe{p&D1%}JRF0|FF#L;csD)!ZmL30XQmD?I>x zJK^iQSL0fc&*|5*{n`!F(AcEoqskPJ+IzutcZi|BO{OXGF(JH$qWd9GK1>k8YcNGV zHq^H%-`d?VvyHZSnNvuQjmmzpND3uF5i1ii=Vn?LoT)33rk*1-pibQ7=t`uX5c!aY z>q+5xQsjjZ8Y@KWvyIL|Thu{XBvXt4=3@7RYATT)LHu%^?np_w1#TJO#sq4ae(ov7 zKq7%R-&gvTWBedqeiO9i zy@W%en7gVJ^baIZ$M|0oif~A=dVUw*?rkG$3%;8?9d6l#WeEzlV(r$`7|E16_D)rY z1bhXk%(@zPuKZF60r6K(^;Ua6X7Oix!Bmm~AnzDnw&1!>SYN9n1t-y5U-uVZyKU32 z0^=i(YPC#J^}T;EL?IADIOPVIr_@0m!E_AB!H}6SAb}VHk_LQYcqMfq_;8^I6nyrN zD@hlUDB#m0EBUC`gOoakD>0lTUDlCzMhwXAt?OkbHxP^2_FUt5`!~{pp$s7PqqM*{ z&i)P0$rXbP#(`y2Pd?hZAu{obsd>+6@P z&^!m}A}w1OhL>@qid*4gFP3>TtVVYv@P*LyR>;tgD1XsA0z64zSxcW0Xo?CPSApk| zw-wFJbI9BJx#KG0@i@b~_5~G+r#)^U(=i~@fI3U+SYH8`oUn;s4Xq|*3bJ_}i7ti0 zH1t?S70bYMF(4{9@193C?-FZl!3im()IsoJ0dG2~mq!NL$rKKZ1(}WkkwV9E{MEuP zu6_%M7^s3a!wLmObITkZo$q?6g5r`(L1iG7@8uVJ+i_gMeLF6|kUBNgj6tKNib_*8 zF(^|>HA?4HGK)XUfJ`Nx5JkOiEbFMfgZAjW=7tOIy1jS(du~|4mp-@o_hB=3$P|zP z0MC`4hYSYdDTPufPn8S-&nqQ_9t>$}(u(P!R6?d>K&HbF(sCUGZr!n3-wYAm`$z#u z_`-{;b>ON8R=utg?5UFSQ8NQl$n7#hULhtH=C>?}17Qs`nAX`MSU?E&YL~w+x5Sspo#Z zhEqUO$i#=SWFzPGn}rN3D|Cv0kPNw&}Wds9u%~utLGL^G3-4%jE2k z5KL=;RVzDpZl|ef(IHhpQmMWB^<$ZcKb-_|XThoWla};*zKh6D7}AN$W#=ZD+&vDz zDg~q|0%JL$lmmMQba~YPecvd>v^3>_ltR@{@f7ppCxH)Z81Uc=e?iC)eo1hhX7gGe0&8j_C3jx1ux^?C(qNxyj(CX z-_;`F{%6nE=RtuL2IBx2kZR|D-?Qgq8Geax{9rRzkKqSTy{5PbgI3ZCE*K&0z6l0b zX^hk1A8MJ!-yeTgN_9B$N@nwZ=Aq|7y)67;EMu-Py_p#wwaN}FCES819V4?TB})ca z!DTR+DH&i+A+rgZr!~N;k>=)O85!9*DLZknLdiDP^Giv@_6gAVRn{GE;EtM#GCv%Pzh8k=ZJLRY*f!lQ)0fV(O!s4awwT&%Rwa zEA9XqgcCcb_kQqBB}|NPgB^9?>jSt=f7=cJ1Gl&SC!hs@%yJ8bv%(JU8SaKX6q zaCgT=#?}qnqINFb=oGvt2A)9XBO&R8Ln4e&mgC}ikP(sk)QKmZpS$)m-#e(3!5tra zn|%7I$08~>)*vBf8c4?#w!pI$GGrPmbg;(I+PciEq!1hq85!9LP*EW{T=-QfAl=;^ z;InOV>z*}_`XL}q?5{or?hNM_;-|@88e>jzo zsib?=s^U0Sb$6?Y&;JzhCu@^_B-*E!&o_{X=b`-d!!xQ`nU#Yh6BUr|jt;S7$9lPW zs(>RbFE3Lmuav@sIC5Dh#bzIWl6xk)>c}@%P6ULZGJL z_{-m)?C+_*Gadfnl3Dy&{8{{2{G&wGq+E8%73y#WAzyaM6>6dqa`j!S zRQ$Zd0?*ZVtx^+}khN=9sk6^MJoszZu2O*#QdB@jMt0KJ*icm(&VfiWxto!Zo%>yc ze@^(GH;j}mM+|>>c*mdh`JcrHNQx@Q)^`s}CKr zW2eV#=EqN}sDuP^C>4PX8z6pOWhLZr;h%kWNeP*dhFgC~tFh@qB=taQl207{_`?6s zC_aH8BZz6T4+8vTayKn4Efqd-^w0m#5r15^$t1sVHJ^E@&VNQ&ek!qP_^HDly2kkw z_)^r9Nhh%kPZu&$P_T6&IQJl&l0T>O|I)-i@{-LZ$>t6%##D7+4mAsL_SsqqI9l+> zDInFWVRA+NyaH4M|&;$BZV(0HRFkxV3=^@@*WJo z8-j%Y_|jK4Vu7~^|6U?5o%tV#gbYv--6txWPLj%MCSxl6)MyeF z@sK8b=-!p&9k~6?oxJUvE6LgilLe_Pe@f^7VB!ac7fju+D!A0AGQy_9KN{q4RKuOE zgj?A_Xu*5tbz)g??D0OMjJDMNG2BC;0C)DUX0+g!Q=h~Fo(TgIECL~) zeKFP2{UNNJkOoLmUVLJau;BHnVg{-#}=k^i4)5=e`X32O(_q@N>1AF*6ITU-9 zR9XOPng79-ncy1%`()^tf}rfU>uIV#?3XKdJw5k=TUq(51>X=5HQ=ptdN}80x-5I^ za)>?;ZX$_YrhtS@h{j?5DG+)V=Ep%k(aGJZm1HN3Wv1u9TmcP9{dalHiL11-Q;h;T z6Z~2wWP&OH5_0Jz`Mj?3>#8a6N0YcY56^+?*R90y;OlSg=#(A|v(y%#l6an813$BUB{{pY5jM+!%rYS5 zGRuHWfiKV-T!RHS9Mh?l4+}!R;<5V~{kUkk?o&bzjyn-P?DcT_-qoaht8JnMTnhsd zY`zT^T-DNv6@jz=5{$Y22IMb%ZUW3-^iasbJ;NG1UtuGDDV=}Ni+MM%}rR&{t8Gf^Dp1{B8GPLygAyb8L%=1#PQ(A+0|rx1+}!+U}yiN>5kLSPpSCh)?b3U2UTPuFRvP^76P^*-?W`pxlH3KLhEH&%< z_lr9@_T><1#i!pU0rMa?1piDAU*6?2!QS}a;w8_340P@P+T8Y zH(<34i11?&3=7^hzlW1gf!0@olK^)R{p$q{c@(_jDj4|#ymNCWUw(ci>4M&fCgN8+ z|3e`)oqv4V*Mb{Q=wa!}x)I{CQ{l#NC$6J^lVeWMjMVX`!VPrNv2`V51-&WHlmRjX z6imprLZl92^U%!#FMwY^rj?>%PZkr-J72%wv=B1=ko90VnIv050jYNW!8pPOge-W+ zq8`E)th@lEG5))r3*q&hiCdaK9U{ItIiLP#1!~Yw08$hSpbU} zjZ1MrN`Nx}&F4VuX?XwQ9=wm8SLara1F@yOB3TRUp-qzU3dF>!WkR61P1ml80n&a@w*Met5{-GZ3%W4a> zk^(vt1}1QU8D*QIJ7II1sE7pZ(uDv^K_~)A)5Gn%_rKRG$#hvj zAv_u_xOQGArcr9jShM)QhvUK>{UtU+OcR4sR6u<8!;laHp4bSdoCBc-sHj7F;0(j| zjr#M3gw__#T$Q`dUXl#RKvzY@<9C15|AO~E_>@%ZaOaRn~FN2c3^s@1^DgT0^>WLFG4EE`ib8(*#XpcgtU zFc$j(rvmH(2oDnb&;t?>pRd`F-Os|J6SOsINJx(+NmjT4t7Sk;AK#n{C!Pe(UcCV; z02|*&1i1bJ?1Iw|$1jJ+w?I0TWV8Z)weyEE7eJX+HqHbt|KJ3R>p(5gVE)%0-@~#q zwbdD1Y>)neBKvdErD#P2IQ9&05w+{fnq=5EtUOVJR_3uA20!!aG{<}MV;a?jLy!Q2AJ>1FdLn|vPpw;3BV~Cg# zw%~()9Du;TA6>ZRk1Hwo{{BD_nJx&p7JMjOgJA=rAqa)w1Iv2|Suk%g)E`6f`g8Me zgVD*Sw^okBnhAdKK3t-ir^kN}XIuiCe+DaFuj7)&Qc03k#Hmb$KbA}qGd-?d+{4nP zn(YhLo&8S8RN~K9d0HX8mQFtXq-F&@G5!1newQlL1&p-7S9P@LlK5E4AN6m4-SUR+z;-6>F@xVr}k$<6nDf4}EG z&%OVgYykv#A~C_k2K?0(%lNK!DrYO3$&a(kv=NC-%C(`PN-8qjN(Zn zZ&cLC9vLmAD}&U8<|+3!s_mzm01=-SmOCuDMOB_x3*m-4qGp=BuX_ z0YseSkv6tR{^?vlI8V_GK$O7w!_7ZAVr1n;_`r8quU_4X;(#8vim)f8p4)$v<7#aN zRNBKQ)CDscN(%PBgy(~pDT1Ge-ldl*4`J4DQLhx`QJzE4{L}#8L&Vuziy%a)2jBOI zbZUtwk?psW?<6FsC#9`))`c%AgNXM=O+t7@v8?lNZ1e59{gC@UCc3hAs5^^?PQIrm zM%OnHRAz_Z?2N3dKR+9#CCY`ERRg=p36yIuamb{+EQ$3F5DoWx?%MOdaK!beAhjt; zY2wmVG@6i2x|$ligp_{yBA0qm-y$uvBNa=*&5V;l%s(bH#CmaB@(tGd$i#9Berzw5 zH1!3G&1FRO!F4^pFvS>2QzNg7eByqX5Av%&I>YsjWjD#6~nYR#jaK_kxC%(~= zGjHj;vj4hx5RVz=cAl#Odt7SSj46|!C7;_&qz}avV-{5Wg}=0WkLT03B(MRs;N<*z zHZ&v0=R*??BRxy`xh&2!h#n|E-Q>)n@w6 zU9CnfxUdqNnWal++XOqv)TvDCo|1V7ePdAINW`k00W)u7ztaBQ3%KHs$R|LBe6;Aj zN2Wn^@%0Zoa9@bFu7CCrAhNCjcO6CdT3tV4JJ4cWu&q0m&=+ZPou zTp&ALi73Gk8I8KZ!%U^>VbLI@U3qgj`3`@OWcg!8oX~}k+@U}FCh4`8aC*i#`nmCy z%<9_Vj|Oou%2!s{qsTZ4)hSy=(u`!kz%*!}^-0R#SZcbc zDB=tTi1&4)*rW-QRcJWj+IO}qTAYzUov9E0upH-09-a3@QF1diO#&}mVivh-n!GTS zSsML2?0hKrKbra~Sp7K03=Wpq_RS;`YztaJZL4`-;}om;m6~oFdWu)(108{ieRGar zK%omw=UKjt{l#!Yv~eNvpwCp3N2@d{l9XV+!{8+*$|TI4;?79RfTc#fD7vo@K14Kk zMX0n{LAzO}w6(4L&RYs4b>Ctp{=$R+5qHf(47!#>v=w;-Rpyz$-?9oyhw0V6U^L$h zw)=(V^Vb@+z=&3#<3gbu{Esy7dB1tDU(Z=Sbj$5 zr7wSVq^SN#uJnaSnWS4o*GDV{vHUI7M_UdQUA$C^!UUy6T?jfN?nd6zW>n3J#N_?b zM)?;F!S^^fI1V~e%xidUShZ}v${d%19+<=_wX z4j%Og(%p^GFvgtE98+zFp1LVpHwll?>1eNbu#}Pw8GBHG_3BvLG<~KPHs#+D z?}+kii^<=bOJbyapj1nykIaydM3cGdXg1t$>ieOu_*Vv}t+Q13PE5REJd{7u3|?0p z89~)IlbFB3L|Q<`fX#MfK_Y^~k=WN8Tkurl4YM`&qSGuPGB5v>d!L)4X<)r2dxe_? z1FEo z_*SX9_V%xhT<&?+z{%|6z;uXmKKBVUEGl84R9btCM!Int0gqpB8Gb z9Y5tS(|&lk^BS{hm}2)J^0KJkmV9ULctoKcegcAXxAs~K^-J6kN<5mAn)%gdx|)!# zbt2nUtCLt>eS))5!t}P#x#>s>%8?c(Tw(PTt$QMDI&lJjj(k6n*`vlW6L1#&ua78b ze~t5pc#8&V7(dA+n*DmQR?=%y9>DZoXE;Sz$O58S*_cbA+p^`IrRy#|97`ZQzjM3c z*1b+OPoljmr@s)<{mUv1db@}_L|l6oBI=y~C{3@vQ&QA($$kh*O%QBjL_JKUTf#@c zwbi4Ql$`jj_cHN?zE=Up!*Ak$E3h_r28AI`mUn+E9nVHSSZr(Gsd z`}^yji{0_%Y>qh&AE{*niYyU{OGjJW1i=hhs475doI+lNQUS-#@%l?DCdoj}u%{~{ zJ7&Rj_aer_qhHljl+3K?wbJ2O;!&a2j1}46_D1a4;}CX_{1?3fPV)t=VUJ zX}J#Tlr<(^VU3q{d0y)rcHd;D-iO1qLj7x95Z6qtbVnr^&f0!A4in9JJ~#B-vbO{j`4Wcrc^K87fU!EmNRL4^K7?) znV0=%{OwZLBoYSw3MrEtw;Dv3YsM_}OG=E~z5WW=@crFB#8Vb%;F8gl7T(^{$FqDv z)|aOYlpa5wi|XZ>2ty`P5V3lZdW4!OJIp_@XH}o!NO>rm;!eV<*ppfJs8AYuPXbe( zzZ}-;cps)R%IVaHid#-%hsKt8q5gvdN5faoQ(cP?&T8&S+KDrt6bFTW(hvfOG(?&O zX}&!+FMC%AOI%xc#~~TduPH!>M^4+pIG0nLugP%#--q*8V?n&E1PHK%uR7uzJXeTq zw;PPZJe1s(hM+pZgU#s2S19ad<6@YfU-KQ}^%BE6c!!-!Gd&var8w}5mN8fPDiS!v zDrW?tDyD?s3*ArJ71OIUK`^xEFIE|dgdiNN$@Dy-Ae;e(fSSElljbfhS6^DSDkhH> zA^O?V)sv8rl6qfpYHgqX_8Hj~unj$r zGP&R3e?C5R{-mcDvz186^vybiLTuO7h>%6&yDmy0{29pL4=R}qW32R+$O+7-{=dEe zewwEDd(zWtboneCtM5A_%RLK9F^#e;PPkv!_ZE(E%j@_jI*8$PIadtozUuOHtq+d# z;q(}NimiwR$(c~!=M;X`mS?)k(hZkVN~QUX&-oU+KbZf-G9>tra*I=?eZ2i#hbT%E ze?QWq9=)8Jo>2T`6{6vwsj7W7H8~ z!=~-l2)bkab8_Xe5bt(8u8l0!f62%&PTneN+96BtXozcDk3K1C(beGSSm;q;yXxm**WZnQ zlPY>kMkTnD?&WN9!58N!x@ z5r>%LvYp5)8U`u751jbe{a@aJu&)?sMMzaw#m<>kNmFeu3>Tb!8U>4TZNz zUD-a;u8NdI-YRiD?3IauJj;;5>J8j|=ouy0x(qmR?$4_+Hn63><(LyFtlgU0wCX?! zSskZ?A&Gih`Zn}fgoT#UEM~HBT7j?&de3nJ$xLNfa5BeRPj}GgzN*MD3 zW`KzN<(h-d(w>gv(O-CU8+sPNy$xEaYkQIvnJ^$4-My;azH~l9y{#S(4@-tu*Db<* zhAEpnUtD#VzLa>o{c^gfoK%4iXhCY_X8g7=N;e00e(&CM;rGn9xqYgQO#5wp7vYb? zNe{|8ljdgta^(M{7@YVz6nG`SBQjHbF~azozGoYP*-uF$L1tB)561?{-I>| zQQwE0+Ds(iv(FH5%)Y*oEZJC}Eq9xFb#caa zLWGC;>zU6R&xERC^DO8cE7$Tf0%^veRO8~#AwE8O{ZuIo3z#^wXiPsi&#T$5R&U}q z{>9|N*zq%f=D-E=!?x$wn#s*#!o@L%57nG$VHX%AyuN-z3u?akJ1;IV0Nu8f#&fD@ zFM#Bqn#a-CB(@N9g-v+7{jpop#-^G|+3w<;ZU)rVs2LyF}Zhr*0{e^!(5-CZa@uOsmOdpd+El><_8(hc_hfc>fqhwi%s{7>fg;>~G0w#~HF zyred`mDcKkrWVYBYb6~gt@9Sg84?xXQTYb?n@wNrlsH)g1LFj!4`-lYj@WOD-EcK# zS?wW-d!4e3QMatLcQ@6K>i*^tJ|XG6_U!*7QkfvCtwXQ_q{K@{QUqP7h;-;Q(vf>2 z{MCY_c)ii*d?CIau-Nbe?<6_YS>smclgU>@ zO6|JO@sz|gUUaNRt&X$N43Z2945^czUOOV>-`1GlP9SA;?HH#3%7kh30dG|80QTfo zV$aff1Er8zdug2ZfCxJUq`(Zx7;$7aq?{~AspQU7qLe_ZvRW3ut^GI{y4rO3;kC%0 z1%WSX;^VFEsEHEosWw%8rwQ|Dhq3-v(@#_09NFEs071Iw+zSGhW-H~yQs@JAn#oqxwuY-B9{E5u zqmGSC8Cj0$x16tE7=E#A6r&;jaR)wxBnhvk@PWSwRDGP=-BqI92-aXOx{?nnGbb%GW86JR z^MhxLFb|;sJ;=(Sb_h3Q=Bj1U18wja^FZwT#sR9IwFaAT9versK={E(im6cw&a_$r zV3lZiy>JSZ!z90haN^W$X`4`7f(SG8JsNNdt2fgU#iDQMPavY?~J2k0xBn~bT)bH)z%LgvNi!MB%hlwGqR|#0;jReMO7>@HRY&n;dkH z%j=6BibaoII|If6@Z00)cKFU_rN76G0QafY<)ztFAHcdB@i7vng;v~JOdc|dh;}&P zx9kmOPx7?FnZB~XUr3ID;Qk^0%hY8sC>KR=OhWzCi0WU0KRtXz@{6mWADD~t?F%aT zv4VG80cT*Rmy|S>)i0>QqE7rUL;?bAWq*8gIFE`;WyGot{8?k}4Xa>R*y`huf)IYg zq!4ncz8|c)RULZ$4FxyCT+Y+m~m-f1A5$@#ZAdz;i zcW7RNP7mU^&70}*_mlkjWGk@|CS8jHQm-wYb zwmt^~u(p_nYK2l4f z{Tio->a4TwU55fi{<1V!sHm!vzNX9kg!)HFqGHLdF`aN~*mv=JFJZ4CU(uqBKSiDK zeZ>E8!Yai@_9Xa6G$1?T-Qzb9*8q=#vIE>S!_xIOVCDwfykh<14A{wr9M*Quy5m$D~q*aAS;?v_CzY(Pur8FGfz+7O11IkGO1Cl z*wj;qpQVQ#MTuj*+{r^78b$b#a~>lFhhHbCz`u#n`Lq=!CJcAQu!Mo+enB4wp3?ko zbHO!lE?ENMS=nhzfC{TK0ug_bNc6jRTUDLXl`x4V^c6s;y6K@b#=IYD5)s&mHd|-I z-I$F>oYRQj2h#z;()QV>Y#ld|F{KW$#xBg)j9dRREaa2asyNY@Uu>?+lJESOB*&Wv zX79K^R?;xZ`o*W~`&}VYF8PM?{-dUzij*{Ru?;1-m|-dp4tB!WHcY{h4WM_dN&XFY zSM()g;9S;r;XPr&qZEP<95@(T5YADo9)fg zEW2zIK|D81)ADw=0l0s48U=3F)yHc!W@)n)#2$V5R=b;}J+Sw5q71jg zT&n{d>YU9cfR2<@Q=ct5+5r}nRC~CG0Rp7-JA0uYMqT6jY5-ajv-b`n*V)6rzGE?V zaBxYNAXUN#D|!-ECNI83vjywZIQbv76T9arJ=MRp>LgtSz^dQ*MX;O##)pEiS?YKy z{*h6krE2Wd=i{+3;$=s#)v5(<_+aJ|>-Ir}#&d|?Vw<-zK#C8~vPybKkP`&etajxM zmeq&Jl?i)ZQd?bhxz-RZenIKgjcx+Iyx*98+=CJ>MN|!K-S=%i=bxn*vhR%f99;Hn z2IZedcq`egkroUo^bg9|^ttx4V%)9=v+T4rQ;<|+01-0F>@pPD3jGv4$An;Rr^oZH znREx290Rgk+Wnc7g&nFeNmSoA@ULIB!%JAm{c6j_Olo;oMh@ZsuY@U>&rE1OsVT!n7gZ$+?kX>8Mz9dqj1 z?eSjkQ+Djk-AIY$RHPZ{hVBNg5*tu+Xw`nYJ@KHI)Vr!}pJGCMTz`yD&g3ikwvjWh;r?bxY*D&>fy0(dRwB$#9f?DB z&=>T0`5j^vFIw~!H`ocfeaBkN_q(#`odmtS^lc4}{q=r2xWSPs#m4?18 zy=zOKw#r{b1lAmkJYB<1K`mGeR8cI8FkhECY=?$<{E86=Om8P^iy+DILX63vy2|s$c~c1pN+JoMEmJl7!b6YqM5}O*B?9ukxK}ygc}Z zF6m~5k!ZLSR}}k|I>@sIBkI`Dx)=PWKRDZkXxRLk3+*Ew(m{s+5JyNY=>jfu4d{N3 zrUNGcD7yG}c6H2cRM{ThLoefgm3>h9X-l6?_(@IzTAgGh`RiTRdqLV zd_Kg@Mk1lK1}PfL@iWOtz<4J})ai_}fvnB&*tJhhogMeCj*QH!ioevXlEw=|d_chq1Q2J{v$eywVA#@%h zl5Tg)+kS}WzOZK@59&g{$3w!75y8n#LC8|Q&6qhD*=Lv;!W`>Z-R7ey7SaX*6MZuu zD^%EASG_0&oTexra-!B>K8|7S$U^tFd5z&0!aPTT_`_epu}yCq%NV)&xST$i$L=Br zDEAGqjo!48&QHa}v6rD)>Fm}#lr&Q3Ct`1qyxk=7qvD$tlw=ks1z!qi2Ov|t>C zA)4)yeJ)WnyCR!#UUGvPQ0$#0`B2uGUL0HCkZf-Xj7mzjC-C=_B~Msd_hnYjR2=;H z>)l`NXzEfO?>TvzQyyCtcCU+0 zo!a5=-X@c2TQt=sPNQTel1oHqlZ?L2P^t3cxU}`u`43n4a*>&aCXnpwm zbCDh9^ngjLJzLY^=Bxth%(ce8PN4$_-CWif**t$&@7S0^S-x`oP=C??tAD8Gt$Gk# z;q~hkGgS{5%ZDdN{?o1i-JM&NImhH9=u_Eq!|r*k{CppKr~Bh^U-y7=UGg~YO9D8O z+fq}>jY~F-7BCG(o7iCiw?hl=c^q$`ySEG_O}Ek}-G`j_UU;!|JEGPP-Vj1MA46@) z;?Xx{{zRe=MSbiDtgwyiG3@q2X(rCarj?yvOn_tD;UF3af6U<~M3cJ=9+?Kfc>!5}lwa z(Zta=31DyJo~Tj&IgG?lQEfoQdnUo^D)G z{m>=6?ezBs?k3=~;Gb1(Han-i?#du%Q;`0>yU&maL07*z6R|bIbp1Ee-JYkrK|G56 z_y_E~(QvPOv7aY6+{+{*0`|r%Aen#mME5+e$`?oB;c)uAEWIE}G5_yhclH9s$r9_m zxP_WRub_SrUU?tU0MBD;*96A^!A?aAd*}m9gF5B$18}S@esfW_`_Z}K_2?(JznI@E zNOgqJnB&h-fPUsmeqDQajG6oybA()i`BKqEq}R(ac189J$Ctzay)1cUysEWF6wSQ; znJBngHDgZ{spB?Ozs8i7lKC~i836wHYRDDt1RB4ri2;DNgN#^;GY;N%8E_;5>WWC8 zznK6+7t}9dmHJBZ$||6aXDj-6PSBh!OUbhpBb;fylnX5&wr3|X2%6PK$g!oft6|HN znfA%CZ~%Mw-q)qcOV%>kiHEXfh44{H{7x_!ojrS#odm6v-mUkgZ7Vae%d;GXW2ezr zCclg9n~mU^qBSVYgVHXW&mxreBzyqUlUycNwsNY7bLf^zF>4FkWnJ6xR-wZ1SolEJ z1B4R`3h}w>rR@fo<^6gYtj@?w#M`ipu|4>vy}tgXNhk!|g0B;Q#t?6e5TE^5w+}#a z7j-0*5Bo!enJtrSeFU>q6;$8_vth3vbO>I6DrUp$8Wj+%@+kwP z`4A5QYoFVscLZ+d@Tk?9|1Vv2(msM$MO2s)S53XnqbR1o?h`YeKe+2*Dab zbv0K>E5B_o$vZE)q%~L9-Kq#Gw`3`uFR-=eyFV9FUzvZPqh*WN$8?>RVQvhFiLUY& zt`ai4rTtgvN{!}MV6 z8(TBH2JZtZ{SNPpDi-xN$3>Z5TQnjhd?{9Fb{~YZlWH{9=zJvN4m~gerfX2LSU5d! zO^p`DU4@Udy3$-D?mNn^-mR|DFvn-3zay#jl8&UdWSxP~Ak3|56T5h!Lm;vQCpFJq z-Jr2GTI;^NQPehPW43!OY~?yFM86(hsp@6j@zlYY(iKyQ4iV09@YIxA#YTsQ7st-| zCLphDw@{pGT96oOelA6P)4j>cASzRY2ZkkhvGH_PvZw&Zzv;Kk7_3%)+9 z+V}~s{&7S_F%RdH0|DqnHbR)PMb1VBf{RhF)w>aW%#TJxFa)~w@cueLKJ_h|VZ8w>1{Qv{cU zyL+HSBazaPcwH~s?ifYjbGJ)#?$UZ-lZjElBHy-zTSB-r7w{t8B)1oaGV3WFr?ZGp zrE@tbUe7V!5**=zQ40-uBhO%RCryDl;ITFZFo+-_(b;UuY1$0p5o?Kop)BFEAhQkA zk%X=91rHGG$>i?zD;U9=(OSKnDU2Anjf@pQ?g214`Z@vBDc+hwkZnJ%A)oPJ_>%KR z<49aa5}u@tI#JkRUPq^-2b}k3JAo33%2lJ=cP~AnC}xSX#1H8JSC(u<-c`TUE^3{i`HHRF+nbr2}h04Xj zwF|wPlKV@>YxN-jpy#sYEBL3=!9wNjl<@7D<10Dvm6EpG{t#v^je)4*l|d8ObsG>~ z{%nP=(Fd!vu97L-HfzJvyR~{EW=FJ=uWsx8m<)ZX1~ zS(y+a)?=CT&_5}|Ae5zCM@N#Bzy($9rGC%9zIqPW<4ThngMNYW*@kAfMG9A>EQyYg z&v_z7_D9hoG$Mb^rUNlLBrOHHEPcL?pMDJn6f2en6?&HT0p>{;;KM$-QWhUY!gh0V zn$)uRuruhZC2To9{>~q(skdKr0?JJ5EUjCMA-3O46XoHwbX*3GFa5_L89y%k9J^q) zK%X_o&(AEfF2gO946aQh;6Ynqx)UYR`Yn2v*GVI#_=57vtM#VRF^M-&Ledw%tMoJT zkklG=@;562Kz~4$&;PetnB-++7c*K_Ixz-T$~pL)}!vv$sv? zU-4qPzpfw89pK6zX}pr1M6HW#dyWW}_?<7vc=p+R{|-TjR=eL#RBfs=alt|>y!I}| zY;CQ3_zIa&o#s3A2a){S@cnF9|)#gQKYrVxU}Mc<60~4cokY zD>GxY_o2zJgWzGa>-wjmQc7k*1ASR_JUQU%Tb4eV%b@HKdsb6|( zTDtUjdnc8)$UoxcE6mP(;(jI98P&@f;~OL34JG=`#jz@=0ebK@fJ-W10x*1< z_Zsmv@FsUiVuN_UwzE?T-jKQbrJu-`ARKx?*p-HE=_5ts*vw9jR6SA_Fh>Sa`OPO2 z>{fq=LEbpS9>BB@urAf(occclJFx<`k$5e{ROK3zhvO@vl0xK^&!d<&Ljy0# z2?`PGUMC-Mmz)Mm zNY=+zR!0&}p|HF2?`KC{@Wmz&PPi>BbYDV)Y*?k>g0$6W?@yR30uHjT{ut`_2~;wJRQNsC~|SR`~-;C9sit^W1h%u9Q;wSvRY?r_-O%#Iaj~o~_$K+kWfg z;9wx1I)i?XlqCDko;tI2V|4$?Yfrm-zj`00*-d?NPB*+OSv*W0+Ee;>((KgpBB0e2 zPw4>EqGt+J9!NK-Ca2f(!3nv<(-O}K5$4gJ+>iD@x!?|VhbNs$NJt}nl4AnZ#mz8J zGa`TmHf-(PA4PI6N5lAZ z*Bh67`7w%=xZbq}*oCAN?&qX`B22Piz99P}+lM(vaQx%RSS&!*J}X8bUjY+n#B7Y+ zzrmPO#qkmo%%r562Af?c+~^aj?<^o(#dErUd%iCT6)z5nv+r}~f~&`jRksq-!4VuaMM^`x!s z>WqvY3di2Od!Hp6bz{<>^ryAcGKO0G$O1P=+yf%t@Ch@ma8?_%l%)h2z ziM=&2#7oVx!76}R>Rrzj{`*=VN1)-IX>_8RW|y=Wd)@NO(mLoc#@|`YDDU%ro1q&; zpmo1l7YaWjr}ZRrP90brE5EhvrO1NaUv}xf-Yy0kvVga2ZOa_xC9(9EQF#369hRCn zh)1{7&wpih(R6reb;|KEJHJhCfGX**dPGpVnJDTTqQrP_jDv8p#P$FB01A?(u9QP7+g9|m(d+z4S_H#}=Z~CRNufne zS0avgkF7@zt==k9$dW)H6-OEpV$j;ts;*Lh>CPIWR zZ#`>Egu1`~L1|$bP^v5nvoZ6Fb>=NuvNtM2dTDp2h-?V{IpmX9E+IaD1#@gM&Eoq% z6=qigh@5`Z(z=fjX4%JZa4mD9Sydp1MYny`oJCYprxO@StMLERE=7Nuht+w>quP0S zNXmkI_2TeKBXGZ{@n#d9#Mgw=JV~vIF`@PT;1PPZ$)z8Sbq1aji*GdtIWPL~bX~k_ z|2$o^-!pjDH>~!dlt}pW1r%2qk3&3 zwJTI@_MVu$XRoy7(-xk`Y~|HJIUx`+qPf~UvX>C8ph%>wp+RLLM4G#%VVJ{x;p;vcUUum6rIKWF_u^viFO|Y zi+e}Q>y^Lx=Y1*mkdC9F{TMX*B(1DRLLr^3dNKGu1-j(VFjc+Mqf0#Mc{xkVE8yvY znG=v*xW+zKh{R{*>g{x$*v8c!x_tJ2n}Dw+a{Vni^udAbEXA`ktk8dnU*@jI^p|R_ z^!^~FxwjJxF(#ok9|JS8Tuhm0HOojeXF}h6S4@Rw3O1wZvTm;ON1MAK`nwd#7}_?C zC9XU-g?<-EXXk*!t8p_Gmx{In;NjfZ-0bQWKJ{*vXvuqv z=cHvmxX=|9@Z2Lnb$M~IXs`LyOtNexU%7bD&20sX|A+{^ucoZ>Q^Ycw2QQ(3 zF|JThYY?jFv5Pu0n__wZd(QqGQZy;vBz>fc8u=|MCj3pmIil6jD}Q zg!}Nw6GG06*UU6rKbW`|0q%+WGS+?%Y6-<0&q*Z}hZa z0P%}6o7M<#zE2XvDxO27dTtM0L^OqPo&VfuYhm#W%=W!ANsqdp?i06njyMZe@s%zr zr+`CUFcUQdC$O)DTCdvia({P(#DYv^Jbz=Gp=3`Y2U!O@l{z@U0(Z;F;0 zJgpiN0xg^=n$bAxWjgWbPyZ0f(;+6BOzzw$9*8(!gp%4{ISy}pGG>tQ{p9=?Cihad z`#@_qj+?*f@&(SLHJ z`&NIUcriwjK>wrP!2REz%;a15U27pV0^xvSQq9d_eqwq_l6e93af(l7z@O=_ZFP#r zW%;kgoiDznQH0BSykBF<7>-&m8Ge;8RaGUeE7``KNv?_E6(Gr-Them58r65#tsflh zRVFq|!j!a%dx%t@ct?QH9Ahr4tf0cO!Xo`*|@mQPOa4hJVoV>H!oA|y<6dVto4h1#S~T%^NrhpixL}>G z4N6pt{a6~CGK`BfKb0pbYZh|}2E0~&fg9r$p;&|Yp%B~X7xAw-SV-poHgWxL(_pDW z5|G9bNl`JPs6N4=j{RaPb|v2Pcyy$FthYliINIus=Evc`Bw%5CDpi-YYeY9uRogt!jy)lB z^+h-etlN=Y+)5Q>Jc&&}6<*toh$p{1<=S>eLOM!Ay!E1RnLPkO+%e|LgVC-?#8H7inFgJ@WahoseZa8i@sy zp7k8I^Tz%3KUec-cxcR9?BN3E!YOU$k1^|U+2}6_DGXox%vFC2uXagwUS0eBK0%@I z+VwElnw9Pab5`_0{R<-8qy>2|LmWu>uq8`%Rk$4El`R{clmcuS2O_o0c(ToC4gVJt z^=~pII7~>eavwX((jS^#WM|(Yl`W`pl3l&B$|Zien~-NW z7&U;y1kEGnk!K3*@+o!cN^F>saYj8>_loSCyxTiDlL^WB*Y={e1nDR zwvc9~;ddenpiv;k(^Z$rku~7eh_KCDAzx7Z55;l6&9HvDx1r_eyE^AZwZu>+68-NZ zhW;O-_5Sd5b@Um<;PG#Nao&$mW+{*1p18NMl+ha+;J?0oOdpcSnEt0X^3WH|N{9Y+ z9POBRhr8CUcm*zd^A8?6&OIHn!FaSZOWc<@Qp@=z(|qQX7CRL@*0DaG117_If+KlC zjy`M+9yY++?6mxXy#)_#6l*XuM+=3WQjtXEOo=nO;yIpQL?JKsL!TJhvYoH)!qCwR zSh3{__&+F&;Ii(>7rn3LNc^gXS+;j;JKY=o8k4~UZ$~~Vq_Y!IB3rTu2453<8#HyH zgqK*%<>kLYi+B4hghDRZ#y}&Bu8t%7C?OitsfQE7E1KS|NWoG(|aaTW{6!XH9@*K{r6~tQ*V!ZSzcjBceWx*Cek)<0VK%r@7+-atA83H z#(a%4`u*kFd+Z97-xZ|Ou_L0o6b1G><;>X*Q4Co*AG21KK*}zQHomhq4Fz~?+_E2k zTr;LcI;KH#2wJjNs6lTrs@C6U6-r>1e$Fqak1ww8(tt(VacVS* zl&F~7RJ{K1>9Ytr?Bk<;6mL}xmVovkblee(4ljKpX|vr1{T_T*U%I$;-y*aI{^b49 z?r4r_{%ANbDbXTVl7{mX3ZQJe&SR+RkE9?V{i;^H<95Wl_T=iCJaP+2Le7!mllVNz zuH@&{tC`nL`Xdq^>y+z^0yS(0`JV$Kc6H1JB+ZrjEC zz-}z(w+u#N=2Jb&hAp^OZ|bY$GbOtK3eD3ww)K3N0l{^ zHIqGij7NNb*MF3gWB)=i07`7Rl$|=GK--gF;%149)gB5PB-Y@wF}>ZFo~HH5bIut$ zIC@j8?w#+jmFh0dgS<|1Gy2tSc~)Nnr0zQ@3F{C7Q-P;PwetJJsbWWMd-+z)$|<`U z6_Y5Y6JgQwMAP*>qx}ZVUpF-!?YrXZ|lm$`oBc4 zp#6!8UXkBOfB5AK{0uK?OHAee7;uR>t+CGX^=bzX+?%MB+p?z1IlgK0rTo*2Qf*=p z2u|GH)F-)AX!bP0RALShjmgXnvx+-zBT_V_OG??Gdr$YfqIX1tlfhKp-GZ1d>{^M@ z0z70Of)`s#pa0ug%D?A@>~{~997H2slJTVT{AXef>+jZ|VD%Lr__w?{$3GJ(`0sCY z`O*^o?q-}`ninCfnIdBd9k~tuY2gBHAiLUYHrksiLt!)lnPKui=clWJKck}hL1~*v zf>|Mw8xT2&1W9m)X-)iJs*)gEI&@2PFvrVFMkH?X(-^CAki{3?01@5m^RTlS(AJZ< z!Qoxw&d1})%fr8u_-x(@x3ncWRn2}Qxj|QmG_J~hnvn&e_&mvR%HD0<-C`IB0P$KF zfKgZ@(H#32pJ~gUt&gfhgW1cuS@42G>(ww z&YVO9+>gI#l=TqcLo4F^Zkw%GRznkiMbd}XE@op{gGWY7nlPjY34yT4lp$v`e(6qF zocWefuok*rN#bJwlcwm!%me4+K?tX%cVuq=zHviEnE!>0Jn$uzqv??!h8B-?L3`eq z4488zy%eY$&OzLmQ&LBpav1qM0M~8}W&rDNA)QL|w~Mc8){t|GTchf!QWD~2lG1sE zYJ6E5wtDM|WFZRmz7ni9+kQ7EqBJz6;Gw|@8GO-8>{Hkij;OK2^jUxTlBQtV(%Y6@W=*(%wb=*ZtGR4T*>JNUe6j)fi4i^QR*ihnF-#>GsT@Ws%bf6pT=sH)#KV z*y08fuO*CD=%`4o2mFX?+@})qJtt|xb>ZDE!7}X&W!qkRY>0Zk{ku84#ZG8uqJec$ zFvWKE(Y_EVSVK8RyNEK1!ebvGS2g`PP7R`^ca!|2g}H-f_(VT=Yin{o_@wqZNk?*7 ztp*XMP8fGCN5$^@Y}~gB_bJdmzhFwwSs7lLI>q~0@^4w-V5Tfku6l#^qc9{!}G zqa=K!>_+6d!5b_gfk82i;pNphb3$md8+^0>pm7jPJ;#)>*Jo4I%!JYI0py40E6U`W z`z6O`xqKU`Idd_$_7}|oy*&#_QD)vHuN8XnTC;(y{$3OP+E$-ASOSvY&sN6J@e*V8 z&f2=YZ}fq0+8C4jCOX>k!A$BGwQI(>kIH*p&oh{9Foo(j?><%(!D=Q}(ii{E>TF)l zIp9S(eF@|1SNYgz9d~iNh~b2Ff4{ov2sr&`pRzi2H)yoS?j}3i25*tn9BV%xIVFDo z1MJG@*RY9Pj9Ti{!>N&ZkOcuO=R0X$zgib1w-Q-*YhuLVkzS3rVPlYt!VXFKi`;a^WG zTdab$x`@LVLp;tY8EOEKJBEpRxY8RqUDb>qP^dw%nvR6$I!OKZJo$0j2X5=ML)VYt z#e|7NeIfCL`TD|3%?&8Topt|e;`B4df*tBsV>$U|m<8_L+H6mBGm4B*8~VHH{qW@|n*R`n>}0tRVEv z_dLp|8T6dPZRml0ytw|&Omqc_%8>ZZOzW1(m@BRJ--_MU{t@FcYuf5ON zd%xc6Z2Eu95F(gDF41NhL04f=tXH_w(JU1V@;e+Q89*l{6w^oeKd>V>sngwZ?fh^D z_blZF^nBxd3;DxOAghsfC~ET;y?fdpf>t#Hdf|X+pAJx^n%}UKa#h-5$wP2bIZKY=F_zC z;0sntIl)Li$Rt{@HLC9f+TFR&Zj$^#jcT^vy<&Jj7-+~T?V^pdYv}S4o^kJ++wI=! zKsw;n9m@}!y`F5$q_^Elddzq$M=rgc#SCyrKfRauLI2Tw3i}H4a-#Iin`e5~pULDS z8BFnOwBg~NY)LaW)92Zn-k|v!!szfGg`2OxuF}b!TvyUSJE@J%UmSnSn4Do=CudsZ zj%8_=2*)=umg#?Do7CvIGQZnY()u#{dQ~+;0`;Jv98ocX^3t`x-9>06F#W24etNo~ zee9NOU*nv`2dv07U2;>1ljcY$E^5@!;}z3m#qpzjBLUxi;L&>IUuugnai>AA-Q&Iv zSYNG*t$&qC^KxLOAZ;da2)6%O zWp{}__(mMyYis}Mb+c8ySpU;PfNRnHv)-n1Rd>AK7aLj z!^Umx!V9a*_BbX2bge;D5+w~Tocm;IBv)DD+*d4yxyts>iMPTls5Sh>SX^<=5%^?w zg((e$`$+1u*k0OSuM|%^yzn%UeIL!M^z)8Codg$oqD;oWGl)GQ81ub@dA7G`&aIyY z1K=OgC1CY7NNwr#X9l}zRpFHRD7SDAEwF^-or%O-Jn%{mKc~Gghil!3`m3j^5oM?h zz_vWGl=&kj!}W^Qo`1&W4n!{Fr%|7Q(G@UB9)z9UmR^OPQ5$l;S#6@}on_w1nrjPg zp%naFC0kNimC_crz1Z(wNRk3fOze~nT_cC)^Nv5iXj-1j*aEA4^|;L9_m?yn_8a|Y zXVlX6bXT2NzGjmhpDZ(4@!LhH@CC2|^%N=`+ISStCqF6a$gXZd#uH{CfCCii%J*lZ zGWZ@3Zf*4ZVo+`nnS_kLs$&n-!1v4b{v3B$}walK#zwTXpl9{2ge9$%+u=OtLYg;0T6s7{^xUgtqy+#hugCE!*(c)>mll9ziyA_DL!sD6on%wzTR*Tfai5J->}ST#gqc4I&DbvAzCUww8GjIuA|l z05*q8GOP4zrkxB>U~Akl`?SZ~2o(iE)>@PIznnyW`B%}s^ITB`v=BlMbE*k`{w0r& z`mf-WPzVuZH7I8XFS#bN^`vV-4bJLiaMb+RvjyJTo1W$2D4@AOW040xNItqDI4)w? zkwTWV2E1@At*dw|Y{XX|IPC*f7=wi{8vm7?ZK0P>3na6ForDGo|EwAZO@w|jxE!;8 zwZxyVaxt5|d!HXzyS8G+6zmqVOB!W4;PL4Q1{v0QMa7mmbt z-ulLCs?T>z>ZhoD`LMrPvmU5w-dQ`G8gXt-4aDYo%W7Zr6BNia#=+o-nBm1Y#q<>r z8-XIQ_dm>+DdXQx7qJ0!V#$R8bQb%5x6!y4CYIKrJCOAurRI`#xLE&!8~|)Qj}lx? zbIF4kFfH{_XC(s{)@ohI*g<;3rePkj$tm_$)Q|Vp5>f8-hYIs7vGx$q=x%8OS(08z zYL|WML6d3~`0jt80<%iMF?DHE2(>?pn*R4k7x`kpV;#xF+Xl|^4pL7esd=_Wy9wyw ze()R1V~h1VlooZ2I+0a@%qNXE9(^HTZV)6v4tPU*{b($K_8ju*3NV}i=6CFVpUNzP zY`rE-)waI>!c@3Uj5pz7URjm*g99G=PAch*jUXa&$LopbK(W3iBcQonHTRp=^NOq< zGfKylvcT4fUEUw)kzx&r8h1fEHf0s_ikHUqG|@t%uKn1IR;#i#sCx|i-eVvA(5|(q z_rDs-J~XR5Co09R#KPf*F6ncFOJCIOnzkwiFybq?q8s56Nw-`=OV|+U%a(WGj%uQz zm!2cZwZ3Y7f~YLO%O$x>tVkY>{wpT7qGSE?6A5a&jBMJ$%*f5n7w#(83e1N7Ti+O> zv9b!bJ(xqQJQm(=w?($M*Pj(!2~dN0;6m&e|$xDO<XxVr{P>L1*`9DF*1xmUGRY|nikEQ-L2 zyacc*MA)i}n{qy8CVaBZD2nA~77poJXveeCd#N5j6eWAaqjR8Y7>ywA;5B)0ZbU#u z0CaC&+VF-R{!KRp1u)>=T|HY%w})x!I>9-*;4H)4X6d7}6?}(XcZX}x_Mgt^c~Ws(~{6;+Ip;k#PiG{foGH)UlU}sZQS$ zy@z>E-7R~@`~VLa#8&0rfs+wg*ZCT`K5BXk1-{uy^!_X~oIkdGS0SR;YS`OOZ;uGM zLcWoHa9511$MR0yXL7lHr~nw`bs`uf+;*PyX~q#<&0O+`r+N$jJ%%l7x5 zlcw;w|3^|xnW}6fG=()TbYs^ASp$YNpB((w-+jmSdrc`<2B;hv^NKCXm}XM5~ruvY?@u{6CJ~tT%&6NyZMCN+JDeb>Zzjx?)oj4 zCEA_i|1J`x?OPUcV;o;}84g7^KHO208qGngi8Npw4R+C!!BhHnNMtTthfe4{`_60- z=6t4QC()ESp0=F7bt7YOJ?O5NEICNA^LBy?Uc*4o?Cov|<^-r*(|uvx{GPD|QvI!# zC^d2V&bJ^u>dDqkU88Eo6d?I|qK9!%FKWBUcC%fR6gHgeh`^znTIBl$m4el5*?Ko? z>o}dpbX^T*Ak}l?E(QHEl0oh%#QW>$v-1T=Sc~7_ee*CO{gURUyV|x+&Yq0M7M64J zv#HsIlx>D-gMDr`2$rH3Rd{k6hykXZEHk*jN`mYY?^M)Ks%4VKP@un*F2_TKOg}_5 zwIuj|tIO7<<&H4D1{BMdx+4{Zt)$Zzq14+n1BzFtSSws*iU3}xy&C~cy_w6IItQH0 zcXf7njtJe;(wfJ8#Ek51)%k?{zJzv0cAOP$2#$?F#V zcemakohLFkgR5eO{0Y&1{RLVyHd56(HxP45V*M2si$f+#{`L4HiAj#G7L$FmfM6%H z;lamKtS>T~->QplPrp}oQbnSI0-gL7C?|H>?U#}kq_s%`0wMx7irsDq&8N!?KQ2zb zX}I#U99u$m+iM-J-`3`<=A8`c{X(!r>HlS9K5*S+YhR{V=>h1sxj$*^Ca?2@Lq$eq zSH?-DChN+#^>T(&ffYgmhR3ckjy6j58FAUM0sN;NKCjk zsLKAd8qPa;BHB=!TbZ=+v7FE)al;mAz42Ws>xP@h>T>&Ej=Q`}S6v^=;>L*BPs z3)R!2seBz(-_I<_4^er$vr|5y>v_4UR}sp`V1WE|BQ3i ze1_|ERBMd15%5gsIY1!umMqvTLYx@QH(5;pC=@JIbQK5u2i_cyioAoTy!H$XEVT^CNUeO^-O$eNmM6EqUwEq8;bNYH ze1ws)Pt8fSg4>tDvP!kJgYzisTF56i1Tm=FsNRq+IW_-V5#9wcxgc2by3K#0ZCI z=pkx}hvMvuB=~M1zw`9?)M;`|L0JoYp^Q^oOG-KW27@D9bDM?Vq`n{~h*K1CU0}J~ zTlp?ye|WCMVkGmv+M=ZtI|>n(XXJUQyP;he^ct1%^<2L*GzEq3;32m*H3fycADb=( vMeH+bRtkz`K>&G0&4>a(K{56pxjYYxU(or0u_CckkiUBd=64(JxX1k$Bf`iJ literal 146271 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 diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index 2994f9fd7b5a32b7481eeec04c8bc31ae7d29bae..ebf104c891884de8a9d5716963e792d5a7821048 100644 GIT binary patch delta 6364 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 O;H9#*Qq>EK@c#j|5{3%^ delta 5609 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 beKv_?Crr8GYr`Q5Akxy+GI~&{X&3f?IPDm= From 5ad12e5c95dd67c495a8d4f2ade1546decde2446 Mon Sep 17 00:00:00 2001 From: Travis Whitehead Date: Mon, 19 Nov 2012 12:32:36 -0800 Subject: [PATCH 04/14] WIP: Porting gun targeting --- .../mob/living/carbon/human/update_icons.dm | 9 +++--- code/modules/mob/update_icons.dm | 4 +++ code/modules/projectiles/gun.dm | 30 +++++++++---------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 3cad3a2f64d..1feb9fa74a5 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -132,7 +132,7 @@ Please contact me on #coderbus IRC. ~Carn x //this proc is messy as I was forced to include some old laggy cloaking code to it so that I don't break cloakers //I'll work on removing that stuff by rewriting some of the cloaking stuff at a later date. /mob/living/carbon/human/update_icons() - + world << "[src] CALLED THE HUMAN VERSION OF UPDATE_ICONS" lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again update_hud() //TODO: remove the need for this overlays = null @@ -443,18 +443,19 @@ proc/get_damage_icon_part(damage_state, body_part) update_hair(0) if(update_icons) update_icons() -/mob/living/carbon/human/proc/update_targeted(var/update_icons=1) +/mob/living/carbon/human/update_targeted(var/update_icons=1) // If someone's targeting you if (targeted_by.len) //If the target is already there and finished locking (after two seconds), put in locked state and be done - if (overlays_standing[TARGETED_LAYER]) + if (overlays_standing[TARGETED_LAYER]||overlays_lying[TARGETED_LAYER]) var/target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locked") overlays_lying[TARGETED_LAYER] = target_locked overlays_standing[TARGETED_LAYER] = target_locked return - var/target_locking = new/image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") + var/target_locking = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") + world << "TARGET_LOCKING IS [target_locking]" //Put in our overlay, since it isn't already there overlays_lying[TARGETED_LAYER] = target_locking diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 252439277c5..32ea610cd10 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -5,6 +5,7 @@ return /mob/proc/update_icons() + world << "[src] CALLED THE MOB VERSION OF UPDATE_ICONS" return /mob/proc/update_hud() @@ -63,3 +64,6 @@ /mob/proc/update_inv_ears() return + +/mob/proc/update_targeted() + return diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index b642f088b32..a44abf2a9ff 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -414,18 +414,20 @@ mob/proc so try not to get on their bad side.\black ))" if(targeted_by.len == 1) spawn(0) - target_locked = new /obj/effect/target_locked(src) //Add the overlay - overlays += target_locked + //target_locked = new /obj/effect/target_locked(src) //Add the overlay + //overlays += target_locked spawn(0) //Make it show the 2 states properly - if(target_locked) - target_locked.icon_state = "locking" - if (ispath(src,mob/living/carbon/human)) - src:update_icons() + //if(target_locked) + // target_locked.icon_state = "locking" + //update_icons() + update_targeted() + //overlays += target_locked sleep(20) - if(target_locked) - target_locked.icon_state = "locked" - if (ispath(src,mob/living/carbon/human)) - src:update_icons() + //if(target_locked) + // target_locked.icon_state = "locked" + //update_icons() + update_targeted() + //overlays += target_locked var/mob/T = I.loc //Adding the buttons to the controler person if(T) @@ -463,7 +465,7 @@ mob/proc if(!I.silenced) for(var/mob/M in viewers(src)) M << 'TargetOff.ogg' - del(target_locked) //Remove the overlay + //del(target_locked) //Remove the overlay targeted_by -= I I.target.Remove(src) //De-target them if(!I.target.len) @@ -473,10 +475,8 @@ mob/proc del(T.item_use_icon) del(T.gun_move_icon) del(T.gun_run_icon) - if(!targeted_by.len) del targeted_by - spawn(1) - if (ispath(src,mob/living/carbon/human)) - src:update_icons() + //if(!targeted_by.len) del targeted_by + spawn(1) /*update_icons()*/ update_targeted() /* Captive(var/obj/item/weapon/gun/I) Sound(src,'CounterAttack.ogg') From f0be63eaa1f093a1c12fa08cd8401a362fc2123f Mon Sep 17 00:00:00 2001 From: Whitellama Date: Tue, 20 Nov 2012 03:09:42 -0800 Subject: [PATCH 05/14] Allowed more mobs to emote with me verb --- code/modules/mob/emote.dm | 2 +- code/modules/mob/living/blob/blob.dm | 1 + code/modules/mob/living/carbon/brain/brain.dm | 5 ++++- code/modules/mob/living/parasite/meme.dm | 6 +++--- code/modules/mob/mob_defines.dm | 3 ++- code/modules/mob/say.dm | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 783f3404e85..0a8f7045ce5 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -1,7 +1,7 @@ // All mobs should have custom emote, really.. mob/proc/custom_emote(var/m_type=1,var/message = null) - if(!emote_allowed && usr == src) + if(!use_me && usr == src) usr << "You are unable to emote." return diff --git a/code/modules/mob/living/blob/blob.dm b/code/modules/mob/living/blob/blob.dm index e49c166f1b2..b8ec9a3b368 100644 --- a/code/modules/mob/living/blob/blob.dm +++ b/code/modules/mob/living/blob/blob.dm @@ -8,6 +8,7 @@ see_invisible = SEE_INVISIBLE_LEVEL_TWO var/ghost_name = "Unknown" var/creating_blob = 0 + use_me = 0 //Blobs can't emote New() diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index 0a917a0158f..8f60796d0d5 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -5,6 +5,7 @@ var/timeofhostdeath = 0 var/emp_damage = 0//Handles a type of MMI damage var/alert = null + use_me = 0 //Can't use the me verb, it's a freaking immobile brain New() var/datum/reagents/R = new/datum/reagents(1000) @@ -48,6 +49,8 @@ /mob/living/carbon/brain/update_canmove() - if(in_contents_of(/obj/mecha)) canmove = 1 + if(in_contents_of(/obj/mecha)) + canmove = 1 + use_me = 1 //If it can move, let it emote else canmove = 0 return canmove \ No newline at end of file diff --git a/code/modules/mob/living/parasite/meme.dm b/code/modules/mob/living/parasite/meme.dm index 60a729c6628..880f21bad51 100644 --- a/code/modules/mob/living/parasite/meme.dm +++ b/code/modules/mob/living/parasite/meme.dm @@ -259,7 +259,7 @@ mob/living/parasite/meme/verb/Paralyze() set desc = "Prevents your host from using emote for a while." if(!src.host) return - if(!host.emote_allowed) + if(!host.use_me) usr << "\red Your host already can't use body language.." return if(!use_points(250)) return @@ -271,11 +271,11 @@ mob/living/parasite/meme/verb/Paralyze() host << "\red Your body feels numb.. You lose your ability to use body language." usr << "\red Your host can't use body language anymore." - host.emote_allowed = 0 + host.use_me = 0 sleep(1200) - host.emote_allowed = 1 + host.use_me = 1 host << "\red Your body has feeling again.." usr << "\red [host] can use body language again." diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index d69fc758db0..946875f5578 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -44,7 +44,7 @@ */ var/obj/screen/zone_sel/zone_sel = null - var/emote_allowed = 1 + var/use_me = 1 //Allows all mobs to use the me verb by default, will have to manually specify they cannot var/computer_id = null var/lastattacker = null var/lastattacked = null @@ -234,3 +234,4 @@ var/can_stand = 1 //Whether this mob have ability to stand var/immune_to_ssd = 0 + diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 401383762b6..0d2f1b63e7e 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -17,7 +17,7 @@ message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) - if(ishuman(src) || isrobot(src)) + if(use_me) usr.emote("me",1,message) else usr.emote(message) From 900b931c34f71e53e98e3c9c57adc91d77636cb5 Mon Sep 17 00:00:00 2001 From: Whitellama Date: Wed, 21 Nov 2012 04:00:31 -0800 Subject: [PATCH 06/14] Readded Xenobiology shuttle, readded combat shotguns to armoury (with beanbag shells), Removed Roboticist's access from command-clearance tech storage --- .../projectiles/guns/projectile/shotgun.dm | 2 +- maps/tgstation.2.0.9.1.dmm | 57 ++++++++++++------- 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 5170421e17e..34ea3e3423a 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -55,7 +55,7 @@ icon_state = "cshotgun" max_shells = 8 origin_tech = "combat=5;materials=2" - ammo_type = "/obj/item/ammo_casing/shotgun" + ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" //this is largely hacky and bad :( -Pete /obj/item/weapon/gun/projectile/shotgun/doublebarrel diff --git a/maps/tgstation.2.0.9.1.dmm b/maps/tgstation.2.0.9.1.dmm index ea425cf97d2..ddbd609e81f 100644 --- a/maps/tgstation.2.0.9.1.dmm +++ b/maps/tgstation.2.0.9.1.dmm @@ -83,8 +83,8 @@ "abE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/security/prison) "abF" = (/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "abG" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) -"abH" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = 2; pixel_y = -2},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) -"abI" = (/obj/structure/rack,/obj/item/clothing/suit/armor/laserproof{pixel_x = -2; pixel_y = 2},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) +"abH" = (/obj/machinery/deployable/barrier,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/warden) +"abI" = (/obj/machinery/deployable/barrier,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/warden) "abJ" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "abK" = (/obj/structure/closet{name = "Contraband Locker"},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) "abL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/hos) @@ -99,8 +99,8 @@ "abU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/lattice,/turf/space,/area) "abV" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "abW" = (/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"abX" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/warden) -"abY" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/warden) +"abX" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = 2; pixel_y = -2},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/security/warden) +"abY" = (/obj/structure/rack,/obj/item/clothing/suit/armor/laserproof{pixel_x = -2; pixel_y = 2},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/security/warden) "abZ" = (/obj/machinery/door/window/southleft{dir = 8; name = "Contraband Storage"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aca" = (/obj/structure/rack,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) "acb" = (/obj/structure/closet/secure_closet/hos,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/security/hos) @@ -1034,7 +1034,7 @@ "atT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/storage/tech) "atU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/tech) "atV" = (/obj/effect/sign/securearea,/turf/simulated/wall/r_wall,/area/storage/tech) -"atW" = (/obj/machinery/door/airlock/highsecurity{name = "High Tech Storage"; req_access_txt = "19;23"},/turf/simulated/floor/plating,/area/storage/tech) +"atW" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) "atX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/tech) "atY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) "atZ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint) @@ -2627,7 +2627,7 @@ "aYA" = (/obj/machinery/door/firedoor/border_only{dir = 8},/turf/simulated/floor,/area/hallway/secondary/exit) "aYB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/exit) "aYC" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"aYD" = (/turf/space,/area/shuttle/research/station) +"aYD" = (/obj/structure/table/reinforced,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/obj/item/ammo_casing/shotgun/beanbag,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) "aYE" = (/turf/space,/area/shuttle/specops/station) "aYF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry) "aYG" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) @@ -8975,7 +8975,23 @@ "dqE" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "dqF" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "dqG" = (/obj/machinery/conveyor{tag = "icon-conveyor0 (SOUTHWEST)"; icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production) - +"dqH" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/research/station) +"dqI" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) +"dqJ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) +"dqK" = (/obj/structure/window/reinforced,/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) +"dqL" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/research/station) +"dqM" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/research/station) +"dqN" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/research/station) +"dqO" = (/obj/structure/shuttle/window,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) +"dqP" = (/obj/machinery/door/airlock/highsecurity{name = "High Tech Storage"; req_access_txt = "19"},/turf/simulated/floor/plating,/area/storage/tech) +"dqQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/shuttle/research/station) +"dqR" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/research/station) +"dqS" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/research/station) +"dqT" = (/obj/structure/ore_box,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) +"dqU" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/research/station) +"dqV" = (/obj/machinery/computer/research_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) +"dqW" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/research/station) + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9042,13 +9058,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaahaahaahaahaahaahaahaaiaajaakaahaahaahaahaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaahaalaamaanaaoaapaaqaaraasaataauaavaawaahaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaxaaxaaxaaxaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaayaazaamaaAaamaamaaBaaCaaDaamaaEaaFaahaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaxaaGaaHaaIaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaalaamaaJaaKaaLaazaaMaaNaaOaamaavaawaahaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaxaaPaaQaaRaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaahaaSaaSaaSaaSaaTaaUaaVaaCaaWaaXaaSaaSaahaafaafaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaafaaxaaYaaRaaZaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaahabaabbabcabdabeabfabgaamaaDaamabhabiaahaafaagaagaagaafaagaafaaaaaaaafaaaaafaaaaafaaaaafabjaaRaaPaaRabjaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaahabkablaazaaBabmabnaboabpaaDabqabrabsabtabtabtabtabtabtabtabtabtabuaafaafaafaafaafaafaafabvaaPaaRaaPabwaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaahabxaaSabyabzabAabBabCabDabEaaSaaSabFabtabGabGabGabHabIabJabKabtabLabMabNabOabPabPabPabPaaxaaPaaPaaRaaxaafaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaahabQaaSabRabSaaSabTaaaabUaaaaaaaaSabVabtabWabWabWabXabYabZacaabtacbaccacdaceacfacgachabPaaxaciaaPacjaaxaaxaaxaaxaaxaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaahackaaSabRaclaaSabTaaaabUaaaaaaaaSacmabtacnacoacoacpacqacracsabtactacuacvacwacxacyaczabPacAacBacCacDacEacFacGacGaaxaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaalaamaaJaaKaaLaazaaMaaNaaOaamaavaawaahaafaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaafaaxaaPaaQaaRaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaahaaSaaSaaSaaSaaTaaUaaVaaCaaWaaXaaSaaSabtabtabtabtabtabtabtabtabtaaaaafaaaaafaaaaafaaaaafaaxaaYaaRaaZaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaahabaabbabcabdabeabfabgaamaaDaamabhabiabtaYDatWatWabXabYabJabKabtaaaaafaaaaafaaaaafaaaaafabjaaRaaPaaRabjaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaahabkablaazaaBabmabnaboabpaaDabqabrabsabtabWabWabWacpacqabZacaabtabuaafaafaafaafaafaafaafabvaaPaaRaaPabwaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaahabxaaSabyabzabAabBabCabDabEaaSaaSabFabtabGabGabGacpacqacracsabtabLabMabNabOabPabPabPabPaaxaaPaaPaaRaaxaafaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaahabQaaSabRabSaaSabTaaaabUaaaaaaaaSabVabtabWabWabWacpacqabHabIabtacbaccacdaceacfacgachabPaaxaciaaPacjaaxaaxaaxaaxaaxaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaahackaaSabRaclaaSabTaaaabUaaaaaaaaSacmabtacnacoacoacpacqabHabIabtactacuacvacwacxacyaczabPacAacBacCacDacEacFacGacGaaxaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahacHaaSacIacJaaSacKacLacMacNaaSaaSaaSabtacOabWabWacpacPacQacRabtacSacuacvacTacUacVacWabPacXacYacZadaadbadcadcaddaaxaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeadfadgadhadiadjadkadladmadnadoadpadqadradsadtaaoaduadvabtadwadwadwacpadxadyadzabtadAadBadCadDadEadFadGabPadHadIadJadKadLadMadNadOaaxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadPadQadRadSadTadUadVadWadXaazaazaazadYadZaeaaebaecaedaeeabtaefaegaehacpacqaeiaejabtabPaekaelaemaenaeoabPabPaaxaepaeqaeraaxaaxaaxaesaaxaaxaaxaesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9079,7 +9095,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraarbarcardaraarearfargaraapFapFapFarhariarjarkarlaqpaaaaaaajXaaaamIamIamIamIamIaafamraafamIamIamIamIamIaaaajlaaaaaaaaaaaaaaaaaaaaaaaaarmarmarnarmarmaaaaaaaafaafaagaagaagaroarparoanTarqarrarsaorartaruarvanVanUanZanZarwarxaryarzarAarBarCarDajUarEarFaqHarFapVaqJaqKapVapVarGapVapVapVarHapVapxarIarJarKarLarMarNaqUarOarPapzapzapzapzapzarQarRarSarTaaaaaaajmaaaaafaaaaafaafaaaaaaamkaaaaaaaafaaaaaaaafaaaajlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraarUarVarWaraarUarVarWaraarXarYarZarZarZarZasaasbaoYaaaaaaajlaaaaafaaaaafaafaaaaaaascaaaaaaaafaaaaaaaafaaaajlaafaaaaaaaaaaaaaaaaaaaaaasdaseasfasgasdaaaaaaaafaafaagaagaagamvamvamvamvarqashasiasiasjasiasiasiaskaslasmasnasmasoaspasqamSasrairassapnastaqHasuapVasvaswasxasyaszaszasAasBaszasCasDasEarJasFasGasHasIasJasKasLapzapzapzapzapzasLasMasNasOaaaaaaajmajmajlaaaaaaaafaaaaaaamkaaaaafaafaafaafajlajlajlaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaqmaraasPasQaqmaraasPasQaqmaqpasRaqpaqpaqpaqpaqpasSapGaaaaaaajlajlajlaaaaaaaafaaaasTasUasTaafaafaafaafajlajlajlaafaafaaaaaaaafaaaaaaaaaasVasWasXasYasZaaaamvamvataatbatcamvamvatdateatfatgathathathatiathathatjatkathathatlatmatmatnatoatpatqanpatraqEatsattaqHatuaqJatvatvatwatxatyatzatwatvatvatAatBatCasFasGasHasIasJatDatEapzapzapzapzapzatEatFasNasOaaaaaaaaaaaaaafaafaaaaafaaaaaaatGaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHatIatIatIatJatIatIatIatKatLatMatNatNatNatNaqpatOapGaaaaafaafaaaaaaaaaaaaaafaaaatPatQatRaafaaaaafaaaaaaaaaaaaaaaaafaafaaaaafaafatSatTatUatVatWatVatXatYatSatZauaauaauaauaauaauaaubaucaudaueaueaueaufaueaueaueaueaueaueaueaueaueaueaugauhauiaujaukarEapVapVapVapVaulaumatvatwatyaunatyauoaupauqaurausaqRautauuauvauwauxauyauzapzapzapzapzapzauAauBauCauDaaaaaaaaaaaaaaaaafaaaaafaaaauEauFauEaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHatIatIatIatJatIatIatIatKatLatMatNatNatNatNaqpatOapGaaaaafaafaaaaaaaaaaaaaafaaaatPatQatRaafaaaaafaaaaaaaaaaaaaaaaafaafaaaaafaafatSatTatUatVdqPatVatXatYatSatZauaauaauaauaauaauaaubaucaudaueaueaueaufaueaueaueaueaueaueaueaueaueaueaugauhauiaujaukarEapVapVapVapVaulaumatvatwatyaunatyauoaupauqaurausaqRautauuauvauwauxauyauzapzapzapzapzapzauAauBauCauDaaaaaaaaaaaaaaaaafaaaaafaaaauEauFauEaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauGauHatNauIauJatNatNauKauIatNauLauMauNauNauOaqpatOauPaafaafaaaaaaaaaaaaaaaaafauQauRauSauTauUaaaaafaaaaaaaaaaaaaqpaqpaqpaqpaqpaqpatSauVauWauXauYauZavaavbatSavcavdavdavdavdavdavdavdaveavfaueavgavhaviavjavkavlavmavnavoavpavqavraueavsamSavtairavuapnastarFavvapVaqJavwavxauqauqavyavzavAavBavCasDavDavEavFavGavHavIavJavKavLapzapzapzapzapzavMapxapxapxaaaaaaaaaaaaaafaafaafaafaaaavNavOavPaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaraatHavQatHavRatNatNavSatHavQatHavTauHauJavUaqpatOaqpaqpavVaqsaqsaqsaqsaqtaqpavWavXavYavZavWaqpaqpavVaqsawaaqpaqparlawbawcapFawdatSauYauYauYaweauYawfauYatSavcavdawgawhawiawjawgavdaveanrawkawlawmawnawoawpawpawqawrawsawtawtawuawvavsamSawwairawxaqEaqFaqHaqHawyaqJawzawAavBawBawCawDawEawEawFawEapxawGawHawIawJawKawLapxawMapzapzapzapzapzawMapxaafaaaaaaaaaaaaaaaaafaafaaaaafawNawOawPawQawRaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafawSaqmawTarVawUawVawWawXawYawUarVawZaxaaqmaxbaxcaqpaxdaxeaxeaxeaxeaxeaxeasbaxfaxgavWaxhaxiaxjavWaxkapFapFapFapFapFapFapFapFapFapFapFatSaxlauYaxmaxnaxoaxpaxqatSavcavdawgaxraxsaxtawgavdaveaxuaueaxvaxwaxxaxyawtaxzaxAaxBaxCawtawtaxDaxEavsamSaxFairawxapRarFaqHarFapVasvaxGawEawEawEawEawEawEaxHaxIaxJawEapxapxapxapxaxKapxapxawMapzapzapzapzapzawMapxaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaxLaxMaxNaxOaxLaafaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9102,11 +9118,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUavQarVavQatNaTxaPNaTyaTzaTAaTAaTAaTzaTBaTCaPLaTDaTEaTFaTGaTHaTHaTHaTIaTHaTJaTKaTLaTMaTNaTNaTOaNoaTPaTQaTRaTSaTTaTUaTVaTWaTXaTYaTZaUaaUbaUcaUcaUcaUdaMcaGaaGaaUeaUfaUgaUhaUiaUjaUkaUlaUmaUnaUoaMgaMgaMgaMgaMgaMgaUpaUqaUraUsaSWaUtaUuaMgaUjaUiaUvaUwaUfaLhaGaaGaaPcaKnaUxaQtaKnaKnaKnaQtaKnaNSaKnaJkaJkaKnaKnaUyaUzaUAaPlaPlaPlaUBaUCaUDaGtaUEaUFaOfaUGaUGaUHaUFaUIaGxaUJaUKaTsaTtaFeaMNaPBaPBaPBaPBaPBaMOaULaUMaUNaUOaUPaUQaUPaURaOtaafaafaaaaGIaGIaGIaGIaGIaGIaGIaGIaGIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaUSaUTaShavRaUUaUVaUWaUXaUWaUYaTzaTzaUZaTAaPLaVaaVbaTFaTGaVcaVdaVeaVfaTHaVgaVhaViaLRaVjaVkaVlaVmaLRaVnaVoaVpaVpaVpaVpaVqaVpaVraVsaVtaVsaVsaVuaVsaVvaVraGaaGaaVwaVxaVyaVyaVyaVyaVzaVAaVBaVAaVAaVCaVCaVCaVCaVCaVDaVEaVEaVFaVGaVHaVIaVHaVHaVHaVHaVHaQeaQeaLhaGaaVJaGnaVKaVLaVMaVNaKnaKnaKnaVOaVPaVQaKnaVRaVSaVTaGtaGtaGtaVUaVVaVVaVVaGtaGtaGtaVWaOfaOfaVXaVYaVZaWaaKwaGxaWbaUKaTsaLIaWcaOjaOkaPAaPBaPAaOjaOkaWdaFgaWeaOpaOpaOpaOpaWfaOtaaaaafaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaQUaafauGaWgatKatMaPNaWhaWhaWiaWjaWkaWiaWlaWhaPLaWmaWnaWoaWpaWqaWqaWraWsaWqaWtaVhaWuaLRaVjaVkaWvaWwaLRaVnaVoaVpaWxaWyaWyaWyaWzaVraWAaWBaWCaWDaVraVraVraVraGaaGaaUeaWEaWFaWGaWHaWIaWJaWKaWLaWMaVAaVCaWNaWOaWPaWQaWRaWSaWTaWUaVHaWVaWWaWXaWYaWZaXaaVHaXbaXbaHoaGaaGaaGnaGnaGnaGnaGnaXcaPcaXcaXdaXeaGnaNPaGnaGnaGnaXfaXgaXhaXgaXgaXgaXgaXiaXgaXfaKwaXjaXjaXkaXlaXlaXlaXlaXfaXmaXnaXoaXpaXqaXraXraXsaXraXraXraXraXtaXuaXvaOpaOpaOpaOpaXwaPFaMTaMTaSeaGIaGIaGIaGIaGIaGIaGIaGIaGIaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawSaqmaXxaxQaSharaaraaraaraaraaraaXyaXzaPNaPLaPLaPLaPLaPLaPLaPLaPLaPLaXAaMZaTFaTGaVcaXBaXCaXDaTHaXEaXFaXGaLRaVjaVkaXHaXIaLRaVnaVoaVpaWyaXJaXJaWyaXJaVraWAaXKaXLaXLaXMaXNaXOaVraXPaGaaUeaXQaXRaXSaXTaXTaXTaXTaXUaXVaVAaVCaXWaXXaXYaXZaWNaYaaYbaYcaYdaYeaWWaYfaYgaYhaYiaVHaYjaYkaFZaYlaGaaYmaYnaTsaTsaYoaTsaTsaTsaYoaTsaYpaTsaTsaYqaTsaYraTsaYsaTsaTsaTsaTsaTsaTsaYnaTsaTsaTsaTsaTsaTsaTsaTsaYtaYuaYvaYwaYxaYvaYvaYvaYyaYvaYvaYzaTsaYnaYAaOpaOpaOpaOpaOpaYBaQTaYCaQSaQTaGIaGIaGIaGIaGIaGIaGIaGIaGIaafaYDaYDaYDaYDaYDaYDaYDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaaaaafaYFawVauJaYGaYHaYIaYIaYIaYIaYIaYIaYJaYKaLOaSIaMZaTFaTGaTHaTHaYLaYMaTHaLRaLRaYNaLRaVjaYOaXHaYPaLRaVnaVoaVpaYQaYRaWyaXJaYSaVraYTaVraYUaXLaXLaYVaYWaVraGaaGaaYXaWEaYYaYZaXTaXTaZaaXTaXUaZbaVAaVCaZcaZdaZeaZeaZeaYaaZfaVCaZgaZhaWWaYfaZiaYeaZjaVHaXbaNNaZkaGaaGaaYmaYnaTsaTsaTsaTsaTsaTsaTsaTsaTsaTsaTsaZlaZmaZmaZnaZoaTsaTsaTsaTsaTsaTsaYnaTsaTsaTsaTsaTsaTsaTsaTsaTsaZpaTsaYsaTsaTsaTsaTsaTsaTsaTsaZqaTsaYnaYAaOpaOpaOpaOpaOpaZraSdaMTaMTaPGaGIaGIaGIaGIaGIaGIaGIaGIaGIaafaYDaYDaYDaYDaYDaYDaYDaafaZsagQagQaZsaafaZsagQagQaZsaafaZsagQagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaSfaSgaShavRaZtaZuaZvaZvaZwaZvaZvaZvaZxaLOaLOaLOaLOaTFaTGaVcaZyaZzaZAaTHaZBaZCaZDaLRaLRaLRaLRaZEaLRaVnaVoaVpaZFaWyaXJaZGaZHaVraWAaVraZIaXLaXLaZJaZKaVraZLaGaaZMaWEaZNaZOaZPaZQaYZaYZaZRaZSaVAaZTaZUaZVaZeaZWaZeaXXaZXaZYaZgaZZbaaaYeaYeaYebabbacaXbbadbaebafaGaaYmaYnaTsaTsaTsaTsaTsaTsaTsaTsaTsaTsbagbahaTsaTsbaibajaTsbagbakbalaTsaTsaYnbambanbanbanbanbanbanbaoaTsaZpaTsaYsaTsbapaTsbagaTsbaqaTsbaraTsaYnaYAaOpaOpaOpaOpbasaXwbataafaaaaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaafaYDaYDaYDaYDaYDaYDaYDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEavQarVavQatNbauaZvbavbawbaxbaxbaybazbaAbaBbaBbaBbaBbaCbaDbaEbaEbaFbaGbaEbaHbaHbaIbaHbaJbaKaRhbaLbaKbaMbaNbaObaPbaQbaQbaRbaSbaTbaUbaVbaWaXLaXLaZJbaXbaYaZLaGabaZaWEaYZbbabbbbbcbbdaYZbbeaVAaVAaVCbbfbbgbbhbbibbjbbgbbkaVCaZgbblbbmbbnbbobbpbbqbbrbbsbbtbbuaGabbvbbwbbxbbybbybbybbybbybbzbbwbbAbbAbbwbbBbbCbbBbbBbbDbbEbbFbbFbbFbbFbbGbbFbbFbbHbbIbbJbbKbbKbbIbbJbbLbanbbMbanbbNbanbbObbPbbQbbQbbQbanbbRbanbbSbbTbbUbbVbbVbbWaLKbbXbbYaafaafaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaafaYDaYDaYDaYDaYDaYDaYDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaZsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaUSaUTaShavRbbZaZvbcaaZvbcbbccaZvaZvaZvaMZbcdaSHaSHbceaTHaVcbcfaXCbcgaTHbchbciaRpaRpbcjbckbclbcmbcnbcobcpbcqbcrbcsbcrbctbcubcvbcwbcxbcyaXLaXLbczbcAbcBaZLaGabcCaWEbcDaYZbcEbcFaYZaYZbcGaVAaVAaVCbcHbcIbcJbcKbcLbcMbcNaVCaZgbcObcPbcQbcQbcRbcSaVHbcTbcTbcUaGaaGabcVbcWbcWbcXbcXbcXbcXbcXbbwbcWbcWbbwbcYbcZbdabbBbdbbdcbddbdebdfbdgbdgbdhbdibdjbdkbdlbdlbdlbdlbdmbbPbdnbdobdnbdpbdnbbPbbPbdqbdrbbQbdsbdtbdubbQbbQbdvbdwbdxbdvbdvbdybbYaafaaaaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaafaYDaYDaYDaYDaYDaYDaYDaafaafbdzbdzbdzbdzbdzbdzbdzbdzaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawSaqmaXxaxQaSharaaraaraaraaraaraaXyaXzaPNaPLaPLaPLaPLaPLaPLaPLaPLaPLaXAaMZaTFaTGaVcaXBaXCaXDaTHaXEaXFaXGaLRaVjaVkaXHaXIaLRaVnaVoaVpaWyaXJaXJaWyaXJaVraWAaXKaXLaXLaXMaXNaXOaVraXPaGaaUeaXQaXRaXSaXTaXTaXTaXTaXUaXVaVAaVCaXWaXXaXYaXZaWNaYaaYbaYcaYdaYeaWWaYfaYgaYhaYiaVHaYjaYkaFZaYlaGaaYmaYnaTsaTsaYoaTsaTsaTsaYoaTsaYpaTsaTsaYqaTsaYraTsaYsaTsaTsaTsaTsaTsaTsaYnaTsaTsaTsaTsaTsaTsaTsaTsaYtaYuaYvaYwaYxaYvaYvaYvaYyaYvaYvaYzaTsaYnaYAaOpaOpaOpaOpaOpaYBaQTaYCaQSaQTaGIaGIaGIaGIaGIaGIaGIaGIaGIaaadqLdqNdqOdqNdqOdqNdqMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaaaaafaYFawVauJaYGaYHaYIaYIaYIaYIaYIaYIaYJaYKaLOaSIaMZaTFaTGaTHaTHaYLaYMaTHaLRaLRaYNaLRaVjaYOaXHaYPaLRaVnaVoaVpaYQaYRaWyaXJaYSaVraYTaVraYUaXLaXLaYVaYWaVraGaaGaaYXaWEaYYaYZaXTaXTaZaaXTaXUaZbaVAaVCaZcaZdaZeaZeaZeaYaaZfaVCaZgaZhaWWaYfaZiaYeaZjaVHaXbaNNaZkaGaaGaaYmaYnaTsaTsaTsaTsaTsaTsaTsaTsaTsaTsaTsaZlaZmaZmaZnaZoaTsaTsaTsaTsaTsaTsaYnaTsaTsaTsaTsaTsaTsaTsaTsaTsaZpaTsaYsaTsaTsaTsaTsaTsaTsaTsaZqaTsaYnaYAaOpaOpaOpaOpaOpaZraSdaMTaMTaPGaGIaGIaGIaGIaGIaGIaGIaGIaGIaaadqHdqKdqJdqIdqJdqIdqHaafaZsagQagQaZsaafaZsagQagQaZsaafaZsagQagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaSfaSgaShavRaZtaZuaZvaZvaZwaZvaZvaZvaZxaLOaLOaLOaLOaTFaTGaVcaZyaZzaZAaTHaZBaZCaZDaLRaLRaLRaLRaZEaLRaVnaVoaVpaZFaWyaXJaZGaZHaVraWAaVraZIaXLaXLaZJaZKaVraZLaGaaZMaWEaZNaZOaZPaZQaYZaYZaZRaZSaVAaZTaZUaZVaZeaZWaZeaXXaZXaZYaZgaZZbaaaYeaYeaYebabbacaXbbadbaebafaGaaYmaYnaTsaTsaTsaTsaTsaTsaTsaTsaTsaTsbagbahaTsaTsbaibajaTsbagbakbalaTsaTsaYnbambanbanbanbanbanbanbaoaTsaZpaTsaYsaTsbapaTsbagaTsbaqaTsbaraTsaYnaYAaOpaOpaOpaOpbasaXwbataafaaaaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaaadqUdqWdqJdqIdqJdqVdqOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEavQarVavQatNbauaZvbavbawbaxbaxbaybazbaAbaBbaBbaBbaBbaCbaDbaEbaEbaFbaGbaEbaHbaHbaIbaHbaJbaKaRhbaLbaKbaMbaNbaObaPbaQbaQbaRbaSbaTbaUbaVbaWaXLaXLaZJbaXbaYaZLaGabaZaWEaYZbbabbbbbcbbdaYZbbeaVAaVAaVCbbfbbgbbhbbibbjbbgbbkaVCaZgbblbbmbbnbbobbpbbqbbrbbsbbtbbuaGabbvbbwbbxbbybbybbybbybbybbzbbwbbAbbAbbwbbBbbCbbBbbBbbDbbEbbFbbFbbFbbFbbGbbFbbFbbHbbIbbJbbKbbKbbIbbJbbLbanbbMbanbbNbanbbObbPbbQbbQbbQbanbbRbanbbSbbTbbUbbVbbVbbWaLKbbXbbYaafaafaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaaadqHdqTdqJdqIdqIdqIdqHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaZsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaUSaUTaShavRbbZaZvbcaaZvbcbbccaZvaZvaZvaMZbcdaSHaSHbceaTHaVcbcfaXCbcgaTHbchbciaRpaRpbcjbckbclbcmbcnbcobcpbcqbcrbcsbcrbctbcubcvbcwbcxbcyaXLaXLbczbcAbcBaZLaGabcCaWEbcDaYZbcEbcFaYZaYZbcGaVAaVAaVCbcHbcIbcJbcKbcLbcMbcNaVCaZgbcObcPbcQbcQbcRbcSaVHbcTbcTbcUaGaaGabcVbcWbcWbcXbcXbcXbcXbcXbbwbcWbcWbbwbcYbcZbdabbBbdbbdcbddbdebdfbdgbdgbdhbdibdjbdkbdlbdlbdlbdlbdmbbPbdnbdobdnbdpbdnbbPbbPbdqbdrbbQbdsbdtbdubbQbbQbdvbdwbdxbdvbdvbdybbYaafaaaaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaaadqQdqNdqOdqRdqOdqNdqSaafaafbdzbdzbdzbdzbdzbdzbdzbdzaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYEaYEaYEaYEaYEaYEaYEaYEaYEaYEaaaaaaawUaWgatKbdAaZvbcaaZvbdBbdCbdDbdEaZvbdFaMZbdGaMZbdHaTHaTHaTHaTHaTHaTHbdIbdJbdKaMZbdLaVpbdMaVpbdNaVpaVpaVpaVpaVpbdObdNaVpbdPbdQbdRbdSaXLaXLaZJbdTbaYaZLaGaaUeaWEbdUbdVbdWbdXbbdbdYaZRaVAbdZbeabebbecaWNbedaWNbeebefbegbehbeibejbekbelbembenaVHbeobcTbepaMtaMtbeqberberbcXbesbcXbetbetbbwbcWbeubbwbevbewbexbbBbeybezbbFbeAbdgbeAbdgbeAbeBbdjbeCbdlbeDbdlbdlbeEbbPbeFbeGbeHbeIbeFbeJbbPbeKbeLbeMbeNbeObeNbePbbQbeQbeRbeSbeTbdvbdybbYaafaaaaafaGIaGIaGIaGIaGIaGIaGIaGIaGIaafbeUbeVbeWbeXbeYbeZbdzbdzbdzbdzbfabfbbfcbfdbfebfcbdzaafaaaaaaaZsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawSaqmaXxaxQaUTaPIaPIaPIaPIbffavRatNatNaZvbfgbfhbfibdDbfjbfkbflbfmbfmbfmbfmbfnbfobfobfobcobcobcobfpbfqbfqbfqbfraVpbfsbftbfubfvbfwbfxbfybfxbfxbfzbfAbfBbfCbfDbfEbfFbfGbfHbaTbaTbfIbfJbfKbfLbfMbfMbfMbfMbfMbfNbfObfPbfLbegbegbegbegbfQbegbegbegbegbfRaYdbfSaVHaZgbfTaVHaVHbcTbcTbfUaGaaGabfVbfWbfWbfXbcXbcXbcXbfYbbwbcWbcWbbwbfZbewbgabbBbgbbezbbFbeAbdgbeAbdgbeAbgcbdjbgdbgebgfbgfbgfbgfbggbghbgibgjbgkbglbgmbggbgnbgobgpbgqbgrbeNbgsbbQbgtbeRbgubgvbdvbdybbYbbYaafaafajmaGIaGIaGIaGIaGIaGIaGIajmaafbgwbgxbgxbgybgxbeZbgzbgAbgzbdzbgBbgCbgDbgDbgDbgDbdzaafaaaaaaagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgEbgFarVavQatIatIatKatNatNaZvbgGbgHbdDbgIaZvaZvaZvaLObgJbgKbgLbgMbgLbgLbgLbgMbgLaLOaLOaVpaVpaVpbgNaVpbgObfxbgPbfxbfxbfxbgQbgRbgSbgSbgTbgUbgVbgWbgWbgWbgXbgYbgZbhabhbbhcbhdbhebhfbhfbhgbhhbhibhjbhkbhjbhlbhmbhnbhobhpbhqbhrbhobhsbhmbhtbhubhvbhwbhxbhybhzbhAbhAbhBbfUaGaaGabhCbhDbhDbcXbhEbcWbhFbcXbhGbcXbhHbbwbhIbhJbhKbbBbhLbezbbFbeAbdgbeAbdgbeAbeBbdjbhMbhNbhObhPbdlbhQbhRbhSbhTbhTbhUbhVbhWbhXbhYbhZbiabibbicbeNbidbbQbiebifbgubigbihbdybiibbYaaaaafajmajmajmajmajmajmajmajmajmaafbijbgxbikbilbgxbeZbimbgzbinbdzbiobgCbipbiqbgDbirbdzaafaaaaaaagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10523,3 +10539,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + From 71b8045ee4f5562b50d6461eab3f7dbb9bd7884e Mon Sep 17 00:00:00 2001 From: Whitellama Date: Wed, 21 Nov 2012 04:00:52 -0800 Subject: [PATCH 07/14] Added banging against windows with harm intent --- code/game/objects/structures/window.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index a6af06a6a67..2979fe328be 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -119,13 +119,17 @@ if(reinf) new /obj/item/stack/rods( src.loc) src.density = 0 del(src) - return + else if (usr.a_intent == "hurt") + playsound(src.loc, 'Glassknock.ogg', 80, 1) + usr.visible_message("\red [usr.name] bangs against the [src.name]!", \ + "\red You bang against the [src.name]!", \ + "You hear a banging sound.") else playsound(src.loc, 'Glassknock.ogg', 80, 1) usr.visible_message("[usr.name] knocks on the [src.name].", \ "You knock on the [src.name].", \ "You hear a knocking sound.") - return + return /obj/structure/window/attack_paw() if ((HULK in usr.mutations)) From 90235adbc1b698efb15b7b696ece6e7b5395c955 Mon Sep 17 00:00:00 2001 From: Whitellama Date: Sun, 9 Dec 2012 17:12:59 -0800 Subject: [PATCH 08/14] WIP Guncode --- code/game/atoms.dm | 2 + code/game/hud.dm | 6 +- .../carbon/alien/humanoid/update_icons.dm | 15 +- .../mob/living/carbon/human/update_icons.dm | 32 +-- .../mob/living/carbon/monkey/update_icons.dm | 16 +- .../modules/mob/living/silicon/robot/robot.dm | 10 +- .../living/simple_animal/friendly/corgi.dm | 17 +- .../mob/living/simple_animal/simple_animal.dm | 10 +- code/modules/mob/mob_movement.dm | 2 +- code/modules/mob/update_icons.dm | 1 - code/modules/projectiles/gun.dm | 231 +++++++++++------- .../projectiles/guns/projectile/automatic.dm | 3 +- icons/effects/Targeted.dmi | Bin 613 -> 648 bytes icons/mob/screen1.dmi | Bin 158885 -> 158871 bytes 14 files changed, 213 insertions(+), 132 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 313a9106f48..47e77e1bccb 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -574,6 +574,8 @@ its easier to just keep the beam vertical. /atom/Click(location,control,params) //world << "atom.Click() on [src] by [usr] : src.type is [src.type]" + if(!istype(src,/obj/item/weapon/gun)) + usr.last_target_click = world.time if(usr.client.buildmode) build_click(usr, usr.client.buildmode, location, control, params, src) return diff --git a/code/game/hud.dm b/code/game/hud.dm index 9a29adc082b..a3022719807 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -46,9 +46,9 @@ #define ui_borg_panel "14:28,2:7" //Gun buttons -#define ui_gun1 "13:26,2:5" -#define ui_gun2 "12:24,2:5" -#define ui_gun3 "11:22,2:5" +#define ui_gun1 "13:26,3:7" +#define ui_gun2 "14:28, 4:7" +#define ui_gun3 "13:26,4:7" #define ui_gun_select "14:28,3:7" //Upper-middle right (damage indicators) diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index 0e2c6bed099..f1d65d271db 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -3,7 +3,8 @@ #define X_SUIT_LAYER 2 #define X_L_HAND_LAYER 3 #define X_R_HAND_LAYER 4 -#define X_TOTAL_LAYERS 4 +#define TARGETED_LAYER 5 +#define X_TOTAL_LAYERS 5 ///////////////////////////////// /mob/living/carbon/alien/humanoid @@ -120,10 +121,22 @@ overlays_standing[X_L_HAND_LAYER] = null if(update_icons) update_icons() +//Call when target overlay should be added/removed +/mob/living/carbon/alien/humanoid/update_targeted(var/update_icons=1) + if (targeted_by && target_locked) + overlays_lying[TARGETED_LAYER] = target_locked + overlays_standing[TARGETED_LAYER] = target_locked + else if (!targeted_by && target_locked) + del(target_locked) + if (!targeted_by) + overlays_lying[TARGETED_LAYER] = null + overlays_standing[TARGETED_LAYER] = null + if(update_icons) update_icons() //Xeno Overlays Indexes////////// #undef X_HEAD_LAYER #undef X_SUIT_LAYER #undef X_L_HAND_LAYER #undef X_R_HAND_LAYER +#undef TARGETED_LAYER #undef X_TOTAL_LAYERS diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 07d1541f929..c0a9d4128d5 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -132,7 +132,6 @@ Please contact me on #coderbus IRC. ~Carn x //this proc is messy as I was forced to include some old laggy cloaking code to it so that I don't break cloakers //I'll work on removing that stuff by rewriting some of the cloaking stuff at a later date. /mob/living/carbon/human/update_icons() - world << "[src] CALLED THE HUMAN VERSION OF UPDATE_ICONS" lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again update_hud() //TODO: remove the need for this overlays = null @@ -471,29 +470,17 @@ proc/get_damage_icon_part(damage_state, body_part) update_hair(0) if(update_icons) update_icons() +//Call when target overlay should be added/removed /mob/living/carbon/human/update_targeted(var/update_icons=1) - // If someone's targeting you - if (targeted_by.len) - - //If the target is already there and finished locking (after two seconds), put in locked state and be done - if (overlays_standing[TARGETED_LAYER]||overlays_lying[TARGETED_LAYER]) - var/target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locked") - overlays_lying[TARGETED_LAYER] = target_locked - overlays_standing[TARGETED_LAYER] = target_locked - return - - var/target_locking = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") - world << "TARGET_LOCKING IS [target_locking]" - - //Put in our overlay, since it isn't already there - overlays_lying[TARGETED_LAYER] = target_locking - overlays_standing[TARGETED_LAYER] = target_locking - - else + if (targeted_by && target_locked) + overlays_lying[TARGETED_LAYER] = target_locked + overlays_standing[TARGETED_LAYER] = target_locked + else if (!targeted_by && target_locked) + del(target_locked) + if (!targeted_by) overlays_lying[TARGETED_LAYER] = null overlays_standing[TARGETED_LAYER] = null - - if(update_icons) update_icons() + if(update_icons) update_icons() /* --------------------------------------- */ @@ -877,4 +864,5 @@ proc/get_damage_icon_part(damage_state, body_part) #undef L_HAND_LAYER #undef R_HAND_LAYER #undef TAIL_LAYER -#undef TOTAL_LAYERS +#undef TARGETED_LAYER +#undef TOTAL_LAYERS diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm index 4df4f6623b4..08d0c58cdfc 100644 --- a/code/modules/mob/living/carbon/monkey/update_icons.dm +++ b/code/modules/mob/living/carbon/monkey/update_icons.dm @@ -4,7 +4,8 @@ #define M_HANDCUFF_LAYER 3 #define M_L_HAND_LAYER 4 #define M_R_HAND_LAYER 5 -#define M_TOTAL_LAYERS 5 +#define TARGETED_LAYER 6 +#define M_TOTAL_LAYERS 6 ///////////////////////////////// /mob/living/carbon/monkey @@ -101,11 +102,24 @@ if (client) client.screen |= contents +//Call when target overlay should be added/removed +/mob/living/carbon/monkey/update_targeted(var/update_icons=1) + if (targeted_by && target_locked) + overlays_lying[TARGETED_LAYER] = target_locked + overlays_standing[TARGETED_LAYER] = target_locked + else if (!targeted_by && target_locked) + del(target_locked) + if (!targeted_by) + overlays_lying[TARGETED_LAYER] = null + overlays_standing[TARGETED_LAYER] = null + if(update_icons) update_icons() + //Monkey Overlays Indexes//////// #undef M_MASK_LAYER #undef M_BACK_LAYER #undef M_HANDCUFF_LAYER #undef M_L_HAND_LAYER #undef M_R_HAND_LAYER +#undef TARGETED_LAYER #undef M_TOTAL_LAYERS diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 203e1c029f2..e373bd3f5ff 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1,7 +1,7 @@ /mob/living/silicon/robot name = "Cyborg" real_name = "Cyborg" - icon = 'icons/mob/robots.dmi'// + icon = 'icons/mob/robots.dmi' icon_state = "robot" maxHealth = 300 health = 300 @@ -790,7 +790,13 @@ overlays += "ov-openpanel -c" return - +//Call when target overlay should be added/removed +/mob/living/silicon/robot/update_targeted() + if(!targeted_by && target_locked) + del(target_locked) + updateicon() + if (targeted_by && target_locked) + overlays += target_locked /mob/living/silicon/robot/proc/installed_modules() if(weapon_lock) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 5b9b46edf81..416bb6fea7c 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -23,10 +23,12 @@ /mob/living/simple_animal/corgi/Life() ..() - regenerate_icons() + //regenerate_icons() //Don't call this every life tick. + //I'm serious. If you're going to enable dressing up Ian, + //Find a GOOD place to call regenerate_icons(). /mob/living/simple_animal/corgi/show_inv(mob/user as mob) - /* + /* If you're turning this back on, scroll down and uncomment target_updated user.machine = src if(user.stat) return @@ -391,7 +393,14 @@ overlays += back_icon return - +//UNCOMMENT THIS WHEN YOU UNCOMMENT CODE FOR DRESSING UP IAN +/*//Call when target overlay should be added/removed +/mob/living/simple_animal/friendly/corgi/update_targeted() + if(!targeted_by && target_locked) + del(target_locked) + regenerate_icons() + if (targeted_by && target_locked) + overlays += target_locked*/ /mob/living/simple_animal/corgi/puppy name = "\improper corgi puppy" @@ -406,4 +415,4 @@ if(href_list["remove_inv"] || href_list["add_inv"]) usr << "\red You can't fit this on [src]" return - ..() + ..() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index b2f2f33287f..d9ed6512a12 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -432,4 +432,12 @@ var/obj/mecha/M = target_mob if (M.occupant) return (0) - return (1) \ No newline at end of file + return (1) + +//Call when target overlay should be added/removed +/mob/living/simple_animal/update_targeted() + if(!targeted_by && target_locked) + del(target_locked) + overlays = null + if (targeted_by && target_locked) + overlays += target_locked \ No newline at end of file diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index a6c3ebe5877..e208c04638f 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -282,7 +282,7 @@ return 0 move_delay = world.time//set move delay - + mob.last_move_intent = world.time + 10 switch(mob.m_intent) if("run") if(mob.drowsyness > 0) diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 32ea610cd10..a6ae6dc4a09 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -5,7 +5,6 @@ return /mob/proc/update_icons() - world << "[src] CALLED THE MOB VERSION OF UPDATE_ICONS" return /mob/proc/update_hud() diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index a44abf2a9ff..bf6bc3032c7 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -28,6 +28,8 @@ var/automatic = 0 //Used to determine if you can target multiple people. var/tmp/mob/living/last_moved_mob //Used to fire faster at more than one person. var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. + var/firerate = 1 // 0 for one bullet after tarrget moves and aim is lowered, + //1 for keep shooting until aim is lowered proc/load_into_chamber() return @@ -39,7 +41,7 @@ load_into_chamber() return 0 -//Removing the lock and the buttons. + //Removing the lock and the buttons. dropped(mob/user as mob) if(target) for(var/mob/living/M in target) @@ -59,19 +61,32 @@ for(var/obj/O in contents) O.emp_act(severity) -//Handling lowering yer gun. - attack_self() + verb/lower_aim() + set name = "Lower Aim" + set category = "Object" if(target) for(var/mob/living/M in target) if(M) M.NotTargeted(src) del(target) usr.visible_message("\blue \The [usr] lowers \the [src]...") - return 0 - return 1 + + //Clicking gun will still lower aim for guns that don't overwrite this + attack_self() + lower_aim() + + verb/toggle_firerate() + set name = "Toggle Firerate" + set category = "Object" + firerate = !firerate + if (firerate == 0) + loc << "You will now continue firing when your target moves." + else + loc << "You will now only fire once, then lower your aim, when your target moves." //Suiciding. attack(mob/living/M as mob, mob/living/user as mob, def_zone) + world << "[user] USED ATTACK()" if (M == user && user.zone_sel.selecting == "mouth" && load_into_chamber() && !mouthshoot) //Suicide handling. mouthshoot = 1 M.visible_message("\red \The [user] sticks their gun in their mouth, ready to pull the trigger...") @@ -117,11 +132,11 @@ update_icon() return else if(user.a_intent != "hurt" && load_into_chamber() && istype(in_chamber,/obj/item/projectile/energy/electrode)) //Point blank tasering. - /*if (M.canstun == 0 || M.canweaken == 0) + if (!(M.status_flags & CANSTUN) || !(M.status_flags & CANWEAKEN)) user.visible_message("\red \The [M] has been stunned with the taser gun by \the [user] to no effect!") del(in_chamber) update_icon() - return*/ + return if (prob(50)) if (M.paralysis < 60 && (!(HULK in M.mutations)) ) M.paralysis = 60 @@ -146,11 +161,57 @@ if(!load_into_chamber()) //No ammo, hit them! return ..() else + world << "\red PREFIRE IS CALLED TO SHOOT AT [M] BY [user]" PreFire(M,user) ///Otherwise, shoot! return else return ..() //Pistolwhippin' +//Compute how to fire..... + proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params) + //GraphicTrace(usr.x,usr.y,A.x,A.y,usr.z) + if(lock_time > world.time - 2) return //Lets not spam it. + if(!ismob(A)) //Didn't click someone, check if there is anyone along that guntrace +// var/mob/M = locate() in range(0,A) +// if(M && !ismob(A)) +// if(M.type == /mob) +// return FindTarget(M,user,params) + var/mob/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. + if(M && ismob(M) && isliving(M) && M in view(user)) + //if(!(M.client && M.client.admin_invis)) TODO: Look into admin invisibility in post-merge code + Aim(M) //Aha! Aim at them! + return + else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! + world << "\red CLICKED BUT COULDN'T FIND MOB, FIRED" + Fire(A,user,params) //Fire like normal, then. + if(ismob(A) && isliving(A) && !(A in target)) + Aim(A) //Clicked a mob, aim at them. + else if(lock_time < world.time + 10) + world << "\red LOCK TIME IS > WORLD TIME, FIRED" + Fire(A,user,params) //Bang! + else if(!target) + world << "\red DIDN'T HAVE A TARGET, FIRED" + Fire(A,user,params) //Boom! + //else + //var/item/gun/G = usr.OHand + //if(!G) + //Fire(A,0) + //else if(istype(G)) + //G.Fire(A,3) + //Fire(A,2) + //else + //Fire(A) + // Stolen from sd_get_approx_dir, didn't want to reinclude + var/d=get_dir(usr,A) + var/dir_to_fire = d //Turn them to face their target. + if(d&d-1) // diagonal + var/ax=abs(usr.x-A.x) + var/ay=abs(usr.y-A.y) + if(ax>=ay<<1) dir_to_fire = d&12 // keep east/west (4 and 8) + else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) + if(dir_to_fire != usr.dir) + usr.dir = dir_to_fire + proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this //Exclude lasertag guns from the CLUMSY check. @@ -158,7 +219,7 @@ if(istype(user, /mob/living)) var/mob/living/M = user if ((CLUMSY in M.mutations) && prob(50)) - M << "\red The [src.name] blows up in your face." + M << "\red The [src.name] blows up in your face!" M.take_organ_damage(0,20) M.drop_item() del(src) @@ -251,8 +312,6 @@ usr.visible_message("\red [usr] turns \the [src] on [M]!") else usr.visible_message("\red [usr] aims \a [src] at [M]!") - for(var/mob/K in viewers(usr)) - K << 'TargetOn.ogg' M.Targeted(src) @@ -291,6 +350,8 @@ else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) if(dir_to_fire != M.dir) M.dir = dir_to_fire + if (!firerate) // If firerate is set to lower aim after one shot, untarget the target + T.NotTargeted(src) afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) if(flag) return //we're placing gun on a table or in backpack @@ -300,50 +361,6 @@ else Fire(A,user,params) //Otherwise, fire normally. -//Compute how to fire..... - proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params) - //GraphicTrace(usr.x,usr.y,A.x,A.y,usr.z) - if(lock_time > world.time - 2) return //Lets not spam it. - if(!ismob(A)) //Didn't click someone, check if there is anyone along that guntrace -// var/mob/M = locate() in range(0,A) -// if(M && !ismob(A)) -// if(M.type == /mob) -// return FindTarget(M,user,params) - var/mob/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. - if(M && ismob(M) && isliving(M) && M in view(user)) - //if(!(M.client && M.client.admin_invis)) TODO: Look into admin invisibility in post-merge code - Aim(M) //Aha! Aim at them! - return - else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! - Fire(A,user,params) //Fire like normal, then. - if(ismob(A) && isliving(A) && !(A in target)) - Aim(A) //Clicked a mob, aim at them. - else if(lock_time < world.time + 10) - Fire(A,user,params) //Bang! - else if(!target) - Fire(A,user,params) //Boom! - //else - //var/item/gun/G = usr.OHand - //if(!G) - //Fire(A,0) - //else if(istype(G)) - //G.Fire(A,3) - //Fire(A,2) - //else - //Fire(A) - // Stolen from sd_get_approx_dir, didn't want to reinclude - var/d=get_dir(usr,A) - var/dir_to_fire = d //Turn them to face their target. - if(d&d-1) // diagonal - var/ax=abs(usr.x-A.x) - var/ay=abs(usr.y-A.y) - if(ax>=ay<<1) dir_to_fire = d&12 // keep east/west (4 and 8) - else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) - if(dir_to_fire != usr.dir) - usr.dir = dir_to_fire - - - //Yay, math! #define SIGN(X) ((X<0)?-1:1) @@ -391,7 +408,7 @@ mob/var target_time = -100 last_move_intent = -100 last_target_click = -5 - obj/effect/target_locked/target_locked = null + target_locked = null mob/proc Targeted(var/obj/item/weapon/gun/I) //Self explanitory. @@ -399,12 +416,14 @@ mob/proc I.target = list(src) else if(I.automatic && I.target.len < 5) //Automatic weapon, they can hold down a room. I.target += src - else if(I.target.len >= 5) //Otherwise, they can just aim at one person. + else if(I.target.len >= 5) if(ismob(I.loc)) I.loc << "You can only target 5 people at once!" return else return + for(var/mob/K in viewers(usr)) + K << 'TargetOn.ogg' if(!targeted_by) targeted_by = list() targeted_by += I I.lock_time = world.time + 20 //Target has 2 second to realize they're targeted and stop (or target the opponent). @@ -414,20 +433,13 @@ mob/proc so try not to get on their bad side.\black ))" if(targeted_by.len == 1) spawn(0) - //target_locked = new /obj/effect/target_locked(src) //Add the overlay - //overlays += target_locked - spawn(0) //Make it show the 2 states properly - //if(target_locked) - // target_locked.icon_state = "locking" - //update_icons() - update_targeted() - //overlays += target_locked + target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") + overlays += target_locked + spawn(0) sleep(20) - //if(target_locked) - // target_locked.icon_state = "locked" - //update_icons() - update_targeted() - //overlays += target_locked + if(target_locked) + target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locked") + update_targeted() var/mob/T = I.loc //Adding the buttons to the controler person if(T) @@ -436,12 +448,15 @@ mob/proc if(T.client) T.client.screen += T.item_use_icon T.client.screen += T.gun_move_icon - if(m_intent == "run" && T.client && T.client.target_can_move == 1 && T.client.target_can_run == 0) + else //If the client's gone, stop aiming + I.lower_aim() + return + if(m_intent == "run" && T.client.target_can_move == 1 && T.client.target_can_run == 0) src << "\red Your move intent is now set to walk, as your targeter permits it." //Self explanitory. m_intent = "walk" hud_used.move_intent.icon_state = "walking" while(targeted_by && T.client) - if(last_move_intent > I.lock_time + 10 && !T.client.target_can_move) //If the target moved while targeted + if(last_move_intent > I.lock_time + 10 && !T.client.target_can_move) //If target moved when not allowed to I.TargetActed(src) if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. I.lock_time = world.time + 5 @@ -465,7 +480,7 @@ mob/proc if(!I.silenced) for(var/mob/M in viewers(src)) M << 'TargetOff.ogg' - //del(target_locked) //Remove the overlay + del(target_locked) //Remove the overlay targeted_by -= I I.target.Remove(src) //De-target them if(!I.target.len) @@ -475,8 +490,8 @@ mob/proc del(T.item_use_icon) del(T.gun_move_icon) del(T.gun_run_icon) - //if(!targeted_by.len) del targeted_by - spawn(1) /*update_icons()*/ update_targeted() + if(!targeted_by.len) del targeted_by + spawn(1) update_targeted() /* Captive(var/obj/item/weapon/gun/I) Sound(src,'CounterAttack.ogg') @@ -505,15 +520,15 @@ mob/proc //Used to overlay the awesome stuff -/obj/effect +///obj/effect // target_locking // icon = 'icons/effects/Targeted.dmi' // icon_state = "locking" // layer = 99 - target_locked - icon = 'icons/effects/Targeted.dmi' - icon_state = "locked" - layer = 17.9 +// target_locked +// icon = 'icons/effects/Targeted.dmi' +// icon_state = "locking" +// layer = 17.9 // captured // icon = 'Captured.dmi' // layer = 99 @@ -521,9 +536,13 @@ mob/proc //If you move out of range, it isn't going to still stay locked on you any more. client/var target_can_move = 0 + move_dir = 2 target_can_run = 0 + run_dir = 2 target_can_click = 0 + click_dir = 2 gun_mode = 0 + mode_dir = 1 mob/Move() . = ..() for(var/obj/item/weapon/gun/G in targeted_by) //Handle moving out of the gunner's view. @@ -541,14 +560,18 @@ client/verb //These are called by the on-screen buttons, adjusting what the victim can and cannot do. AllowTargetMove() set hidden=1 - spawn(1) target_can_move = !target_can_move + target_can_move = !target_can_move + if (move_dir == 2) + move_dir = 1 + else + move_dir = 2 if(!target_can_move) // winset(usr,"default.target_can_move","is-flat=true;border=sunken") usr << "Target may now walk." usr.gun_run_icon = new /obj/screen/gun/run(null) screen += usr.gun_run_icon if(usr.gun_move_icon) - usr.gun_move_icon.dir = 1 + usr.gun_move_icon.dir = move_dir usr.gun_move_icon.name = "Disallow Walking" else // winset(usr,"default.target_can_move","is-flat=false;border=none") @@ -556,7 +579,7 @@ client/verb target_can_run = 0 del(usr.gun_run_icon) if(usr.gun_move_icon) - usr.gun_move_icon.dir = 2 + usr.gun_move_icon.dir = move_dir usr.gun_move_icon.name = "Allow Walking" for(var/obj/item/weapon/gun/G in usr) G.lock_time = world.time + 5 @@ -573,18 +596,22 @@ client/verb M << "\red Your character will now be shot if they move." AllowTargetRun() set hidden=1 - spawn(1) target_can_run = !target_can_run + target_can_run = !target_can_run + if (run_dir == 2) + run_dir = 1 + else + run_dir = 2 if(!target_can_run) // winset(usr,"default.target_can_move","is-flat=true;border=sunken") usr << "Target may now run." if(usr.gun_run_icon) - usr.gun_run_icon.dir = 1 + usr.gun_run_con.dir = run_dir usr.gun_run_icon.name = "Disallow Running" else // winset(usr,"default.target_can_move","is-flat=false;border=none") usr << "Target may no longer run." if(usr.gun_run_icon) - usr.gun_run_icon.dir = 2 + usr.gun_run_icon.dir = run_dir usr.gun_run_icon.name = "Allow Running" for(var/obj/item/weapon/gun/G in src) G.lock_time = world.time + 5 @@ -596,18 +623,22 @@ client/verb M << "\red Your character will now be shot if they run." AllowTargetClick() set hidden=1 - spawn(1) target_can_click = !target_can_click + target_can_click = !target_can_click + if (click_dir == 2) + click_dir = 1 + else + click_dir = 2 if(!target_can_click) // winset(usr,"default.target_can_click","is-flat=true;border=sunken") usr << "Target may now use items." if(usr.item_use_icon) - usr.item_use_icon.dir = 1 + usr.item_use_icon.dir = click_dir usr.item_use_icon.name = "Disallow Item Use" else // winset(usr,"default.target_can_click","is-flat=false;border=none") usr << "Target may no longer use items." if(usr.item_use_icon) - usr.item_use_icon.dir = 2 + usr.item_use_icon.dir = click_dir usr.item_use_icon.name = "Allow Item Use" for(var/obj/item/weapon/gun/G in src) G.lock_time = world.time + 5 @@ -619,18 +650,28 @@ client/verb M << "\red Your character will now be shot if they use items." ToggleGunMode() + world << "\red [usr] called ToggleGuMode BEFORE:" + world << "gun_mode = [gun_mode]" + world << "mode_dir = [mode_dir]" + world << "[usr].gun_setting_icon.dir = [usr.gun_setting_icon.dir]" set hidden = 1 - spawn(1) gun_mode = !gun_mode - if(!gun_mode) + gun_mode = !gun_mode + if (mode_dir == 1) + mode_dir = 2 + else if (mode_dir == 2) + mode_dir = 1 + if(gun_mode) // winset(usr,"default.target_can_click","is-flat=true;border=sunken") usr << "You will now take people captive." - if(usr.gun_setting_icon) - usr.gun_setting_icon.dir = 2 else // winset(usr,"default.target_can_click","is-flat=false;border=none") usr << "You will now shoot where you target." - if(usr.gun_setting_icon) - usr.gun_setting_icon.dir = 1 + if(usr.gun_setting_icon) + usr.gun_setting_icon.dir = mode_dir + world << "\red AFTER:" + world << "gun_mode = [gun_mode]" + world << "mode_dir = [mode_dir]" + world << "[usr].gun_setting_icon.dir = [usr.gun_setting_icon.dir]" /obj/item/weapon/gun/proc/isHandgun() - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 70a21307644..aca91221415 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -7,6 +7,7 @@ caliber = "9mm" origin_tech = "combat=4;materials=2" ammo_type = "/obj/item/ammo_casing/c9mm" + automatic = 1 isHandgun() return 0 @@ -18,7 +19,7 @@ icon_state = "mini-uzi" w_class = 3.0 max_shells = 20 - caliber = ".45" + caliber = " .45" origin_tech = "combat=5;materials=2;syndicate=8" ammo_type = "/obj/item/ammo_casing/c45" diff --git a/icons/effects/Targeted.dmi b/icons/effects/Targeted.dmi index f0d4b95f64f9e147b6f549d70ff39674898bfb51..6d61505e6c5afdda88fc99f79fd81068bf350a11 100644 GIT binary patch delta 488 zcmaFL(!r|O8Q|y6%O%Cdz`(%k>ERLtqz?e`0v2W9b^rqdW4)(~V@O8h+v&b}hYSQ-=TBaiJ^SAp zZuN|*G73|R8p<56zij(0zmU&q({aW$!yQQ<_q85fzA@>HFc{^-nvd2v&1FZ@CA74wrnd1C*VYSi1yGmfYF0EG>P_TN^U|7eEwHM^(#*uPDG zuG~^_P_yO9X>%Q!o!?vK8xBAHxqP>JHACU~=m)mnGi~E5*lSX4EiOM<)VW$se6~a8 zrh{r-$~OHICOZ(Z0GAa(XTlroQ4kY_m=XiS^~P%O({>y`bR8Sgn2TLgeM!ik^Z Z{}}Y1MY?x|?E^&~gQu&X%Q~loCIA8b?G*q3 delta 453 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 Ef-H}7-~a#s delta 20930 zcmZU)byOTr&^C&@26qb*AV`4VEE)(BBsc^oxH~KizPN-Wkl+$LxCdX{T>=Dm_XU>a z@_XO!p8K71|C#OW>Y43+s=BADp4!w!>|cx6!QsetC_B`E>bRsdVbL-Qb;vqxWhG8R zN{@WLbB(A^z9!0nvW4J!>QNv1oG~?_Zk(okt(Bgvx7VyME0v;#o?t#IURX>X1iccVYV$#~ZpJum&^d;P`UVKPkuOO&ty=K1un# zD9+f28YMv~Wf0U3B$66_{JaMx_EVx@WQ^z!N!$kfepC}JTTk4$saC26=apeHF?Yyp z8e;~UI2LQ(k~3|guJs8Vh*-ALqi3(}mf5{|fq3^T@&QyTA1!+8o~9pNaQVv?fQD%4 z_+|8iBCBh$SCMos)$}4Z1I$MRo7?qV9vtbg(t}9a?e*!lp;7(=xv~>wPlaeALs3^a z=wAVfE@pLnnkCNtu{XGVM2jC%4Yg}$5*JkTY#{a>@ zN5S&fA$oAI#HLRgfnams5^{6p+e*h+jW3k6o3LY?VsF?WOzekK1U(XM=y#sQ^Vk;p zD}uE%i90>U%4{0NA(5m6vn_g0F;PZg?i4o$8hQ*>!g5LOSz}!eD}bzY_qo;mVw{lx>YY2%+`Z#TTs0JS|Jy{ zC~AeVs|kEUqOPNhH2UQAH8J#yTk`e_`*xW7#(>se_ypO)@>hCdT@l=uljSkqiAvMf!QY-->7gU*7N9s6Yc z-laDTI}Itb0!s0CMt1j8SmrEx>l&?GmOSHReKL+>T1$ijEc$+_wehG$0L0sC zLtzY=pV-Hn_dRq{Hm(xxqraoPWW z#z>q?LXXLMU``~0#hwW5j?I0j1iaujMxL}9g#>0LAG2<=QZ)3fHe@fb)8Sxc*5V*o z^zQ@+f$rwA3v_;R~k z>->4p&K*pZA6Hv^Z2cmPi((81WLn`zK?v@qZY!Z4i7R}GdoyBF-Y#4e7)YmU`GAD-*C?l- zH@~-%;iFulY0Hb1!fxXdf5x}k11Z8n<`9jtx-2rC#tpA@9XIKLSUl;Ot?M<{&Q*#T zBCTyXz1fJ)7Rzt2>v`;c!m5)HQKy`HX*#v7!u+mtw*8>534+Z41M>b?+6CMvgeL3j zm49`$W@zrT29pJ-=2s^|n6!40gFLQrsWy&(ZKb~%%ZBXdW3Oh=S~6;5LK26EzI+N= zJn=^Vo>01(o4?z;(iE>f<-xhF##I_EJ7w=8s@w#d?O7a1Pi$r<4Sf{f67v?1qy3dQ znqDI$NQSbq=E#Q)q*xvE=BR|2dTYPwMhB%CDE1RKuj(PVm#)8opubGRZ=hPm5>^R#Vo=;_(Vet`L)FR0e5IMIs$Bp7ml7y;&6i3M9MaUJfY#lB?e?=$itsL-hVPHeg zo#>oLySw)-ACHom61`O1A5J{T)10&<`P*8DIdvGq=AQEc=oW$86a7%@{DEu5HpNTB zwO_5IKKc@4q`1T5QhUGiD&y;II9yXcmX}WfEsXjrb6xXnIwO`u+orIYp0r13p-#KsDx2j-)c=qL-gZo*PR@f|qO#j}N2^a>3EM_5a0^HiS(4 zGe)K3Y3XVmn0rr><0L$iMIa8spw-}usY2QpW3#l}QH5kObQeTd-3Id*i*HF5i^o4a zl>{$PCJFsvpA@@f@vZt=^WJ9aeo&FSoz-3TEl5A+5QleVT;<$tzL5QHF^#4>+h!A- zcHVQs-zs%UB%$Axqz2^)jG>FzlD9_>< z2{c;?EIo2O9o5Y<8fKmEAY%FA>j83_>;Ql7j%7`%1NpveiW?EjyRNkAdxfIVTOzp9 z%=v(3+uJbZAr40e7E1dEvmaXZ#bQXCBNQC$cmQX6R+ zsPP&&G%J3S2Txp?eZwvp&#xgsi$hA&#xR{(kfT9=``>%Cr7kyKRw4+rfU7d-6Fi-V zX}cYa#nhkN@$HG?2nRl?7hkHdlYxz9c6!OTkJC*EZ{ry$b%7J59z79hxpaG^*u{ z?u|lpv3Z@XQgrmnYexBV=4P41>HuN}@}-{zwUiC&BuJ z07C8j9T}5Qrr^37Bu`9cxPnD)ECa1Sk)vbS!9%SPR+4HB5fL%5*9C{>=J6lzL10_J zCiFDQ_;!o`@o?YiqpohuMj|=m533L|v27Pad}j5ZI!JklM=-r#P~lh@Lz$OEWG+8k!~<+tsTB_6p&=!WU$N8GP!y7Pv)<+c41?ZvPFs!b3jin|+WUV~afNrx|fv3NuR>{5E#IvEepTc8 z0llZsB`&}LWX-DOS{HP~GIw<0J{#|PIHL93s`;FnYLvW@U%y52y{$H`8CZ=z%5T(B zXK$PBQeeI4X-6!|NmQ4GDF}BrekMQfsUXN&nC)szB7C~}!WMKh#%u7GtMA{XX{JT? zXL;--f=Y^1wQcXf)(%HnH_Zi>nsJGAm_g10l*Sawb7bTG1`d2_6)Km_G}Rdk%%>Nfe z7xX7M2Ne#rOc?eA1F1m-esT@Lrr#b8<56F@cN%!)BE0mQD66`X-!Y;=)H}OXI(=xp zg}R&E@9q{1E-o8|p#~}ITc2ID89x_#xwbf-m5nJQdNm30cp&<+8i+ z+m9JU8oGjw9#7bXJ&1GNCATHia;;~eYkfTqqB&Xp_}(EgHHUN4yIr7=Kw%(vcU4g5 zU2m85QE-~MyBXbG;r6|rHz}p5i2oJmHJUn>yP$mrb zA3ZUz`@VOYUAbGKR?ltJ!syJ<_S>I&&l&Q|rmJPe_-a1k?2z4?V%j9H0|*jcUA>|S zYPkA4BQDVk+q96zaV%}kh2$KY#nDwJHWG4$je5Dx0k#WTm=xnFn;jez4WOEq!Y4{H zwVM;VdqTcUZc1|qgiz;lc8(eev7m|1Q&sZCW^>S9miLehTkdR?Zq}Bk>hM(wD6r#a ztE>TlgbeIe6c(d>nPpNUMSa5zdI5eVxaWv!N*I?#NzA|mI(j6cmo$w3!aI$gNlv&V zPY@Le94Wl=C#oPi%S`riJSy$eMPfp}J*iCi=_Ztu-4<~B^E-s`D?6m{s1xvdkNL6# zi}t4kVlHiS{_40D(|W>kMp6rCqOrWAt^(MxEv4h6wO?a7L8AQK%Q#_wSoOq?36n+8 z(2l@*2zoN6h~4JcH5Vi1dKON`@(I7Rs;V;?q9A!ozBEJ z{pV|c;T$E0I;mf4e>DDLK(1B&DW05=+LM;Wu*qR6nqHDVf&S~5hv$|E>5mnr*Q3v_ zyH<>&KY79gYOfcvmOoo^6QM`ZjJ_feGG!-?)#@K%tMKecLsADFm<-6rN|4I9(-g@i zP|7VA#jmSA^o1_h@4tT~GB+#mc}0Ar$qhMCqV=nFIrKPT24z3i&oroIjlFXkew4ZL zJlFyZOjmB90xQnThj01z`yB4}p?a4BS-I-3lY({?=Hz+Fg^@NxU9BQ&TdE8F8L;pN~Pz+BW={`6v>*a09eg(8$(sdm3Tisoo`E6HeZ8kS< zVZDx+v^TPY;kFy5P9=Mu;u|;>HW56xU?R)7yDv04g@O*Cm;PF30a+4|EJ1*I) z7_K6oJa&joj-T0_N41P+dJzbEM^p+bh|Q&Z=`Jl;6h~#?ngyn`FNG(Be9(8TFjk+1 z?BBGpFY&*97?5U@JPW21Yz(6JI(NE4@H~F`SG<#6jUyXh=jBi~{|3Mkq6^v-uUj(9 zZ2SV?&A5fIF>sf1GW7MK4*761--{)5-MsU?a%DXZaxoS~IPSz#t}0OtA2gH2y2V{@nnqiAAVLl^LqLg8W`Lx?%KC zp}qu5m{ydMSSu0>8<(i8kDr$K(r2Q8#o#ONX0Dd?dInBZSvbJS>FaxiQbC7rG)E$e zprNRW7&s)PHyMKF&+{XiaU`xXQQglk&$h_s-M4M^8G3=&htaKwt@ScL_bUPJW6Se% z({U)ss`KeXBwQ1vps9c~Wauf{{)peAJD4rW!xC%a!W?%tIR=6~NBEbqL%&Zh3h$7J z@}UmduMl@)05~9O;mYj+XJP&Lj7)l{;1!q45zy`_B~4-30@I(@jvs(XK)_9G_niAP z$k-HyELz~-m1bV>QZ|JRD7zE{{|7pmkaNXtU*)w*|EnKJ*b!!O9$v;&u1r_{uQ_0$ zf2s{=Q*;PtDh82)?e#4w(KV#hK42*}R zK+Mxdzq-@VfJXo|2 zZeaLWOiLSt$FtmSb7vsBS<-`9=lF$0R;ax`pe3d*8{fgsy3PCQS7*hLK1ti=as$I5 zjRU7`vbj0SJ9NMvvt^)AYcKTX1EnNN%LpAz8(3x8xeNu1{AI2+S5{FWenp%15qVBX zqIAKv?mPbYfY1ETZv1WozWjL^KeB40+lc?MhGnv|j4|L>G$S?TJ}yB1}ePb}1M&!4e9#i)4+320f^SmF$fz5SIwMcz^)@E;?QOY>EL zSdb<4F^ zlo3C~XuX^B6B7nHVwl5%AcbHpO~9Jc^9u@Co-f|gI3st z`5Lfmeuss8lv)-i81{|La$fM68J1+{ykqi;o3oULOV-RkT;6UA5p&7cmh>Fdca^4m zBNbayM2H!D<-x*C7~X^{IIx0r4>d@CU~h|3F$7GfZzeuUIpHkN8V)*o`8&7kz55GyP`KVUrldbHz9zZ+q>J{a3qA;A&NEq)L5? zCVf`y-iL3wvq9P&b4Odcd(l;GR!x}JDXQG1!r#8y$#fL#Ku$6K$-J!vsTA(^1rG^ zw@*{LD*k9zOS%XEDnI!}FdY3y`U5eUt9eTQkx-y~Ro|+~!C_{=$%tO5QVm%1M$aPD zfkK2vG6`N|nl;fw3ieOZ3%duObp+F>aN!M>)q~3w3wxYXT3&Rx0F?yupOLzCqU*s_ zw`)`PJ23o(i1Pl8Tj=^@&Pj>^+t#r6-g(!0V9s%bm!kCwac;jtPoIo6)TM_7?Rqts zd8@gBjHm(){3Nr;CPS8?&_mXBh!1c(-k)wvez$kd)F;WJ*_}+8-J%GSME2oCeEFgk zUdT-9TU8=vT*bQt4DQ7xL<~SeCGOIdwmY|$X3mHLlwwJd@fr-VPWAU>Y1yQRV~MwQZe-n+5p(R)>Hb#tV@B*Ga5GqFF&=43yr#2;t;h=2 z=wG&*XieO!cGcJQU*z!$W(sode1P)1 z;s~=gVN$Ong1WGtTmb50d`)w~CQSj_@nx}l8 zH~Rh<`ZNPyf@!USNib3pd_|jdHOW9QP=qat`BE*&qY^FZ(7>u2 z;Oqf{Gn@$q%r3c5KHw~vmEnQn@F^vofnpc`&c|q4AOS?y!N0YwZDy^)diNG~9@kR* zUh%gX9{RsKXV&&4&p|x)XFt98BeE!_l^OAFFw&zpF(s(oN-{XNGkXM?3JYOHFd%(y zw647?yv(=h<=b&@8t@a!P;_{{3xg1J_yGedI%`>SlWvN-d^`WNF0JuCl+%2Vc@93t zkg4>aBV1I>fBAKu#vL#G+aM$fs03s|j6=x$%Tc-Ra8bnb1fQrAKtYM`ZkdYWm{C0PmOm~3U_47J5)hfkxa@gTX}{( zKq-gdvQa^s6tdyykn_Ks7*-sO&v^A`Z-VM0WPpvu-M7(Y6>xuY?D3M@^f7;$idE){ zK(J=^Wf7ND``zeki_O0FT|k{p3aO{coa7-x5JKxNBI$awxas@!2n~A_a;MDmz2C=g z8x$N{7lbU-SPz>4&tnFdAWX3i70uonVj;~CfZ&JOaGt{Ys>)dr=r~1bp98t({C*f? zOBS}X$!ml-6XrPxz#aGk#MZyAD`w#4<8pj&7Q6ktLb)GLs~EuA{nI?!Ji_eU)MK>% zuNi(|T?0KHk8Xb}KSXA6WwMceO zl6*+3j4uw&0W6};b%7yC$<_q^uHxiT3oB?^*<|V7ufJYB6%HoO74aS;mrO*&$YG

ZCWn_ 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 From 10127c4f340592b8b451626b66a8e1c0cae7b642 Mon Sep 17 00:00:00 2001 From: Whitellama Date: Sun, 27 Jan 2013 17:34:12 -0800 Subject: [PATCH 09/14] Fixed gun aiming HUD buttons, other WIP junk --- .../mob/living/carbon/amorph/amorph_hud.dm | 18 +++++++++++++ code/modules/mob/living/carbon/human/hud.dm | 19 +++++++++++++ code/modules/mob/living/carbon/monkey/hud.dm | 18 +++++++++++++ code/modules/mob/living/silicon/robot/hud.dm | 18 +++++++++++++ .../living/simple_animal/friendly/corgi.dm | 4 +-- code/modules/projectiles/gun.dm | 27 +++++++------------ 6 files changed, 83 insertions(+), 21 deletions(-) diff --git a/code/modules/mob/living/carbon/amorph/amorph_hud.dm b/code/modules/mob/living/carbon/amorph/amorph_hud.dm index 7236790bb79..efd9ad65a65 100644 --- a/code/modules/mob/living/carbon/amorph/amorph_hud.dm +++ b/code/modules/mob/living/carbon/amorph/amorph_hud.dm @@ -287,7 +287,25 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting)) + //Handle the gun settings buttons mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + if (mymob.client) + if (mymob.client.gun_mode) // If in aim mode, correct the sprite + mymob.gun_setting_icon.dir = 2 + for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons + if (G.target) + mymob.item_use_icon = new /obj/screen/gun/item(null) + if (mymob.client.target_can_click) + mymob.item_use_icon.dir = 1 + src.adding += mymob.item_use_icon + mymob.gun_move_icon = new /obj/screen/gun/move(null) + if (mymob.client.target_can_move) + mymob.gun_move_icon.dir = 1 + mymob.gun_run_icon = new /obj/screen/gun/run(null) + if (mymob.client.target_can_run) + mymob.gun_run_icon.dir = 1 + src.adding += mymob.gun_run_icon + src.adding += mymob.gun_move_icon mymob.client.screen = null diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index 86c08fbddc0..d7543ca0fc4 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -485,7 +485,26 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") + //Handle the gun settings buttons mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + if (mymob.client) + if (mymob.client.gun_mode) // If in aim mode, correct the sprite + mymob.gun_setting_icon.dir = 2 + for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons + if (G.target) + mymob.item_use_icon = new /obj/screen/gun/item(null) + if (mymob.client.target_can_click) + mymob.item_use_icon.dir = 1 + src.adding += mymob.item_use_icon + mymob.gun_move_icon = new /obj/screen/gun/move(null) + if (mymob.client.target_can_move) + mymob.gun_move_icon.dir = 1 + mymob.gun_run_icon = new /obj/screen/gun/run(null) + if (mymob.client.target_can_run) + mymob.gun_run_icon.dir = 1 + src.adding += mymob.gun_run_icon + src.adding += mymob.gun_move_icon + mymob.client.screen = null diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm index 54b487ca680..29240cbaf94 100644 --- a/code/modules/mob/living/carbon/monkey/hud.dm +++ b/code/modules/mob/living/carbon/monkey/hud.dm @@ -220,7 +220,25 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") + //Handle the gun settings buttons mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + if (mymob.client) + if (mymob.client.gun_mode) // If in aim mode, correct the sprite + mymob.gun_setting_icon.dir = 2 + for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons + if (G.target) + mymob.item_use_icon = new /obj/screen/gun/item(null) + if (mymob.client.target_can_click) + mymob.item_use_icon.dir = 1 + src.adding += mymob.item_use_icon + mymob.gun_move_icon = new /obj/screen/gun/move(null) + if (mymob.client.target_can_move) + mymob.gun_move_icon.dir = 1 + mymob.gun_run_icon = new /obj/screen/gun/run(null) + if (mymob.client.target_can_run) + mymob.gun_run_icon.dir = 1 + src.adding += mymob.gun_run_icon + src.adding += mymob.gun_move_icon mymob.client.screen = null diff --git a/code/modules/mob/living/silicon/robot/hud.dm b/code/modules/mob/living/silicon/robot/hud.dm index 0087c13e969..c49a7bd7430 100644 --- a/code/modules/mob/living/silicon/robot/hud.dm +++ b/code/modules/mob/living/silicon/robot/hud.dm @@ -143,7 +143,25 @@ mymob.zone_sel.overlays = null mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") + //Handle the gun settings buttons mymob.gun_setting_icon = new /obj/screen/gun/mode(null) + if (mymob.client) + if (mymob.client.gun_mode) // If in aim mode, correct the sprite + mymob.gun_setting_icon.dir = 2 + for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons + if (G.target) + mymob.item_use_icon = new /obj/screen/gun/item(null) + if (mymob.client.target_can_click) + mymob.item_use_icon.dir = 1 + src.adding += mymob.item_use_icon + mymob.gun_move_icon = new /obj/screen/gun/move(null) + if (mymob.client.target_can_move) + mymob.gun_move_icon.dir = 1 + mymob.gun_run_icon = new /obj/screen/gun/run(null) + if (mymob.client.target_can_run) + mymob.gun_run_icon.dir = 1 + src.adding += mymob.gun_run_icon + src.adding += mymob.gun_move_icon mymob.client.screen = null diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 416bb6fea7c..a438e62287c 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -23,9 +23,7 @@ /mob/living/simple_animal/corgi/Life() ..() - //regenerate_icons() //Don't call this every life tick. - //I'm serious. If you're going to enable dressing up Ian, - //Find a GOOD place to call regenerate_icons(). + regenerate_icons() /mob/living/simple_animal/corgi/show_inv(mob/user as mob) /* If you're turning this back on, scroll down and uncomment target_updated diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index bf6bc3032c7..413662c6bd8 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -178,7 +178,6 @@ // return FindTarget(M,user,params) var/mob/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. if(M && ismob(M) && isliving(M) && M in view(user)) - //if(!(M.client && M.client.admin_invis)) TODO: Look into admin invisibility in post-merge code Aim(M) //Aha! Aim at them! return else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! @@ -186,9 +185,6 @@ Fire(A,user,params) //Fire like normal, then. if(ismob(A) && isliving(A) && !(A in target)) Aim(A) //Clicked a mob, aim at them. - else if(lock_time < world.time + 10) - world << "\red LOCK TIME IS > WORLD TIME, FIRED" - Fire(A,user,params) //Bang! else if(!target) world << "\red DIDN'T HAVE A TARGET, FIRED" Fire(A,user,params) //Boom! @@ -560,7 +556,6 @@ client/verb //These are called by the on-screen buttons, adjusting what the victim can and cannot do. AllowTargetMove() set hidden=1 - target_can_move = !target_can_move if (move_dir == 2) move_dir = 1 else @@ -590,13 +585,15 @@ client/verb if(!target_can_run) M << "\red Your move intent is now set to walk, as your targeter permits it." M.m_intent = "walk" - if(M.hud_used.move_intent) - M.hud_used.move_intent.icon_state = "walking" + if(M.hud_used) + if (M.hud_used.move_intent) + M.hud_used.move_intent.icon_state = "walking" else M << "\red Your character will now be shot if they move." + target_can_move = !target_can_move + AllowTargetRun() set hidden=1 - target_can_run = !target_can_run if (run_dir == 2) run_dir = 1 else @@ -605,7 +602,7 @@ client/verb // winset(usr,"default.target_can_move","is-flat=true;border=sunken") usr << "Target may now run." if(usr.gun_run_icon) - usr.gun_run_con.dir = run_dir + usr.gun_run_icon.dir = run_dir usr.gun_run_icon.name = "Disallow Running" else // winset(usr,"default.target_can_move","is-flat=false;border=none") @@ -621,9 +618,10 @@ client/verb M << "Your character may now run at the discretion of their targeter." else M << "\red Your character will now be shot if they run." + target_can_run = !target_can_run + AllowTargetClick() set hidden=1 - target_can_click = !target_can_click if (click_dir == 2) click_dir = 1 else @@ -648,12 +646,9 @@ client/verb M << "Your character may now use items at the discretion of their targeter." else M << "\red Your character will now be shot if they use items." + target_can_click = !target_can_click ToggleGunMode() - world << "\red [usr] called ToggleGuMode BEFORE:" - world << "gun_mode = [gun_mode]" - world << "mode_dir = [mode_dir]" - world << "[usr].gun_setting_icon.dir = [usr.gun_setting_icon.dir]" set hidden = 1 gun_mode = !gun_mode if (mode_dir == 1) @@ -668,10 +663,6 @@ client/verb usr << "You will now shoot where you target." if(usr.gun_setting_icon) usr.gun_setting_icon.dir = mode_dir - world << "\red AFTER:" - world << "gun_mode = [gun_mode]" - world << "mode_dir = [mode_dir]" - world << "[usr].gun_setting_icon.dir = [usr.gun_setting_icon.dir]" /obj/item/weapon/gun/proc/isHandgun() return 1 From 5a916019de319715c734f50322a45810019c6a74 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 7 Mar 2013 00:43:41 +0400 Subject: [PATCH 10/14] Refactored and moved targeting code around a little. Refactored suicide and point blank shooting code to use their projectiles properties instead of huge chain of conditions with arbitrary values. --- baystation12.dme | 1 + code/modules/mob/screen.dm | 10 +- code/modules/projectiles/gun.dm | 755 ++++---------------- code/modules/projectiles/guns/projectile.dm | 6 +- code/modules/projectiles/projectile.dm | 21 +- code/modules/projectiles/targeting.dm | 344 +++++++++ icons/mob/screen1.dmi | Bin 158871 -> 157592 bytes icons/mob/screen1_old.dmi | Bin 114244 -> 114223 bytes 8 files changed, 496 insertions(+), 641 deletions(-) create mode 100644 code/modules/projectiles/targeting.dm diff --git a/baystation12.dme b/baystation12.dme index bd80a424a3b..9d4fcdb18e8 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1072,6 +1072,7 @@ #include "code\modules\projectiles\ammunition.dm" #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\projectile.dm" +#include "code\modules\projectiles\targeting.dm" #include "code\modules\projectiles\ammunition\boxes.dm" #include "code\modules\projectiles\ammunition\bullets.dm" #include "code\modules\projectiles\guns\energy.dm" diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index 7eb8ad2005a..b9767c3a299 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -81,24 +81,24 @@ move name = "Allow Walking" - icon_state = "no_walk" + icon_state = "no_walk0" screen_loc = ui_gun2 run name = "Allow Running" - icon_state = "no_run" + icon_state = "no_run0" screen_loc = ui_gun3 item name = "Allow Item Use" - icon_state = "no_item" + icon_state = "no_item0" screen_loc = ui_gun1 mode name = "Toggle Gun Mode" - icon_state = "gun" + icon_state = "gun0" screen_loc = ui_gun_select - dir = 1 + //dir = 1 /obj/screen/zone_sel/MouseDown(location, control,params) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 14f44329ee8..c1316b3c1fa 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -28,8 +28,8 @@ var/automatic = 0 //Used to determine if you can target multiple people. var/tmp/mob/living/last_moved_mob //Used to fire faster at more than one person. var/tmp/told_cant_shoot = 0 //So that it doesn't spam them with the fact they cannot hit them. - var/firerate = 1 // 0 for one bullet after tarrget moves and aim is lowered, - //1 for keep shooting until aim is lowered + var/firerate = 1 // 0 for one bullet after tarrget moves and aim is lowered, + //1 for keep shooting until aim is lowered proc/load_into_chamber() return 0 @@ -49,624 +49,149 @@ proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. return 1 - emp_act(severity) for(var/obj/O in contents) O.emp_act(severity) - verb/lower_aim() - set name = "Lower Aim" - set category = "Object" - if(target) - for(var/mob/living/M in target) - if(M) - M.NotTargeted(src) - del(target) - usr.visible_message("\blue \The [usr] lowers \the [src]...") - - //Clicking gun will still lower aim for guns that don't overwrite this - attack_self() - lower_aim() - afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params)//TODO: go over this - if(flag) return //we're placing gun on a table or in backpack - if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this? - - verb/toggle_firerate() - set name = "Toggle Firerate" - set category = "Object" - firerate = !firerate - if (firerate == 0) - loc << "You will now continue firing when your target moves." - else - loc << "You will now only fire once, then lower your aim, when your target moves." - -//Suiciding. - attack(mob/living/M as mob, mob/living/user as mob, def_zone) - world << "[user] USED ATTACK()" - if (M == user && user.zone_sel.selecting == "mouth" && load_into_chamber() && !mouthshoot) //Suicide handling. - mouthshoot = 1 - M.visible_message("\red \The [user] sticks their gun in their mouth, ready to pull the trigger...") - if(!do_after(user, 40)) - M.visible_message("\blue \The [user] decided life was worth living") - mouthshoot = 0 - return - if(istype(src.in_chamber, /obj/item/projectile/bullet) && !istype(src.in_chamber, /obj/item/projectile/bullet/stunshot) && !istype(src.in_chamber, /obj/item/ammo_casing/shotgun/beanbag)) - M.apply_damage(75, BRUTE, "head", used_weapon = "Suicide attempt with a projectile weapon.") - M.apply_damage(85, BRUTE, "chest") - M.visible_message("\red \The [user] pulls the trigger.") - else if(istype(src.in_chamber, /obj/item/projectile/bullet/stunshot) || istype(src.in_chamber, /obj/item/projectile/energy/electrode)) - M.apply_damage(10, BURN, "head", used_weapon = "Suicide attempt with a stun round.") - M.visible_message("\red \The [user] pulls the trigger, but luckily it was a stun round.") - else if(istype(src.in_chamber, /obj/item/ammo_casing/shotgun/beanbag)) - M.apply_damage(20, BRUTE, "head", used_weapon = "Suicide attempt with a beanbag.") - M.visible_message("\red \The [user] pulls the trigger, but luckily it was a stun round.") - else if(istype(src.in_chamber, /obj/item/projectile/beam) || istype(src.in_chamber, /obj/item/projectile/energy)) - M.apply_damage(75, BURN, "head", used_weapon = "Suicide attempt with an energy weapon") - M.apply_damage(85, BURN, "chest") - M.visible_message("\red \The [user] pulls the trigger.") - else - M.apply_damage(75, BRUTE, "head", used_weapon = "Suicide attempt with a gun") - M.apply_damage(85, BRUTE, "chest") - M.visible_message("\red \The [user] pulls the trigger. Ow.") - del(in_chamber) - mouthshoot = 0 - return - else if(user.a_intent == "hurt" && load_into_chamber() && (istype(src.in_chamber, /obj/item/projectile/beam) || istype(src.in_chamber, /obj/item/projectile/energy)\ - || istype(src.in_chamber, /obj/item/projectile/bullet)) && !istype(in_chamber,/obj/item/projectile/energy/electrode)) //Point blank shooting. - //Lets shoot them, then. - user.visible_message("\red \The [user] fires \the [src] point blank at [M]!") - if(silenced) - playsound(user, fire_sound, 10, 1) - else - playsound(user, fire_sound, 50, 1) - M.apply_damage(30+in_chamber.damage, BRUTE, user.zone_sel.selecting, used_weapon = "Point Blank Shot") //So we'll put him an inch from death. - M.attack_log += text("\[[]\] []/[] shot []/[] point blank with a []", time_stamp(), user, user.ckey, M, M.ckey, src) - user.attack_log += text("\[[]\] []/[] shot []/[] point blank with a []", time_stamp(), user, user.ckey, M, M.ckey, src) - log_admin("ATTACK: [user] ([user.ckey]) shot [M] ([M.ckey]) point blank with [src].") - message_admins("ATTACK: [user] ([user.ckey]) shot [M] ([M.ckey]) point blank with [src].") - del(in_chamber) - update_icon() - return - else if(user.a_intent != "hurt" && load_into_chamber() && istype(in_chamber,/obj/item/projectile/energy/electrode)) //Point blank tasering. - if (!(M.status_flags & CANSTUN) || !(M.status_flags & CANWEAKEN)) - user.visible_message("\red \The [M] has been stunned with the taser gun by \the [user] to no effect!") - del(in_chamber) - update_icon() - return - if (prob(50)) - if (M.paralysis < 60 && (!(HULK in M.mutations)) ) - M.paralysis = 60 - else - if (M.weakened < 60 && (!(HULK in M.mutations)) ) - M.weakened = 60 - if (M.stuttering < 60 && (!(HULK in M.mutations)) ) - M.stuttering = 60 - if(silenced) - playsound(user, fire_sound, 10, 1) - else - playsound(user, fire_sound, 50, 1) - user.visible_message("\red \The [M] has been stunned with the taser gun by \the [user]!") - M.attack_log += text("\[[]\] []/[] stunned []/[] with a []", time_stamp(), user, user.ckey, M, M.ckey, src) - user.attack_log += text("\[[]\] []/[] stunned []/[] with a []", time_stamp(), user, user.ckey, M, M.ckey, src) - log_admin("ATTACK: [user] ([user.ckey]) stunned [M] ([M.ckey]) with [src].") - message_admins("ATTACK: [user] ([user.ckey]) stunned [M] ([M.ckey]) with [src].") - del(in_chamber) - update_icon() - return - else if(target && M in target) //Yer targeting them, and 1 tile away. FIRE! - if(!load_into_chamber()) //No ammo, hit them! - return ..() - else - world << "\red PREFIRE IS CALLED TO SHOOT AT [M] BY [user]" - PreFire(M,user) ///Otherwise, shoot! - return - else - return ..() //Pistolwhippin' - -//Compute how to fire..... - proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params) - //GraphicTrace(usr.x,usr.y,A.x,A.y,usr.z) - if(lock_time > world.time - 2) return //Lets not spam it. - if(!ismob(A)) //Didn't click someone, check if there is anyone along that guntrace -// var/mob/M = locate() in range(0,A) -// if(M && !ismob(A)) -// if(M.type == /mob) -// return FindTarget(M,user,params) - var/mob/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. - if(M && ismob(M) && isliving(M) && M in view(user)) - Aim(M) //Aha! Aim at them! - return - else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! - world << "\red CLICKED BUT COULDN'T FIND MOB, FIRED" - Fire(A,user,params) //Fire like normal, then. - if(ismob(A) && isliving(A) && !(A in target)) - Aim(A) //Clicked a mob, aim at them. - else if(!target) - world << "\red DIDN'T HAVE A TARGET, FIRED" - Fire(A,user,params) //Boom! - //else - //var/item/gun/G = usr.OHand - //if(!G) - //Fire(A,0) - //else if(istype(G)) - //G.Fire(A,3) - //Fire(A,2) - //else - //Fire(A) - // Stolen from sd_get_approx_dir, didn't want to reinclude - var/d=get_dir(usr,A) - var/dir_to_fire = d //Turn them to face their target. - if(d&d-1) // diagonal - var/ax=abs(usr.x-A.x) - var/ay=abs(usr.y-A.y) - if(ax>=ay<<1) dir_to_fire = d&12 // keep east/west (4 and 8) - else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) - if(dir_to_fire != usr.dir) - usr.dir = dir_to_fire - - proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this - //Exclude lasertag guns from the CLUMSY check. - if(clumsy_check) - if(istype(user, /mob/living)) - var/mob/living/M = user - if ((CLUMSY in M.mutations) && prob(50)) - M << "[src] blows up in your face." - M.take_organ_damage(0,20) - M.drop_item() - del(src) - return - - if (!user.IsAdvancedToolUser()) - user << "\red You don't have the dexterity to do this!" - return - if(istype(user, /mob/living)) - var/mob/living/M = user - if (HULK in M.mutations) - M << "\red Your meaty finger is much too large for the trigger guard!" - return - if(ishuman(user)) - if(user.dna && user.dna.mutantrace == "adamantine") - user << "\red Your metal fingers don't fit in the trigger guard!" - return - - add_fingerprint(user) - - var/turf/curloc = user.loc - var/turf/targloc = get_turf(target) - if (!istype(targloc) || !istype(curloc)) - return - - if(!special_check(user)) - return - if(!load_into_chamber()) //CHECK - user.visible_message("*click click*", "\red *click*") - for(var/mob/K in viewers(usr)) - K << 'empty.ogg' - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - return - - if(!in_chamber) - return - - in_chamber.firer = user - in_chamber.def_zone = user.zone_sel.selecting - - if(targloc == curloc) - user.bullet_act(in_chamber) - del(in_chamber) - update_icon() - return - - if(recoil) - spawn() - shake_camera(user, recoil + 1, recoil) - - if(silenced) - playsound(user, fire_sound, 10, 1) - else - playsound(user, fire_sound, 50, 1) - user.visible_message("[user] fires [src]!", "You fire [src]!", "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") - if(reflex) - user.visible_message("\red \The [user] fires \the [src] by reflex!", "\red You reflex fire \the [src]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") - else - user.visible_message("\red \The [user] fires \the [src]!", "\red You fire \the [src]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") - - in_chamber.original = target - in_chamber.loc = get_turf(user) - in_chamber.starting = get_turf(user) - in_chamber.shot_from = src - user.next_move = world.time + 4 - in_chamber.silenced = silenced - in_chamber.current = curloc - in_chamber.yo = targloc.y - curloc.y - in_chamber.xo = targloc.x - curloc.x - - if(params) - var/list/mouse_control = params2list(params) - if(mouse_control["icon-x"]) - in_chamber.p_x = text2num(mouse_control["icon-x"]) - if(mouse_control["icon-y"]) - in_chamber.p_y = text2num(mouse_control["icon-y"]) - - spawn() - if(in_chamber) - in_chamber.process() //CHECK Might need to be fired() - sleep(1) - in_chamber = null - - update_icon() - - if(user.hand) - user.update_inv_l_hand() - else - user.update_inv_r_hand() - -//Aiming at the target mob. - proc/Aim(var/mob/M) - if(!target || !(M in target)) - lock_time = world.time - if(target && !automatic) //If they're targeting someone and they have a non automatic weapon. - //usr.ClearRequest("Aim") - for(var/mob/living/L in target) - if(L) - L.NotTargeted(src) - del(target) - usr.visible_message("\red [usr] turns \the [src] on [M]!") - else - usr.visible_message("\red [usr] aims \a [src] at [M]!") - M.Targeted(src) -//HE MOVED, SHOOT HIM! - proc/TargetActed(var/mob/living/T) - var/mob/living/M = loc - if(M == T) return - if(!istype(M) || src != M.equipped()) - for(var/mob/living/N in target) - if(N) - N.NotTargeted(src) - del(target) - return - M.last_move_intent = world.time - if(load_into_chamber()) - var/firing_check = in_chamber.check_fire(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. - if(firing_check > 0) - if(firing_check == 1) - Fire(T,usr, reflex = 1) - else if(!told_cant_shoot) - M << "\red They can't be hit from here!" - told_cant_shoot = 1 - spawn(30) - told_cant_shoot = 0 - else - usr.visible_message("*click click*", "\red *click*") - for(var/mob/K in viewers(usr)) - K << 'empty.ogg' - // Stolen from sd_get_approx_dir, didn't want to reinclude - var/d=get_dir(M,T) - var/dir_to_fire = d - if(d&d-1) // diagonal - var/ax=abs(M.x-T.x) - var/ay=abs(M.y-T.y) - if(ax>=ay<<1) dir_to_fire = d&12 // keep east/west (4 and 8) - else if(ay>=ax<<1) dir_to_fire = d&3 // keep north/south (1 and 2) - if(dir_to_fire != M.dir) - M.dir = dir_to_fire - if (!firerate) // If firerate is set to lower aim after one shot, untarget the target - T.NotTargeted(src) - - afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) - if(flag) return //we're placing gun on a table or in backpack - if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this? - if(user && user.client && user.client.gun_mode) - PreFire(A,user,params) //They're using the new gun system, locate what they're aiming at. - else - Fire(A,user,params) //Otherwise, fire normally. - -//Yay, math! - -#define SIGN(X) ((X<0)?-1:1) - -proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16) - //bluh << "Tracin' [X1],[Y1] to [X2],[Y2] on floor [Z]." - var/turf/T - var/mob/M - if(X1==X2) - if(Y1==Y2) return 0 //Light cannot be blocked on same tile - else - var/s = SIGN(Y2-Y1) - Y1+=s - while(1) - T = locate(X1,Y1,Z) - if(!T) return 0 - M = locate() in T - if(M) return M - M = locate() in orange(1,T)-exc_obj - if(M) return M - Y1+=s +/obj/item/weapon/gun/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params) + if(flag) return //we're placing gun on a table or in backpack + if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this? + if(user && user.client && user.client.gun_mode && !(A in target)) + PreFire(A,user,params) //They're using the new gun system, locate what they're aiming at. else - var - m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) - b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles - signX = SIGN(X2-X1) - signY = SIGN(Y2-Y1) - if(X1= 5) - if(ismob(I.loc)) - I.loc << "You can only target 5 people at once!" - return - else - return - for(var/mob/K in viewers(usr)) - K << 'TargetOn.ogg' - if(!targeted_by) targeted_by = list() - targeted_by += I - I.lock_time = world.time + 20 //Target has 2 second to realize they're targeted and stop (or target the opponent). - src << "((\red Your character is being targeted. They have 2 seconds to stop any click or move actions. \black While targeted, they may \ - drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map, their items \ - (other than a weapon to de-target), or moving will result in being fired upon. \red The aggressor may also fire manually, \ - so try not to get on their bad side.\black ))" - if(targeted_by.len == 1) - spawn(0) - target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") - overlays += target_locked - spawn(0) - sleep(20) - if(target_locked) - target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locked") - update_targeted() - var/mob/T = I.loc - //Adding the buttons to the controler person - if(T) - T.item_use_icon = new /obj/screen/gun/item(null) - T.gun_move_icon = new /obj/screen/gun/move(null) - if(T.client) - T.client.screen += T.item_use_icon - T.client.screen += T.gun_move_icon - else //If the client's gone, stop aiming - I.lower_aim() - return - if(m_intent == "run" && T.client.target_can_move == 1 && T.client.target_can_run == 0) - src << "\red Your move intent is now set to walk, as your targeter permits it." //Self explanitory. - m_intent = "walk" - hud_used.move_intent.icon_state = "walking" - while(targeted_by && T.client) - if(last_move_intent > I.lock_time + 10 && !T.client.target_can_move) //If target moved when not allowed to - I.TargetActed(src) - if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. - I.lock_time = world.time + 5 - I.lock_time = world.time + 5 - I.last_moved_mob = src - else if(last_move_intent > I.lock_time + 10 && !T.client.target_can_run && m_intent == "run") //If the target ran while targeted - I.TargetActed(src) - if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. - I.lock_time = world.time + 5 - I.lock_time = world.time + 5 - I.last_moved_mob = src - if(last_target_click > I.lock_time + 10 && !T.client.target_can_click) //If the target clicked the map to pick something up/shoot/etc - I.TargetActed(src) - if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. - I.lock_time = world.time + 5 - I.lock_time = world.time + 5 - I.last_moved_mob = src - sleep(1) - - NotTargeted(var/obj/item/weapon/gun/I) - if(!I.silenced) - for(var/mob/M in viewers(src)) - M << 'TargetOff.ogg' - del(target_locked) //Remove the overlay - targeted_by -= I - I.target.Remove(src) //De-target them - if(!I.target.len) - del(I.target) - var/mob/T = I.loc //Remove the targeting icons - if(T && ismob(T) && !I.target) - del(T.item_use_icon) - del(T.gun_move_icon) - del(T.gun_run_icon) - if(!targeted_by.len) del targeted_by - spawn(1) update_targeted() - -/* Captive(var/obj/item/weapon/gun/I) - Sound(src,'CounterAttack.ogg') - if(!targeted_by) targeted_by = list() - targeted_by += I - I.target = src -// Stun("Captive") - I.lock_time = world.time + 10 //Target has 1 second to realize they're targeted and stop (or target the opponent). - src << "(Your character is being held captive. They have 1 second to stop any click or move actions. While held, they may \ - drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map or their items \ - (other than a weapon to de-target) will result in being attacked. The aggressor may also attack manually, \ - so try not to get on their bad side.)" - if(targeted_by.len == 1) - var/mob/T = I.loc - while(targeted_by) - sleep(1) - if(last_target_click > I.lock_time + 10 && !T.target_can_click) //If the target clicked the map to pick something up/shoot/etc - I.TargetActed() - - NotCaptive(var/obj/item/weapon/gun/I,silent) - if(!silent) Sound(src,'SwordSheath.ogg') -// UnStun("Captive") - targeted_by -= I - I.target = null - if(!targeted_by.len) del targeted_by*/ - - -//Used to overlay the awesome stuff -///obj/effect -// target_locking -// icon = 'icons/effects/Targeted.dmi' -// icon_state = "locking" -// layer = 99 -// target_locked -// icon = 'icons/effects/Targeted.dmi' -// icon_state = "locking" -// layer = 17.9 -// captured -// icon = 'Captured.dmi' -// layer = 99 - -//If you move out of range, it isn't going to still stay locked on you any more. -client/var - target_can_move = 0 - move_dir = 2 - target_can_run = 0 - run_dir = 2 - target_can_click = 0 - click_dir = 2 - gun_mode = 0 - mode_dir = 1 -mob/Move() - . = ..() - for(var/obj/item/weapon/gun/G in targeted_by) //Handle moving out of the gunner's view. - var/mob/M = G.loc - if(!(M in view(src))) - //ClearRequest("Aim") - NotTargeted(G) - for(var/obj/item/weapon/gun/G in src) //Handle the gunner loosing sight of their target/s - if(G.target) - for(var/mob/living/M in G.target) - if(M && !(M in view(src))) - //ClearRequest("Aim") - M.NotTargeted(G) -client/verb -//These are called by the on-screen buttons, adjusting what the victim can and cannot do. - AllowTargetMove() - set hidden=1 - if (move_dir == 2) - move_dir = 1 - else - move_dir = 2 - if(!target_can_move) -// winset(usr,"default.target_can_move","is-flat=true;border=sunken") - usr << "Target may now walk." - usr.gun_run_icon = new /obj/screen/gun/run(null) - screen += usr.gun_run_icon - if(usr.gun_move_icon) - usr.gun_move_icon.dir = move_dir - usr.gun_move_icon.name = "Disallow Walking" - else -// winset(usr,"default.target_can_move","is-flat=false;border=none") - usr << "Target may no longer move." - target_can_run = 0 - del(usr.gun_run_icon) - if(usr.gun_move_icon) - usr.gun_move_icon.dir = move_dir - usr.gun_move_icon.name = "Allow Walking" - for(var/obj/item/weapon/gun/G in usr) - G.lock_time = world.time + 5 - if(G.target) - for(var/mob/living/M in G.target) - if(!target_can_move) - M << "Your character may now walk at the discretion of their targeter." - if(!target_can_run) - M << "\red Your move intent is now set to walk, as your targeter permits it." - M.m_intent = "walk" - if(M.hud_used) - if (M.hud_used.move_intent) - M.hud_used.move_intent.icon_state = "walking" - else - M << "\red Your character will now be shot if they move." - target_can_move = !target_can_move - - AllowTargetRun() - set hidden=1 - if (run_dir == 2) - run_dir = 1 - else - run_dir = 2 - if(!target_can_run) -// winset(usr,"default.target_can_move","is-flat=true;border=sunken") - usr << "Target may now run." - if(usr.gun_run_icon) - usr.gun_run_icon.dir = run_dir - usr.gun_run_icon.name = "Disallow Running" - else -// winset(usr,"default.target_can_move","is-flat=false;border=none") - usr << "Target may no longer run." - if(usr.gun_run_icon) - usr.gun_run_icon.dir = run_dir - usr.gun_run_icon.name = "Allow Running" - for(var/obj/item/weapon/gun/G in src) - G.lock_time = world.time + 5 - if(G.target) - for(var/mob/living/M in G.target) - if(!target_can_run) - M << "Your character may now run at the discretion of their targeter." - else - M << "\red Your character will now be shot if they run." - target_can_run = !target_can_run - - AllowTargetClick() - set hidden=1 - if (click_dir == 2) - click_dir = 1 - else - click_dir = 2 - if(!target_can_click) -// winset(usr,"default.target_can_click","is-flat=true;border=sunken") - usr << "Target may now use items." - if(usr.item_use_icon) - usr.item_use_icon.dir = click_dir - usr.item_use_icon.name = "Disallow Item Use" - else -// winset(usr,"default.target_can_click","is-flat=false;border=none") - usr << "Target may no longer use items." - if(usr.item_use_icon) - usr.item_use_icon.dir = click_dir - usr.item_use_icon.name = "Allow Item Use" - for(var/obj/item/weapon/gun/G in src) - G.lock_time = world.time + 5 - if(G.target) - for(var/mob/living/M in G.target) - if(!target_can_click) - M << "Your character may now use items at the discretion of their targeter." - else - M << "\red Your character will now be shot if they use items." - target_can_click = !target_can_click - - ToggleGunMode() - set hidden = 1 - gun_mode = !gun_mode - if (mode_dir == 1) - mode_dir = 2 - else if (mode_dir == 2) - mode_dir = 1 - if(gun_mode) -// winset(usr,"default.target_can_click","is-flat=true;border=sunken") - usr << "You will now take people captive." - else -// winset(usr,"default.target_can_click","is-flat=false;border=none") - usr << "You will now shoot where you target." - if(usr.gun_setting_icon) - usr.gun_setting_icon.dir = mode_dir + Fire(A,user,params) //Otherwise, fire normally. /obj/item/weapon/gun/proc/isHandgun() return 1 + +/obj/item/weapon/gun/proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this + //Exclude lasertag guns from the CLUMSY check. + if(clumsy_check) + if(istype(user, /mob/living)) + var/mob/living/M = user + if ((CLUMSY in M.mutations) && prob(50)) + M << "[src] blows up in your face." + M.take_organ_damage(0,20) + M.drop_item() + del(src) + return + + if (!user.IsAdvancedToolUser()) + user << "\red You don't have the dexterity to do this!" + return + if(istype(user, /mob/living)) + var/mob/living/M = user + if (HULK in M.mutations) + M << "\red Your meaty finger is much too large for the trigger guard!" + return + if(ishuman(user)) + if(user.dna && user.dna.mutantrace == "adamantine") + user << "\red Your metal fingers don't fit in the trigger guard!" + return + + add_fingerprint(user) + + var/turf/curloc = get_turf(user) + var/turf/targloc = get_turf(target) + if (!istype(targloc) || !istype(curloc)) + return + + if(!special_check(user)) + return + + if(!load_into_chamber()) //CHECK + user.visible_message("*click click*", "\red *click*") + playsound(user, 'sound/weapons/empty.ogg', 100, 1) + return + + if(!in_chamber) + return + + in_chamber.firer = user + in_chamber.def_zone = user.zone_sel.selecting + if(targloc == curloc) + user.bullet_act(in_chamber) + del(in_chamber) + update_icon() + return + + if(recoil) + spawn() + shake_camera(user, recoil + 1, recoil) + + if(silenced) + playsound(user, fire_sound, 10, 1) + else + playsound(user, fire_sound, 50, 1) + user.visible_message("[user] fires [src][reflex ? "by reflex":""]!", \ + "You fire [src][reflex ? "by reflex":""]!", \ + "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") + + in_chamber.original = target + in_chamber.loc = get_turf(user) + in_chamber.starting = get_turf(user) + in_chamber.shot_from = src + user.next_move = world.time + 4 + in_chamber.silenced = silenced + in_chamber.current = curloc + in_chamber.yo = targloc.y - curloc.y + in_chamber.xo = targloc.x - curloc.x + + if(params) + var/list/mouse_control = params2list(params) + if(mouse_control["icon-x"]) + in_chamber.p_x = text2num(mouse_control["icon-x"]) + if(mouse_control["icon-y"]) + in_chamber.p_y = text2num(mouse_control["icon-y"]) + + spawn() + if(in_chamber) + in_chamber.process() + sleep(1) + in_chamber = null + + update_icon() + + if(user.hand) + user.update_inv_l_hand() + else + user.update_inv_r_hand() + + +/obj/item/weapon/gun/attack(mob/living/M as mob, mob/living/user as mob, def_zone) + //Suicide handling. + if (M == user && user.zone_sel.selecting == "mouth" && !mouthshoot) + mouthshoot = 1 + M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") + if(!do_after(user, 40)) + M.visible_message("\blue [user] decided life was worth living") + mouthshoot = 0 + return + if (load_into_chamber()) + user.visible_message("[user] pulls the trigger. Ow.") + in_chamber.on_hit(M) + if (!in_chamber.nodamage) + user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]") + else + user << "You feel dumb for trying this..." + del(in_chamber) + mouthshoot = 0 + return + else + user.visible_message("*click click*", "\red *click*") + playsound(user, 'sound/weapons/empty.ogg', 100, 1) + return + + if (load_into_chamber()) + //Point blank shooting if on harm intent or target we were targeting. + if(user.a_intent == "hurt") + user.visible_message("\red \The [user] fires \the [src] point blank at [M]!") + in_chamber.damage *= 1.3 + Fire(M,user) + return + else if(target && M in target) + world << "\red PREFIRE IS CALLED TO SHOOT AT [M] BY [user]" + PreFire(M,user) ///Otherwise, shoot! + return + else + return ..() //Pistolwhippin' \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 3fe616d94f5..a874d48f67c 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -27,8 +27,8 @@ /obj/item/weapon/gun/projectile/load_into_chamber() -// if(in_chamber) -// return 1 {R} + if(in_chamber) + return 1 //{R} if(!loaded.len) return 0 @@ -77,6 +77,8 @@ return /obj/item/weapon/gun/projectile/attack_self(mob/user as mob) + if (target) + return ..() if (loaded.len) if (load_method == SPEEDLOADER) var/obj/item/ammo_casing/AC = loaded[1] diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 72a8a49717b..d83011f3d93 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -66,7 +66,7 @@ in_chamber.flags = flags //Set the flags... in_chamber.pass_flags = pass_flags //And the pass flags to that of the real projectile... in_chamber.firer = user - var/output = in_chamber.fired() //Test it! + var/output = in_chamber.process() //Test it! del(in_chamber) //No need for it anymore return output //Send it back to the gun! @@ -160,23 +160,6 @@ sleep(1) return - proc/fired() - spawn while(src) - if((!( current ) || loc == current)) - current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) - if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) - del(src) - return - step_towards(src, current) - sleep(1) - if(!bumped) - if(loc == original) - for(var/mob/living/M in original) - if(!(M in permutated)) - Bump(M) - sleep(1) - return - /obj/item/projectile/test //Used to see if you can hit them. invisibility = 101 //Nope! Can't see me! yo = null @@ -196,7 +179,7 @@ result = 1 return - fired() + process() var/turf/curloc = get_turf(src) var/turf/targloc = get_turf(target) if(!curloc || !targloc) diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm new file mode 100644 index 00000000000..ea52bc5bdf4 --- /dev/null +++ b/code/modules/projectiles/targeting.dm @@ -0,0 +1,344 @@ +/obj/item/weapon/gun/verb/toggle_firerate() + set name = "Toggle Firerate" + set category = "Object" + firerate = !firerate + if (firerate == 0) + loc << "You will now continue firing when your target moves." + else + loc << "You will now only fire once, then lower your aim, when your target moves." + +/obj/item/weapon/gun/verb/lower_aim() + set name = "Lower Aim" + set category = "Object" + if(target) + for(var/mob/living/M in target) + if(M) + M.NotTargeted(src) + del(target) + usr.visible_message("\blue \The [usr] lowers \the [src]...") + +//Clicking gun will still lower aim for guns that don't overwrite this +/obj/item/weapon/gun/attack_self() + lower_aim() + +//Compute how to fire..... +/obj/item/weapon/gun/proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params) + //Lets not spam it. + if(lock_time > world.time - 2) return + . + if(ismob(A) && isliving(A) && !(A in target)) + Aim(A) //Clicked a mob, aim at them + else //Didn't click someone, check if there is anyone along that guntrace + var/mob/living/M = GunTrace(usr.x,usr.y,A.x,A.y,usr.z,usr) //Find dat mob. + if(M && isliving(M) && M in view(user) && !(M in target)) + Aim(M) //Aha! Aim at them! + else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! + Fire(A,user,params) //Fire like normal, then. +/* + else if(!target) + world << "\red DIDN'T HAVE A TARGET, FIRED" + Fire(A,user,params) //Boom! + */ + usr.dir = get_cardinal_dir(src, A) + +//Aiming at the target mob. +/obj/item/weapon/gun/proc/Aim(var/mob/living/M) + if(!target || !(M in target)) + lock_time = world.time + if(target && !automatic) //If they're targeting someone and they have a non automatic weapon. + for(var/mob/living/L in target) + if(L) + L.NotTargeted(src) + del(target) + usr.visible_message("\red [usr] turns \the [src] on [M]!") + else + usr.visible_message("\red [usr] aims \a [src] at [M]!") + M.Targeted(src) + +//HE MOVED, SHOOT HIM! +/obj/item/weapon/gun/proc/TargetActed(var/mob/living/T) + var/mob/living/M = loc + if(M == T) return + if(!istype(M)) return + if(src != M.equipped()) + for(var/mob/living/N in target) + if(N) + N.NotTargeted(src) + del(target) + return + M.last_move_intent = world.time + if(load_into_chamber()) + var/firing_check = in_chamber.check_fire(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. + if(firing_check > 0) + if(firing_check == 1) + Fire(T,usr, reflex = 1) + else if(!told_cant_shoot) + M << "\red They can't be hit from here!" + told_cant_shoot = 1 + spawn(30) + told_cant_shoot = 0 + else + usr.visible_message("*click click*", "\red *click*") + for(var/mob/living/K in viewers(usr)) + K << 'empty.ogg' + + usr.dir = get_cardinal_dir(src, T) + + if (!firerate) // If firerate is set to lower aim after one shot, untarget the target + T.NotTargeted(src) + +//Yay, math! + +#define SIGN(X) ((X<0)?-1:1) + +proc/GunTrace(X1,Y1,X2,Y2,Z=1,exc_obj,PX1=16,PY1=16,PX2=16,PY2=16) + //bluh << "Tracin' [X1],[Y1] to [X2],[Y2] on floor [Z]." + var/turf/T + var/mob/living/M + if(X1==X2) + if(Y1==Y2) return 0 //Light cannot be blocked on same tile + else + var/s = SIGN(Y2-Y1) + Y1+=s + while(1) + T = locate(X1,Y1,Z) + if(!T) return 0 + M = locate() in T + if(M) return M + M = locate() in orange(1,T)-exc_obj + if(M) return M + Y1+=s + else + var + m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) + b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles + signX = SIGN(X2-X1) + signY = SIGN(Y2-Y1) + if(X1= 5) + if(ismob(I.loc)) + I.loc << "You can only target 5 people at once!" + return + else + return + for(var/mob/living/K in viewers(usr)) + K << 'TargetOn.ogg' + + if(!targeted_by) targeted_by = list() + targeted_by += I + I.lock_time = world.time + 20 //Target has 2 second to realize they're targeted and stop (or target the opponent). + src << "((\red Your character is being targeted. They have 2 seconds to stop any click or move actions. \black While targeted, they may \ + drag and drop items in or into the map, speak, and click on interface buttons. Clicking on the map, their items \ + (other than a weapon to de-target), or moving will result in being fired upon. \red The aggressor may also fire manually, \ + so try not to get on their bad side.\black ))" + + if(targeted_by.len == 1) + spawn(0) + target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locking") + overlays += target_locked + spawn(0) + sleep(20) + if(target_locked) + target_locked = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "locked") + update_targeted() + + //Adding the buttons to the controler person + var/mob/living/T = I.loc + if(T) + T.item_use_icon = new /obj/screen/gun/item(null) + T.gun_move_icon = new /obj/screen/gun/move(null) + if(T.client) + T.client.screen += T.item_use_icon + T.client.screen += T.gun_move_icon + else + I.lower_aim() + return + if(m_intent == "run" && T.client.target_can_move == 1 && T.client.target_can_run == 0) + src << "\red Your move intent is now set to walk, as your targeter permits it." //Self explanitory. + set_m_intent("walk") + + //Processing the aiming. Should be probably in separate object with process() but lasy. + while(targeted_by && T.client) + if(last_move_intent > I.lock_time + 10 && !T.client.target_can_move) //If target moved when not allowed to + I.TargetActed(src) + if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. + I.lock_time = world.time + 5 + I.lock_time = world.time + 5 + I.last_moved_mob = src + else if(last_move_intent > I.lock_time + 10 && !T.client.target_can_run && m_intent == "run") //If the target ran while targeted + I.TargetActed(src) + if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. + I.lock_time = world.time + 5 + I.lock_time = world.time + 5 + I.last_moved_mob = src + if(last_target_click > I.lock_time + 10 && !T.client.target_can_click) //If the target clicked the map to pick something up/shoot/etc + I.TargetActed(src) + if(I.last_moved_mob == src) //If they were the last ones to move, give them more of a grace period, so that an automatic weapon can hold down a room better. + I.lock_time = world.time + 5 + I.lock_time = world.time + 5 + I.last_moved_mob = src + sleep(1) + +mob/living/proc/NotTargeted(var/obj/item/weapon/gun/I) + if(!I.silenced) + for(var/mob/living/M in viewers(src)) + M << 'TargetOff.ogg' + targeted_by -= I + I.target.Remove(src) //De-target them + if(!I.target.len) + del(I.target) + var/mob/living/T = I.loc //Remove the targeting icons + if(T && ismob(T) && !I.target) + del(T.item_use_icon) + del(T.gun_move_icon) + del(T.gun_run_icon) + if(!targeted_by.len) + del target_locked //Remove the overlay + del targeted_by + spawn(1) update_targeted() + +mob/living/Move() + . = ..() + for(var/obj/item/weapon/gun/G in targeted_by) //Handle moving out of the gunner's view. + var/mob/living/M = G.loc + if(!(M in view(src))) + NotTargeted(G) + for(var/obj/item/weapon/gun/G in src) //Handle the gunner loosing sight of their target/s + if(G.target) + for(var/mob/living/M in G.target) + if(M && !(M in view(src))) + M.NotTargeted(G) + +//If you move out of range, it isn't going to still stay locked on you any more. +client/var + target_can_move = 0 + target_can_run = 0 + target_can_click = 0 + gun_mode = 0 + +//These are called by the on-screen buttons, adjusting what the victim can and cannot do. + +client/verb/ToggleGunMode() + set hidden = 1 + gun_mode = !gun_mode + if(gun_mode) + usr << "You will now take people captive." + else + usr << "You will now shoot where you target." + if(usr.gun_setting_icon) + usr.gun_setting_icon.icon_state = "gun[gun_mode]" + +client/verb/AllowTargetMove() + set hidden=1 + + //Changing client's permissions + target_can_move = !target_can_move + if(target_can_move) + usr << "Target may now walk." + usr.gun_run_icon = new /obj/screen/gun/run(null) //adding icon for running permission + screen += usr.gun_run_icon + else + usr << "Target may no longer move." + target_can_run = 0 + del(usr.gun_run_icon) //no need for icon for running permission + + //Updating walking permission button + if(usr.gun_move_icon) + usr.gun_move_icon.icon_state = "no_walk[target_can_move]" + usr.gun_move_icon.name = "[target_can_move ? "Disallow" : "Allow"] Walking" + + //Handling change for all the guns on client + for(var/obj/item/weapon/gun/G in usr) + G.lock_time = world.time + 5 + if(G.target) + for(var/mob/living/M in G.target) + if(target_can_move) + M << "Your character may now walk at the discretion of their targeter." + if(!target_can_run) + M << "\red Your move intent is now set to walk, as your targeter permits it." + M.set_m_intent("walk") + else + M << "\red Your character will now be shot if they move." + +mob/living/proc/set_m_intent(var/intent) + if (intent != "walk" && intent != "run") + return 0 + m_intent = intent + if(hud_used) + if (hud_used.move_intent) + hud_used.move_intent.icon_state = intent == "walk" ? "walking" : "running" + +client/verb/AllowTargetRun() + set hidden=1 + + //Changing client's permissions + target_can_run = !target_can_run + if(target_can_run) + usr << "Target may now run." + else + usr << "Target may no longer run." + + //Updating running permission button + if(usr.gun_run_icon) + usr.gun_run_icon.icon_state = "no_run[target_can_run]" + usr.gun_run_icon.name = "[target_can_run ? "Disallow" : "Allow"] Running" + + //Handling change for all the guns on client + for(var/obj/item/weapon/gun/G in src) + G.lock_time = world.time + 5 + if(G.target) + for(var/mob/living/M in G.target) + if(target_can_run) + M << "Your character may now run at the discretion of their targeter." + else + M << "\red Your character will now be shot if they run." + +client/verb/AllowTargetClick() + set hidden=1 + + //Changing client's permissions + target_can_click = !target_can_click + if(target_can_click) + usr << "Target may now use items." + else + usr << "Target may no longer use items." + + if(usr.item_use_icon) + usr.item_use_icon.icon_state = "no_item[target_can_click]" + usr.item_use_icon.name = "[target_can_click ? "Disallow" : "Allow"] Item Use" + + //Handling change for all the guns on client + for(var/obj/item/weapon/gun/G in src) + G.lock_time = world.time + 5 + if(G.target) + for(var/mob/living/M in G.target) + if(target_can_click) + M << "Your character may now use items at the discretion of their targeter." + else + M << "\red Your character will now be shot if they use items." diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index f50f2ea8d874c8cb67f0382c65d29bbbe70a9980..391366d32008f83a390ad94f395c25999649dbf0 100644 GIT binary patch delta 20635 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 delta 21924 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 wM6`IDm@uO7gov1kXz0HJ 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 From 56b4f0c85f39d43df491890c30df8f31d9621eeb Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 7 Mar 2013 05:54:46 +0400 Subject: [PATCH 11/14] Fixed couple of issues with suicide - no sound and inability to suicide again if tried to do it without ammo. --- code/modules/projectiles/gun.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index c1316b3c1fa..2a0fbfe9201 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -169,6 +169,10 @@ return if (load_into_chamber()) user.visible_message("[user] pulls the trigger. Ow.") + if(silenced) + playsound(user, fire_sound, 10, 1) + else + playsound(user, fire_sound, 50, 1) in_chamber.on_hit(M) if (!in_chamber.nodamage) user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]") @@ -180,6 +184,7 @@ else user.visible_message("*click click*", "\red *click*") playsound(user, 'sound/weapons/empty.ogg', 100, 1) + mouthshoot = 0 return if (load_into_chamber()) From 4f75feffe58f3aad443017baf5792cf8f3caa1f6 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 7 Mar 2013 05:55:14 +0400 Subject: [PATCH 12/14] Added recoil to projectile weapons. On shot shakes screen a little. --- code/modules/projectiles/guns/projectile.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index a874d48f67c..9306bc3899e 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -10,7 +10,7 @@ origin_tech = "combat=2;materials=2" w_class = 3.0 m_amt = 1000 - + recoil = 1 var/ammo_type = "/obj/item/ammo_casing/a357" var/list/loaded = list() var/max_shells = 7 From 81a432930b036afd5a0b0f780544f9f649a42d8c Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 8 Mar 2013 02:56:55 +0400 Subject: [PATCH 13/14] Bit of refactoring. Moved gun icons adding/deletion in separate procs. Moved dropping aim in separate procs. Moved gun empty clicking in separate proc because all the copypaste. Fixed issues with aim mode HUD icons not being updated in some cases. Now toggling mode cancels aim properly. Fixed type in firing message. --- code/modules/projectiles/gun.dm | 31 ++++------- code/modules/projectiles/targeting.dm | 78 ++++++++++++++++++--------- 2 files changed, 65 insertions(+), 44 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 2a0fbfe9201..3377baf8f2d 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -34,18 +34,6 @@ proc/load_into_chamber() return 0 - //Removing the lock and the buttons. - dropped(mob/user as mob) - if(target) - for(var/mob/living/M in target) - if(M) - M.NotTargeted(src) //Untargeting people. - del(target) - del(user.item_use_icon) //Removing the control icons. - del(user.gun_move_icon) - del(user.gun_run_icon) - return ..() - proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver. return 1 @@ -100,9 +88,7 @@ return if(!load_into_chamber()) //CHECK - user.visible_message("*click click*", "\red *click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - return + return click_empty(user) if(!in_chamber) return @@ -123,7 +109,7 @@ playsound(user, fire_sound, 10, 1) else playsound(user, fire_sound, 50, 1) - user.visible_message("[user] fires [src][reflex ? "by reflex":""]!", \ + user.visible_message("[user] fires [src][reflex ? " by reflex":""]!", \ "You fire [src][reflex ? "by reflex":""]!", \ "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!") @@ -157,6 +143,13 @@ else user.update_inv_r_hand() +/obj/item/weapon/gun/proc/click_empty(mob/user = null) + if (user) + user.visible_message("*click click*", "\red *click*") + playsound(user, 'sound/weapons/empty.ogg', 100, 1) + else + src.visible_message("*click click*") + playsound(src.loc, 'sound/weapons/empty.ogg', 100, 1) /obj/item/weapon/gun/attack(mob/living/M as mob, mob/living/user as mob, def_zone) //Suicide handling. @@ -182,8 +175,7 @@ mouthshoot = 0 return else - user.visible_message("*click click*", "\red *click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) + click_empty(user) mouthshoot = 0 return @@ -195,8 +187,7 @@ Fire(M,user) return else if(target && M in target) - world << "\red PREFIRE IS CALLED TO SHOOT AT [M] BY [user]" - PreFire(M,user) ///Otherwise, shoot! + Fire(M,user) ///Otherwise, shoot! return else return ..() //Pistolwhippin' \ No newline at end of file diff --git a/code/modules/projectiles/targeting.dm b/code/modules/projectiles/targeting.dm index ea52bc5bdf4..5480b83d847 100644 --- a/code/modules/projectiles/targeting.dm +++ b/code/modules/projectiles/targeting.dm @@ -11,16 +11,28 @@ set name = "Lower Aim" set category = "Object" if(target) - for(var/mob/living/M in target) - if(M) - M.NotTargeted(src) - del(target) + stop_aim() usr.visible_message("\blue \The [usr] lowers \the [src]...") //Clicking gun will still lower aim for guns that don't overwrite this /obj/item/weapon/gun/attack_self() lower_aim() +//Removing the lock and the buttons. +/obj/item/weapon/gun/dropped(mob/user as mob) + stop_aim() + if (user.client) + user.client.remove_gun_icons() + return ..() + +//Removes lock fro mall targets +/obj/item/weapon/gun/proc/stop_aim() + if(target) + for(var/mob/living/M in target) + if(M) + M.NotTargeted(src) //Untargeting people. + del(target) + //Compute how to fire..... /obj/item/weapon/gun/proc/PreFire(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, params) //Lets not spam it. @@ -34,11 +46,6 @@ Aim(M) //Aha! Aim at them! else if(!ismob(M) || (ismob(M) && !(M in view(user)))) //Nope! They weren't there! Fire(A,user,params) //Fire like normal, then. -/* - else if(!target) - world << "\red DIDN'T HAVE A TARGET, FIRED" - Fire(A,user,params) //Boom! - */ usr.dir = get_cardinal_dir(src, A) //Aiming at the target mob. @@ -61,11 +68,7 @@ if(M == T) return if(!istype(M)) return if(src != M.equipped()) - for(var/mob/living/N in target) - if(N) - N.NotTargeted(src) - del(target) - return + stop_aim() M.last_move_intent = world.time if(load_into_chamber()) var/firing_check = in_chamber.check_fire(T,usr) //0 if it cannot hit them, 1 if it is capable of hitting, and 2 if a special check is preventing it from firing. @@ -78,9 +81,7 @@ spawn(30) told_cant_shoot = 0 else - usr.visible_message("*click click*", "\red *click*") - for(var/mob/living/K in viewers(usr)) - K << 'empty.ogg' + click_empty(M) usr.dir = get_cardinal_dir(src, T) @@ -171,11 +172,8 @@ mob/living/proc/Targeted(var/obj/item/weapon/gun/I) //Self explanitory. //Adding the buttons to the controler person var/mob/living/T = I.loc if(T) - T.item_use_icon = new /obj/screen/gun/item(null) - T.gun_move_icon = new /obj/screen/gun/move(null) if(T.client) - T.client.screen += T.item_use_icon - T.client.screen += T.gun_move_icon + T.client.add_gun_icons() else I.lower_aim() return @@ -215,9 +213,7 @@ mob/living/proc/NotTargeted(var/obj/item/weapon/gun/I) del(I.target) var/mob/living/T = I.loc //Remove the targeting icons if(T && ismob(T) && !I.target) - del(T.item_use_icon) - del(T.gun_move_icon) - del(T.gun_run_icon) + T.client.remove_gun_icons() if(!targeted_by.len) del target_locked //Remove the overlay del targeted_by @@ -243,17 +239,51 @@ client/var gun_mode = 0 //These are called by the on-screen buttons, adjusting what the victim can and cannot do. +client/proc/add_gun_icons() + if (!usr.item_use_icon) + usr.item_use_icon = new /obj/screen/gun/item(null) + usr.item_use_icon.icon_state = "no_item[target_can_click]" + usr.item_use_icon.name = "[target_can_click ? "Disallow" : "Allow"] Item Use" + + if (!usr.gun_move_icon) + usr.gun_move_icon = new /obj/screen/gun/move(null) + usr.gun_move_icon.icon_state = "no_walk[target_can_move]" + usr.gun_move_icon.name = "[target_can_move ? "Disallow" : "Allow"] Walking" + + if (target_can_move && !usr.gun_run_icon) + usr.gun_run_icon = new /obj/screen/gun/run(null) + usr.gun_run_icon.icon_state = "no_run[target_can_run]" + usr.gun_run_icon.name = "[target_can_run ? "Disallow" : "Allow"] Running" + + screen += usr.item_use_icon + screen += usr.gun_move_icon + if (target_can_move) + screen += usr.gun_run_icon + +client/proc/remove_gun_icons() + screen -= usr.item_use_icon + screen -= usr.gun_move_icon + if (target_can_move) + screen -= usr.gun_run_icon + del usr.gun_move_icon + del usr.item_use_icon + del usr.gun_run_icon client/verb/ToggleGunMode() set hidden = 1 gun_mode = !gun_mode if(gun_mode) usr << "You will now take people captive." + add_gun_icons() else usr << "You will now shoot where you target." + for(var/obj/item/weapon/gun/G in usr) + G.stop_aim() + remove_gun_icons() if(usr.gun_setting_icon) usr.gun_setting_icon.icon_state = "gun[gun_mode]" + client/verb/AllowTargetMove() set hidden=1 From 5fa6414d70290206c3f90055d9f61a3c2a821919 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 8 Mar 2013 03:21:47 +0400 Subject: [PATCH 14/14] If you aim at people, shots will be slightly more accurate. --- code/modules/projectiles/projectile.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index d83011f3d93..9fa70809b58 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -85,9 +85,14 @@ loc = A.loc return 0// nope.avi - var/distance = get_dist(starting,loc) //Lower accurancy/longer range tradeoff. Distance matters a lot here, so at // close distance, actually RAISE the chance to hit. + var/distance = get_dist(starting,loc) + var/miss_modifier = -30 + if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often. + var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim + if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew + miss_modifier += -30 def_zone = get_zone_with_miss_chance(def_zone, M, -30 + 8*distance) if(!def_zone)