diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm
index 0a953e40a62..e0d485e1da1 100644
--- a/code/WorkInProgress/computer3/computers/camera.dm
+++ b/code/WorkInProgress/computer3/computers/camera.dm
@@ -32,7 +32,7 @@
/obj/machinery/computer3/security/mining
name = "Outpost Cameras"
desc = "Used to access the various cameras on the outpost."
- spawn_files = list(/datum/file/camnet_key/mining)
+ spawn_files = list(/datum/file/camnet_key/miningoutpost)
/*
Camera monitoring computers, wall-mounted
@@ -43,7 +43,7 @@
spawn_files = list(/datum/file/camnet_key)
/obj/machinery/computer3/wall_comp/telescreen/entertainment
- desc = "Damn, they better have /tg/thechannel on these things."
+ desc = "Damn, they better have Paradise Channel on these things."
spawn_files = list(/datum/file/camnet_key/entertainment)
@@ -76,53 +76,96 @@
return
computer.Crash(MISSING_PROGRAM)
-/datum/file/camnet_key/mining
- name = "Mining Camera Network Key"
- title = "mining station"
- desc = "Connects to mining security cameras."
- networks = list("MINE")
+/datum/file/camnet_key/telecomms
+ name = "Telecomms Network Key"
+ title = "telecommunications satellite"
+ desc = "Connects to telecommunications satellite security cameras."
+ networks = list("Telecomms")
+
+/datum/file/camnet_key/researchoutpost
+ name = "Research Outpost Network Key"
+ title = "research outpost"
+ desc = "Connects to research outpost security cameras."
+ networks = list("Research Outpost")
+
+/datum/file/camnet_key/miningoutpost
+ name = "Mining Outpost Network Key"
+ title = "mining outpost"
+ desc = "Connects to mining outpost security cameras."
+ networks = list("Mining Outpost")
screen = "miningcameras"
/datum/file/camnet_key/research
- name = "Research Camera Network Key"
+ name = "Research Network Key"
title = "research"
- networks = list("RD")
-
-/datum/file/camnet_key/bombrange
- name = "R&D Bomb Range Camera Network Key"
- title = "bomb range"
- desc = "Monitors the bomb range."
- networks = list("Toxins")
-
-/datum/file/camnet_key/xeno
- name = "R&D Misc. Research Camera Network Key"
- title = "special research"
- networks = list("Misc")
-
-/datum/file/camnet_key/singulo
- name = "Singularity Camera Network Key"
- title = "singularity"
- networks = list("Singularity")
-
-/datum/file/camnet_key/entertainment
- name = "Entertainment Channel Encryption Key"
- title = "entertainment"
- desc = "Damn, I hope they have /tg/thechannel on here."
- networks = list("thunder")
- screen = "entertainment"
-
-/datum/file/camnet_key/creed
- name = "Special Ops Camera Encryption Key"
- title = "special ops"
- desc = "Connects to special ops secure camera feeds."
- networks = list("CREED")
-
+ desc = "Connects to research security cameras."
+ networks = list("Research")
+
/datum/file/camnet_key/prison
- name = "Prison Camera Network Key"
+ name = "Prison Network Key"
title = "prison"
- desc = "Monitors the prison."
+ desc = "Connects to prison security cameras."
networks = list("Prison")
-
+
+/datum/file/camnet_key/interrogation
+ name = "Interrogation Network Key"
+ title = "interrogation"
+ desc = "Connects to interrogation security cameras."
+ networks = list("Interrogation")
+
+/datum/file/camnet_key/supermatter
+ name = "Supermatter Network Key"
+ title = "supermatter"
+ desc = "Connects to supermatter security cameras."
+ networks = list("Supermatter")
+
+/datum/file/camnet_key/singularity
+ name = "Singularity Network Key"
+ title = "singularity"
+ desc = "Connects to singularity security cameras."
+ networks = list("Singularity")
+
+/datum/file/camnet_key/anomalyisolation
+ name = "Anomaly Isolation Network Key"
+ title = "anomalyisolation"
+ desc = "Connects to interrogation security cameras."
+ networks = list("Anomaly Isolation")
+
+/datum/file/camnet_key/toxins
+ name = "Toxins Network Key"
+ title = "toxins"
+ desc = "Connects to toxins security cameras."
+ networks = list("Toxins")
+
+/datum/file/camnet_key/telepad
+ name = "Telepad Network Key"
+ title = "telepad"
+ desc = "Connects to telepad security cameras."
+ networks = list("Telepad")
+
+/datum/file/camnet_key/ert
+ name = "Emergency Response Team Network Key"
+ title = "emergency response team"
+ desc = "Connects to emergency response team security cameras."
+ networks = list("ERT")
+
+/datum/file/camnet_key/centcom
+ name = "Central Command Network Key"
+ title = "central command"
+ desc = "Connects to central command security cameras."
+ networks = list("CentCom")
+
+/datum/file/camnet_key/thunderdome
+ name = "Thunderdome Network Key"
+ title = "thunderdome"
+ desc = "Connects to thunderdome security cameras."
+ networks = list("Thunderdome")
+
+/datum/file/camnet_key/entertainment
+ name = "Entertainment Network Key"
+ title = "entertainment"
+ desc = "Connects to entertainment security cameras."
+ networks = list("news")
/*
@@ -147,7 +190,7 @@
if(temp.len)
L.Add(C)
- //camera_sort(L)
+ camera_sort(L)
return L
verify_machine(var/obj/machinery/camera/C,var/datum/file/camnet_key/key = null)
diff --git a/code/WorkInProgress/computer3/computers/card.dm b/code/WorkInProgress/computer3/computers/card.dm
index 90e91a912e1..7c928d2ebec 100644
--- a/code/WorkInProgress/computer3/computers/card.dm
+++ b/code/WorkInProgress/computer3/computers/card.dm
@@ -4,7 +4,7 @@
/obj/machinery/computer3/card/hop
default_prog = /datum/file/program/card_comp
spawn_parts = list(/obj/item/part/computer/storage/hdd,/obj/item/part/computer/cardslot/dual)
- spawn_files = list(/datum/file/program/arcade, /datum/file/program/security, /datum/file/camnet_key/mining, /datum/file/camnet_key/entertainment,/datum/file/camnet_key/prison)
+ spawn_files = list(/datum/file/program/arcade, /datum/file/program/security, /datum/file/camnet_key/miningoutpost, /datum/file/camnet_key/entertainment,/datum/file/camnet_key/prison)
/obj/machinery/computer3/card/centcom
diff --git a/code/WorkInProgress/computer3/computers/communications.dm b/code/WorkInProgress/computer3/computers/communications.dm
index 68a1020a750..b1a4adfa2c2 100644
--- a/code/WorkInProgress/computer3/computers/communications.dm
+++ b/code/WorkInProgress/computer3/computers/communications.dm
@@ -6,7 +6,7 @@
default_prog = /datum/file/program/communications
spawn_parts = list(/obj/item/part/computer/storage/hdd,/obj/item/part/computer/networking/radio/subspace,/obj/item/part/computer/cardslot/dual)
spawn_files = list(/datum/file/program/card_comp, /datum/file/program/security, /datum/file/program/crew, /datum/file/program/arcade,
- /datum/file/camnet_key, /datum/file/camnet_key/entertainment, /datum/file/camnet_key/singulo)
+ /datum/file/camnet_key, /datum/file/camnet_key/entertainment, /datum/file/camnet_key/singularity)
/datum/file/program/communications
diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/WorkInProgress/computer3/lapvend.dm
index 5c4f56ad727..2bae9f2e2d6 100644
--- a/code/WorkInProgress/computer3/lapvend.dm
+++ b/code/WorkInProgress/computer3/lapvend.dm
@@ -296,6 +296,9 @@
if(access_security in C.access)
newlap.spawn_files += (/datum/file/program/secure_data)
newlap.spawn_files += (/datum/file/camnet_key)
+ newlap.spawn_files += (/datum/file/camnet_key/researchoutpost)
+ newlap.spawn_files += (/datum/file/camnet_key/miningoutpost)
+ newlap.spawn_files += (/datum/file/camnet_key/telecomms)
newlap.spawn_files += (/datum/file/program/security)
if(access_armory in C.access)
newlap.spawn_files += (/datum/file/program/prisoner)
@@ -312,13 +315,17 @@
if(access_engine in C.access)
newlap.spawn_files += (/datum/file/program/powermon)
if(access_research in C.access)
+ newlap.spawn_files += (/datum/file/camnet_key/researchoutpost)
newlap.spawn_files += (/datum/file/camnet_key/research)
- newlap.spawn_files += (/datum/file/camnet_key/bombrange)
- newlap.spawn_files += (/datum/file/camnet_key/xeno)
+ newlap.spawn_files += (/datum/file/camnet_key/anomalyisolation)
+ newlap.spawn_files += (/datum/file/camnet_key/toxins)
+ newlap.spawn_files += (/datum/file/camnet_key/telepad)
if(access_rd in C.access)
newlap.spawn_files += (/datum/file/program/borg_control)
if(access_cent_specops in C.access)
- newlap.spawn_files += (/datum/file/camnet_key/creed)
+ newlap.spawn_files += (/datum/file/camnet_key/ert)
+ newlap.spawn_files += (/datum/file/camnet_key/centcom)
+ newlap.spawn_files += (/datum/file/camnet_key/thunderdome)
newlap.spawn_files += (/datum/file/program/arcade)
newlap.spawn_files += (/datum/file/camnet_key/entertainment)
//Atlantis: Each laptop gets "invisible" program/security - REQUIRED for camnetkeys to work.
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 41cf368ecef..324a9ce53d9 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -30,6 +30,7 @@
var/mob/living/silicon/ai/calling_ai //Links a bot to the AI calling it.
var/obj/item/device/radio/Radio //The bot's radio, for speaking to people.
var/radio_frequency //The bot's default radio speaking freqency. Recommended to be on a department frequency.
+ var/radio_name = "Common"
//var/emagged = 0 //Urist: Moving that var to the general /bot tree as it's used by most bots
var/auto_patrol = 0// set to make bot automatically patrol
var/turf/patrol_target // this is turf to navigate to (location of beacon)
@@ -101,6 +102,7 @@
set_custom_texts()
Radio = new /obj/item/device/radio(src)
Radio.listening = 0 //Makes bot radios transmit only so no one hears things while adjacent to one.
+ Radio.config(list("[radio_name]" = 0))
/obj/machinery/bot/proc/add_to_beacons(bot_filter) //Master filter control for bots. Must be placed in the bot's local New() to support map spawned bots.
@@ -335,14 +337,13 @@
/obj/machinery/bot/attack_ai(mob/user as mob)
attack_hand(user)
-/obj/machinery/bot/proc/speak(var/message, freq) //Pass a message to have the bot say() it. Pass a frequency to say it on the radio.
+/obj/machinery/bot/proc/speak(var/message, freq, var/freqname = null) //Pass a message to have the bot say() it. Pass a frequency to say it on the radio.
if((!on) || (!message))
return
if(freq)
- return
- // Commenting out the radio code until our say code's compatible with /tg/'s
- /* Radio.set_frequency(radio_frequency)
- Radio.talk_into_atom(src, message, radio_frequency) */
+ Radio.set_frequency(radio_frequency)
+ if(freqname)
+ Radio.autosay(message, src.name, freqname, list(src.z))
else
for(var/mob/O in hearers(src, null))
O.show_message("[src] beeps, \"[message]\"",2)
@@ -651,7 +652,7 @@ obj/machinery/bot/proc/start_patrol()
botcard.access = user_access + prev_access //Adds the user's access, if any.
mode = BOT_SUMMON
calc_summon_path()
- speak("Responding."/*, radio_frequency*/)
+ speak("Responding.", radio_frequency, radio_name)
return
// receive response from beacon
@@ -738,7 +739,7 @@ obj/machinery/bot/proc/bot_summon()
check_bot_access()
path = AStar(loc, summon_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 150, id=botcard, exclude=avoid)
if(!path || tries >= 5) //Cannot reach target. Give up and announce the issue.
- speak("Summon command failed, destination unreachable."/*,radio_frequency*/)
+ speak("Summon command failed, destination unreachable.", radio_frequency, radio_name)
bot_reset()
/obj/machinery/bot/proc/summon_step()
diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm
index c4d15103cd9..c5b27061bcd 100644
--- a/code/game/machinery/bots/cleanbot.dm
+++ b/code/game/machinery/bots/cleanbot.dm
@@ -39,6 +39,7 @@
var/next_dest
var/next_dest_loc
radio_frequency = SRV_FREQ //Service
+ radio_name = "Service"
bot_type = CLEAN_BOT
bot_filter = RADIO_CLEANBOT
@@ -120,6 +121,7 @@ text("[on ? "On" : "Off"]"))
if(allowed(usr) && !open && !emagged)
locked = !locked
user << "You [ locked ? "lock" : "unlock"] the [src] behaviour controls."
+ updateUsrDialog()
else
if(emagged)
user << "ERROR"
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index 1209b955ce4..7827f1b11c1 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -34,6 +34,7 @@
var/projectile = /obj/item/projectile/energy/electrode //Holder for projectile type
var/shoot_sound = 'sound/weapons/Taser.ogg'
radio_frequency = SEC_FREQ
+ radio_name = "Security"
bot_type = SEC_BOT
bot_filter = RADIO_SECBOT
@@ -267,8 +268,8 @@ Auto Patrol[]"},
M.Stun(5)
if(declare_arrests)
- //var/area/location = get_area(src)
- declare_arrest()
+ var/area/location = get_area(src)
+ speak("[arrest_type ? "Detaining" : "Arresting"] level [threatlevel] scumbag [target] in [location].",radio_frequency, radio_name)
target.visible_message("[target] has been stunned by [src]!",\
"[target] has been stunned by [src]!")
@@ -725,10 +726,4 @@ Auto Patrol[]"},
/obj/machinery/bot/ed209/redtag/New()
new /obj/machinery/bot/ed209(get_turf(src),null,"r")
- qdel(src)
-
-/obj/machinery/bot/ed209/proc/declare_arrest()
- var/area/location = get_area(src)
- for(var/mob/living/carbon/human/human in world)
- if((human.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security) || istype(human.glasses, /obj/item/clothing/glasses/sunglasses/sechud) && !human.blinded)
- human << "\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] threat [target] in [location]"
+ qdel(src)
\ No newline at end of file
diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm
index dda1b8afcd0..4c9cda8d9e6 100644
--- a/code/game/machinery/bots/floorbot.dm
+++ b/code/game/machinery/bots/floorbot.dm
@@ -50,6 +50,7 @@
req_one_access = list(access_construction, access_robotics)
var/targetdirection
radio_frequency = ENG_FREQ //Engineering channel
+ radio_name = "Engineering"
bot_type = FLOOR_BOT
bot_filter = RADIO_FLOORBOT
var/process_type //Determines what to do when process_scan() recieves a target. See process_scan() for details.
@@ -150,6 +151,7 @@
if(allowed(user) && !open && !emagged)
locked = !locked
user << "You [locked ? "lock" : "unlock"] \the [src] behaviour controls."
+ updateUsrDialog()
else
if(emagged)
user << "ERROR"
@@ -314,7 +316,8 @@
/obj/machinery/bot/floorbot/proc/nag() //Annoy everyone on the channel to refill us!
if(!nagged)
- speak("Requesting refill at [get_area(src)]!"/*, radio_frequency*/)
+ var/area/location = get_area(src)
+ speak("Requesting refill at [location]!", radio_frequency, radio_name)
nagged = 1
/obj/machinery/bot/floorbot/proc/is_hull_breach(var/turf/t) //Ignore space tiles not considered part of a structure, also ignores shuttle docking areas.
diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm
index 19a89339c62..b0e04695ef0 100644
--- a/code/game/machinery/bots/medbot.dm
+++ b/code/game/machinery/bots/medbot.dm
@@ -31,6 +31,7 @@
var/declare_cooldown = 0 //Prevents spam of critical patient alerts.
var/stationary_mode = 0 //If enabled, the Medibot will not move automatically.
radio_frequency = MED_FREQ //Medical frequency
+ radio_name = "Medical"
//Setting which reagents to use to treat what by default. By id.
var/treatment_brute = "tricordrazine"
var/treatment_oxy = "tricordrazine"
@@ -522,8 +523,10 @@
/obj/machinery/bot/medbot/proc/declare(var/crit_patient)
if(declare_cooldown)
return
- //var/area/location = get_area(src)
- declare_critical(crit_patient)
+ if((skin == "bezerk"))
+ return
+ var/area/location = get_area(src)
+ speak("Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!",radio_frequency, radio_name)
declare_cooldown = 1
spawn(200) //Twenty seconds
declare_cooldown = 0
@@ -589,18 +592,4 @@
S.skin = skin
S.name = created_name
user.before_take_item(src, 1)
- qdel(src)
-
-/obj/machinery/bot/medbot/proc/declare_critical(var/crit_patient)
- var/area/location = get_area(src)
- for(var/mob/living/carbon/human/human in world)
- if((human.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/health) || istype(human.glasses, /obj/item/clothing/glasses/hud/health_advanced) && !human.blinded)
- if((skin == "bezerk") && (!("syndicate" in human.faction)))
- continue
- human << "\icon[human.glasses] Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!"
- for(var/mob/living/silicon/robot in world)
- if((robot.z == src.z) && !robot.blinded)
- if((skin == "bezerk") && (!("syndicate" in robot.faction)))
- continue
- if(robot.sensor_mode == 2)
- robot << "Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!"
\ No newline at end of file
+ qdel(src)
\ No newline at end of file
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index 0a6f58b0f31..cf1bbac7b71 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -94,7 +94,7 @@ var/global/mulebot_count = 0
else if(istype(I, /obj/item/weapon/card/id) || istype(I, /obj/item/device/pda))
if(toggle_lock(user))
user << "Controls [(locked ? "locked" : "unlocked")]."
-
+ updateUsrDialog()
else if(istype(I,/obj/item/weapon/cell) && open && !cell)
var/obj/item/weapon/cell/C = I
user.drop_item()
@@ -237,7 +237,7 @@ var/global/mulebot_count = 0
//user << browse("M.U.L.E. Mk. III [suffix ? "([suffix])" : ""][dat]", "window=mulebot;size=350x500")
//onclose(user, "mulebot")
- var/datum/browser/popup = new(user, "mulebot", "M.U.L.E. Mk. V [suffix ? "([suffix])" : ""]", 350, 500)
+ var/datum/browser/popup = new(user, "mulebot", "M.U.L.E. Mk. V [suffix ? "([suffix])" : ""]", 350, 535)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
popup.open()
@@ -683,6 +683,8 @@ var/global/mulebot_count = 0
/obj/machinery/bot/mulebot/proc/at_target()
if(!reached_target)
radio_frequency = SUP_FREQ //Supply channel
+ radio_name = "Supply"
+ Radio.config(list("[radio_name]" = 0))
visible_message("[src] makes a chiming sound!", "You hear a chime.")
playsound(loc, 'sound/machines/chime.ogg', 50, 0)
reached_target = 1
@@ -694,9 +696,11 @@ var/global/mulebot_count = 0
playsound(calling_ai, 'sound/machines/chime.ogg',40, 0)
calling_ai = null
radio_frequency = AIPRIV_FREQ //Report on AI Private instead if the AI is controlling us.
+ radio_name = "AI Private"
+ Radio.config(list("[radio_name]" = 0))
if(load) // if loaded, unload at target
- speak("Destination [destination] reached. Unloading [load]."/*,radio_frequency*/)
+ speak("Destination [destination] reached. Unloading [load].", radio_frequency, radio_name)
unload(loaddir)
else
// not loaded
@@ -712,7 +716,7 @@ var/global/mulebot_count = 0
if(AM)
load(AM)
if(report_delivery)
- speak("Now loading [load] at [get_area(src)]."/*,radio_frequency*/)
+ speak("Now loading [load] at [get_area(src)].", radio_frequency, radio_name)
// whatever happened, check to see if we return home
if(auto_return && destination != home_destination)
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index 995f0a17378..7bd6181fb30 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -24,6 +24,7 @@
var/check_records = 1 //Does it check security records?
var/arrest_type = 0 //If true, don't handcuff
radio_frequency = SEC_FREQ //Security channel
+ radio_name = "Security"
bot_type = SEC_BOT
bot_filter = RADIO_SECBOT
@@ -41,7 +42,7 @@
name = "Officer Beepsky"
desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey."
idcheck = 0
- weaponscheck = 0
+ weaponscheck = 1
auto_patrol = 1
/obj/machinery/bot/secbot/pingsky
@@ -230,8 +231,8 @@ Auto Patrol: []"},
M.Stun(5)
if(declare_arrests)
- //var/area/location = get_area(src)
- declare_arrest()
+ var/area/location = get_area(src)
+ speak("[arrest_type ? "Detaining" : "Arresting"] level [threatlevel] scumbag [target] in [location].",radio_frequency, radio_name)
target.visible_message("[target] has been stunned by [src]!",\
"[target] has been stunned by [src]!")
@@ -475,13 +476,4 @@ Auto Patrol: []"},
overlays -= "hs_arm"
new /obj/item/robot_parts/l_arm(get_turf(src))
user << "You remove the robot arm from [src]."
- build_step--
-
-/obj/machinery/bot/secbot/proc/declare_arrest()
- var/area/location = get_area(src)
- for(var/mob/living/carbon/human/human in world)
- if((human.z == src.z) && istype(human.glasses, /obj/item/clothing/glasses/hud/security) || istype(human.glasses, /obj/item/clothing/glasses/sunglasses/sechud) && !human.blinded)
- human << "\icon[human.glasses] [src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] threat [target] in [location]"
- for(var/mob/living/silicon/robot in world)
- if((robot.z == src.z) && !robot.blinded && robot.sensor_mode == 1)
- robot << "[src.name] is [arrest_type ? "detaining" : "arresting"] level [threatlevel] threat [target] in [location]"
\ No newline at end of file
+ build_step--
\ No newline at end of file
diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm
index 4d3f28f91d0..bd08fcf9861 100644
--- a/code/game/machinery/computer/specops_shuttle.dm
+++ b/code/game/machinery/computer/specops_shuttle.dm
@@ -23,14 +23,13 @@ var/specops_shuttle_timeleft = 0
var/specops_shuttle_timereset = 0
/proc/specops_return()
- var/area/centcom/control/command = locate()//To find announcer. This area should exist for this proc to work.
- var/mob/living/silicon/decoy/announcer = locate() in command//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
+ var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
+ announcer.config(list("Response Team" = 0))
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN\""//Initial message shown.
if(announcer)
- announcer.say(message)
- announcer.say(message)
+ announcer.autosay(message, "A.L.I.C.E.", "Response Team", list(1,2))
while(specops_shuttle_time - world.timeofday > 0)
var/ticksleft = specops_shuttle_time - world.timeofday
@@ -46,7 +45,7 @@ var/specops_shuttle_timeleft = 0
message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\""
if(rounded_time_left==0)
message = "\"ALERT: TAKEOFF\""
- announcer.say(message)
+ announcer.autosay(message, "A.L.I.C.E.", "Response Team")
message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
//Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
@@ -94,21 +93,20 @@ var/specops_shuttle_timeleft = 0
for(var/obj/machinery/computer/specops_shuttle/S in world)
S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY
+
+ del(announcer)
/proc/specops_process()
var/area/centcom/specops/special_ops = locate()//Where is the specops area located?
- var/area/centcom/control/command = locate()//To find announcer. This area should exist for this proc to work.
- var/mob/living/silicon/decoy/announcer = locate() in command//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
-
+ var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
+ announcer.config(list("Response Team" = 0))
+
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH\""//Initial message shown.
if(announcer)
- announcer.say(message)
- announcer.say(message)
- /*
- message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD"
- announcer.say(message)
- */
+ announcer.autosay(message, "A.L.I.C.E.", "Response Team")
+ //message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD"
+ //announcer.autosay(message, "A.L.I.C.E.", "Response Team")
while(specops_shuttle_time - world.timeofday > 0)
var/ticksleft = specops_shuttle_time - world.timeofday
@@ -124,8 +122,7 @@ var/specops_shuttle_timeleft = 0
message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\""
if(rounded_time_left==0)
message = "\"ALERT: TAKEOFF\""
- announcer.say(message)
- announcer.say(message)
+ announcer.autosay(message, "A.L.I.C.E.", "Response Team")
message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
//Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
@@ -237,6 +234,8 @@ var/specops_shuttle_timeleft = 0
for(var/obj/machinery/computer/specops_shuttle/S in world)
S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY
+
+ del(announcer)
/proc/specops_can_move()
if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom)
@@ -339,248 +338,4 @@ var/specops_shuttle_timeleft = 0
add_fingerprint(usr)
updateUsrDialog()
- return
-
-/*//Config stuff
-#define SPECOPS_MOVETIME 600 //Time to station is milliseconds. 60 seconds, enough time for everyone to be on the shuttle before it leaves.
-#define SPECOPS_STATION_AREATYPE "/area/shuttle/specops/station" //Type of the spec ops shuttle area for station
-#define SPECOPS_DOCK_AREATYPE "/area/shuttle/specops/centcom" //Type of the spec ops shuttle area for dock
-
-var/specops_shuttle_moving_to_station = 0
-var/specops_shuttle_moving_to_centcom = 0
-var/specops_shuttle_at_station = 0
-var/specops_shuttle_can_send = 1
-var/specops_shuttle_time = 0
-var/specops_shuttle_timeleft = 0
-
-/obj/machinery/computer/specops_shuttle
- name = "Spec. Ops. Shuttle Console"
- icon = 'icons/obj/computer.dmi'
- icon_state = "shuttle"
- req_access = list(access_cent_specops)
- var/temp = null
- var/hacked = 0
- var/allowedtocall = 0
-
-/proc/specops_process()
- var/area/centcom/control/cent_com = locate()//To find announcer. This area should exist for this proc to work.
- var/area/centcom/specops/special_ops = locate()//Where is the specops area located?
- var/mob/living/silicon/decoy/announcer = locate() in cent_com//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
-
- var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
- var/message = "THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH"//Initial message shown.
- if(announcer)
- announcer.say(message)
- message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD"
- announcer.say(message)
-
- while(specops_shuttle_time - world.timeofday > 0)
- var/ticksleft = specops_shuttle_time - world.timeofday
-
- if(ticksleft > 1e5)
- specops_shuttle_time = world.timeofday + 10 // midnight rollover
- specops_shuttle_timeleft = (ticksleft / 10)
-
- //All this does is announce the time before launch.
- if(announcer)
- var/rounded_time_left = round(specops_shuttle_timeleft)//Round time so that it will report only once, not in fractions.
- if(rounded_time_left in message_tracker)//If that time is in the list for message announce.
- message = "ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN"
- if(rounded_time_left==0)
- message = "ALERT: TAKEOFF"
- announcer.say(message)
- message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
- //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
-
- sleep(5)
-
- specops_shuttle_moving_to_station = 0
- specops_shuttle_moving_to_centcom = 0
-
- specops_shuttle_at_station = 1
- if (specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return
-
- if (!specops_can_move())
- usr << "\red The Special Operations shuttle is unable to leave."
- return
-
- //Begin Marauder launchpad.
- spawn(0)//So it parallel processes it.
- for(var/obj/machinery/door/poddoor/M in special_ops)
- switch(M.id)
- if("ASSAULT0")
- spawn(10)//1 second delay between each.
- M.open()
- if("ASSAULT1")
- spawn(20)
- M.open()
- if("ASSAULT2")
- spawn(30)
- M.open()
- if("ASSAULT3")
- spawn(40)
- M.open()
-
- sleep(10)
-
- var/spawn_marauder[] = new()
- for(var/obj/effect/landmark/L in landmarks_list)
- if(L.name == "Marauder Entry")
- spawn_marauder.Add(L)
- for(var/obj/effect/landmark/L in landmarks_list)
- if(L.name == "Marauder Exit")
- var/obj/effect/portal/P = new(L.loc)
- P.invisibility = 101//So it is not seen by anyone.
- P.failchance = 0//So it has no fail chance when teleporting.
- P.target = pick(spawn_marauder)//Where the marauder will arrive.
- spawn_marauder.Remove(P.target)
-
- sleep(10)
-
- for(var/obj/machinery/mass_driver/M in special_ops)
- switch(M.id)
- if("ASSAULT0")
- spawn(10)
- M.drive()
- if("ASSAULT1")
- spawn(20)
- M.drive()
- if("ASSAULT2")
- spawn(30)
- M.drive()
- if("ASSAULT3")
- spawn(40)
- M.drive()
-
- sleep(50)//Doors remain open for 5 seconds.
-
- for(var/obj/machinery/door/poddoor/M in special_ops)
- switch(M.id)//Doors close at the same time.
- if("ASSAULT0")
- spawn(0)
- M.close()
- if("ASSAULT1")
- spawn(0)
- M.close()
- if("ASSAULT2")
- spawn(0)
- M.close()
- if("ASSAULT3")
- spawn(0)
- M.close()
- special_ops.readyreset()//Reset firealarm after the team launched.
- //End Marauder launchpad.
-
- var/area/start_location = locate(/area/shuttle/specops/centcom)
- var/area/end_location = locate(/area/shuttle/specops/station)
-
- var/list/dstturfs = list()
- var/throwy = world.maxy
-
- for(var/turf/T in end_location)
- dstturfs += T
- if(T.y < throwy)
- throwy = T.y
-
- // hey you, get out of the way!
- for(var/turf/T in dstturfs)
- // find the turf to move things to
- var/turf/D = locate(T.x, throwy - 1, 1)
- //var/turf/E = get_step(D, SOUTH)
- for(var/atom/movable/AM as mob|obj in T)
- AM.Move(D)
- if(istype(T, /turf/simulated))
- del(T)
-
- start_location.move_contents_to(end_location)
-
- for(var/turf/T in get_area_turfs(end_location) )
- var/mob/M = locate(/mob) in T
- M << "\red You have arrived to [station_name]. Commence operation!"
-
-/proc/specops_can_move()
- if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return 0
- else return 1
-
-/obj/machinery/computer/specops_shuttle/attackby(I as obj, user as mob)
- return attack_hand(user)
-
-/obj/machinery/computer/specops_shuttle/attack_ai(var/mob/user as mob)
- return attack_hand(user)
-
-/obj/machinery/computer/specops_shuttle/attack_paw(var/mob/user as mob)
- return attack_hand(user)
-
-/obj/machinery/computer/specops_shuttle/attackby(I as obj, user as mob)
- if(istype(I,/obj/item/weapon/card/emag))
- user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals."
- else
- return attack_hand(user)
-
-/obj/machinery/computer/specops_shuttle/attack_hand(var/mob/user as mob)
- if(!allowed(user))
- user << "\red Access Denied."
- return
-
-// if (sent_strike_team == 0)
-// usr << "\red The strike team has not yet deployed."
-// return
-
- if(..())
- return
-
- user.set_machine(src)
- var/dat
- if (temp)
- dat = temp
- else
- dat += {"
Special Operations Shuttle
- \nLocation: [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "Departing for [station_name] in ([specops_shuttle_timeleft] seconds.)":specops_shuttle_at_station ? "Station":"Dock"]
- [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
\n
":specops_shuttle_at_station ? "\nShuttle Offline
\n
":"\nDepart to [station_name]
\n
"]
- \nClose"}
-
- user << browse(dat, "window=computer;size=575x450")
- onclose(user, "computer")
- return
-
-/obj/machinery/computer/specops_shuttle/Topic(href, href_list)
- if(..())
- return
-
- if ((usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon)))
- usr.set_machine(src)
-
- if (href_list["sendtodock"])
- if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return
-
- usr << "\blue Central Command will not allow the Special Operations shuttle to return."
- return
-
- else if (href_list["sendtostation"])
- if(specops_shuttle_at_station || specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return
-
- if (!specops_can_move())
- usr << "\red The Special Operations shuttle is unable to leave."
- return
-
- usr << "\blue The Special Operations shuttle will arrive on [station_name] in [(SPECOPS_MOVETIME/10)] seconds."
-
- temp += "Shuttle departing.
OK"
- updateUsrDialog()
-
- var/area/centcom/specops/special_ops = locate()
- if(special_ops)
- special_ops.readyalert()//Trigger alarm for the spec ops area.
- specops_shuttle_moving_to_station = 1
-
- specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME
- spawn(0)
- specops_process()
-
- else if (href_list["mainmenu"])
- temp = null
-
- add_fingerprint(usr)
- updateUsrDialog()
- return
- */
\ No newline at end of file
+ return
\ No newline at end of file
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 38fd5b2d327..ccdc3a9bce4 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -107,7 +107,7 @@
M.Weaken(10)
- if(master && wires & 1)
+ if(master)
master.receive_signal()
return
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index bef99c65bde..9f177bdf642 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -196,7 +196,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
/obj/item/device/radio/proc/isWireCut(var/index)
return wires.IsIndexCut(index)
-/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT
+/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel, var/zlevel = list(1)) //BS12 EDIT
var/datum/radio_frequency/connection = null
if(channel && channels && channels.len > 0)
if (channel == "department")
@@ -215,7 +215,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
Broadcast_Message(connection, A,
0, "*garbled automated announcement*", src,
message, from, "Automated Announcement", from, "synthesized voice",
- 4, 0, list(1), 1459)
+ 4, 0, zlevel, connection.frequency)
del(A)
return
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 916b33ffbed..47aef8346a3 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -161,15 +161,15 @@
return
return
-/obj/item/stack/proc/use(var/amount)
- src.amount-=amount
- if (src.amount<=0)
- var/oldsrc = src
- src = null //dont kill proc after del()
+/obj/item/stack/proc/use(var/used)
+ if (amount < used)
+ return 0
+ amount -= used
+ if (amount <= 0)
if(usr)
- usr.before_take_item(oldsrc)
- qdel(oldsrc)
- return
+ usr.before_take_item(src, 1)
+ qdel(src)
+ return 1
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
var/obj/item/stack/oldsrc = src
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index 2330e63ecc3..fb66a59fca6 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -34,6 +34,7 @@
else
on = 1
icon_state = "echair1"
+ shock()
usr << "You switch [on ? "on" : "off"] [src]."
return
@@ -70,8 +71,10 @@
sleep(1)
buckled_mob.burn_skin(85)
buckled_mob.Stun(600)
+ on = 0
visible_message("The electric chair went off!", "You hear a deep sharp shock!")
A.power_light = light
A.updateicon()
- return
\ No newline at end of file
+ return
+
\ No newline at end of file
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 36f64018d2a..3e11eb4edd3 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -277,7 +277,7 @@
icon_state = "crown"
item_state = "crown"
desc = "A gliterring bananium crown with spessjewels in it. Swaggy."
- flags = FPRINT | TABLEPASS | BLOCKHAIR
+ flags = FPRINT | TABLEPASS
/obj/item/clothing/head/fedora
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index c58612463ca..63ebadd4a19 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1098,7 +1098,6 @@
if( (cell_charge/CELLRATE+perapc) >= lastused_total) // can we draw enough from cell+grid to cover last usage?
cell_charge = min(cell_maxcharge, cell_charge + CELLRATE * perapc) //recharge with what we can
- cell.charge = cell_charge
add_load(perapc) // so draw what we can from the grid
charging = 0
diff --git a/code/modules/shuttles/shuttle_specops.dm b/code/modules/shuttles/shuttle_specops.dm
index c9fbce9b4b9..8a95e79d35e 100644
--- a/code/modules/shuttles/shuttle_specops.dm
+++ b/code/modules/shuttles/shuttle_specops.dm
@@ -37,7 +37,7 @@
/datum/shuttle/ferry/multidock/specops/proc/radio_announce(var/message)
if(announcer)
- announcer.autosay(message, "A.L.I.C.E.", "Response Team")
+ announcer.autosay(message, "A.L.I.C.E.", "Response Team", list(1,2))
/datum/shuttle/ferry/multidock/specops/launch(var/user)
if (!can_launch())
diff --git a/code/modules/vehicles/ambulance.dm b/code/modules/vehicles/ambulance.dm
index 1457d85b0b6..8212e93b085 100644
--- a/code/modules/vehicles/ambulance.dm
+++ b/code/modules/vehicles/ambulance.dm
@@ -77,7 +77,8 @@
/obj/vehicle/train/ambulance/update_icon()
if(open)
- icon_state = "mulebot-hatch"
+ //icon_state = "mulebot-hatch"
+ icon_state = initial(icon_state)
else
icon_state = initial(icon_state)
diff --git a/code/modules/vehicles/janicart.dm b/code/modules/vehicles/janicart.dm
index d61cc1d2ab4..8219335c24a 100644
--- a/code/modules/vehicles/janicart.dm
+++ b/code/modules/vehicles/janicart.dm
@@ -127,7 +127,8 @@
/obj/vehicle/train/janitor/update_icon()
if(open)
- icon_state = "mulebot-hatch"
+ //icon_state = "mulebot-hatch"
+ icon_state = initial(icon_state)
else
icon_state = initial(icon_state)
diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm
index 26759b39508..46c051d2eac 100644
--- a/code/modules/virus2/disease2.dm
+++ b/code/modules/virus2/disease2.dm
@@ -56,6 +56,11 @@
if(mob.stat == 2)
return
+
+ var/mob/living/carbon/human/MS = mob
+ if(MS && (MS.species.flags & IS_SYNTHETIC))
+ return
+
if(stage <= 1 && clicks == 0) // with a certain chance, the mob may become immune to the disease before it starts properly
if(prob(5))
mob.antibodies |= antigen
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 72b5e1bf025..c03f9e0b2cf 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm
index 382f08b3a9b..67778e1cd28 100644
--- a/maps/cyberiad.dmm
+++ b/maps/cyberiad.dmm
@@ -1437,7 +1437,7 @@
"aBG" = (/obj/structure/window/basic{dir = 8},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
"aBH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/lasertag/blue,/turf/simulated/floor,/area/crew_quarters/fitness)
"aBI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/lasertag/red,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/crew_quarters/fitness)
-"aBJ" = (/obj/machinery/disposal,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
+"aBJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
"aBK" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Fitness Room North-East"; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness)
"aBL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aBM" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/wood,/area/library)
@@ -2596,7 +2596,7 @@
"aXV" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library)
"aXW" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
"aXX" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/eftpos{eftpos_name = "Library EFTPOS scanner"},/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "Camera"; pictures_left = 30; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library)
-"aXY" = (/obj/machinery/disposal,/turf/simulated/floor/wood,/area/bridge/meeting_room)
+"aXY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"aXZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"aYa" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"aYb" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
@@ -2805,7 +2805,7 @@
"bbW" = (/obj/structure/door_assembly,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"bbX" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 8; icon_state = "right"; name = "Library Desk Door"; req_access_txt = "37"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/library)
"bbY" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/library)
-"bbZ" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
+"bbZ" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bca" = (/obj/machinery/power/apc{dir = 8; name = "Chapel APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bcb" = (/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
"bcc" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
@@ -3168,7 +3168,7 @@
"biV" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"biW" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Bridge Conference Room"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"biX" = (/obj/machinery/power/apc{dir = 1; name = "Conference Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"biY" = (/obj/machinery/disposal,/turf/simulated/floor,/area/crew_quarters/fitness)
+"biY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
"biZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bja" = (/obj/machinery/camera{c_tag = "Chapel Chaplain's Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"bjb" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
@@ -3179,7 +3179,7 @@
"bjg" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"bjh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bji" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bjj" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
+"bjj" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
"bjk" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bjl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bjm" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
@@ -3439,7 +3439,7 @@
"bog" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/recruit)
"boh" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bot"},/area/crew_quarters/recruit)
"boi" = (/obj/structure/filingcabinet,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/qm)
-"boj" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
+"boj" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bok" = (/obj/machinery/computer/supplycomp,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Cargo Quartermaster's Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
"bol" = (/obj/machinery/computer/security/mining{network = list("Mining Outpost")},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
"bom" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/power/apc{dir = 4; name = "Quartermaster APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/qm)
@@ -3576,7 +3576,7 @@
"bqN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/morgue)
"bqO" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/morgue)
"bqP" = (/obj/structure/morgue,/turf/simulated/floor,/area/medical/morgue)
-"bqQ" = (/obj/machinery/disposal,/turf/simulated/floor/plating,/area/maintenance/incinerator)
+"bqQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"bqR" = (/turf/simulated/floor,/area/assembly/chargebay)
"bqS" = (/obj/machinery/door_control{dir = 2; id = "mechbay"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay)
"bqT" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
@@ -3893,7 +3893,7 @@
"bwS" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/assembly/chargebay)
"bwT" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay)
"bwU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area)
-"bwV" = (/obj/machinery/disposal,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
+"bwV" = (/obj/machinery/camera{c_tag = "Cargo Delivery Office"; dir = 2; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
"bwW" = (/turf/simulated/floor,/area/assembly/robotics)
"bwX" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics)
"bwY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
@@ -3929,7 +3929,7 @@
"bxC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
"bxD" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
"bxE" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bxF" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
+"bxF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bxG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
"bxH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw)
"bxI" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/hallway/primary/central/sw)
@@ -3998,7 +3998,7 @@
"byT" = (/obj/machinery/computer/shuttle_control/research{req_access = list(65)},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
"byU" = (/obj/machinery/photocopier,/obj/machinery/camera{c_tag = "Recruitment Office"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/recruit)
"byV" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/media/receiver/boombox,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/crew_quarters/recruit)
-"byW" = (/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
+"byW" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
"byX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
"byY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/office)
"byZ" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump,/obj/machinery/photocopier,/turf/simulated/floor/carpet,/area/magistrateoffice)
@@ -4006,7 +4006,7 @@
"bzb" = (/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office)
"bzc" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
"bzd" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office)
-"bze" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
+"bze" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
"bzf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office)
"bzg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/mimeoffice)
"bzh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office)
@@ -4595,7 +4595,7 @@
"bKs" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
"bKt" = (/obj/machinery/status_display/supply_display{density = 0; pixel_y = 0; pixel_z = 32},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
"bKu" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #1"},/obj/machinery/bot/mulebot{beacon_freq = 1400; home_destination = "QM #1"; suffix = "#1"},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting)
-"bKv" = (/obj/machinery/camera{c_tag = "Cargo Delivery Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting)
+"bKv" = (/obj/machinery/computer/supplycomp,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office)
"bKw" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Delivery Office APC"; pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting)
"bKx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting)
"bKy" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/disposal/deliveryChute{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting)
@@ -4854,7 +4854,7 @@
"bPr" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"bPs" = (/obj/structure/closet/jcloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/janitor)
"bPt" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/janitor)
-"bPu" = (/obj/machinery/disposal,/turf/simulated/floor,/area/assembly/robotics)
+"bPu" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/storage)
"bPv" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor,/area/janitor)
"bPw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor)
"bPx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/reagent_dispensers/spacecleanertank{pixel_y = 30},/turf/simulated/floor,/area/janitor)
@@ -5535,7 +5535,7 @@
"ccw" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
"ccx" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
"ccy" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
-"ccz" = (/obj/machinery/disposal,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
+"ccz" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm)
"ccA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/radiation,/turf/simulated/floor,/area/toxins/telesci)
"ccB" = (/obj/machinery/light,/obj/structure/closet/radiation,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci)
"ccC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/research{name = "Research Division"})
@@ -6160,7 +6160,7 @@
"cox" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"coy" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"coz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"coA" = (/obj/machinery/disposal,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
+"coA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/assembly/robotics)
"coB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"coC" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"coD" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology)
@@ -6341,7 +6341,7 @@
"crW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/medical/virology)
"crX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology)
"crY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area)
-"crZ" = (/obj/machinery/disposal,/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
+"crZ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"csa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"csb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"csc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
@@ -6557,7 +6557,7 @@
"cwe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"cwf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"cwg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/obj/machinery/monkey_recycler,/turf/simulated/floor,/area/toxins/xenobiology)
-"cwh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/toxins/xenobiology)
+"cwh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cwi" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/turf/simulated/floor,/area/toxins/xenobiology)
"cwj" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/starboard)
"cwk" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard)
@@ -6589,7 +6589,7 @@
"cwK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/hardsuitstorage)
"cwL" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/power/apc{dir = 1; name = "Engineering Hardsuit Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/hardsuitstorage)
"cwM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage)
-"cwN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/disposal,/turf/simulated/floor{dir = 1; icon_state = "caution"},/area/engine/break_room)
+"cwN" = (/obj/machinery/disposal,/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
"cwO" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/hardsuitstorage)
"cwP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/chiefs_office)
"cwQ" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/device/megaphone,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
@@ -6752,7 +6752,7 @@
"czR" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"czS" = (/turf/space,/area/vox_station/southeast_solars)
"czT" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/storage/secure)
-"czU" = (/obj/machinery/disposal,/turf/simulated/floor,/area/atmos/control)
+"czU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/toxins/xenobiology)
"czV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engine/hardsuitstorage)
"czW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/engine/hardsuitstorage)
"czX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/hardsuitstorage)
@@ -6812,7 +6812,7 @@
"cAZ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/starboard)
"cBa" = (/obj/machinery/light/small{dir = 8},/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/storage/secure)
"cBb" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/storage/secure)
-"cBc" = (/obj/machinery/disposal,/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/xenobiology)
+"cBc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "caution"},/area/engine/break_room)
"cBd" = (/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter SMES"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
"cBe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
"cBf" = (/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core)
@@ -11232,7 +11232,7 @@
"ehZ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/living_quarters)
"eia" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/machinery/light,/turf/simulated/floor,/area/mine/living_quarters)
"eib" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters)
-"eic" = (/obj/machinery/disposal,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/surgery)
+"eic" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/atmos/control)
"eid" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
"eie" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
"eif" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters)
@@ -12547,6 +12547,8 @@
"eHo" = (/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engiestation)
"eHp" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor,/area/engiestation)
"eHq" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power)
+"eHr" = (/obj/machinery/disposal,/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/xenobiology)
+"eHs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/traitor/surgery)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12678,22 +12680,22 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablmblmblmblmblmblmblmblmblmblmaaaaaaaCZblnaEjbloblpaDfblqblraaiblsbltbltbltbluaaqblvbdWaSqaaiblwbiIbiHbiIbiIaaibiKblxblyaaibiLaaibhKblzblAbhKblBaaiblCbkcbiSblDblEblFblGblHblIblJbkiblKaaiaaiblLblMaaqaaqaaqblNblOaaiafjblPbkubkubkvblQbkxbkublRaaiblSbkBbkBbkCbkDbkEbkGbkGbkGbkGbkGbkGbkGblTbkGbkGbkGbkGbkGbkGblUblVblVblVblVblVblVblVblVblVblVblVblVblVblVblWblXblYblbblbblZaRLaRLaRLaRLaRLbhkaRLaRLaRLaRLaRLaRLaRLaRLaRLaRLaRLaRLbmaaRLbmbbmcaWDaWDaWDaWDaWDaWDaWDbmdbfcbcjaoKaoKbckaMPaMPaMPaMPaMPaMPaMPaMPaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablmblmblmblmblmblmblmblmblmblmblmaEUaEVaEWaaiaaiaaibmeaaiaaiaaibiBbltbltbltbmfaaqaTQbdWaSqaaibmgbmhcDDbiIbiIaaibmjblxbmkaaibmjaaibmlblzcDzbmnbhKaaibmobkcbiSbmpbmqblFblGbmrbmsblJbkibmtaaibmubmvbmwaaqbmxaaqbmybmzbmAafjbmBbmCbmDbmEbmEbmFbkubmGaaibmHbmIbkBbkCbkDbkEbkGbmJbkGbkGbkGbkGbmKbmLbmLbmLbmLbmMbkGbkGbkGbkGbmNbkGbmJbmObkGbmPbmQbmRbkGbmSbmTbmTbmUbmVbmWbmXaRLaRLaRLaRLaRLaRLaRLbmYcDHbnaaRLaRLaRLaRLaRLaRLaRLaRLaRLaRLbnbbncbncbndbnebnfbngbnhbnhbnhbnhbnibnjaERaabaaaaaaaabaMPaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablmblmblmblmblmblmblmblmblmblmblmbnkbnlbnmbnnbnobnpbnqbnrbnsaaibhtbntbntbnubnvaaqaTQbdWaSqaaiaaiaaiaaiaaiaaiaaiaaiblxbnwaaiaaiaaiaaiafjaaiaaiaaiaaibnxbkcbnyaaibnzbnAbkgbkgbkgbkgbkibnBaaiaaibnCbnDbnGbEvbGnbnDbnHaaiafjaaibnIbnJbnKbnLbnMbnNbnOaaibnPbnQbnQaaiaaiaaiaaiaaiaaiaaiaaqaaqbnRbnSbnTbnTbnSbnRaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbnUaaqaaqaaqaaqaaqaaibnVaoubnWaRLaRLbnXbnXaaiaaiaaiaaiaaibnYbncbncbnbbncaRLbncbncbncbncbnZaaiaaiaaiaaiboaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaMPaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablmblmblmblmblmblmblmblmblmblmblmaGGaGHaEWbobbocbocbodboebocaaibofbofbofbogbohaaqaTQbdWaSqaaqboibojbokbolbomaaibonblxbooaaibopaaiboqborbosbotbouaaqbovbkcbowaaiboxboybozboAboBboCboDaaiaaiaaiboEboFboGboHboIboJboKaaiafjaaiboLboMboNboObnMbkuboPaaiboQboRboSaaiboTboUboVboWboXboYboZbpabpbbpcbpdbpdbpcbpebpfbpgaaqbphbpibpjbpkaaqbplbyrbpnbpobppbpqbpqbpraaibpsabnaaibptaaibpubpuaaibpvbpwbpxaaibDTbpzbDTaaicBVbncbnZaaibpAbpBbpAaaibpCbpDaaibpEbpFbpGaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMPaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablmblmblmblmblmblmblmblmblmblmblmaGGaGHaEWbobbocbocbodboebocaaibofbofbofbogbohaaqaTQbdWaSqaaqboicczbokbolbomaaibonblxbooaaibopaaiboqborbosbotbouaaqbovbkcbowaaiboxboybozboAboBboCboDaaiaaiaaiboEboFboGboHboIboJboKaaiafjaaiboLboMboNboObnMbkuboPaaiboQboRboSaaiboTboUboVboWboXboYboZbpabpbbpcbpdbpdbpcbpebpfbpgaaqbphbpibpjbpkaaqbplbyrbpnbpobppbpqbpqbpraaibpsabnaaibptaaibpubpuaaibpvbpwbpxaaibDTbpzbDTaaicBVbncbnZaaibpAbpBbpAaaibpCbpDaaibpEbpFbpGaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMPaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablmblmblmblmblmblmblmblmblmblmaaabpHaHNbpIbpJbnobnobpKbpLbpMaaibpNbpNbpNbpNbpOaaqaTQbdWbpPaaqbpQbpRbpSbpRbpTaaibpUbpVbpWbpYbpYaaibpZbqabqbbqbbqcbqdbqebkcbqfaaibqgaaJaaqaaqaaqaaibqhaaibqiacCbqjbqkbjbbqlbjbbqmbqnacfbqoaaibqpbkubqqbqrbnMbqsbkuaaibqtbqubqvaaibqwbqxbqybqzbqAbqBbqCbpdbpdbpdbpdbpdbpdbpdbqDbqEbqFbqGbqHbqIbqJaaqbqKbqLbqMbqNbqObqPbqLbpraaibpsabnbNtbqRbqSbqTbqUaaqbqVbqWbqVbqXbqYbqZbraaaiaaqbrbampaaibrcbrdbrebrfbrfbrfaaibrgbrhbriaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMPaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrjazMaaiaaiaaiaoJaoLazMaoJaoLaaiaoJaoLaaiaaiaaiaaibrkbnobocbocbodboebocaaibrlbrmbofbofbogaaqblvbdWbrnaaqbrobrpbrqbrrcHNaaibrtbrubrvbpYbpYaaibrwbrxcHPbrzbrAbrBbrCbrDbrEacfbrFbrGbrHbrIabIbrJbrKacfbrLacfacfacfacfbrMacfacfacfacfbrNacfbrOeEkeEieEjeEhbrTbrUacfbrVboRboRaaibrWbrXdFdbrZbsaaaibqCbpdbpdbpdbpdbpdbpdbpdbsbbscbsdbsebsfdBObshaaqbsibsjbskbqNbprbqPdFhdyNaaibslbsmbsnbsobsobspbsqbsrbssbssbssbstbsubsvbswbsxbsybszbsAbsxbsBbsCbsDbsDbsDcczaaibsFbrhbsGaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaOTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrjazMaaiaaiaaiaoJaoLazMaoJaoLaaiaoJaoLaaiaaiaaiaaibrkbnobocbocbodboebocaaibrlbrmbofbofbogaaqblvbdWbrnaaqbrobrpbrqbrrcHNaaibrtbrubrvbpYbpYaaibrwbrxcHPbrzbrAbrBbrCbrDbrEacfbrFbrGbrHbrIabIbrJbrKacfbrLacfacfacfacfbrMacfacfacfacfbrNacfbrOeEkeEieEjeEhbrTbrUacfbrVboRboRaaibrWbrXdFdbrZbsaaaibqCbpdbpdbpdbpdbpdbpdbpdbsbbscbsdbsebsfdBObshaaqbsibsjbskbqNbprbqPdFhdyNaaibslbsmbsnbsobsobspbsqbsrbssbssbssbstbsubsvbswbsxbsybszbsAbsxbsBbsCbsDbsDbsDcrZaaibsFbrhbsGaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMPaMPaMPaMPaMPaaaaMPaMPaMPaMPaMPaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaOTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaaaaCZbobbnobnobnobpKbpLbnoaaibpNbpNbsIbltbltbsJaTQbdWaSqaaqbsKbsLbsMbsNbsOaaibsPbsQbsRbsScFjaaibsUbsVbsWbsXbsYbsZbtabtbbtcbtdbtebtebtfbtgabXbthbtiacCbtjaGCbtkbtlbtmbtnbtobtlbtpaGCbtqaaiabneEgaaiaaiaaiaaibtsaaibttboRbtuacCbtvbtwbtxbtybtzaaibtAbtBbtCbtDbtEbtFbtGbtHbqDbtIaaqbtJbsfbtKbtLaaqbtMbtNbqMbqNbprbqPbqLbpraaibpsabnbtObtPbtQbtRbtSaGCbtTbtUbtVbtVbtWbqVbtXaaibtYbtZbuaaaibubbucbudbrfbuebufaaibsFbrhbugaaiaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaaaaATbuhbuibocboccEJboebujaaiaaqbukbulbumaaqaaqblvbdWbhzaaqbunbuobupbuqburaaibpYbrubusbpYbpYaaibutbuubuvbuwbuxaaqbuybuzbuAaaibuBaaqaaqaouaaqaaJbuCaaibuDbuEbuFbtlbuGbtnbuGbtlbuHbuEbtqaaieEdeEecbZeEceEfabIbuMabIbuNboRbuOaaiboTbuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbuZbvabvbbvcbvdbnSbvebvfbvgbvhaaqbvibvjbvkbvlbvmbvnbvmbpraaibvobvpbvqbvrbvrbvsbvtbvubvvbvwbvxbvxbvybvzbvAaaibvBbtZbvCaaibvDbvEbvFbrfbrfbvGaaibrgbrhbvHaaiaaaaaaaaaaaaaabbvIbvJbvKbvJbvKbvJbvLaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaEUaEVbvMbvNbnobnobpKbpLbpMaaibvObltbvPbltbvQaaqaTQbdWaSqaaqaGGbvRbvSbvTaSGaaibvUbvVbvWbvXbvYaaibvZbwabwbbwcbvZaaqbwdbwebwfaaiaaiaaibFCbwhbwibwjbwkaaibwlbwmbwnbwobwpbwqbwpbwrbwsbwtbwuaaibGdbHubLvaaqbYeaaqbwyaaqbwzboRbwAaaiaGGbwBbvRbwCbwDaaqbwEbwFbwGbwHbwIbwIbwJbwKbwLbwMaaqbwNbwOaouaaqaaqaaqaaJbwPaouaaqaaiaaiaaibwQbwRabnbwSbtPbtQbwTbvrbwUbPubwWbwWbwWbwXbwYbwZbxaaaibrbbxbaaibxcbxdbrfbxebxfbxgaaibsFbxhaaiaaiaaaaaaaaaaaaaabbxibxjbxkbxlbxlbxmbxiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbxnbxobxpbxqbocbocbodboebocaaibxrbltbxsbltbxtaaqaTQbdWaSqbxubxvbxwbxxbxybxzaaiaaiaaiaaibxAaaiaaibxBbxCbxDbxEbxFaaqbxGbxHbxIbxXbxKbxWbxMbxNbxObxPbxQaaibuDbxRbxSbtlbwpbxTbwpbtlbxUaaibtqaaibrPbARbznaaqbxYaaqbxZaaqbyaboRbybaaibycbydbyebyfbygabIbyhbyiabIabIbyjbykabIabIbylbymaAnaAqbynbyobypbyqbpmbysbytbyubyvaaibywbyxbyybyzabnbyAbyBbyCbyDbyEaaqbyFbwWbwWbyGbyHbwYbyIaaibyJbyJbyKaaibyLbyMbpybyObrfbyPaaibsFbyQaaiaaaaaaaaaaaaaaaaabbyRbySbxkbxlbxkbyTbvKaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaGGaGHbvMbobbnobnobpKbpLbnoaaibyUbjJbmmbjKbyVabIaSobjMbdXaaqbyWbqabyXbyYcwRbzabzbbzcbzdbzdbzebzfcuTbzhbyYbzibzjaaqbwdboRbzkbzlbzmbxVbzobzpbzqbzrbzsaaibuDaaiaaibztbzubzvbtlbzwbzxacfbzyaaiabnaaiaaiaaiaaiaaibzzaaibzAboRbybaaibzBbzCbzCbzDbzEaaqbzFbzGbzHbzIbzJbzKbzLbzHbzMbzNbzObzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbAabAbbAcbAdbAebAfbAfbAgbAhbAiaaqbAjbqVbqVbAkbAlbwYbAmaaqbAnbAobApaaqbxJbxLaSGeGXbjxaaiaaibAsaaiaaibAtbAubAubAubAvaaibxibxlbxkbxlbxlbAwbxiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaEUaEVbvMbvNbnobnobpKbpLbpMaaibvObltbvPbltbvQaaqaTQbdWaSqaaqaGGbvRbvSbvTaSGaaibvUbvVbvWbvXbvYaaibvZbwabwbbwcbvZaaqbwdbwebwfaaiaaiaaibFCbwhbwibwjbwkaaibwlbwmbwnbwobwpbwqbwpbwrbwsbwtbwuaaibGdbHubLvaaqbYeaaqbwyaaqbwzboRbwAaaiaGGbwBbvRbwCbwDaaqbwEbwFbwGbwHbwIbwIbwJbwKbwLbwMaaqbwNbwOaouaaqaaqaaqaaJbwPaouaaqaaiaaiaaibwQbwRabnbwSbtPbtQbwTbvrbwUcoAbwWbwWbwWbwXbwYbwZbxaaaibrbbxbaaibxcbxdbrfbxebxfbxgaaibsFbxhaaiaaiaaaaaaaaaaaaaabbxibxjbxkbxlbxlbxmbxiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbxnbxobxpbxqbocbocbodboebocaaibxrbltbxsbltbxtaaqaTQbdWaSqbxubxvbxwbxxbxybxzaaiaaiaaiaaibxAaaiaaibxBbxCbxDbxEbKvaaqbxGbxHbxIbxXbxKbxWbxMbxNbxObxPbxQaaibuDbxRbxSbtlbwpbxTbwpbtlbxUaaibtqaaibrPbARbznaaqbxYaaqbxZaaqbyaboRbybaaibycbydbyebyfbygabIbyhbyiabIabIbyjbykabIabIbylbymaAnaAqbynbyobypbyqbpmbysbytbyubyvaaibywbyxbyybyzabnbyAbyBbyCbyDbyEaaqbyFbwWbwWbyGbyHbwYbyIaaibyJbyJbyKaaibyLbyMbpybyObrfbyPaaibsFbyQaaiaaaaaaaaaaaaaaaaabbyRbySbxkbxlbxkbyTbvKaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaGGaGHbvMbobbnobnobpKbpLbnoaaibyUbjJbmmbjKbyVabIaSobjMbdXaaqbzebqabyXbyYcwRbzabzbbzcbzdbzdbyWbzfcuTbzhbyYbzibzjaaqbwdboRbzkbzlbzmbxVbzobzpbzqbzrbzsaaibuDaaiaaibztbzubzvbtlbzwbzxacfbzyaaiabnaaiaaiaaiaaiaaibzzaaibzAboRbybaaibzBbzCbzCbzDbzEaaqbzFbzGbzHbzIbzJbzKbzLbzHbzMbzNbzObzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbAabAbbAcbAdbAebAfbAfbAgbAhbAiaaqbAjbqVbqVbAkbAlbwYbAmaaqbAnbAobApaaqbxJbxLaSGeGXbjxaaiaaibAsaaiaaibAtbAubAubAubAvaaibxibxlbxkbxlbxlbAwbxiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbAybAzbpIbpJbocbocbodboebocaaibAAbiCbiDbABbACbADbAEbAFaSqaaqbAGbqabyXbyYbAHaaqbAIbAJbqbbqbbAKbALbAMbzhbyYbANbAObAPbwdboRbAQbadbzmbwxbASbATbAUbAVbAWbAXabubzxacfarzbAYbxTbAYbzxbAZaaiaaiaaibBabBbbBcbBdbBebBfbBgacfbBhboRbybbuTbBibBjbBkbBlbBmaaqbBnbBobBpbBqbBrbBsbBtbBubBvbBwbBxbBybBzbBAbBBbarbBDbBEbBFbBGbBHaaibBIbBJbBKbBLaaibBMbBNbBObBPbBPaaqbBQbBRbBSaaqbBTbwYbBUaCZbBVbBWbBXbBYbBZbCabCbbCcbCdbCebwvbCgbChbwwbCjbCjbCkbClbCmbCnbCobvJbvKbCpbvKbvJbCqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHbsHaaabCrbobbnobnobnobCsbCtbCuaaibCvbCwbCxbCybCzaoibCAbCBaSqaaqbCCbCDbCEbCFbCGbCHbCIbCJcuRbCKbCLbCHbCMbCNcsZbCObCPaaqbCQboRbAQbadbzmaaibCRbCSbCTbCUbCVabnbCWbCXbCYbgPacfbCZbDabgPbDbbDcbDdaaibDebDfbDgbDhbDibDibDjbDkbDlboRbDmaaiaaqbDnbjxbDobDpaaqbBnbDqaaqbDrbDsbBsbDtaaqbBnbDubDvaaqaaqaaqaouaaqaaqaaqbDwamwaaqaaiaaibDxaaqaaqaaiaaiaaqaaJaaqaaqaaqaaqaaqaaqaaqbDybDzaCnaCobDAbDBbDCbDDbDDbDEbDFbDGbDHbDIbDJbDKbDLbuLbDNbDNbDObBZbDPaaibDQbDRbDSbwgaaibDUaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMaaiaaiaaiaoJaoLazMaoJaoLaaiaoJaoLaaiaaibDVafjaaibxAaaqaaqaaqaaqazlbDWaoiaoibDXaoibDYbDZbEabEbbEcbEdbEebqbbEfbqbbEgbzfbEhbqbbyYbqbbEibjxbwdboRbEjbEkbElaaibEmbEnbEobEpbEqabnbErcACbEtbEubnFbEwbExbEybEzcBgbEBaaibECbEDbEEbEFbEGbEHbEIaaibEJbEKbybbELbEMbENbEObEPbEQbERbESbBobjxbETbEUbEVbEWbjxbBnbDubDvbEXbEYczMbFabFbbFcbFdbFebFfaaqbFgbFhbFibFjbFkbFlbFmbCebFobDDbDDbFnbFpbDDbFqbFrbFsbFtbFubDDbFvbFwbFxbFybFzbFAaaiabnaaiaaiaaibFBaaiaaibAtbAvaaibDMbFDbFEbFFbFGbFHbFIbFJaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKaaaaaabzlbFLbFMbFMbFMbFNbFObFPbFPbFPbFPbFQbFPbFPbFRbFPbFPbFPbFPbFPbFSbFTbFUbFPamwbFVbqbbqbbqbbEgbFWbFXbFYbyYbFZbGabGbbwdboRbGcbCibzmaaibGebGfbGgbCSbGhabnbGibGjbGkaaibrRbGmczAacCbGobGpbGqaaibGrbGsbGtbGubEGbEHbEIaaibGvbGwbGxbGybGzbGAbGBbGCbGDbGEbGFbGGaaqaaqbGHbGIaaqaaqbBnbDubDvbjxbGJbGKbGKbGKbGLbGKbGMbGNbGObGPbGQbGRbGRbGSbGTbGUbGVbGWbBZbBZbGXbBZbGYbBZbGZbBZbHabHbbHbbHcbHdbHebHfbHgbHhbHibHjbHkbHlaaibHmbHnaaaaaaaaaaaibHobHpbHqbHrbHsbHtbCfaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKaaaaaabzlbFLbFMbFMbFMbFNbFObFPbFPbFPbPubFQbFPbFPbFRbFPbFPbFPbFPbFPbFSbFTbFUbFPamwbFVbqbbqbbqbbEgbFWbFXbFYbyYbFZbGabGbbwdboRbGcbCibzmaaibGebGfbGgbCSbGhabnbGibGjbGkaaibrRbGmczAacCbGobGpbGqaaibGrbGsbGtbGubEGbEHbEIaaibGvbGwbGxbGybGzbGAbGBbGCbGDbGEbGFbGGaaqaaqbGHbGIaaqaaqbBnbDubDvbjxbGJbGKbGKbGKbGLbGKbGMbGNbGObGPbGQbGRbGRbGSbGTbGUbGVbGWbBZbBZbGXbBZbGYbBZbGZbBZbHabHbbHbbHcbHdbHebHfbHgbHhbHibHjbHkbHlaaibHmbHnaaaaaaaaaaaibHobHpbHqbHrbHsbHtbCfaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjHbjHbjHbjHbjHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKaaaaaabadbHvbHwbHwbHwbHxbHybFPbFPbFPbFPbFPbFPbFPbFRbFPbFPbFPbFPbFPbFSbFTbFUbFPamwbHzbHAbHBbHCbHDbHEbHFbHGbHHbHIbHJbjxbwdboRbHKaaqaaqaaiaaiaaiaaiaaibHLabnaaibHMabnacCabnbHNaaiaaiaaiaaiaaiaaiabnaaiaaiaaiaaiaaiaaiaaibHOboRbHPbnSaaqbHQbHRaaqaaqbBnbHSbHTbEQbHUbHVbHWbHXbHYbESbHZbIabIbbIcbIdbIdbIdbIebIdbIfbIgbIhbIibIjbIkbFibIlaaiaaiaaiaaiaaiaaibImaaiaaiaaiaaJbInaaqaaqbIobIpbIqbIrbHfbIsbItbIubIvbIwbIxaaibHmbIyaaaaaaaaaaaibIzbIAaaibCnaaiaaibCnaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbIBaoKaCobICbIDbIDbIDbIEbIFbIDbHwbHwbHwbHwbHwbIGbIHbHwbHwbIGbHwbHwbHybIIbIJbFPazlaoiaoiaoiaoiaoiaoibIKbEdaaqaaqaaqaaqbwdboRbILbIMbINbIObIPbIQbIRbISbITbIUbIVbIWbIXbIYbIZbJabJbbJcbJdbJebJfbJebJgbJhbJibnQbJjboRbJkbJlbJmboRbJnaaqbJobJpbJqbJrbJsbBnbJtbJubJvbJwbJxbJybJzbJAbJBbJCbJDaaqbJEbJFbJGbJHbJIbGKbJJbJKaaqbJLbFibFibFibJMaaibJNbJObJPbJQbJRbJSczzbJUaaicbObJWbJXaaqaaqbJYbIqbJZbKabKbbKcbKdbKebKfbKgaaibKhaaiaaaaaaaaaaaiaaiaaiaaiaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOTaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbKibKjbKibKkbKkbKkbKkbKlbKmbKkbKkbKkbKkbKkbKkbKkbKnbKkbKkbKkbKkbKkbKmbKobKpbKkbKqbKrbKsbKtbKubKvbKwbKxbKybKzbKAbKAaaqbwdbKBbKCboRboRbybbKDbnQbJibJhbKEbKFbKEbKGbKHbKHbKIbKJbKKbKHbKHbKLbKHbKMbKHbJhbJibnQbKNbKObKPbKQbKRbKSboRaaqbKTbJpbKUbKVbKWbBnbKXbKYbKZbLabLbbLcbLdbLebBnbLfbLgaaqaaqbLhbLibLjbLkbLlbLmbLnaaqbLobLpbFibLqbLraaibJNbLsbLtbLubuKbLwbLxbLyaaibLzbLAbLBbLBaaqbLCbLDbLEbLFbLGbLHbVAbLJbLKbVHaaibHmaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbLMbLNbLMbFLbFMbLObLPbLQbLRbLPbLSbLSbLTbLSbLSbLPbLUbLSbLSbLPbLSbLSbLVbLWbLXbLYabIbLZbMabMbbMcbMbbMdbMebMfbMgbMhbMiaaqbwdbMjbMkbMlbMmbMnbMobMpbMqbMrbMsbMtbMubMvbMwbMwbMxbMybMybMybMybMybMybMzbMAbMBbMCbMDbMEbMFbMGbMHbMIbMJbMKaaqbMLbJpbJqbMMbKWbBnbKXbKYbMNbMObMPbMQbMRbMSbBvbMTbMUaaqbMVbMWbMXaaqbMYaaqbMZaxeaaqbNabNbbNcbNdbNeaaibJNbNfbNgbJQbNhbNibNjbNkaaibNlbLAbLBbLBaaqbNmbNnbNoacCbNpbNqbNrbNsbwVbNuaaibHmaaiaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbKibKjbKibKkbKkbKkbKkbKlbKmbKkbKkbKkbKkbKkbKkbKkbKnbKkbKkbKkbKkbKkbKmbKobKpbKkbKqbKrbKsbKtbKubwVbKwbKxbKybKzbKAbKAaaqbwdbKBbKCboRboRbybbKDbnQbJibJhbKEbKFbKEbKGbKHbKHbKIbKJbKKbKHbKHbKLbKHbKMbKHbJhbJibnQbKNbKObKPbKQbKRbKSboRaaqbKTbJpbKUbKVbKWbBnbKXbKYbKZbLabLbbLcbLdbLebBnbLfbLgaaqaaqbLhbLibLjbLkbLlbLmbLnaaqbLobLpbFibLqbLraaibJNbLsbLtbLubuKbLwbLxbLyaaibLzbLAbLBbLBaaqbLCbLDbLEbLFbLGbLHbVAbLJbLKbVHaaibHmaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbLMbLNbLMbFLbFMbLObLPbLQbLRbLPbLSbLSbLTbLSbLSbLPbLUbLSbLSbLPbLSbLSbLVbLWbLXbLYabIbLZbMabMbbMcbMbbMdbMebMfbMgbMhbMiaaqbwdbMjbMkbMlbMmbMnbMobMpbMqbMrbMsbMtbMubMvbMwbMwbMxbMybMybMybMybMybMybMzbMAbMBbMCbMDbMEbMFbMGbMHbMIbMJbMKaaqbMLbJpbJqbMMbKWbBnbKXbKYbMNbMObMPbMQbMRbMSbBvbMTbMUaaqbMVbMWbMXaaqbMYaaqbMZaxeaaqbNabNbbNcbNdbNeaaibJNbNfbNgbJQbNhbNibNjbNkaaibNlbLAbLBbLBaaqbNmbNnbNoacCbNpbNqbNrbNsbxFbNuaaibHmaaiaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbIBaoKbckbNvbHwbHybHwbNwbNxbNybNybNybNzbNybNybUrbNAbNybNybNBbNybNybNCbNDbNEbNybNFbNGbNHbNIbNJbNIbNKbNLbNMbNNbNObNPaaqbNQaaqbNRaaqaaqbNSbNTbNSaaqaaqaaqbNUbNVbNWaaqaaqbNXbJhbJhbNYaaqaaqaaqaoubNZaaqaaqaaqbOaaaqaaqbObaaqbOcaouaaqbOdbOebOfaaqbOgbBnbKXbOhaaibOibOjbOkbOlaaibOmbLfbOnaaqbOobOpbOqbOrbOsbOtabIbOubOvbOwbOxbOybOzbOAaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibOBbOCbODbODaaqbOEbOFbOGaaiaaiaaiaaiaaiaaiaaiaaibHmaaiaaabOHbOHbOHaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbOIbAubAubAvaaqaaqaaiaaiaaiaaibOJaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbLMbLNbLMbOKbIDbIFbIDbOLbOMbONbOObOObOPbOObOObOQbORbOObOObOSbOObOObOObOObOTbOUabXbOVbOWbOXbOYbOXbOZbPabPbbPcbPdbMiaaqaaqaaqbPeabXbPfbPgbPhbPibPjaaqbPkbPlbPmbPnbPoaaqbPpbPqbPraaqbPsbPtbsEbPvbPwbPxbPybPzbPAabXbPBbPCbPDbPEbPFabXbPGbPHbPIbPJbPKbPLbPMbKYbPNbPObPPbPQbPRbPSbBvbPTbPUbPVbPWbPXbPXbPYbPZbQaaaqbQbbQcbQdbQebQfbQgbQhaaibQibQjbQkaaibQlbQmbQnbQoaaibUXbQqbQrbQraaqbQsbQtbIraaibrhbQubQvbQwbQwbQvbQwbQxaaiaaabOHbQybOHaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbQzbQAbQBbQAaaqaaiaaibQCbQDbQCbQEaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKbQFbQGbQFbQHbQHbQIbQHbQHbQJbQHbQHbQHbQKbQHbQHbQHbQLbQHbQHbQMbQHbQHbQHbQHbQHbQHbQNbQObQPbNNbNNbNNbNNbNNbQQbQRbQSbQTbEdacEaaqbQUaaqcmHbQWbQWbQWbQXaaqcmIbQZbQZbQZbRabRbbRcbRdbReabXbRfbRgbRhcjQbRibRjaaqaaqbRkaaqbRlbRmcqgbRobRpaaqbKTbJqbKUbKVbRqbRrbRsbRtacCcpBbRvbRwbRxaaibRybRzbRAbRBbRCbRDcmJbRFbRGbRHaaqaaqaaqaaqaaqaaJaCGaoraaibRIbRJbRJbRKbQobRLbQobRMaaibRNbLAbRObROaaqbIpbRPbIraaiaaibRQaaiaaiaaiaaiaaiaaiaaiaaiaaibRRaaiaaiaaiaaiaaiaaiaaiaaiaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbRSbQAbQAbRTaaiaaibQCbQCbRUbQCbQCaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12701,7 +12703,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbA
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKaaaaaiaaiaaqazSbTIazTaaqbTJaaqaaqazSaoKazTaaqaaqbTKaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbTLaaqaaqaaqbTMbTNbTObTPaaqbQXbTQbQWbQWbQXaaqbTRbTSbQZbTTbTUabIbTVbTWbTXaaqaaqaaqaaqaaqbTYaaqaaqbTZbUaaaqaaqaaJaaqaouaaqaaqbUbbUcbUcaaqaaqbUdbUebUfbUgbUhbUibUjbUkbUlaaqbUmbUnaaqbUobSYbREbSZbSZbSZaaqbUpbUqcfTbUsbUtbUubUvaaibRJbUwbRJbUxbQobRLbUybUzacCbUAbUBbUCbUCabXbUDbUEbNobUFbUGbUHbUIbUJbUKbULbULbUMbUNbULbUObULbUPbUQbURbUSbUTbUUbUVacfbUWbXIbUYbUZaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibVabVbbVbbQCbQCbQCbQCbQCbQCbQCbQCaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKbFKbFKaaaaaibVcbVdbVebVfbVgbVhbVibVjaaibVkbVlbVmbVnbVobVpbVqbVrbVsbVrbVrbVrbVrbVrbVrbVrbVrbVrbVrbVrbVrbVrbVrbVtbVrbVrbVrbVubVvbVwbVxaaqbVybVzchObVBbVCabIbVDbVEbVFbVGciAaaqbVIbVJbVKbVLbVMbVMbVMbVMbVNbVObVPbVQbVQbVRbVRbVSbVTbVUaaqaaqbVVbVWbVXbVYbVZbRrbWabUfbWbbWcaHobWdbLdbWeaHobWfbWgaoibWhbWibWjbWkbWlbWmaaqbWnbWobWpbWqbWrbWsbWtaaibWubRJbRJaaibWveGWbWxaaiaaqbWybWzbJXaaqaaqbWAbRPbWBaaibWCbWDbWEaaibWFbWGbWGbWHbWIbWJbWKbWGbWLbWMbWGbWGbWNbWObWPbWQbWRbWSbWTbWUaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibWVbQCbQCbQCbQCbQCbQCbQCbQCbQCbQCbQCaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFKbFKbFKbFKbFKaaaaaaaaibWWbWXbWXbWYbWXbWXbWZbXaaaibXbbXcbXdbXcbXcbXeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaqbXfaaqaaqbXgaaqbQXbXibXjbXkbXlaaqbXmbXnbXobXpbXqaOqbXrbXsbXtabIacfacfacfacfbXuauWbAXabXbXvabXabXbXwbXxbXybXzbXAbXBbXCbXDbXEbXFbXGbXHbQVbXJbXKbXLbXMbXNbXObXPbXQbXRaaqaaqaEqabXabXabXbXSaaqaaqbXTaaqamwbXUbXVbXWaaibXXbRJbRJbXYbXZbYabYbbYcaaqaaqbYdaaqaaqbuJbYfbRPbtZaaiaaibYgaaiaaibYhbYibYjbYkbYlbWGbYmbWPbYnbWPbWPbWPbYobTzbYpaaibYqbYrbYsbYtaabaabaabaabaabaabaabaabaabaabaabaabaabaaibQCbQCbQCbQCbQCbQCbYubQCbYvbQCbQCbQCbQCbQCaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwbYxbYybYxbYzaaaaaaaaaaaibYAbWXbWXbWYbWXbWXbWZbYBaaibXbbYCbYDbYEbYDbXeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYFbYGbYHaaqbYIaaqbYJbYKbYLbYMbYNaaqbYObStbYPbYQbYRaOrbYSbYTbYUaaiaaibYVbYWbYXbYYbYZabnbZabBJbZbaaqbZcbBJbBJbZdabXbZebZfbQYbXEbZgbZhbZibZjbZkbZlbZmbZnbZobZlbZlbZpbZqbZqbZqbZrbZqbZqbZqbZsbaqbZubZvbZwbZxbZybZzbZAaaibZBbZCbZDbZEbZFbZGbZHbZIbZJbZKbZLbtZbZMbtZbYfbRPbtZaaibrhbZNbZOaaiaaiaaqaaqaaqbZPbWGbZQbRnbWGbZRbZSbZTbZUbZVbZWaaibZXbZYbZZaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaicaacaacaacaacaacaacabbQCcaccaabYvbQCbQCbQCbQCaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwbYxbYybYxbYzaaaaaaaaaaaibYAbWXbWXbWYbWXbWXbWZbYBaaibXbbYCbYDbYEbojbXeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYFbYGbYHaaqbYIaaqbYJbYKbYLbYMbYNaaqbYObStbYPbYQbYRaOrbYSbYTbYUaaiaaibYVbYWbYXbYYbYZabnbZabBJbZbaaqbZcbBJbBJbZdabXbZebZfbQYbXEbZgbZhbZibZjbZkbZlbZmbZnbZobZlbZlbZpbZqbZqbZqbZrbZqbZqbZqbZsbaqbZubZvbZwbZxbZybZzbZAaaibZBbZCbZDbZEbZFbZGbZHbZIbZJbZKbZLbtZbZMbtZbYfbRPbtZaaibrhbZNbZOaaiaaiaaqaaqaaqbZPbWGbZQbRnbWGbZRbZSbZTbZUbZVbZWaaibZXbZYbZZaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaicaacaacaacaacaacaacabbQCcaccaabYvbQCbQCbQCbQCaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAxbAxbAxbAxbAxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacadcaecafcagcadbfcaoKbckaaicahcaibWXbQpbWXbWXbWZcajaaibXbcakbYDbYDbYDbXeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicalcamcanaaqbYIaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqcaocapcaqcarcascatcaucaucavcawabnbBJbBJcaxaaqcaybBJbBJbBJcazcaAcaBbXCcaCaHocaDbZqcaEcaFcaGbKXcaFcaHcaIcaIcaIcaIcaIcaIcaFcaIcaIcaIbKXcaKcaLcaMcaNcaOcaPcaQcaRaaicaScaTcaTcaUbRJcaVcaWcaXcaYcaZcbacbbbtZcbcbYfbRPcbdaaibrhcbecbfcbgaaicbhcbicbjbWGbWGcbkbWGbWGcblcbmcbncbocbpcbqaaicbrcbscbtcbuaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbvbQAbQAbQAbQAbQAbQAbQAcbwbQDbQCbQCbQCbQCcbxbQDaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYycbycbzcbybYycbAcbBcbCaaicbDbWXbWXcbEbWXcbFcbGcbHaaicbIbXccbJbYDbYDcbKaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaibYIaaiaaaaaaaaaaaaaaicbLcbMcbNbJVcbPcbQaaqcbRcbScbTcbUcbVcbWcbXcbXcbYbpXabnaaiaaiaaiafbccaaaibBJbBJaaqccbcccccdcceccfccgcaOcchcciccjcckcclccmccncaIcaIcaIccoccpccqccpccoaaiauYacCacCccrccsccoaaqcctccuaaiccvccwccxccybjjccAccBaaiaaiaaiabnaaiaaiaaiccCccDccEaaibrhcbeccFcbgaaiccGbWGbWGbWGbZRccHccIccJaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibVbbVbbVbbVbbVbbVbccKbQCbVabVbccLbQCbQCbQCbQCaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacadcbycbycbyccMccNccOccPccQccRbWXbWXbWXbWXbWXbWXccSaaiccTbXcccUbYDbYDccVaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccWaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaqbXgaCZaaaccXccYccZcdacdbcdccddcdecdfcdgabXcdhcdicdjcdkcdlcdmcdncdocdpcdqabncdrcdscdtcducdvaaibBJbBJaaqaaqaaqaaqaaJaaqcdwcdwcdxaaqaaqaouaaqaPPcdycdBcdAcdBacfcdCcdDcdEacfcdFcdFacfcdGcdHcdIaaicdJcdKbVUaaiaaiaaiabncdLaaicdMbAZaaicdNcdOcdPbBJcdQaaiabncdRafjaaibrhcbecdScdTaaicdUcdVcdWbZRcdXcdYccIcdZaaiaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaibQCbQCbQCbQCbQCbQCbYubQCccLbQCbQCbQCbQCbQCaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12713,16 +12715,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpaaaaaaaaacj
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackrcksckscksckscksckscksckscksckscksckscktaaiaaqaaqaaqaaqaaqaaqckuckvaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqckwbYTbTWckxckyckzckAckBckCckDckEckFckGckHckIckJaaibBJbBJaaqckKckLcjTcjUcjUckMaaqckNcjUcjUcjXcjTckOaaiaaiaaiaaiaaickbcfcckPaaibBJbBJbBJbBJbBJbBJbBJbBJbBJbBJaaiaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaackQckRckSckTaaiaaickUckVckWaaiaaaaaackXckXckYckXckXaaaaaaaaaaaaaaacknaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabckZbAubAubAvaaqaaqaaiaaiaaiaaibOJaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpaaacjpaaaaaacjpcjpcjpcjpcjpcjpcjpaaaaaacjpaaacjpaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaclaclbclccldcldclecldclfclgclhclicljclkcllclmclmclncloclpclqclqclrclscltcluclvclucluclucltclucluclwclxclyclzbYTbTWclAclBclCafjaaichzacCauZclDclEacCauaccaaaibBJbBJaaqclFclGclHclIeFZclJaaqclKeFZclLclMclHclNaaibBJbBJbBJclOckbcfcckbclObBJbBJbBJbBJbBJbBJbBJbBJbBJbBJaaiaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaccoaaiclPafjccoazSclQclRbfcazTaaaclSclTclUclVclUclTclSaaacjicjjcjjclWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaclaclXclYclZclYcmaclYclXeGdcmbclZclYcmccmdbTXcmdcmdcmebTXbTXbTXbTXcmfcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmgcmhcmicmjcmkcmlcmmcmncmoaaicmpcmqcmrcmscmtcmucmvcmwacfcgGcmxabIcmycmzcmAcmBcjUcmDaaqcmDcjUcmBcmEcjTbBCaaicmGacfacfbDaeGfcfceGeaaiazSaoKaoKbckaaiaaiaaiaoJaoKaoLaaiaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaicmKcmLcmMaaiaabaATcmNaATaabaaaclScmOcmPcmQcmPcmOclSaaacknaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmRclYcmScmTcmUcmVcmUcmWcmXcmYcmZcnacnbcmhcnccndcndcneabIcnfabIcngcnhcngcngcngcngcngcngcngcngcngcngcnicmdcnjcnkcnlcnmcnncnocwNcnqcnrcnscntcnucnvcnwcnxcnyacCbXxcnzaQUcnAcjUcjTcjUcjUcnBabXcnCcjUcjUcjXcjTcnDaaicnEaaiaaaafjaaicnFaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaicnGcnHcnIaaiaabaERcnJaERaabaaaclScnKcnLcnMcnNcnKclSaaacknaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicnOaaqaaqbyNaaqcnQaaqaaqcnRaoLaaqaaqaoJaoKaoLaaqaaqaaqaaqcnScnTcnUcnVcnWcnXcnYcnZcoacnZcnZcobcnZcoccodczUcofcogcohbBJcnEaoucoicojcokcolcomconaaqcoocomcopcjXcoqcoraaicnEaaiaaacoscotcoucovaaiaaaaaaaaaaaaeGgaaaaaaaaaaaaaaaaaaaaaaaaeGgaaaaaaaaicowcoxcoycozcBccoBcoCaaqcoDcoEcoFacCcoGaaacoHaaaaaaaaaclScoIcoJcoJcoJcoKclSaaacknaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmRclYcmScmTcmUcmVcmUcmWcmXcmYcmZcnacnbcmhcnccndcndcneabIcnfabIcngcnhcngcngcngcngcngcngcngcngcngcngcnicmdcnjcnkcnlcnmcnncnocBccnqcnrcnscntcnucnvcnwcnxcnyacCbXxcnzaQUcnAcjUcjTcjUcjUcnBabXcnCcjUcjUcjXcjTcnDaaicnEaaiaaaafjaaicnFaaiaaiaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaicnGcnHcnIaaiaabaERcnJaERaabaaaclScnKcnLcnMcnNcnKclSaaacknaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicnOaaqaaqbyNaaqcnQaaqaaqcnRaoLaaqaaqaoJaoKaoLaaqaaqaaqaaqcnScnTcnUcnVcnWcnXcnYcnZcoacnZcnZcobcnZcoccodeiccofcogcohbBJcnEaoucoicojcokcolcomconaaqcoocomcopcjXcoqcoraaicnEaaiaaacoscotcoucovaaiaaaaaaaaaaaaeGgaaaaaaaaaaaaaaaaaaaaaaaaeGgaaaaaaaaicowcoxcoycozeHrcoBcoCaaqcoDcoEcoFacCcoGaaacoHaaaaaaaaaclScoIcoJcoJcoJcoKclSaaacknaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafoafoafoafpafpafoafpafpafpafXafpafpafpafoafoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCZcoLcoMcoNcoOcoPcoQcoRcoScoTcoUcoVcoWcoUcoXcoYcoZcoZcpaaaqcpbcpccpdcpebTWcpfcpgcphcpicpjcpkcpjcplcpmcpncpocppcpqaaiaaicnEaouaaiaaicpraaiaaiabnbzxacfacfacfcpsacfbgPacfcptaaiaaacpucpvcoubZtaaicpxcpycpycpzaaiaaibAXacCacCcpAacCacCcpAauaaaaaaaaaicpCcpDcpCcpEcpFckdcnHaaqaaJcpGaaJaaiaaiaaacpHaaaaabaaaclSclSclScpIclSclSclSaaacknaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafoaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaafoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaATcoLcpJcpKcpLcpMcpNcpNcpNcpNcpOcpPcpQcoZcpRcoZcoZcpScoZbuIbTXcpUcpVcpebTWcpWaaqcpXcpicpYcpZcqacpicqbcqccqdcqecqfeEMcqhcqicqjcqkcqkcqlbSEcgGcqmcqnbBJcqobXxcqpbBJbBJbVTbBJaaiaaacqqcpvcoucqraaqcqscqtcqucqvcqwcqxcqycqwcqxcqzcqwcqAcqBabnaaaaaaaaicpCcpCcpCcqCcqDcoBcqEcqFcqGcqHcqIcqJaaiaaacpHaabaabaaaaaaaaaafoaaaafoaaaaaaaaacknaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafoaaacqKcqLcqMaaacqKcqLcqMaaacqKcqLcqMaabcqNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaATcoLcpJcqOcoZcpScqPcoZcoZcoZeELcoZcqOcqOcoZcoZcoZcoZcqQcqRbTXcqScmdcqTcqUaaqaaqcqVcpicqWcqXcqYcpicqZcmtcracrbcrccrdcrecqobXycrfcrfcnzbXxbXxbXycrgbXxabuaoJaoKaoKaoKaoLaaiaaiaaacdMcrhcricrjabIcrkckbckbcrlcrmcrncrocrmcrncrocrmcrncroabnaaaaabaaiaaqaaqaaqaaqcrpckdcrqcrrcrscrtcrucrvaaiaaacpHaaaaabaabaaaaaaafoafoafoaaaaaaaaacknaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafoaaacqKcrxcqMaaacqKcrxcqMaaacqKcrxcqMaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaATcoLbQzcqOcrycoZcrzcrAcrBcrBcpRcoZcqOcrCcoZcoZcoZcoZcrDcrEclycrFbSwcrGcrHcrIcrJcrKcpicqWcrLcrMcpicrNcmtaaiauYacCcrOcrPabuaaiabnabnafjaaiaaiaaiafjaaiaaiaaaaaaaaaaaaaaaaaaaabaaaafjcrQcoueEOaaqcrSckbckbcrlcrTcrUcrVcrWcrUcrVcrWcrUcrXabnaabaabaaicowcoxcoycrYcrZcoBcsacsbcsccsdckdcseaaiaaacsfcsgcsgcsgcsgcsgcsgcsgcsgcsgcsgcsgcshaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafoaaacqKcrxcqMaaacqKcrxcqMaaacqKcrxcqMaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaATcoLbQzcqOcrycoZcrzcrAcrBcrBcpRcoZcqOcrCcoZcoZcoZcoZcrDcrEclycrFbSwcrGcrHcrIcrJcrKcpicqWcrLcrMcpicrNcmtaaiauYacCcrOcrPabuaaiabnabnafjaaiaaiaaiafjaaiaaiaaaaaaaaaaaaaaaaaaaabaaaafjcrQcoueEOaaqcrSckbckbcrlcrTcrUcrVcrWcrUcrVcrWcrUcrXabnaabaabaaicowcoxcoycrYcwNcoBcsacsbcsccsdckdcseaaiaaacsfcsgcsgcsgcsgcsgcsgcsgcsgcsgcsgcsgcshaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaagaaaaaaaaaafpaabcqKcrxcqMaaacqKcrxcqMaabcqKcrxcqMaabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaERcoLaaqcsicoZcsjcskcslcsmcsncsmcsocsmcspcsqcoUcsrcqOcqOcqRcsscstcsucsvcswcsxcsycszcsAcsBcsCcsDcsEcsFcmtcsGcsHcsIcsJcsKcsLcsMcsNcsOcpTcsQcsRcsScsTcsUaabaaaaaaaaaaaaaaaaaaaabaabafjcpvcsVcsWcsXcsYckbckbckbeENckbckbckbckbckbckbckbctactbaaaaaaaaicpCcpCcpCctccpFckdctdctectfctgckdcthaaiaaiaaiaaiaaaaaactictictictjaabaabaabaabctkaabaabaabaabaabafXctictiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaaabaaacqKcrxcqMaabcqKcrxcqMaaacqKcrxcqMaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaictlaaqctmctnctnctoaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqctpaaqaaJaaqaaictqctrctscttctuctvctwctxcmtctycsHcsIctzcsKctActBctCctDctEctFctGctHctIctJaabctKctKctKctKctKaaaaaaaabafjctLcouctMctNctOckbckbckbctPckbckbckbckbckbctQckbctRctSaaaaaaaaicpCcpCcpCcrYctTcoBctUctVctWctXctYctYctZcuacubaaiaaaaaactiaaaaabaaaaabaaaaaaaaacucaaaaabaabaaaaaaaaaaaactiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaafoafoafpaabaaacqKcrxcqMaabcqKcrxcqMaaacqKcrxcqMaabaaaaaaaaaaaaaaaaaaaaaaaaaabcudaaiaaiaaiaaiaaiaaicoLaaqcuecufcufcugabIcMucLHcLHcLHcLHcLgcuicujcuicuicukcukcuiculcumcuncuoaaicupcuqcurcuscutcuucuvcuwcuxcuycuzcuAcuBcuCcuDctBcuEcuFcuGcuHcuIcuJcuKcuLcuMcuNcuOcuPcuQctKaaaaaaeaRafjampcuSampaaqeEUcuUcuVcuUabIcuWcuXcuYcuZcvacvbcvccvdabnaaaaaaaaiaaqaaqaaqaaqcveckdctdcvfcvgcvhckdckdcvickdcvjaaiaaaaaactiaaacvkcvkcvkcvkcvkaabcvlaabcvkcvkcvkcvkcvkaaactiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaafoaaaaabaaaaabaabcvmaabaabaabcvmaabaaaaabcvmaabaaaaaaaaaaaaaaaaaaaaaaaacvnbAucvocvpcvqcvrcvscvtcvucvvaaqaaqcvwcvxaaqaaqeiJaaiaaiaaiaaiawjaaiafjaaiaaiaaiaaiaaiabnafjaaiaaicexcvycvzcurcuvcuvcuvcuvcvAcmtcvBcvCcvDcvEcvFcuDcvGcuEcuFcvHcvIcvJcvKcvLcvMaabcvNcvOcuQcvPctKaaaaaaaaaafjcvQcvRcvSaaqciRcvTcvUcvVaaqcrocrncvWcvXcvYcvZcrocrnabnaaaaaaaaicowcoxcoycwacrZcoBcwbcwccwdcwecwecwfcwgcwhcwiaaiaabaabctiaabcwjcwkcwkcwkcwkcwlcwmcwncwocwocwocwocwpaabctiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaacjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaafoaaaaabaaaaabaabcvmaabaabaabcvmaabaaaaabcvmaabaaaaaaaaaaaaaaaaaaaaaaaacvnbAucvocvpcvqcvrcvscvtcvucvvaaqaaqcvwcvxaaqaaqeiJaaiaaiaaiaaiawjaaiafjaaiaaiaaiaaiaaiabnafjaaiaaicexcvycvzcurcuvcuvcuvcuvcvAcmtcvBcvCcvDcvEcvFcuDcvGcuEcuFcvHcvIcvJcvKcvLcvMaabcvNcvOcuQcvPctKaaaaaaaaaafjcvQcvRcvSaaqciRcvTcvUcvVaaqcrocrncvWcvXcvYcvZcrocrnabnaaaaaaaaicowcoxcoycwacwNcoBcwbcwccwdcwecwecwfcwgczUcwiaaiaabaabctiaabcwjcwkcwkcwkcwkcwlcwmcwncwocwocwocwocwpaabctiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaacjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaafpaabcwqcwrcwrcwscwtcwucwucwucwtcwucwucwucwtcwucwucwvcwrcwrcwrcwrcwrcwwcwxcwycwzcwAcwBcwCcwDcwEbYHcoLcwFaaqaaqaaqaaqbYHeiJaaicwGcwHcwIeiWcwKcwLcwMcsPcwOcwPcwQeFbcwScwTcwUcwVcvycwWcurcuvcuvcuvcuvcwXcmtcwYcwZcvDcxacxbcxccxdcxecxfcxgcxhcxicxjcxkcxlcxmcuNcxncuQcuQctKaaaaaaaabafjcxocvRcxpaaqcxqcvTckbcvTaaqcxrcxscvWcxtcxucvZcxrcxvabnaaaaaaaaicpCcpDcpCcxwcpFckdckecwccxxcxyckdcxzaaqaaqaaqaaiaaaaaactiaabcxAcxAcxAcxAcxAaaacvlaaacxAcxAcxAcxAcxAaabctiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaafoaaaaabaaaaabaabcxBaabaaaaabcxBaabaaaaabcxBaabaaaaaaaaaaaaaaaaaaaaaaaacvnbAucxCcxDcxEcxFaaicxGbYHcxHcvucvucvucvucvucvucBraaicxJcxKcxLcxMcxNcxOcxPcxQcxRcxScxTcxUcxVcxWcxXcxYcxZcvzcurcyacybcuvcuvcyccmtcydcyecvDcyfcygcyhaaqcyicyjcykcylcymcyncymcyoaabctKctKctKctKctKaabaabaabcdMcypcvRcxpaaqcyqcyrcyscytcyuabtabXabXcyvabXcywaDKaaqabnaaaaaaaaicpCcpCcpCcwacyxcyycyzcrucyActYctYcyBcyCcyDcyEciVaaaaaactiaaaaabaaaaabaabaabaaacvlaaaaabaaaaabaaaaabaaactiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjpcjpcjpcjpcjpcjpcjpcjpcjpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaafoafoafpaabaabcqKcyFcqMaaacqKcyFcqMaaacqKcyFcqMaabaaaaaaaaaaaaaaaaaaaaaaabaabcyGaaiaaiaaiaaiaaicyHcyIbYHcyJbYHbYHbYHcyKcCicyMcyNcxLcxLcyOcxNcyPcyQcBscyScyTcyUcyVcyWcyXcyYcyZczaczbczcczdczeczfczgczhcziczjcxcczkczlczmcznczoczpczqczrczscztczuczvczwcuMcuNczxczyczyctKaaaaaaaabafjecHcvRedHaaqczBczCczCczDaaqczEczFczGczHczIczJczKczLctbaaaeaRdXIaoiaoiaoiaoiczNczOczPczOczQczOczOczRcwcckdckdckQaaaaaactiaaacvkcvkcvkcvkcvkaabcvlaabcvkcvkcvkcvkcvkaabctiaaaaaaaaaaaaaaaaaaaaaczSaaaaaaaaaczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12731,7 +12733,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafpaabcqKcyFcqMaaacqKcyFcqMaabcqKcyFcqMaabaabaabaaaaaaaaaaaaaabaaaaaicEMcELcCkaaicFAcCmcCncCncCncCocCncCncCncCncCpacCcDscEBcEIcCtcGpcCvcCwcCxcCxcCxcCycCzcxLcxLcxLcCAcCBcCCaaqcCDcCEeGYcCGaaiaaiaaiaaicCHcyfcygcCIcCJcCKcCLcCMcvDcCNcCOcCPcCQcCRctKctKctKctKctKaaaaaaaaaafjcCScCTcCUcCVcCWcCXcCWcCWcCYcCZcDacDbcCccDccDdcAMczHcDeaabaabawjcDfcDgcDhcDicDjcDkcDlcDmcDjcDkcDnaaicDocDpabnaaiaaaaaactjaaaaabaaaaabaaaaabaaacDqaaaaabaaaaabaabaabaabctiaaaczSczSczSaaaczSczSczSczSczSczSczSczSczSaaaczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafXaabcqKcDrcqMaaacqKcDrcqMaaacqKcDrcqMaabafpaabaabaaaaaaaaaaaaaaaaaicFBcELcDtaaiaaicDuaaiaaiaaicDvaaiaaiaaiaaiaaiaaiaaiaaiaaicDwcGqcDyejTcBpcBpcBpcDAcDBcDCcBpcBpcBpcDBcDEcDFcDGcCEeGZcDIaaicDJcDKacCcDLcDMcDNcDOcDPcBKeEucDQcDRcDScDTcDUczwcDVcuNcDWcDXcDYctKaaaaaaaaaafjcDZcEacEbcEccEdcEecEfczHcEgcEhcEicEjcEkcElcEmcEncEocEpaaaaaaawjcEqcErcEsaaqcEtcEucEvaaqcEwcExcEyaaicEzcEAabnaaaaaaaaactiaaacvkcvkcvkcvkcvkaabctkaabcvkcvkcvkcvkcvkaabctiaaaczSczSczSaaaczSczSczSczSczSczSczSczSczSaaaczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafpaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaafpaabaabaaaaaaaaaaaaaaaaaicFDcELcDtaaicECcEDcoecFEcEFcEGcEHcGoaaieEJcEKcGrcHhcIcaaielHeDCcEOcxMcxLcxLcEPcEQcERcEScETcEUcEVcEWaaicEXcDGcCEeHacEZaaiaaicFaaaicFbcFccvDcDOcDPcFdcvDcDQcDRcAvcAwcFecvMcFfcvNcFgcFhcFictKaaaaaaaaabgOcFkcFlcFlcFmacfacfarzcFncFocFpcFqcFrcFsaaiawjabnaaiaaiaaaaaaawjcFtcpCcpCaaqcFucpCcpCaaqcFucpCcpCaaicFvcFwcFxaaaaabaabctiaabcwjcwkcwkcwkcwkcsgcFycsgcwocwocwocwocAZaabctiaaaczSczSczSaaaczSczSczSczSczSczSczSczSczSaaaczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafoafoafpafoafoafXafpafpafpafpafoafpafpafocFzaabaaaaaaaaaaaaaaaaaaaaicJucIMcFCcBdcDtcJYcKAcFEcFFcFGcFHaaiaaicFIcKBeEbeEoeEpeEmeEneEqeErcxMcxLcFLcFMacCcFNcFOcFPcFQcFRauZcFScEOcxMcFTcFUaaqcFVaaiabnaaicFWcFXcvDcDOcDPcBKcvDcFYcDRcAvcFZcGacBNcGbcuNcGccDXcDXctKaaaaaaaaadSfaaaaaaaaaaaaaaaaaaafjcGdczHczHcGecGfcoAaaicGhcGicGjdSfaaaaaaawjcGkcpCcpCaaqcGlcpCcpCaaqcGlcpCcpCaaicFvcGmabnaaaaaaaaactiaabcxAcxAcxAcxAcxAaaactkaaacxAcxAcxAcxAcxAaaactiaaaczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaafoafoafpafoafoafXafpafpafpafpafoafpafpafocFzaabaaaaaaaaaaaaaaaaaaaaicJucIMcFCcBdcDtcJYcKAcFEcFFcFGcFHaaiaaicFIcKBeEbeEoeEpeEmeEneEqeErcxMcxLcFLcFMacCcFNcFOcFPcFQcFRauZcFScEOcxMcFTcFUaaqcFVaaiabnaaicFWcFXcvDcDOcDPcBKcvDcFYcDRcAvcFZcGacBNcGbcuNcGccDXcDXctKaaaaaaaaadSfaaaaaaaaaaaaaaaaaaafjcGdczHczHcGecGfcwhaaicGhcGicGjdSfaaaaaaawjcGkcpCcpCaaqcGlcpCcpCaaqcGlcpCcpCaaicFvcGmabnaaaaaaaaactiaabcxAcxAcxAcxAcxAaaactkaaacxAcxAcxAcxAcxAaaactiaaaczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEQaaiaaiaaiaaiaaiaaicGnaaiaaiaaiaaiaaiaaicEQaaichPcmCcdzcdzcCucDxcENcmFcGscGtcGucGvcGvcGwcGxcGycGzcGAcGBcGwcGCcGDcGEdFvcGFcGGcGHcGIcFaaaicGJcGKcvDcDOcvDcGLcvDcDQcDRcAvcAwcGMcvMcFfctKctKctKctKctKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafjcGNczHczHcAGcGOcGPaaiaaaaaaaaaaaaaaaaaaawjcpCcpCcpCaaqcGQcpCcpCaaqcGQcpCcpCaaicGRcGSabnaaaaaaaaactiaaaaaaaabaabaabaaaaaactkaabaaaaaaaabaabaaaaaactiaaaczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwcrwcrwaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicGTcGUcGVcGWcGXcGYcGZcHacHbcepcHdcHecHfaaiaaicHgcnpcdzcdzcFKaaicHicHjcHkcHlcHmcHncHoaaicHpcHqcHrcxLcHsaaicHtcHucHvcHlcHlcHwcHxaaicFaaaicHycHzcvDcDOcvDcCIcCJcHAcHBcDScHCcHDczwcHEcuNcHFcHGcHGctKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgOcHHcHIcHJcHKcHLcHMaaiaaaaaaaaaaaaaaaaaaawjaaiaaiaaiaaiaaiaaiaaiaaicHOcHOcHOaaidKXcHQabnaaaaaaaaactictictictictiaaaaaaaaactkaaaaaaaaactictictictjctiaaaczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwcrwcrwcrwcrwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaicHRcHScHTcHUcHUcHVcHWcHXcHYcHYcHZcIacIbaaiaaicpwcnpcdzcdzcuhaaicIdcIeaaicIfcIgcIgcIgaaicIhcIicIjcIkcGHaaicIgcIgcIgcIfaaicIlcImaaicFaaaicIncIocIpcIqcIrcIscItcIucztcIvcAwcIwcvMcFfcvNcIxcIycIzctKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicIAcpycpycpycpycIBaaiaaaaaaaaaaaaaaaaaadPWaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaaicEzcIDabnaaaaaaaaaaaaaaaaaaaaaaaaaaactiaabcIEaabctiaaaaaaaaaaaaaaaaaaaaaczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSczSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -14261,7 +14263,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiezQeCVeCWeCXeCYeCZeCWeCVeDaaaieCSeDbeCSaaieCSeDceCSaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaieDdeDeeDfeDfeDgeDheDieDjeDkaaieCSeCSeCSaaieCSeCSeCSaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaieDleDmaaiaaieybaaiaaieDoeDpaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaieDqeDreDseDteDuaaieDveDweDxaaieDyeDzeDAeDBeicaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaieDqeDreDseDteDuaaieDveDweDxaaieDyeDzeDAeDBeHsaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiexXeDEeDEeDEeDEaaiezaeDGeDHaaieyheDJeDJeDJeDJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaieDKeDLeDMeDLeDEaaieDHeDNeDHaaieDJeDJeDOeDJeDPaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDQeDEeDReDSeDTeDEaaiaaiaaiaaiaaieDJeDJeDJeDJeDUaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa