diff --git a/baystation12.dme b/baystation12.dme
index f7a26b35db..e73fd1557c 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -100,7 +100,6 @@
#include "code\datums\computerfiles.dm"
#include "code\datums\datacore.dm"
#include "code\datums\datumvars.dm"
-#include "code\datums\descriptions.dm"
#include "code\datums\disease.dm"
#include "code\datums\mind.dm"
#include "code\datums\mixed.dm"
@@ -574,6 +573,7 @@
#include "code\game\objects\items\robot\robot_items.dm"
#include "code\game\objects\items\robot\robot_parts.dm"
#include "code\game\objects\items\robot\robot_upgrades.dm"
+#include "code\game\objects\items\stacks\matter_synth.dm"
#include "code\game\objects\items\stacks\medical.dm"
#include "code\game\objects\items\stacks\nanopaste.dm"
#include "code\game\objects\items\stacks\rods.dm"
@@ -958,6 +958,13 @@
#include "code\modules\events\spontaneous_appendicitis.dm"
#include "code\modules\events\viral_infection.dm"
#include "code\modules\events\wallrot.dm"
+#include "code\modules\examine\examine.dm"
+#include "code\modules\examine\descriptions\atmospherics.dm"
+#include "code\modules\examine\descriptions\engineering.dm"
+#include "code\modules\examine\descriptions\mobs.dm"
+#include "code\modules\examine\descriptions\stacks.dm"
+#include "code\modules\examine\descriptions\structures.dm"
+#include "code\modules\examine\descriptions\turfs.dm"
#include "code\modules\ext_scripts\irc.dm"
#include "code\modules\ext_scripts\python.dm"
#include "code\modules\flufftext\Dreaming.dm"
@@ -1225,9 +1232,9 @@
#include "code\modules\nano\JSON Reader.dm"
#include "code\modules\nano\JSON Writer.dm"
#include "code\modules\nano\nanoexternal.dm"
+#include "code\modules\nano\nanointeraction.dm"
#include "code\modules\nano\nanomanager.dm"
#include "code\modules\nano\nanomapgen.dm"
-#include "code\modules\nano\nanoprocs.dm"
#include "code\modules\nano\nanoui.dm"
#include "code\modules\nano\modules\crew_monitor.dm"
#include "code\modules\nano\modules\power_monitor.dm"
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 4961d22e79..2066a6f9bf 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -383,6 +383,7 @@
user << "You are too far away to read the gauge."
if(welded)
user << "It seems welded shut."
+ ..()
/obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index 068f7efdb3..8d88ad4db4 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -173,7 +173,7 @@
use_power = !use_power
if(signal.data["panic_siphon"]) //must be before if("scrubbing" thing
- panic = text2num(signal.data["panic_siphon"] != null)
+ panic = text2num(signal.data["panic_siphon"])
if(panic)
use_power = 1
scrubbing = 0
@@ -189,8 +189,12 @@
if(signal.data["scrubbing"] != null)
scrubbing = text2num(signal.data["scrubbing"])
+ if(scrubbing)
+ panic = 0
if(signal.data["toggle_scrubbing"])
scrubbing = !scrubbing
+ if(scrubbing)
+ panic = 0
var/list/toggle = list()
@@ -273,6 +277,7 @@
user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
else
user << "You are too far away to read the gauge."
+ ..()
/obj/machinery/atmospherics/unary/vent_scrubber/Del()
if(initial_loc)
diff --git a/code/datums/descriptions.dm b/code/datums/descriptions.dm
deleted file mode 100644
index b6812d0576..0000000000
--- a/code/datums/descriptions.dm
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is what is supplied to the examine tab. Everything has a 'descriptions' variable, which is null by default. When it is not null,
-it contains this datum. To add this datum to something, all you do is add this to the thing..
-
- descriptions = new/datum/descriptions("I am some helpful blue text","I have backstory text about this obj.","You can use this to kill everyone.")
-
-First string is the 'info' var, second is the 'fluff' var, and third is the 'antag' var. All are optional. Just add it to the object you want to have it.
-
-If you are wondering, BYOND does not let you do desc = new/datum/descriptions .
-
-More strings can be added easily, but you will need to add a proc to retrieve it from the atom. The procs are defined in atoms.dm.
-
-*/
-/datum/descriptions
- var/info
- var/fluff
- var/antag
-
-/datum/descriptions/New(var/info, var/fluff, var/antag)
- src.info = info
- src.fluff = fluff
- src.antag = antag
\ No newline at end of file
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 64ebc0caf7..6900a2e030 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -12,9 +12,6 @@
var/throwpass = 0
var/germ_level = GERM_LEVEL_AMBIENT // The higher the germ level, the more germ on the atom.
- //Examine tab
- var/datum/descriptions/descriptions = null //See code/datums/descriptions.dm for details.
-
///Chemistry.
var/datum/reagents/reagents = null
@@ -205,47 +202,8 @@ its easier to just keep the beam vertical.
user << "\icon[src] That's [f_name] [suffix]"
- var/datum/descriptions/D = descriptions
- if(istype(D))
- user.description_holders["info"] = get_descriptions_info()
- user.description_holders["fluff"] = get_descriptions_fluff()
- if(user.mind.special_role)
- user.description_holders["antag"] = get_descriptions_antag()
- else
- user.description_holders["info"] = null
- user.description_holders["fluff"] = null
- user.description_holders["antag"] = null
-
- if(name) //This shouldn't be needed but I'm paranoid.
- user.description_holders["name"] = "[src.name]" //\icon[src]
-
- user.description_holders["icon"] = "\icon[src]"
-
- if(desc)
- user << desc
- user.description_holders["desc"] = src.desc
- else
- user.description_holders["desc"] = null //This is needed, or else if you examine one thing with a desc, then another without, the panel will retain the first examined's desc.
-
return distance == -1 || (get_dist(src, user) <= distance)
-//Override these if you need special behaviour for a specific type.
-
-/atom/proc/get_descriptions_info()
- if(descriptions && descriptions.info)
- return descriptions.info
- return
-
-/atom/proc/get_descriptions_fluff()
- if(descriptions && descriptions.fluff)
- return descriptions.fluff
- return
-
-/atom/proc/get_descriptions_antag()
- if(descriptions && descriptions.antag)
- return descriptions.antag
- return
-
// called by mobs when e.g. having the atom as their machine, pulledby, loc (AKA mob being inside the atom) or buckled var set.
// see code/modules/mob/mob_movement.dm for more.
/atom/proc/relaymove()
diff --git a/code/game/gamemodes/ninja/ninja.dm b/code/game/gamemodes/ninja/ninja.dm
index 87a15e622d..b4c0c5f555 100644
--- a/code/game/gamemodes/ninja/ninja.dm
+++ b/code/game/gamemodes/ninja/ninja.dm
@@ -27,18 +27,15 @@
ninja.special_role = "Ninja"
ninja.original = ninja.current
- /*if(ninjastart.len == 0)
- ninja.current << "\red A proper starting location for you could not be found, please report this bug!"
- ninja.current << "\red Attempting to place at a carpspawn."*/
+ if(ninjastart.len == 0)
+ for(var/obj/effect/landmark/L in landmarks_list)
+ if(L.name == "carpspawn")
+ ninjastart.Add(L)
- //Until such a time as people want to place ninja spawn points, carpspawn will do fine.
- for(var/obj/effect/landmark/L in landmarks_list)
- if(L.name == "carpspawn")
- ninjastart.Add(L)
if(ninjastart.len == 0 && latejoin.len > 0)
ninja.current << "\red No spawneable locations could be found. Defaulting to latejoin."
return 1
- else if (ninjastart.len == 0)
+ else
ninja.current << "\red No spawneable locations could be found. Aborting."
return 0
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 2ffdcc6e2f..a2e78a10f9 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -195,7 +195,6 @@
if(RCON_YES)
remote_control = 1
- updateDialog()
return
/obj/machinery/alarm/proc/handle_heating_cooling(var/datum/gas_mixture/environment)
@@ -468,7 +467,7 @@
frequency.post_signal(src, alert_signal)
/obj/machinery/alarm/attack_ai(mob/user)
- return interact(user)
+ ui_interact(user)
/obj/machinery/alarm/attack_hand(mob/user)
. = ..()
@@ -477,315 +476,179 @@
return interact(user)
/obj/machinery/alarm/interact(mob/user)
- user.set_machine(src)
+ ui_interact(user)
+ wires.Interact(user)
- if(buildstage!=2)
- return
+/obj/machinery/alarm/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1, var/master_ui = null, var/datum/topic_state/custom_state = null)
+ var/data[0]
+ var/remote_connection = 0
+ var/remote_access = 0
+ if(custom_state)
+ var/list/state = custom_state.href_list(user)
+ remote_connection = state["remote_connection"] // Remote connection means we're non-adjacent/connecting from another computer
+ remote_access = state["remote_access"] // Remote access means we also have the privilege to alter the air alarm.
- if((get_dist(src, user) > 1 ))
- if (!istype(user, /mob/living/silicon))
- user.machine = null
- user << browse(null, "window=air_alarm")
- user << browse(null, "window=AAlarmwires")
- return
+ data["locked"] = locked && !user.isSilicon()
+ data["remote_connection"] = remote_connection
+ data["remote_access"] = remote_access
+ data["rcon"] = rcon_setting
+ data["screen"] = screen
+ populate_status(data)
- else if (istype(user, /mob/living/silicon) && aidisabled)
- user << "AI control for this Air Alarm interface has been disabled."
- user << browse(null, "window=air_alarm")
- return
+ if(!(locked && !remote_connection) || remote_access || user.isSilicon())
+ populate_controls(data)
- if(wiresexposed && (!istype(user, /mob/living/silicon/ai)))
- wires.Interact(user)
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "air_alarm.tmpl", src.name, 625, 625, master_ui = master_ui, custom_state = custom_state)
+ ui.set_initial_data(data)
+ ui.open()
+ ui.set_auto_update(1)
- if(!shorted)
- user << browse(return_text(user),"window=air_alarm")
- onclose(user, "air_alarm")
-
- return
-
-/obj/machinery/alarm/proc/return_text(mob/user)
- if(!(istype(user, /mob/living/silicon)) && locked)
- return "
\The [src][return_status()]
[rcon_text()]
(Swipe ID card to unlock interface)"
- else
- return "\The [src][return_status()]
[rcon_text()]
[return_controls()]"
-
-/obj/machinery/alarm/proc/return_status()
+/obj/machinery/alarm/proc/populate_status(var/data)
var/turf/location = get_turf(src)
var/datum/gas_mixture/environment = location.return_air()
var/total = environment.total_moles
- var/output = "Air Status:
"
- if(total == 0)
- output += "Warning: Cannot obtain air sample for analysis."
- return output
+ var/list/environment_data = new
+ data["has_environment"] = total
+ if(total)
+ var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume
- output += {"
-
-"}
+ var/list/current_settings = TLV["pressure"]
+ var/pressure = environment.return_pressure()
+ var/pressure_danger = get_danger_level(pressure, current_settings)
+ environment_data[++environment_data.len] = list("name" = "Pressure", "value" = pressure, "unit" = "kPa", "danger_level" = pressure_danger)
+ data["total_danger"] = pressure_danger
- var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume
+ current_settings = TLV["oxygen"]
+ var/oxygen_danger = get_danger_level(environment.gas["oxygen"]*partial_pressure, current_settings)
+ environment_data[++environment_data.len] = list("name" = "Oxygen", "value" = environment.gas["oxygen"] / total * 100, "unit" = "%", "danger_level" = oxygen_danger)
+ data["total_danger"] = max(oxygen_danger, data["total_danger"])
- var/list/current_settings = TLV["pressure"]
- var/environment_pressure = environment.return_pressure()
- var/pressure_dangerlevel = get_danger_level(environment_pressure, current_settings)
+ current_settings = TLV["carbon dioxide"]
+ var/carbon_dioxide_danger = get_danger_level(environment.gas["carbon dioxide"]*partial_pressure, current_settings)
+ environment_data[++environment_data.len] = list("name" = "Carbon dioxide", "value" = environment.gas["carbon dioxide"] / total * 100, "unit" = "%", "danger_level" = carbon_dioxide_danger)
+ data["total_danger"] = max(carbon_dioxide_danger, data["total_danger"])
- current_settings = TLV["oxygen"]
- var/oxygen_dangerlevel = get_danger_level(environment.gas["oxygen"]*partial_pressure, current_settings)
- var/oxygen_percent = round(environment.gas["oxygen"] / total * 100, 2)
+ current_settings = TLV["phoron"]
+ var/phoron_danger = get_danger_level(environment.gas["phoron"]*partial_pressure, current_settings)
+ environment_data[++environment_data.len] = list("name" = "Toxins", "value" = environment.gas["phoron"] / total * 100, "unit" = "%", "danger_level" = phoron_danger)
+ data["total_danger"] = max(phoron_danger, data["total_danger"])
- current_settings = TLV["carbon dioxide"]
- var/co2_dangerlevel = get_danger_level(environment.gas["carbon_dioxide"]*partial_pressure, current_settings)
- var/co2_percent = round(environment.gas["carbon_dioxide"] / total * 100, 2)
+ current_settings = TLV["temperature"]
+ var/temperature_danger = get_danger_level(environment.temperature, current_settings)
+ environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_danger)
+ data["total_danger"] = max(temperature_danger, data["total_danger"])
- current_settings = TLV["phoron"]
- var/phoron_dangerlevel = get_danger_level(environment.gas["phoron"]*partial_pressure, current_settings)
- var/phoron_percent = round(environment.gas["phoron"] / total * 100, 2)
-
- //current_settings = TLV["other"]
- //var/other_moles = 0.0
- //for(var/datum/gas/G in environment.trace_gases)
- // other_moles+=G.moles
- //var/other_dangerlevel = get_danger_level(other_moles*partial_pressure, current_settings)
-
- current_settings = TLV["temperature"]
- var/temperature_dangerlevel = get_danger_level(environment.temperature, current_settings)
-
- output += {"
-Pressure: [environment_pressure]kPa
-Oxygen: [oxygen_percent]%
-Carbon dioxide: [co2_percent]%
-Toxins: [phoron_percent]%
-"}
- //if (other_dangerlevel==2)
- // output += "Notice: High Concentration of Unknown Particles Detected
"
- //else if (other_dangerlevel==1)
- // output += "Notice: Low Concentration of Unknown Particles Detected
"
-
- output += "Temperature: [environment.temperature]K ([round(environment.temperature - T0C, 0.1)]C)
"
-
- //'Local Status' should report the LOCAL status, damnit.
- output += "Local Status: "
- switch(max(pressure_dangerlevel,oxygen_dangerlevel,co2_dangerlevel,phoron_dangerlevel,other_dangerlevel,temperature_dangerlevel))
- if(2)
- output += "DANGER: Internals Required
"
- if(1)
- output += "Caution
"
- if(0)
- output += "Optimal
"
-
- output += "Area Status: "
- if(alarm_area.atmosalm)
- output += "Atmos alert in area"
- else if (alarm_area.fire)
- output += "Fire alarm in area"
- else
- output += "No alerts"
-
- return output
-
-/obj/machinery/alarm/proc/rcon_text()
- var/dat = "Remote Control: "
- if(rcon_setting == RCON_NO)
- dat += "Off"
- else
- dat += "Off"
- dat += " | "
- if(rcon_setting == RCON_AUTO)
- dat += "Auto"
- else
- dat += "Auto"
- dat += " | "
- if(rcon_setting == RCON_YES)
- dat += "On"
- else
- dat += "On | "
-
- //Hackish, I know. I didn't feel like bothering to rework all of this.
- dat += "Thermostat: [target_temperature - T0C]C |
"
-
- return dat
-
-/obj/machinery/alarm/proc/return_controls(var/source = src)
- var/output = ""//"[alarm_zone] Air [name]
"
+ data["environment"] = environment_data
+ data["atmos_alarm"] = alarm_area.atmosalm
+ data["fire_alarm"] = alarm_area.fire != null
+ data["target_temperature"] = "[target_temperature - T0C]C"
+/obj/machinery/alarm/proc/populate_controls(var/list/data)
switch(screen)
- if (AALARM_SCREEN_MAIN)
- if(alarm_area.atmosalm)
- output += "Reset - Area Atmospheric Alarm
"
- else
- output += "Activate - Area Atmospheric Alarm
"
+ if(AALARM_SCREEN_MAIN)
+ data["mode"] = mode
+ if(AALARM_SCREEN_VENT)
+ var/vents[0]
+ for(var/id_tag in alarm_area.air_vent_names)
+ var/long_name = alarm_area.air_vent_names[id_tag]
+ var/list/info = alarm_area.air_vent_info[id_tag]
+ if(!info)
+ continue
+ vents[++vents.len] = list(
+ "id_tag" = id_tag,
+ "long_name" = sanitize(long_name),
+ "power" = info["power"],
+ "checks" = info["checks"],
+ "direction" = info["direction"],
+ "external" = info["external"]
+ )
+ data["vents"] = vents
+ if(AALARM_SCREEN_SCRUB)
+ var/scrubbers[0]
+ for(var/id_tag in alarm_area.air_scrub_names)
+ var/long_name = alarm_area.air_scrub_names[id_tag]
+ var/list/info = alarm_area.air_scrub_info[id_tag]
+ if(!info)
+ continue
+ scrubbers[++scrubbers.len] = list(
+ "id_tag" = id_tag,
+ "long_name" = sanitize(long_name),
+ "power" = info["power"],
+ "scrubbing" = info["scrubbing"],
+ "panic" = info["panic"],
+ "filters" = list()
+ )
+ scrubbers[scrubbers.len]["filters"] += list(list("name" = "Oxygen", "command" = "o2_scrub", "val" = info["filter_o2"]))
+ scrubbers[scrubbers.len]["filters"] += list(list("name" = "Nitrogen", "command" = "n2_scrub", "val" = info["filter_n2"]))
+ scrubbers[scrubbers.len]["filters"] += list(list("name" = "Carbon Dioxide", "command" = "co2_scrub","val" = info["filter_co2"]))
+ scrubbers[scrubbers.len]["filters"] += list(list("name" = "Toxin" , "command" = "tox_scrub","val" = info["filter_phoron"]))
+ scrubbers[scrubbers.len]["filters"] += list(list("name" = "Nitrous Oxide", "command" = "n2o_scrub","val" = info["filter_n2o"]))
+ data["scrubbers"] = scrubbers
+ if(AALARM_SCREEN_MODE)
+ var/modes[0]
+ modes[++modes.len] = list("name" = "Filtering - Scrubs out contaminants", "mode" = AALARM_MODE_SCRUBBING, "selected" = mode == AALARM_MODE_SCRUBBING, "danger" = 0)
+ modes[++modes.len] = list("name" = "Replace Air - Siphons out air while replacing", "mode" = AALARM_MODE_REPLACEMENT, "selected" = mode == AALARM_MODE_REPLACEMENT, "danger" = 0)
+ modes[++modes.len] = list("name" = "Panic - Siphons air out of the room", "mode" = AALARM_MODE_PANIC, "selected" = mode == AALARM_MODE_PANIC, "danger" = 1)
+ modes[++modes.len] = list("name" = "Cycle - Siphons air before replacing", "mode" = AALARM_MODE_CYCLE, "selected" = mode == AALARM_MODE_CYCLE, "danger" = 1)
+ modes[++modes.len] = list("name" = "Fill - Shuts off scrubbers and opens vents", "mode" = AALARM_MODE_FILL, "selected" = mode == AALARM_MODE_FILL, "danger" = 0)
+ modes[++modes.len] = list("name" = "Off - Shuts off vents and scrubbers", "mode" = AALARM_MODE_OFF, "selected" = mode == AALARM_MODE_OFF, "danger" = 0)
+ data["modes"] = modes
+ data["mode"] = mode
+ if(AALARM_SCREEN_SENSORS)
+ var/list/selected
+ var/thresholds[0]
- output += {"
-Scrubbers Control
-Vents Control
-Set environmentals mode
-Sensor Settings
-
-"}
- if (mode==AALARM_MODE_PANIC)
- output += "PANIC SYPHON ACTIVE
Turn syphoning off"
- else
- output += "ACTIVATE PANIC SYPHON IN AREA"
-
-
- if (AALARM_SCREEN_VENT)
- var/sensor_data = ""
- if(alarm_area.air_vent_names.len)
- for(var/id_tag in alarm_area.air_vent_names)
- var/long_name = alarm_area.air_vent_names[id_tag]
- var/list/data = alarm_area.air_vent_info[id_tag]
- if(!data)
- continue;
- var/state = ""
-
- sensor_data += {"
-[long_name][state]
-Operating:
-[data["power"]?"on":"off"]
-
-Pressure checks:
-external
-internal
-
-External pressure bound:
--
--
--
--
-[data["external"]]
-+
-+
-+
-+
- (reset)
-
-"}
- if (data["direction"] == "siphon")
- sensor_data += {"
-Direction:
-siphoning
-
-"}
- sensor_data += {"
"}
- else
- sensor_data = "No vents connected.
"
- output = {"Main menu
[sensor_data]"}
- if (AALARM_SCREEN_SCRUB)
- var/sensor_data = ""
- if(alarm_area.air_scrub_names.len)
- for(var/id_tag in alarm_area.air_scrub_names)
- var/long_name = alarm_area.air_scrub_names[id_tag]
- var/list/data = alarm_area.air_scrub_info[id_tag]
- if(!data)
- continue;
- var/state = ""
-
- sensor_data += {"
-[long_name][state]
-Operating:
-[data["power"]?"on":"off"]
-Type:
-[data["scrubbing"]?"scrubbing":"syphoning"]
-"}
-
- if(data["scrubbing"])
- sensor_data += {"
-Filtering:
-Oxygen
-[data["filter_o2"]?"on":"off"];
-Nitrogen
-[data["filter_n2"]?"on":"off"];
-Carbon Dioxide
-[data["filter_co2"]?"on":"off"];
-Toxins
-[data["filter_phoron"]?"on":"off"];
-Nitrous Oxide
-[data["filter_n2o"]?"on":"off"]
-
-"}
- sensor_data += {"
-Panic syphon: [data["panic"]?"PANIC SYPHON ACTIVATED":""]
-Dea":"red'>A")]ctivate
-
-"}
- else
- sensor_data = "No scrubbers connected.
"
- output = {"Main menu
[sensor_data]"}
-
- if (AALARM_SCREEN_MODE)
- output += "Main menu
Air machinery mode for the area:"
- var/list/modes = list(AALARM_MODE_SCRUBBING = "Filtering - Scrubs out contaminants",\
- AALARM_MODE_REPLACEMENT = "Replace Air - Siphons out air while replacing",\
- AALARM_MODE_PANIC = "Panic - Siphons air out of the room",\
- AALARM_MODE_CYCLE = "Cycle - Siphons air before replacing",\
- AALARM_MODE_FILL = "Fill - Shuts off scrubbers and opens vents",\
- AALARM_MODE_OFF = "Off - Shuts off vents and scrubbers",)
- for (var/m=1,m<=modes.len,m++)
- if (mode==m)
- output += "- [modes[m]] (selected)
"
- else
- output += "- [modes[m]]
"
- output += "
"
-
- if (AALARM_SCREEN_SENSORS)
- output += {"
-Main menu
-Alarm thresholds:
-Partial pressure for gases
-
-
- | min2 | min1 | max1 | max2 |
-"}
- var/list/gases = list(
+ var/list/gas_names = list(
"oxygen" = "O2",
"carbon dioxide" = "CO2",
"phoron" = "Toxin",
- "other" = "Other",)
-
- var/list/selected
- for (var/g in gases)
- output += "| [gases[g]] | "
+ "other" = "Other")
+ for (var/g in gas_names)
+ thresholds[++thresholds.len] = list("name" = gas_names[g], "settings" = list())
selected = TLV[g]
for(var/i = 1, i <= 4, i++)
- output += "[selected[i] >= 0 ? selected[i] :"OFF"] | "
- output += "
"
+ thresholds[thresholds.len]["settings"] += list(list("env" = g, "val" = i, "selected" = selected[i]))
selected = TLV["pressure"]
- output += " | Pressure | "
+ thresholds[++thresholds.len] = list("name" = "Pressure", "settings" = list())
for(var/i = 1, i <= 4, i++)
- output += "[selected[i] >= 0 ? selected[i] :"OFF"] | "
- output += "
"
+ thresholds[thresholds.len]["settings"] += list(list("env" = "pressure", "val" = i, "selected" = selected[i]))
selected = TLV["temperature"]
- output += "| Temperature | "
+ thresholds[++thresholds.len] = list("name" = "Temperature", "settings" = list())
for(var/i = 1, i <= 4, i++)
- output += "[selected[i] >= 0 ? selected[i] :"OFF"] | "
- output += "
|---|
"
+ thresholds[thresholds.len]["settings"] += list(list("env" = "temperature", "val" = i, "selected" = selected[i]))
- return output
-/obj/machinery/alarm/Topic(href, href_list, var/nowindow = 0, var/remote = 0)
- if(..(href, href_list, nowindow, !remote) || !( Adjacent(usr) || nowindow || istype(usr, /mob/living/silicon)) ) // dont forget calling super in machine Topics -walter0o
- usr.machine = null
- usr << browse(null, "window=air_alarm")
- usr << browse(null, "window=AAlarmwires")
- return
+ data["thresholds"] = thresholds
- add_fingerprint(usr)
- usr.set_machine(src)
+/obj/machinery/alarm/CanUseTopic(var/mob/user, href_list, var/datum/topic_state/custom_state)
+ if(buildstage != 2)
+ return STATUS_CLOSE
+
+ if(aidisabled && user.isAI())
+ user << "AI control for \the [src] interface has been disabled."
+ return STATUS_CLOSE
+
+ . = shorted ? STATUS_DISABLED : STATUS_INTERACTIVE
+
+ if(. == STATUS_INTERACTIVE)
+ var/extra_href = custom_state.href_list(usr)
+ // Prevent remote users from altering RCON settings unless they already have access (I realize the risks)
+ if(href_list["rcon"] && extra_href["remote_connection"] && !extra_href["remote_access"])
+ . = STATUS_UPDATE
+
+ //TODO: Move the rest of if(!locked || extra_href["remote_access"] || usr.isAI()) and hrefs here
+
+ return min(..(), .)
+
+/obj/machinery/alarm/Topic(href, href_list, var/nowindow = 0, var/datum/topic_state/custom_state)
+ if(..(href, href_list, nowindow, custom_state))
+ return 1
// hrefs that can always be called -walter0o
if(href_list["rcon"])
@@ -798,28 +661,38 @@ table tr:first-child th:first-child { border: none;}
rcon_setting = RCON_AUTO
if(RCON_YES)
rcon_setting = RCON_YES
- else
- return
+ return 1
if(href_list["temperature"])
var/list/selected = TLV["temperature"]
var/max_temperature = min(selected[3] - T0C, MAX_TEMPERATURE)
var/min_temperature = max(selected[2] - T0C, MIN_TEMPERATURE)
- var/input_temperature = input("What temperature would you like the system to mantain? (Capped between [min_temperature]C and [max_temperature]C)", "Thermostat Controls") as num|null
- if(!input_temperature || input_temperature > max_temperature || input_temperature < min_temperature)
- usr << "Temperature must be between [min_temperature]C and [max_temperature]C"
- else
- target_temperature = input_temperature + T0C
+ var/input_temperature = input("What temperature would you like the system to mantain? (Capped between [min_temperature] and [max_temperature]C)", "Thermostat Controls", target_temperature - T0C) as num|null
+ if(isnum(input_temperature))
+ if(input_temperature > max_temperature || input_temperature < min_temperature)
+ usr << "Temperature must be between [min_temperature]C and [max_temperature]C"
+ else
+ target_temperature = input_temperature + T0C
+ return 1
// hrefs that need the AA unlocked -walter0o
- if(!locked || remote || istype(usr, /mob/living/silicon))
-
+ var/extra_href = custom_state.href_list(usr)
+ if(!(locked && !extra_href["remote_connection"]) || extra_href["remote_access"] || usr.isSilicon())
if(href_list["command"])
var/device_id = href_list["id_tag"]
switch(href_list["command"])
+ if("set_external_pressure")
+ var/input_pressure = input("What pressure you like the system to mantain?", "Pressure Controls") as num|null
+ if(isnum(input_pressure))
+ send_signal(device_id, list(href_list["command"] = input_pressure))
+ return 1
+
+ if("reset_external_pressure")
+ send_signal(device_id, list(href_list["command"] = ONE_ATMOSPHERE))
+ return 1
+
if( "power",
"adjust_external_pressure",
- "set_external_pressure",
"checks",
"o2_scrub",
"n2_scrub",
@@ -830,6 +703,7 @@ table tr:first-child th:first-child { border: none;}
"scrubbing")
send_signal(device_id, list(href_list["command"] = text2num(href_list["val"]) ) )
+ return 1
if("set_threshold")
var/env = href_list["env"]
@@ -838,7 +712,7 @@ table tr:first-child th:first-child { border: none;}
var/list/thresholds = list("lower bound", "low warning", "high warning", "upper bound")
var/newval = input("Enter [thresholds[threshold]] for [env]", "Alarm triggers", selected[threshold]) as null|num
if (isnull(newval))
- return
+ return 1
if (newval<0)
selected[threshold] = -1.0
else if (env=="temperature" && newval>5000)
@@ -880,9 +754,11 @@ table tr:first-child th:first-child { border: none;}
selected[3] = selected[4]
apply_mode()
+ return 1
if(href_list["screen"])
screen = text2num(href_list["screen"])
+ return 1
if(href_list["atmos_unlock"])
switch(href_list["atmos_unlock"])
@@ -890,24 +766,24 @@ table tr:first-child th:first-child { border: none;}
alarm_area.air_doors_close()
if("1")
alarm_area.air_doors_open()
+ return 1
if(href_list["atmos_alarm"])
if (alarm_area.atmosalert(2))
apply_danger_level(2)
update_icon()
+ return 1
if(href_list["atmos_reset"])
if (alarm_area.atmosalert(0))
apply_danger_level(0)
update_icon()
+ return 1
if(href_list["mode"])
mode = text2num(href_list["mode"])
apply_mode()
-
- if(!nowindow)
- updateUsrDialog()
-
+ return 1
/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob)
src.add_fingerprint(user)
@@ -937,7 +813,6 @@ table tr:first-child th:first-child { border: none;}
if(allowed(usr) && !wires.IsIndexCut(AALARM_WIRE_IDSCAN))
locked = !locked
user << "\blue You [ locked ? "lock" : "unlock"] the Air Alarm interface."
- updateUsrDialog()
else
user << "\red Access denied."
return
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 2915bf0761..056c45e4f8 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -1,6 +1,6 @@
/obj/machinery/computer/arcade
name = "arcade machine"
- desc = "Does not support Pin ball."
+ desc = "Does not support pinball."
icon = 'icons/obj/computer.dmi'
icon_state = "arcade"
circuit = "/obj/item/weapon/circuitboard/arcade"
@@ -32,7 +32,10 @@
/obj/item/toy/prize/mauler = 1,
/obj/item/toy/prize/odysseus = 1,
/obj/item/toy/prize/phazon = 1,
- /obj/item/toy/waterflower = 1
+ /obj/item/toy/waterflower = 1,
+ /obj/item/toy/figure = 1,
+ /obj/random/plushie = 1,
+ /obj/item/toy/cultsword = 1
)
/obj/machinery/computer/arcade
diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm
index a722131102..a6eb8765f1 100644
--- a/code/game/machinery/computer/atmos_control.dm
+++ b/code/game/machinery/computer/atmos_control.dm
@@ -9,11 +9,11 @@
density = 1
anchored = 1.0
circuit = "/obj/item/weapon/circuitboard/atmoscontrol"
- var/obj/machinery/alarm/current
var/overridden = 0 //not set yet, can't think of a good way to do it
req_access = list(access_ce)
var/list/monitored_alarm_ids = null
var/list/monitored_alarms = null
+ var/ui_ref
/obj/machinery/computer/atmoscontrol/laptop
name = "Atmospherics Laptop"
@@ -32,36 +32,29 @@
monitored_alarms = dd_sortedObjectList(monitored_alarms)
/obj/machinery/computer/atmoscontrol/attack_ai(var/mob/user as mob)
- return interact(user)
+ return ui_interact(user)
/obj/machinery/computer/atmoscontrol/attack_hand(mob/user)
if(..())
return
- return interact(user)
+ return ui_interact(user)
-/obj/machinery/computer/atmoscontrol/interact(mob/user)
- user.set_machine(src)
- if(allowed(user))
- overridden = 1
- else if(!emagged)
- overridden = 0
- var/dat = "Main Menu
"
- if(monitored_alarms && monitored_alarms.len == 1)
- current = monitored_alarms[1]
- if(current)
- dat += specific()
- else
- for(var/obj/machinery/alarm/alarm in monitored_alarms ? monitored_alarms : machines)
- dat += ""
- switch(max(alarm.danger_level, alarm.alarm_area.atmosalm))
- if (0)
- dat += ""
- if (1)
- dat += ""
- if (2)
- dat += ""
- dat += "[sanitize(alarm.name)]
"
- user << browse(dat, "window=atmoscontrol")
+/obj/machinery/computer/atmoscontrol/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
+ var/data[0]
+ var/alarms[0]
+
+ // TODO: Move these to a cache, similar to cameras
+ for(var/obj/machinery/alarm/alarm in (monitored_alarms ? monitored_alarms : machines))
+ alarms[++alarms.len] = list("name" = sanitize(alarm.name), "ref"= "\ref[alarm]", "danger" = max(alarm.danger_level, alarm.alarm_area.atmosalm))
+ data["alarms"] = alarms
+
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "atmos_control.tmpl", src.name, 625, 625)
+ ui.set_initial_data(data)
+ ui.open()
+ ui.set_auto_update(1)
+ ui_ref = ui
/obj/machinery/computer/atmoscontrol/attackby(var/obj/item/I as obj, var/mob/user as mob)
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
@@ -73,23 +66,33 @@
return
return ..()
-/obj/machinery/computer/atmoscontrol/proc/specific()
- if(!current)
- return ""
- var/dat = "[current.name]
"
- dat += current.return_status()
- if(current.remote_control || overridden)
- dat += "
[current.return_controls(src)]"
- return dat
-
//a bunch of this is copied from atmos alarms
/obj/machinery/computer/atmoscontrol/Topic(href, href_list)
if(..())
- return
- if(href_list["reset"])
- current = null
+ return 1
+
if(href_list["alarm"])
- current = locate(href_list["alarm"])
- else if(current)
- current.Topic(href, href_list, 1, 1)
- interact(usr)
+ if(ui_ref)
+ var/obj/machinery/alarm/alarm = locate(href_list["alarm"]) in (monitored_alarms ? monitored_alarms : machines)
+ if(alarm)
+ var/datum/topic_state/TS = generate_state(alarm)
+ alarm.ui_interact(usr, master_ui = ui_ref, custom_state = TS)
+ return 1
+
+/obj/machinery/computer/atmoscontrol/proc/generate_state(var/alarm)
+ var/datum/topic_state/air_alarm/state = new()
+ state.atmos_control = src
+ state.air_alarm = alarm
+ return state
+
+/datum/topic_state/air_alarm
+ flags = NANO_IGNORE_DISTANCE
+ var/obj/machinery/computer/atmoscontrol/atmos_control = null
+ var/obj/machinery/alarm/air_alarm = null
+
+/datum/topic_state/air_alarm/href_list(var/mob/user)
+ var/list/extra_href = list()
+ extra_href["remote_connection"] = 1
+ extra_href["remote_access"] = user && (atmos_control.allowed(user) || atmos_control.emagged || air_alarm.rcon_setting == RCON_YES || (air_alarm.alarm_area.atmosalm && air_alarm.rcon_setting == RCON_AUTO))
+
+ return extra_href
diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm
index f1f4306f56..19ac77d2c7 100644
--- a/code/game/machinery/doors/blast_door.dm
+++ b/code/game/machinery/doors/blast_door.dm
@@ -23,6 +23,10 @@
var/id = 1.0
dir = 1
explosion_resistance = 25
+
+ //Most blast doors are infrequently toggled and sometimes used with regular doors anyways,
+ //turning this off prevents awkward zone geometry in places like medbay lobby, for example.
+ block_air_zones = 0
// Proc: Bumped()
// Parameters: 1 (AM - Atom that tried to walk through this object)
@@ -150,6 +154,13 @@
if(stat & BROKEN)
stat &= ~BROKEN
+
+/obj/machinery/door/blast/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
+ if(air_group) return 1
+ return ..()
+
+
+
// SUBTYPE: Regular
// Your classical blast door, found almost everywhere.
obj/machinery/door/blast/regular
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index f4dfd039c3..32d2b314dc 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -31,6 +31,7 @@
var/min_force = 10 //minimum amount of force needed to damage the door with a melee weapon
var/hitsound = 'sound/weapons/smash.ogg' //sound door makes when hit with a weapon
var/obj/item/stack/sheet/metal/repairing
+ var/block_air_zones = 1 //If set, air zones cannot merge across the door even when it is opened.
//Multi-tile doors
dir = EAST
@@ -114,7 +115,7 @@
/obj/machinery/door/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
- if(air_group) return 0
+ if(air_group) return !block_air_zones
if(istype(mover) && mover.checkpass(PASSGLASS))
return !opacity
return !density
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 55b392feff..8799273b93 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -22,6 +22,10 @@
open_layer = DOOR_OPEN_LAYER - 0.01 // Just below doors when open
closed_layer = DOOR_CLOSED_LAYER + 0.01 // Just above doors when closed
+ //These are frequenly used with windows, so make sure zones can pass.
+ //Generally if a firedoor is at a place where there should be a zone boundery then there will be a regular door underneath it.
+ block_air_zones = 0
+
var/blocked = 0
var/lockdown = 0 // When the door has detected a problem, it locks.
var/pdiff_alert = 0
@@ -381,9 +385,9 @@
overlays += "welded_open"
return
+//These are playing merry hell on ZAS. Sorry fellas :(
/obj/machinery/door/firedoor/border_only
-//These are playing merry hell on ZAS. Sorry fellas :(
/*
icon = 'icons/obj/doors/edge_Doorfire.dmi'
glass = 1 //There is a glass window so you can see through the door
diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm
index 84fa419265..8661651a39 100644
--- a/code/game/machinery/embedded_controller/embedded_controller_base.dm
+++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm
@@ -24,7 +24,6 @@
program.process()
update_icon()
- src.updateDialog()
/obj/machinery/embedded_controller/attack_ai(mob/user as mob)
src.ui_interact(user)
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 819cc05632..042889157a 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -182,13 +182,18 @@ Class Procs:
/obj/machinery/proc/inoperable(var/additional_flags = 0)
return (stat & (NOPOWER|BROKEN|additional_flags))
+/obj/machinery/CanUseTopic(var/mob/user, var/be_close)
+ if(!interact_offline && (stat & (NOPOWER|BROKEN)))
+ return STATUS_CLOSE
-/obj/machinery/Topic(href, href_list, var/nowindow = 0, var/checkrange = 1)
- if(..())
- return 1
- if(!interact_offline && stat & (NOPOWER|BROKEN))
- return 1
- return 0
+ return ..()
+
+/obj/machinery/CouldUseTopic(var/mob/user)
+ ..()
+ user.set_machine(src)
+
+/obj/machinery/CouldNotUseTopic(var/mob/user)
+ usr.unset_machine()
////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index a2dda1e400..60447703f5 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -297,7 +297,7 @@
else if((istype(I, /obj/item/weapon/wrench)))
if(on || raised)
- user << ""
+ user << "You cannot unsecure an active turret!"
return
if(wrenching)
user << "Someone is already [anchored ? "un" : ""]securing the turret!"
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index e4d29467e0..22612983a8 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -162,7 +162,7 @@
if(istype(occupant, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = occupant
if(R.module)
- R.module.respawn_consumable(R)
+ R.module.respawn_consumable(R, charge_rate / 250)
if(!R.cell)
return
if(!R.cell.fully_charged())
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index f57e2e046d..e57b4da227 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -250,6 +250,9 @@
target = safepick(view(3,target))
if(!target)
return
+ if(istype(target, /obj/machinery))
+ if (src.interface_action(target))
+ return
if(!target.Adjacent(src))
if(selected && selected.is_ranged())
selected.action(target)
@@ -259,6 +262,29 @@
src.melee_action(target)
return
+/obj/mecha/proc/interface_action(obj/machinery/target)
+ if(istype(target, /obj/machinery/access_button))
+ src.occupant_message("Interfacing with [target].")
+ src.log_message("Interfaced with [target].")
+ target.attack_hand(src.occupant)
+ return 1
+ if(istype(target, /obj/machinery/embedded_controller))
+ target.ui_interact(src.occupant)
+ return 1
+ return 0
+
+/obj/mecha/contents_nano_distance(var/src_object, var/mob/living/user)
+ . = user.shared_living_nano_distance(src_object) //allow them to interact with anything they can interact with normally.
+ if(. != STATUS_INTERACTIVE)
+ //Allow interaction with the mecha or anything that is part of the mecha
+ if(src_object == src || (src_object in src))
+ return STATUS_INTERACTIVE
+ if(src.Adjacent(src_object))
+ src.occupant_message("Interfacing with [src_object]...")
+ src.log_message("Interfaced with [src_object].")
+ return STATUS_INTERACTIVE
+ if(src_object in view(2, src))
+ return STATUS_UPDATE //if they're close enough, allow the occupant to see the screen through the viewport or whatever.
/obj/mecha/proc/melee_action(atom/target)
return
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index b88847c6aa..b9facb09b8 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -6,7 +6,6 @@
unacidable = 1
/obj/effect/landmark/New()
-
..()
tag = text("landmark*[]", name)
invisibility = 101
@@ -113,6 +112,13 @@
return 1
+/obj/effect/landmark/start/ninja
+ name = "ninja"
+
+/obj/effect/landmark/start/ninja/New()
+ ..()
+ ninjastart += loc
+
//Costume spawner landmarks
/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index 7e69ffe17a..713706475c 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -55,7 +55,7 @@
var/uses = 0
var/emagged = 0
var/failmsg = ""
- var/charge = 1
+ var/charge = 0
/obj/item/device/lightreplacer/New()
uses = max_uses / 2
@@ -122,11 +122,11 @@
/obj/item/device/lightreplacer/proc/AddUses(var/amount = 1)
uses = min(max(uses + amount, 0), max_uses)
-/obj/item/device/lightreplacer/proc/Charge(var/mob/user)
- charge += 1
- if(charge > 7)
+/obj/item/device/lightreplacer/proc/Charge(var/mob/user, var/amount = 1)
+ charge += amount
+ if(charge > 6)
AddUses(1)
- charge = 1
+ charge = 0
/obj/item/device/lightreplacer/proc/ReplaceLight(var/obj/machinery/light/target, var/mob/living/U)
diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm
index 53efa61f96..6c764dad16 100644
--- a/code/game/objects/items/devices/uplinks.dm
+++ b/code/game/objects/items/devices/uplinks.dm
@@ -11,12 +11,21 @@ A list of items and costs is stored under the datum of every game mode, alongsid
var/cost = 0
var/path = null
var/reference = ""
+ var/description = ""
-datum/uplink_item/New(var/itemPath, var/itemCost as num, var/itemName as text, var/itemReference as text)
+datum/uplink_item/New(var/itemPath, var/itemCost as num, var/itemName as text, var/itemReference as text, var/itemDescription)
cost = itemCost
path = itemPath
name = itemName
- reference = itemReference
+ description = itemDescription
+
+
+datum/uplink_item/proc/description()
+ if(!description)
+ // Fallback description
+ var/obj/temp = src.path
+ description = replacetext(initial(temp.desc), "\n", "
")
+ return description
datum/nano_item_lists
var/list/items_nano
@@ -41,16 +50,17 @@ datum/nano_item_lists
uses = ticker.mode.uplink_uses
ItemsCategory = ticker.mode.uplink_items
- var/datum/nano_item_lists/IL = generate_item_lists()
- nanoui_items = IL.items_nano
- ItemsReference = IL.items_reference
-
world_uplinks += src
/obj/item/device/uplink/Del()
world_uplinks -= src
..()
+/obj/item/device/uplink/proc/generate_items()
+ var/datum/nano_item_lists/IL = generate_item_lists()
+ nanoui_items = IL.items_nano
+ ItemsReference = IL.items_reference
+
// BS12 no longer use this menu but there are forks that do, hency why we keep it
/obj/item/device/uplink/proc/generate_menu()
var/dat = "[src.welcome]
"
@@ -87,7 +97,7 @@ datum/nano_item_lists
for(var/category in ItemsCategory)
nano[++nano.len] = list("Category" = category, "items" = list())
for(var/datum/uplink_item/I in ItemsCategory[category])
- nano[nano.len]["items"] += list(list("Name" = I.name, "Cost" = I.cost, "obj_path" = I.reference))
+ nano[nano.len]["items"] += list(list("Name" = I.name, "Description" = I.description(),"Cost" = I.cost, "obj_path" = I.reference))
reference[I.reference] = I
var/datum/nano_item_lists/result = new
@@ -189,6 +199,8 @@ datum/nano_item_lists
data["welcome"] = welcome
data["crystals"] = uses
data["menu"] = nanoui_menu
+ if(!nanoui_items)
+ generate_items()
data["nano_items"] = nanoui_items
data += nanoui_data
diff --git a/code/game/objects/items/stacks/matter_synth.dm b/code/game/objects/items/stacks/matter_synth.dm
new file mode 100644
index 0000000000..0842f70d66
--- /dev/null
+++ b/code/game/objects/items/stacks/matter_synth.dm
@@ -0,0 +1,50 @@
+/datum/matter_synth
+ var/name = "Generic Synthesizer"
+ var/max_energy = 60000
+ var/recharge_rate = 2000
+ var/energy
+
+/datum/matter_synth/New(var/store = 0)
+ if(store)
+ max_energy = store
+ energy = max_energy
+ return
+
+/datum/matter_synth/proc/get_charge()
+ return energy
+
+/datum/matter_synth/proc/use_charge(var/amount)
+ if (energy >= amount)
+ energy -= amount
+ return 1
+ return 0
+
+/datum/matter_synth/proc/add_charge(var/amount)
+ energy = min(energy + amount, max_energy)
+
+/datum/matter_synth/proc/emp_act(var/severity)
+ use_charge(max_energy * 0.1 / severity)
+
+/datum/matter_synth/medicine
+ name = "Medicine Synthesizer"
+
+/datum/matter_synth/metal
+ name = "Metal Synthesizer"
+
+/datum/matter_synth/plasteel
+ name = "Plasteel Synthesizer"
+ max_energy = 10000
+
+/datum/matter_synth/glass
+ name = "Glass Synthesizer"
+
+/datum/matter_synth/wood
+ name = "Wood Synthesizer"
+
+/datum/matter_synth/plastic
+ name = "Plastic Synthesizer"
+
+/datum/matter_synth/wire
+ name = "Wire Synthesizer"
+ max_energy = 50
+ recharge_rate = 2
\ No newline at end of file
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 45350a71e9..143539968e 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -13,12 +13,21 @@
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
+/obj/item/stack/rods/cyborg
+ name = "metal rod synthesizer"
+ desc = "A device that makes metal rods."
+ gender = NEUTER
+ matter = null
+ uses_charge = 1
+ charge_costs = list(500)
+ stacktype = /obj/item/stack/rods
+
/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
- if(amount < 2)
+ if(get_amount() < 2)
user << "\red You need at least two rods to do this."
return
@@ -54,7 +63,7 @@
return 1
else if(!in_use)
- if(amount < 2)
+ if(get_amount() < 2)
user << "\blue You need at least two rods to do this."
return
usr << "\blue Assembling grille..."
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 71fb87f9ad..422640ee1f 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -22,12 +22,13 @@
var/list/construction_options = list("One Direction", "Full Window")
/obj/item/stack/sheet/glass/cyborg
- name = "glass"
- desc = "HOLY SHEET! That is a lot of glass."
- singular_name = "glass sheet"
- icon_state = "sheet-glass"
+ name = "glass synthesizer"
+ desc = "A device that makes glass."
+ gender = NEUTER
+ singular_name = "glass"
matter = null
- created_window = /obj/structure/window/basic
+ uses_charge = 1
+ charge_costs = list(1000)
stacktype = /obj/item/stack/sheet/glass
/obj/item/stack/sheet/glass/attack_self(mob/user as mob)
@@ -69,7 +70,7 @@
if(!user.IsAdvancedToolUser())
return 0
var/title = "Sheet-[name]"
- title += " ([src.amount] sheet\s left)"
+ title += " ([src.get_amount()] sheet\s left)"
switch(input(title, "What would you like to construct?") as null|anything in construction_options)
if("One Direction")
if(!src) return 1
@@ -102,7 +103,7 @@
if("Full Window")
if(!src) return 1
if(src.loc != user) return 1
- if(src.amount < 4)
+ if(src.get_amount() < 4)
user << "\red You need more glass to do that."
return 1
if(locate(/obj/structure/window) in user.loc)
@@ -124,7 +125,7 @@
user << "\red There is already a windoor in that location."
return 1
- if(src.amount < 5)
+ if(src.get_amount() < 5)
user << "\red You need more glass to do that."
return 1
@@ -151,10 +152,15 @@
construction_options = list("One Direction", "Full Window", "Windoor")
/obj/item/stack/sheet/glass/reinforced/cyborg
- name = "reinforced glass"
- desc = "Glass which has been reinforced with metal rods."
+ name = "reinforced glass synthesizer"
+ desc = "A device that makes reinforced glass."
+ gender = NEUTER
+ matter = null
+ uses_charge = 2
+ charge_costs = list(1000)
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
+ charge_costs = list(500, 1000)
/*
* Phoron Glass sheets
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index fccce08dc2..2ec920b390 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -137,9 +137,10 @@ obj/item/stack/sheet/mineral/iron/New()
recipes = plastic_recipes
/obj/item/stack/sheet/mineral/plastic/cyborg
- name = "plastic sheets"
- icon_state = "sheet-plastic"
- perunit = 2000
+ name = "plastic sheets synthesizer"
+ gender = NEUTER
+ uses_charge = 1
+ charge_costs = list(1000)
stacktype = /obj/item/stack/sheet/mineral/plastic
/obj/item/stack/sheet/mineral/gold
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 5d2225961e..47c812a99e 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -86,12 +86,12 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/cyborg
- name = "metal"
- desc = "Sheets made out off metal. It has been dubbed Metal Sheets."
- singular_name = "metal sheet"
- icon_state = "sheet-metal"
- throwforce = 14.0
- flags = CONDUCT
+ name = "metal synthesizer"
+ desc = "A device that makes metal sheets."
+ gender = NEUTER
+ matter = null
+ uses_charge = 1
+ charge_costs = list(1000)
stacktype = /obj/item/stack/sheet/metal
/obj/item/stack/sheet/metal/New(var/loc, var/amount=null)
@@ -121,9 +121,19 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
flags = CONDUCT
origin_tech = "materials=2"
+/obj/item/stack/sheet/plasteel/cyborg
+ name = "plasteel synthesizer"
+ desc = "A device that makes plasteel sheets."
+ gender = NEUTER
+ singular_name = "plasteel sheet"
+ matter = null
+ uses_charge = 1
+ charge_costs = list(1000)
+ stacktype = /obj/item/stack/sheet/plasteel
+
/obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null)
- recipes = plasteel_recipes
- return ..()
+ recipes = plasteel_recipes
+ return ..()
/*
* Wood
@@ -149,10 +159,13 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
origin_tech = "materials=1;biotech=1"
/obj/item/stack/sheet/wood/cyborg
- name = "wooden plank"
- desc = "One can only guess that this is a bunch of wood."
+ name = "wood synthesizer"
+ desc = "A device that makes wooden planks."
+ gender = NEUTER
singular_name = "wood plank"
icon_state = "sheet-wood"
+ uses_charge = 1
+ charge_costs = list(1000)
stacktype = /obj/item/stack/sheet/wood
/obj/item/stack/sheet/wood/New(var/loc, var/amount=null)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 69b6e97533..ab1f767a42 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -17,6 +17,9 @@
var/amount = 1
var/max_amount //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
var/stacktype //determines whether different stack types can merge
+ var/uses_charge = 0
+ var/list/charge_costs = null
+ var/list/datum/matter_synth/synths = null
/obj/item/stack/New(var/loc, var/amount=null)
..()
@@ -27,13 +30,18 @@
return
/obj/item/stack/Del()
+ if(uses_charge)
+ return
if (src && usr && usr.machine == src)
usr << browse(null, "window=stack")
..()
/obj/item/stack/examine(mob/user)
if(..(user, 1))
- user << "There are [src.amount] [src.singular_name]\s in the stack."
+ if(!uses_charge)
+ user << "There are [src.amount] [src.singular_name]\s in the stack."
+ else
+ user << "There is enough charge for [get_amount()]."
/obj/item/stack/attack_self(mob/user as mob)
list_recipes(user)
@@ -41,14 +49,14 @@
/obj/item/stack/proc/list_recipes(mob/user as mob, recipes_sublist)
if (!recipes)
return
- if (!src || amount<=0)
+ if (!src || get_amount() <= 0)
user << browse(null, "window=stack")
user.set_machine(src) //for correct work of onclose
var/list/recipe_list = recipes
if (recipes_sublist && recipe_list[recipes_sublist] && istype(recipe_list[recipes_sublist], /datum/stack_recipe_list))
var/datum/stack_recipe_list/srl = recipe_list[recipes_sublist]
recipe_list = srl.recipes
- var/t1 = text("Constructions from []Amount Left: []
", src, src.amount)
+ var/t1 = text("Constructions from []Amount Left: []
", src, src.get_amount())
for(var/i=1;i<=recipe_list.len,i++)
var/E = recipe_list[i]
if (isnull(E))
@@ -60,14 +68,14 @@
if (istype(E, /datum/stack_recipe_list))
var/datum/stack_recipe_list/srl = E
- if (src.amount >= srl.req_amount)
+ if (src.get_amount() >= srl.req_amount)
t1 += "[srl.title] ([srl.req_amount] [src.singular_name]\s)"
else
t1 += "[srl.title] ([srl.req_amount] [src.singular_name]\s)
"
if (istype(E, /datum/stack_recipe))
var/datum/stack_recipe/R = E
- var/max_multiplier = round(src.amount / R.req_amount)
+ var/max_multiplier = round(src.get_amount() / R.req_amount)
var/title as text
var/can_build = 1
can_build = can_build && (max_multiplier>0)
@@ -142,7 +150,7 @@
list_recipes(usr, text2num(href_list["sublist"]))
if (href_list["make"])
- if (src.amount < 1) del(src) //Never should happen
+ if (src.get_amount() < 1) del(src) //Never should happen
var/list/recipes_list = recipes
if (href_list["sublist"])
@@ -165,28 +173,44 @@
//Return 1 if an immediate subsequent call to use() would succeed.
//Ensures that code dealing with stacks uses the same logic
/obj/item/stack/proc/can_use(var/used)
- if (amount < used)
+ if (get_amount() < used)
return 0
return 1
/obj/item/stack/proc/use(var/used)
if (!can_use(used))
return 0
- amount -= used
- if (amount <= 0)
- spawn(0) //delete the empty stack once the current context yields
- if (amount <= 0) //check again in case someone transferred stuff to us
- if(usr)
- usr.before_take_item(src)
- del(src)
- return 1
+ if(!uses_charge)
+ amount -= used
+ if (amount <= 0)
+ spawn(0) //delete the empty stack once the current context yields
+ if (amount <= 0) //check again in case someone transferred stuff to us
+ if(usr)
+ usr.before_take_item(src)
+ del(src)
+ return 1
+ else
+ if(get_amount() < used)
+ return 0
+ for(var/i = 1 to uses_charge)
+ var/datum/matter_synth/S = synths[i]
+ S.use_charge(charge_costs[i] * used) // Doesn't need to be deleted
+ return 1
+ return 0
/obj/item/stack/proc/add(var/extra)
- if(amount + extra > max_amount)
+ if(!uses_charge)
+ if(amount + extra > get_max_amount())
+ return 0
+ else
+ amount += extra
+ return 1
+ else if(!synths || synths.len < uses_charge)
return 0
else
- amount += extra
- return 1
+ for(var/i = 1 to uses_charge)
+ var/datum/matter_synth/S = synths[i]
+ S.add_charge(charge_costs[i] * extra)
/*
The transfer and split procs work differently than use() and add().
@@ -196,16 +220,16 @@
//attempts to transfer amount to S, and returns the amount actually transferred
/obj/item/stack/proc/transfer_to(obj/item/stack/S, var/tamount=null)
- if (!amount)
+ if (!get_amount())
return 0
if (stacktype != S.stacktype)
return 0
if (isnull(tamount))
- tamount = src.amount
+ tamount = src.get_amount()
- var/transfer = max(min(tamount, src.amount, (S.max_amount - S.amount)), 0)
+ var/transfer = max(min(tamount, src.get_amount(), (S.get_max_amount() - S.get_amount())), 0)
- var/orig_amount = src.amount
+ var/orig_amount = src.get_amount()
if (transfer && src.use(transfer))
S.add(transfer)
if (prob(transfer/orig_amount * 100))
@@ -220,6 +244,8 @@
/obj/item/stack/proc/split(var/tamount)
if (!amount)
return null
+ if(uses_charge)
+ return null
var/transfer = max(min(tamount, src.amount, initial(max_amount)), 0)
@@ -234,8 +260,31 @@
return null
/obj/item/stack/proc/get_amount()
+ if(uses_charge)
+ if(!synths || synths.len < uses_charge)
+ return 0
+ var/datum/matter_synth/S = synths[1]
+ . = round(S.get_charge() / charge_costs[1])
+ if(uses_charge > 1)
+ for(var/i = 2 to uses_charge)
+ S = synths[i]
+ . = min(., round(S.get_charge() / charge_costs[i]))
+ return
return amount
+/obj/item/stack/proc/get_max_amount()
+ if(uses_charge)
+ if(!synths || synths.len < uses_charge)
+ return 0
+ var/datum/matter_synth/S = synths[1]
+ . = round(S.max_energy / charge_costs[1])
+ if(uses_charge > 1)
+ for(var/i = 2 to uses_charge)
+ S = synths[i]
+ . = min(., round(S.max_energy / charge_costs[i]))
+ return
+ return max_amount
+
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
for (var/obj/item/stack/item in usr.loc)
if (item==src)
diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm
index 7816c45f53..3215d0efaf 100644
--- a/code/game/objects/items/stacks/tiles/plasteel.dm
+++ b/code/game/objects/items/stacks/tiles/plasteel.dm
@@ -3,14 +3,12 @@
singular_name = "floor tile"
desc = "Those could work as a pretty decent throwing weapon"
icon_state = "tile"
- w_class = 3.0
force = 6.0
matter = list("metal" = 937.5)
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
- max_amount = 60
/obj/item/stack/tile/plasteel/New(var/loc, var/amount=null)
..()
@@ -18,6 +16,16 @@
src.pixel_y = rand(1, 14)
return
+/obj/item/stack/tile/plasteel/cyborg
+ name = "floor tile synthesizer"
+ desc = "A device that makes floor tiles."
+ gender = NEUTER
+ matter = null
+ uses_charge = 1
+ charge_costs = list(250)
+ stacktype = /obj/item/stack/tile/plasteel
+ build_type = /obj/item/stack/tile/plasteel
+
/*
/obj/item/stack/tile/plasteel/attack_self(mob/user as mob)
if (usr.stat)
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 7ad6abdd60..dcac154442 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -1,9 +1,18 @@
/* Diffrent misc types of tiles
* Contains:
+ * Prototype
* Grass
* Wood
* Carpet
*/
+
+/obj/item/stack/tile
+ name = "tile"
+ singular_name = "tile"
+ desc = "A non-descript floor tile"
+ w_class = 3
+ max_amount = 60
+ var/build_type = null
/*
* Grass
@@ -13,13 +22,11 @@
singular_name = "grass floor tile"
desc = "A patch of grass like they often use on golf courses."
icon_state = "tile_grass"
- w_class = 3.0
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
- max_amount = 60
origin_tech = "biotech=1"
/*
@@ -30,13 +37,19 @@
singular_name = "wood floor tile"
desc = "An easy to fit wooden floor tile."
icon_state = "tile-wood"
- w_class = 3.0
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
- max_amount = 60
+
+/obj/item/stack/tile/wood/cyborg
+ name = "wood floor tile synthesizer"
+ desc = "A device that makes wood floor tiles."
+ uses_charge = 1
+ charge_costs = list(250)
+ stacktype = /obj/item/stack/tile/wood
+ build_type = /obj/item/stack/tile/wood
/*
* Carpets
@@ -46,10 +59,8 @@
singular_name = "carpet"
desc = "A piece of carpet. It is the same size as a normal floor tile!"
icon_state = "tile-carpet"
- w_class = 3.0
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
- max_amount = 60
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index e9b7a54562..e248c96aaf 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -6,6 +6,7 @@
* Toy gun
* Toy crossbow
* Toy swords
+ * Toy bosun's whistle
* Toy mechs
* Crayons
* Snap pops
@@ -13,6 +14,9 @@
* Therapy dolls
* Toddler doll
* Inflatable duck
+ * Action figures
+ * Plushies
+ * Toy cult sword
*/
@@ -98,7 +102,7 @@
icon_state = "syndballoon"
item_state = "syndballoon"
w_class = 4.0
-
+
/obj/item/toy/nanotrasenballoon
name = "criminal balloon"
desc = "Across the balloon the following is printed: \"Man, I love NT soooo much. I use only NanoTrasen products. You have NO idea.\""
@@ -498,6 +502,22 @@
if(..(user, 0))
user << text("\icon[] [] units of water left!", src, src.reagents.total_volume)
+/*
+ * Bosun's whistle
+ */
+
+ /obj/item/toy/bosunwhistle
+ name = "bosun's whistle"
+ desc = "A genuine Admiral Krush Bosun's Whistle, for the aspiring ship's captain! Suitable for ages 8 and up, do not swallow."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "bosunwhistle"
+ var/cooldown = 0
+
+/obj/item/toy/bosunwhistle/attack_self(mob/user as mob)
+ if(cooldown < world.time - 35)
+ user << "You blow on [src], creating an ear-splitting noise!"
+ playsound(user, 'sound/misc/boatswain.ogg', 20, 1)
+ cooldown = world.time
/*
* Mech prizes
@@ -542,7 +562,6 @@
desc = "Mini-Mecha action figure! Collect them all! 4/11."
icon_state = "gygaxtoy"
-
/obj/item/toy/prize/durand
name = "toy durand"
desc = "Mini-Mecha action figure! Collect them all! 5/11."
@@ -578,6 +597,206 @@
desc = "Mini-Mecha action figure! Collect them all! 11/11."
icon_state = "phazonprize"
+/*
+ * Action figures
+ */
+
+/obj/item/toy/figure
+ name = "Completely Glitched action figure"
+ desc = "A \"Space Life\" brand... wait, what the hell is this thing? It seems to be requesting the sweet release of death."
+ icon_state = "assistant"
+ icon = 'icons/obj/toy.dmi'
+
+/obj/item/toy/figure/cmo
+ name = "Chief Medical Officer action figure"
+ desc = "A \"Space Life\" brand Chief Medical Officer action figure."
+ icon_state = "cmo"
+
+/obj/item/toy/figure/assistant
+ name = "Assistant action figure"
+ desc = "A \"Space Life\" brand Assistant action figure."
+ icon_state = "assistant"
+
+/obj/item/toy/figure/atmos
+ name = "Atmospheric Technician action figure"
+ desc = "A \"Space Life\" brand Atmospheric Technician action figure."
+ icon_state = "atmos"
+
+/obj/item/toy/figure/bartender
+ name = "Bartender action figure"
+ desc = "A \"Space Life\" brand Bartender action figure."
+ icon_state = "bartender"
+
+/obj/item/toy/figure/borg
+ name = "Cyborg action figure"
+ desc = "A \"Space Life\" brand Cyborg action figure."
+ icon_state = "borg"
+
+/obj/item/toy/figure/gardener
+ name = "Gardener action figure"
+ desc = "A \"Space Life\" brand Gardener action figure."
+ icon_state = "botanist"
+
+/obj/item/toy/figure/captain
+ name = "Captain action figure"
+ desc = "A \"Space Life\" brand Captain action figure."
+ icon_state = "captain"
+
+/obj/item/toy/figure/cargotech
+ name = "Cargo Technician action figure"
+ desc = "A \"Space Life\" brand Cargo Technician action figure."
+ icon_state = "cargotech"
+
+/obj/item/toy/figure/ce
+ name = "Chief Engineer action figure"
+ desc = "A \"Space Life\" brand Chief Engineer action figure."
+ icon_state = "ce"
+
+/obj/item/toy/figure/chaplain
+ name = "Chaplain action figure"
+ desc = "A \"Space Life\" brand Chaplain action figure."
+ icon_state = "chaplain"
+
+/obj/item/toy/figure/chef
+ name = "Chef action figure"
+ desc = "A \"Space Life\" brand Chef action figure."
+ icon_state = "chef"
+
+/obj/item/toy/figure/chemist
+ name = "Chemist action figure"
+ desc = "A \"Space Life\" brand Chemist action figure."
+ icon_state = "chemist"
+
+/obj/item/toy/figure/clown
+ name = "Clown action figure"
+ desc = "A \"Space Life\" brand Clown action figure."
+ icon_state = "clown"
+
+/obj/item/toy/figure/corgi
+ name = "Corgi action figure"
+ desc = "A \"Space Life\" brand Corgi action figure."
+ icon_state = "ian"
+
+/obj/item/toy/figure/detective
+ name = "Detective action figure"
+ desc = "A \"Space Life\" brand Detective action figure."
+ icon_state = "detective"
+
+/obj/item/toy/figure/dsquad
+ name = "Space Commando action figure"
+ desc = "A \"Space Life\" brand Space Commando action figure."
+ icon_state = "dsquad"
+
+/obj/item/toy/figure/engineer
+ name = "Engineer action figure"
+ desc = "A \"Space Life\" brand Engineer action figure."
+ icon_state = "engineer"
+
+/obj/item/toy/figure/geneticist
+ name = "Geneticist action figure"
+ desc = "A \"Space Life\" brand Geneticist action figure, which was recently dicontinued."
+ icon_state = "geneticist"
+
+/obj/item/toy/figure/hop
+ name = "Head of Personel action figure"
+ desc = "A \"Space Life\" brand Head of Personel action figure."
+ icon_state = "hop"
+
+/obj/item/toy/figure/hos
+ name = "Head of Security action figure"
+ desc = "A \"Space Life\" brand Head of Security action figure."
+ icon_state = "hos"
+
+/obj/item/toy/figure/qm
+ name = "Quartermaster action figure"
+ desc = "A \"Space Life\" brand Quartermaster action figure."
+ icon_state = "qm"
+
+/obj/item/toy/figure/janitor
+ name = "Janitor action figure"
+ desc = "A \"Space Life\" brand Janitor action figure."
+ icon_state = "janitor"
+
+/obj/item/toy/figure/agent
+ name = "Internal Affairs Agent action figure"
+ desc = "A \"Space Life\" brand Internal Affairs Agent action figure."
+ icon_state = "agent"
+
+/obj/item/toy/figure/librarian
+ name = "Librarian action figure"
+ desc = "A \"Space Life\" brand Librarian action figure."
+ icon_state = "librarian"
+
+/obj/item/toy/figure/md
+ name = "Medical Doctor action figure"
+ desc = "A \"Space Life\" brand Medical Doctor action figure."
+ icon_state = "md"
+
+/obj/item/toy/figure/mime
+ name = "Mime action figure"
+ desc = "A \"Space Life\" brand Mime action figure."
+ icon_state = "mime"
+
+/obj/item/toy/figure/miner
+ name = "Shaft Miner action figure"
+ desc = "A \"Space Life\" brand Shaft Miner action figure."
+ icon_state = "miner"
+
+/obj/item/toy/figure/ninja
+ name = "Space Ninja action figure"
+ desc = "A \"Space Life\" brand Space Ninja action figure."
+ icon_state = "ninja"
+
+/obj/item/toy/figure/wizard
+ name = "Wizard action figure"
+ desc = "A \"Space Life\" brand Wizard action figure."
+ icon_state = "wizard"
+
+/obj/item/toy/figure/rd
+ name = "Research Director action figure"
+ desc = "A \"Space Life\" brand Research Director action figure."
+ icon_state = "rd"
+
+/obj/item/toy/figure/roboticist
+ name = "Roboticist action figure"
+ desc = "A \"Space Life\" brand Roboticist action figure."
+ icon_state = "roboticist"
+
+/obj/item/toy/figure/scientist
+ name = "Scientist action figure"
+ desc = "A \"Space Life\" brand Scientist action figure."
+ icon_state = "scientist"
+
+/obj/item/toy/figure/syndie
+ name = "Doom Operative action figure"
+ desc = "A \"Space Life\" brand Doom Operative action figure."
+ icon_state = "syndie"
+
+/obj/item/toy/figure/secofficer
+ name = "Security Officer action figure"
+ desc = "A \"Space Life\" brand Security Officer action figure."
+ icon_state = "secofficer"
+
+/obj/item/toy/figure/warden
+ name = "Warden action figure"
+ desc = "A \"Space Life\" brand Warden action figure."
+ icon_state = "warden"
+
+/obj/item/toy/figure/psychologist
+ name = "Psychologist action figure"
+ desc = "A \"Space Life\" brand Psychologist action figure."
+ icon_state = "psychologist"
+
+/obj/item/toy/figure/paramedic
+ name = "Paramedic action figure"
+ desc = "A \"Space Life\" brand Paramedic action figure."
+ icon_state = "paramedic"
+
+/obj/item/toy/figure/ert
+ name = "Emergency Response Team Commander action figure"
+ desc = "A \"Space Life\" brand Emergency Response Team Commander action figure."
+ icon_state = "ert"
+
/obj/item/toy/katana
name = "replica katana"
desc = "Woefully underpowered in D20."
@@ -639,6 +858,106 @@
item_state = "egg3" // It's the green egg in items_left/righthand
w_class = 1
+/*
+ * Plushies
+ */
+
+//Large plushies.
+/obj/structure/plushie
+ name = "generic plush"
+ desc = "A very generic plushie. It seems to not want to exist."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "ianplushie"
+ anchored = 0
+ density = 1
+ var/phrase = "I don't want to exist anymore!"
+
+/obj/structure/plushie/attack_hand(mob/user)
+ if(user.a_intent == "help")
+ user.visible_message("[user] hugs [src]!","You hug [src]!")
+ else if (user.a_intent == "hurt")
+ user.visible_message("[user] punches [src]!","You punch [src]!")
+ else if (user.a_intent == "grab")
+ user.visible_message("[user] attempts to strangle [src]!","You attempt to strangle [src]!")
+ else
+ user.visible_message("[user] pokes the [src].","You poke the [src].")
+ visible_message("[src] says, \"[phrase]\"")
+
+/obj/structure/plushie/ian
+ name = "plush corgi"
+ desc = "A plushie of an adorable corgi! Don't you just want to hug it and squeeze it and call it \"Ian\"?"
+ icon_state = "ianplushie"
+ phrase = "Arf!"
+
+/obj/structure/plushie/drone
+ name = "plush drone"
+ desc = "A plushie of a happy drone! It appears to be smiling, and has a small tag which reads \"N.D.V. Icarus Gift Shop\"."
+ icon_state = "droneplushie"
+ phrase = "Beep boop!"
+
+/obj/structure/plushie/carp
+ name = "plush carp"
+ desc = "A plushie of an elated carp! Straight from the wilds of the Nyx frontier, now right here in your hands."
+ icon_state = "carpplushie"
+ phrase = "Glorf!"
+
+/obj/structure/plushie/beepsky
+ name = "plush Officer Sweepsky"
+ desc = "A plushie of a popular industrious cleaning robot! If it could feel emotions, it would love you."
+ icon_state = "beepskyplushie"
+ phrase = "Ping!"
+
+//Small plushies.
+/obj/item/toy/plushie
+ name = "generic small plush"
+ desc = "A very generic small plushie. It seems to not want to exist."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "nymphplushie"
+
+/obj/item/toy/plushie/attack_self(mob/user as mob)
+ if(user.a_intent == "help")
+ user.visible_message("[user] hugs [src]!","You hug [src]!")
+ else if (user.a_intent == "hurt")
+ user.visible_message("[user] punches [src]!","You punch [src]!")
+ else if (user.a_intent == "grab")
+ user.visible_message("[user] attempts to strangle [src]!","You attempt to strangle [src]!")
+ else
+ user.visible_message("[user] pokes the [src].","You poke the [src].")
+
+/obj/item/toy/plushie/nymph
+ name = "diona nymph plush"
+ desc = "A plushie of an adorable diona nymph! While its level of self-awareness is still being debated, its level of cuteness is not."
+ icon_state = "nymphplushie"
+
+/obj/item/toy/plushie/mouse
+ name = "mouse plush"
+ desc = "A plushie of a delightful mouse! What was once considered a vile rodent is now your very best friend."
+ icon_state = "mouseplushie"
+
+/obj/item/toy/plushie/kitten
+ name = "kitten plush"
+ desc = "A plushie of a cute kitten! Watch as it purrs it's way right into your heart."
+ icon_state = "kittenplushie"
+
+/obj/item/toy/plushie/lizard
+ name = "lizard plush"
+ desc = "A plushie of a scaly lizard! Very controversial, after being accused as \"racist\" by some Unathi."
+ icon_state = "lizardplushie"
+
+/obj/item/toy/plushie/spider
+ name = "spider plush"
+ desc = "A plushie of a fuzzy spider! It has eight legs - all the better to hug you with."
+ icon_state = "spiderplushie"
+
+//Toy cult sword
+/obj/item/toy/cultsword
+ name = "foam sword"
+ desc = "An arcane weapon (made of foam) wielded by the followers of the hit Saturday morning cartoon \"King Nursee and the Acolytes of Heroism\"."
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "cultblade"
+ item_state = "cultblade"
+ w_class = 4
+ attack_verb = list("attacked", "slashed", "stabbed", "poked")
/* NYET.
/obj/item/weapon/toddler
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index f2bc1c3b88..67e322496c 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -118,7 +118,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
reagents.reaction(C)
else // else just remove some of the reagents
reagents.remove_any(REAGENTS_METABOLISM)
- return
/obj/item/clothing/mask/smokable/proc/light(var/flavor_text = "[usr] lights the [name].")
if(!src.lit)
@@ -304,6 +303,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/cigar/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
+ user.update_inv_wear_mask(0)
+ user.update_inv_l_hand(0)
+ user.update_inv_r_hand(1)
+
/////////////////
//SMOKING PIPES//
/////////////////
@@ -376,6 +379,23 @@ CIGARETTE PACKETS ARE IN FANCY.DM
name = "[G.name]-packed [initial(name)]"
del(G)
+ else if(istype(W, /obj/item/weapon/flame/lighter))
+ var/obj/item/weapon/flame/lighter/L = W
+ if(L.lit)
+ light("[user] manages to light their [name] with [W].")
+
+ else if(istype(W, /obj/item/weapon/flame/match))
+ var/obj/item/weapon/flame/match/M = W
+ if(M.lit)
+ light("[user] lights their [name] with their [W].")
+
+ else if(istype(W, /obj/item/device/assembly/igniter))
+ light("[user] fiddles with [W], and manages to light their [name] with the power of science.")
+
+ user.update_inv_wear_mask(0)
+ user.update_inv_l_hand(0)
+ user.update_inv_r_hand(1)
+
/obj/item/clothing/mask/smokable/pipe/cobpipe
name = "corn cob pipe"
desc = "A nicotine delivery system popularized by folksy backwoodsmen, kept popular in the modern age and beyond by space hipsters."
diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm
index 6241bd5051..437daa86bb 100644
--- a/code/game/objects/items/weapons/cosmetics.dm
+++ b/code/game/objects/items/weapons/cosmetics.dm
@@ -71,6 +71,7 @@
name = "purple comb"
desc = "A pristine purple comb made from flexible plastic."
w_class = 1.0
+ icon = 'icons/obj/items.dmi'
icon_state = "purplecomb"
item_state = "purplecomb"
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 8f54b76717..518d615552 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -16,15 +16,30 @@
var/damtype = "brute"
var/force = 0
-/obj/Topic(href, href_list, var/nowindow = 0, var/checkrange = 1)
+/obj/Topic(href, href_list, var/nowindow = 0, var/datum/topic_state/custom_state)
// Calling Topic without a corresponding window open causes runtime errors
if(!nowindow && ..())
return 1
- if(usr.can_interact_with_interface(nano_host(), checkrange) != STATUS_INTERACTIVE)
- return 1
- add_fingerprint(usr)
- return 0
+ if(!custom_state)
+ custom_state = default_state
+
+ // In the far future no checks are made in an overriding Topic() beyond if(..()) return
+ // Instead any such checks are made in CanUseTopic()
+ var/obj/host = nano_host()
+ if(host.CanUseTopic(usr, href_list, custom_state) == STATUS_INTERACTIVE)
+ CouldUseTopic(usr)
+ return 0
+
+ CouldNotUseTopic(usr)
+ return 1
+
+/obj/proc/CouldUseTopic(var/mob/user)
+ var/atom/host = nano_host()
+ host.add_fingerprint(user)
+
+/obj/proc/CouldNotUseTopic(var/mob/user)
+ // Nada
/obj/item/proc/is_used_on(obj/O, mob/user)
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index b5ccacb8dd..57e9351595 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -225,4 +225,18 @@
prob(2);/obj/item/clothing/suit/storage/vest/heavy/hos,\
prob(2);/obj/item/clothing/suit/storage/vest/heavy/pcrc)
+/obj/random/plushie
+ name = "random plushie"
+ desc = "This is a random plushie."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "nymphplushie"
+ item_to_spawn()
+ return pick(/obj/structure/plushie/ian,\
+ /obj/structure/plushie/drone,\
+ /obj/structure/plushie/carp,\
+ /obj/structure/plushie/beepsky,\
+ /obj/item/toy/plushie/nymph,\
+ /obj/item/toy/plushie/mouse,\
+ /obj/item/toy/plushie/kitten,\
+ /obj/item/toy/plushie/lizard)
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 62facb8e4d..a821cde4ae 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -519,7 +519,10 @@ turf/simulated/floor/proc/update_icon()
var/obj/item/stack/tile/T = C
if (T.get_amount() < 1)
return
- floor_type = T.type
+ if(!T.build_type)
+ floor_type = T.type
+ else
+ floor_type = T.build_type
intact = 1
if(istype(T,/obj/item/stack/tile/light))
var/obj/item/stack/tile/light/L = T
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 1d5e0f7b05..e912458079 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -292,7 +292,7 @@
if("monkey") M.change_mob_type( /mob/living/carbon/monkey , null, null, delmob )
if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob )
if("cat") M.change_mob_type( /mob/living/simple_animal/cat , null, null, delmob )
- if("runtime") M.change_mob_type( /mob/living/simple_animal/cat/Runtime , null, null, delmob )
+ if("runtime") M.change_mob_type( /mob/living/simple_animal/cat/fluff/Runtime , null, null, delmob )
if("corgi") M.change_mob_type( /mob/living/simple_animal/corgi , null, null, delmob )
if("ian") M.change_mob_type( /mob/living/simple_animal/corgi/Ian , null, null, delmob )
if("crab") M.change_mob_type( /mob/living/simple_animal/crab , null, null, delmob )
diff --git a/code/modules/admin/verbs/icarus.dm b/code/modules/admin/verbs/icarus.dm
index cccda899b3..1f9b2dd4c4 100644
--- a/code/modules/admin/verbs/icarus.dm
+++ b/code/modules/admin/verbs/icarus.dm
@@ -3,11 +3,13 @@
set desc = "Fires a laser bolt at your position. You should only do this as a(n) (a)ghost"
set category = "Fun"
+ var/turf/target = get_turf(src.mob)
+ admin_log_and_message_admins("has fired the Icarus point defense laser at [target.x]-[target.y]-[target.z]")
if(!src.holder)
src << "Only administrators may use this command."
return
- Icarus_FireLaser(get_turf(src.mob))
+ Icarus_FireLaser(target)
/client/proc/FireCannons()
@@ -15,11 +17,13 @@
set desc = "Fires an explosive missile at your position. You should only do this as a(n) (a)ghost."
set category = "Fun"
+ var/turf/target = get_turf(src.mob)
+ admin_log_and_message_admins("has fired the Icarus main gun projectile at [target.x]-[target.y]-[target.z]")
if(!src.holder)
src << "Only administrators may use this command."
return
- Icarus_FireCannon(get_turf(src.mob))
+ Icarus_FireCannon(target)
/client/proc/ChangeIcarusPosition()
@@ -27,6 +31,7 @@
set desc = "Lets you chose the position of the Icarus in regards to the map."
set category = "Fun"
+ admin_log_and_message_admins("is changing the Icarus position.")
if(!src.holder)
src << "Only administrators may use this command."
return
@@ -122,4 +127,4 @@ proc/Icarus_SetPosition(var/user)
if(!direction)
return
- icarus_position = directions[direction]
\ No newline at end of file
+ icarus_position = directions[direction]
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 95593385a0..781d88feb5 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -1412,12 +1412,6 @@
////////////////////////////// Foxler - Erstatz Vryroxes /////////////////////////////////////////////////
-/obj/item/weapon/holder/cat/fluff/bones
- name = "Bones"
- desc = "It's Bones! Meow."
- gender = MALE
- icon_state = "cat3"
-
//Use this subtype for spawning in the custom item.
/obj/item/weapon/holder/cat/fluff/bones/custom_item
@@ -1426,6 +1420,12 @@
new/mob/living/simple_animal/cat/fluff/bones (src)
..()
+/obj/item/weapon/holder/cat/fluff/bones
+ name = "Bones"
+ desc = "It's Bones! Meow."
+ gender = MALE
+ icon_state = "cat3"
+
/mob/living/simple_animal/cat/fluff/bones
name = "Bones"
desc = "That's Bones the cat. He's a laid back, black cat. Meow."
@@ -1434,61 +1434,12 @@
icon_living = "cat3"
icon_dead = "cat3_dead"
holder_type = /obj/item/weapon/holder/cat/fluff/bones
- bff_name = "Erstatz Vryroxes"
+ var/friend_name = "Erstatz Vryroxes"
-/mob/living/simple_animal/cat/fluff
- var/bff_name
- var/mob/living/carbon/human/bff
-
-/mob/living/simple_animal/cat/fluff/handle_movement_target()
- if (!bff)
+/mob/living/simple_animal/cat/fluff/bones/handle_movement_target()
+ if (!friend)
for (var/mob/living/carbon/human/M in player_list)
- if (M.real_name == bff_name)
- bff = M
+ if (M.real_name == friend_name)
+ friend = M
break
-
- if (bff)
- var/follow_dist = 5
- if (bff.stat >= DEAD || bff.health <= config.health_threshold_softcrit) //danger
- follow_dist = 1
- else if (bff.stat || bff.health <= 50) //danger or just sleeping
- follow_dist = 2
- var/near_dist = max(follow_dist - 3, 1)
- var/current_dist = get_dist(src, bff)
-
- if (movement_target != bff)
- if (current_dist > follow_dist && !istype(movement_target, /mob/living/simple_animal/mouse) && (bff in oview(src)))
- //stop existing movement
- walk_to(src,0)
- turns_since_scan = 0
-
- //walk to bff
- stop_automated_movement = 1
- movement_target = bff
- walk_to(src, movement_target, near_dist, 4)
-
- //already following and close enough, stop
- else if (current_dist <= near_dist)
- walk_to(src,0)
- movement_target = null
- stop_automated_movement = 0
-
- if (!(bff && movement_target == bff))
- ..()
-
-/mob/living/simple_animal/cat/fluff/Life()
..()
- if (stat || !bff)
- return
- if (get_dist(src, bff) <= 1)
- if (bff.stat >= DEAD || bff.health <= config.health_threshold_softcrit)
- if (prob((bff.stat < DEAD)? 50 : 15))
- audible_emote(pick("meows in distress.", "meows anxiously."))
- else
- if (prob(5))
- visible_emote(pick("nuzzles [bff].",
- "brushes against [bff].",
- "rubs against [bff].",
- "purrs."))
- else if (bff.health <= 50)
- if (prob(10)) audible_emote("meows anxiously.")
diff --git a/code/modules/examine/descriptions/atmospherics.dm b/code/modules/examine/descriptions/atmospherics.dm
new file mode 100644
index 0000000000..e01600aa6d
--- /dev/null
+++ b/code/modules/examine/descriptions/atmospherics.dm
@@ -0,0 +1,166 @@
+/obj/machinery/atmospherics/pipe
+ description_info = "This pipe, and all other pipes, can be connected or disconnected by a wrench. The internal pressure of the pipe must \
+ be below 300 kPa to do this. More pipes can be obtained from the pipe dispenser."
+
+/obj/machinery/atmospherics/pipe/New() //This is needed or else 20+ lines of copypasta to dance around inheritence.
+ ..()
+ description_info += "
Most pipes and atmospheric devices can be connected or disconnected with a wrench. The pipe's pressure must not be too high, \
+ or if it is a device, it must be turned off first."
+
+//HE pipes
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging
+ description_info = "This radiates heat from the pipe's gas to space, cooling it down."
+
+//Supply/Scrubber pipes
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers
+ description_info = "This is a special 'scrubber' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/simple/visible/supply
+ description_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/simple/hidden/supply
+ description_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers
+ description_info = "This is a special 'scrubber' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+//Universal adapters
+/obj/machinery/atmospherics/pipe/simple/visible/universal
+ description_info = "This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes."
+
+/obj/machinery/atmospherics/pipe/simple/hidden/universal
+ description_info = "This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes."
+
+//Three way manifolds
+/obj/machinery/atmospherics/pipe/manifold
+ description_info = "A normal pipe with three ends to connect to."
+
+/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers
+ description_info = "This is a special 'scrubber' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/manifold/visible/supply
+ description_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers
+ description_info = "This is a special 'scrubber' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply
+ description_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+//Insulated pipes
+/obj/machinery/atmospherics/pipe/simple/insulated
+ description_info = "This is completely useless, use a normal pipe." //Sorry, but it's true.
+
+//Four way manifolds
+/obj/machinery/atmospherics/pipe/manifold4w
+ description_info = "This is a four-way pipe."
+
+/obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers
+ description_info = "This is a special 'scrubber' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply
+ description_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers
+ description_info = "This is a special 'scrubber' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \
+ a Universal Adapter pipe."
+
+//Endcaps
+/obj/machinery/atmospherics/pipe/cap
+ description_info = "This is a cosmetic attachment, as pipes currently do not spill their contents into the air."
+
+//T-shaped valves
+/obj/machinery/atmospherics/tvalve
+ description_info = "Click this to toggle the mode. The direction with the green light is where the gas will flow."
+
+//Normal valves
+/obj/machinery/atmospherics/valve
+ description_info = "Click this to turn the valve. If red, the pipes on each end are seperated. Otherwise, they are connected."
+
+//TEG ports
+/obj/machinery/atmospherics/binary/circulator
+ description_info = "This generates electricity, depending on the difference in temperature between each side of the machine. The meter in \
+ the center of the machine gives an indicator of how much elecrtricity is being generated."
+
+//Passive gates
+/obj/machinery/atmospherics/binary/passive_gate
+ description_info = "This is a one-way regulator, allowing gas to flow only at a specific pressure and flow rate. If the light is green, it is flowing."
+
+//Normal pumps (high power one inherits from this)
+/obj/machinery/atmospherics/binary/pump
+ description_info = "This moves gas from one pipe to another. A higher target pressure demands more energy. The side with the red end is the output."
+
+//Vents
+/obj/machinery/atmospherics/unary/vent_pump
+ description_info = "This pumps the contents of the attached pipe out into the atmosphere, if needed. It can be controlled from an Air Alarm."
+
+//Freezers
+/obj/machinery/atmospherics/unary/freezer
+ description_info = "Cools down the gas of the pipe it is connected to. It uses massive amounts of electricity while on. \
+ It can be upgraded by replacing the capacitors, manipulators, and matter bins. It can be deconstructed by screwing the maintenance panel open with a \
+ screwdriver, and then using a crowbar."
+
+//Heaters
+/obj/machinery/atmospherics/unary/heater
+ description_info = "Heats up the gas of the pipe it is connected to. It uses massive amounts of electricity while on. \
+ It can be upgraded by replacing the capacitors, manipulators, and matter bins. It can be deconstructed by screwing the maintenance panel open with a \
+ screwdriver, and then using a crowbar."
+
+//Gas injectors
+/obj/machinery/atmospherics/unary/outlet_injector
+ description_info = "Outputs the pipe's gas into the atmosphere, similar to an airvent. It can be controlled by a nearby atmospherics computer. \
+ A green light on it means it is on."
+
+//Scrubbers
+/obj/machinery/atmospherics/unary/vent_scrubber
+ description_info = "This filters the atmosphere of harmful gas. Filtered gas goes to the pipes connected to it, typically a scrubber pipe. \
+ It can be controlled from an Air Alarm. It can be configured to drain all air rapidly with a 'panic syphon' from an air alarm."
+
+//Omni filters
+/obj/machinery/atmospherics/omni/filter
+ description_info = "Filters gas from a custom input direction, with up to two filtered outputs and a 'everything else' \
+ output. The filtered output's arrows glow orange."
+
+//Omni mixers
+/obj/machinery/atmospherics/omni/mixer
+ description_info = "Combines gas from custom input and output directions. The percentage of combined gas can be defined."
+
+//Canisters
+/obj/machinery/portable_atmospherics/canister
+ description_info = "The canister can be connected to a connector port with a wrench. Tanks of gas (the kind you can hold in your hand) \
+ can be filled by the canister, by using the tank on the canister, increasing the release pressure, then opening the valve until it is full, and then close it. \
+ *DO NOT* remove the tank until the valve is closed. A gas analyzer can be used to check the contents of the canister."
+
+ description_antag = "Canisters can be damaged, spilling their contents into the air, or you can just leave the release valve open."
+
+//Portable pumps
+/obj/machinery/portable_atmospherics/powered/pump
+ description_info = "Invaluable for filling air in a room rapidly after a breach repair. The internal gas container can be filled by \
+ connecting it to a connector port. The pump can pump the air in (sucking) or out (blowing), at a specific target pressure. The powercell inside can be \
+ replaced by using a screwdriver, and then adding a new cell. A tank of gas can also be attached to the air pump."
+
+//Portable scrubbers
+/obj/machinery/portable_atmospherics/powered/scrubber
+ description_info = "Filters the air, placing harmful gases into the internal gas container. The container can be emptied by \
+ connecting it to a connector port. The pump can pump the air in (sucking) or out (blowing), at a specific target pressure. The powercell inside can be \
+ replaced by using a screwdriver, and then adding a new cell. A tank of gas can also be attached to the scrubber. "
+
+//Meters
+/obj/machinery/meter
+ description_info = "Measures the volume and temperature of the pipe under the meter."
+
+//Pipe dispensers
+/obj/machinery/pipedispenser
+ description_info = "This can be moved by using a wrench. You will need to wrench it again when you want to use it. You can put \
+ excess (atmospheric) pipes into the dispenser, as well. The dispenser requires electricity to function."
+
diff --git a/code/modules/examine/descriptions/engineering.dm b/code/modules/examine/descriptions/engineering.dm
new file mode 100644
index 0000000000..c3f9b9b21f
--- /dev/null
+++ b/code/modules/examine/descriptions/engineering.dm
@@ -0,0 +1,35 @@
+/obj/machinery/power/supermatter
+ description_info = "When energized by a laser (or something hitting it), it emits radiation and heat. If the heat reaches above 7000 kelvin, it will send an alert and start taking damage. \
+ After integrity falls to zero percent, it will delaminate, causing a massive explosion, station-wide radiation spikes, and hallucinations. \
+ Supermatter reacts badly to oxygen in the atmosphere. It'll also heat up really quick if it is in vacuum.
\
+
\
+ Supermatter cores are extremely dangerous to be close to, and requires protection to handle properly. The protection you will need is:
\
+ Optical meson scanners on your eyes, to prevent hallucinations when looking at the supermatter.
\
+ Radiation helmet and suit, as the supermatter is radioactive.
\
+
\
+ Touching the supermatter will result in *instant death*, with no corpse left behind! You can drag the supermatter, but anything else will kill you. \
+ It is advised to obtain a genetic backup before trying to drag it."
+
+ description_antag = "Exposing the supermatter to oxygen or vaccum will cause it to start rapidly heating up. Sabotaging the supermatter and making it explode will \
+ cause a period of lag as the explosion is processed by the server, as well as irradiating the entire station and causing hallucinations to happen. \
+ Wearing radiation equipment will protect you from most of the delamination effects sans explosion."
+
+/obj/machinery/power/apc
+ description_info = "An APC (Area Power Controller) regulates and supplies backup power for the area they are in. Their power channels are divided \
+ out into 'environmental' (Items that manipulate airflow and temperature), 'lighting' (the lights), and 'equipment' (Everything else that consumes power). \
+ Power consumption and backup power cell charge can be seen from the interface, further controls (turning a specific channel on, off or automatic, \
+ toggling the APC's ability to charge the backup cell, or toggling power for the entire area via master breaker) first requires the interface to be unlocked \
+ with an ID with Engineering access or by one of the station's robots or the artificial intelligence."
+
+ description_antag = "This can be emagged to unlock it. It will cause the APC to have a blue error screen. \
+ Wires can be pulsed remotely with a signaler attached to it. A powersink will also drain any APCs connected to the same wire the powersink is on."
+
+/obj/item/inflatable
+ description_info = "Inflate by using it in your hand. The inflatable barrier will inflate on your tile. To deflate it, use the 'deflate' verb."
+
+/obj/structure/inflatable
+ description_info = "To remove these safely, use the 'deflate' verb. Hitting these with any objects will probably puncture and break it forever."
+
+/obj/structure/inflatable/door
+ description_info = "Click the door to open or close it. It only stops air while closed.
\
+ To remove these safely, use the 'deflate' verb. Hitting these with any objects will probably puncture and break it forever."
diff --git a/code/modules/examine/descriptions/mobs.dm b/code/modules/examine/descriptions/mobs.dm
new file mode 100644
index 0000000000..8197e6f3d1
--- /dev/null
+++ b/code/modules/examine/descriptions/mobs.dm
@@ -0,0 +1,8 @@
+/mob/living/silicon/robot/drone
+ description_info = "Drones are player-controlled synthetics which are lawed to maintain the station and not \
+ interact with anyone else, except for other drones. They hold a wide array of tools to build, repair, maintain, and clean. \
+ They fuction similarly to other synthetics, in that they require recharging regularly, have laws, and are resilient to many hazards, \
+ such as fire, radiation, vacuum, and more. Ghosts can join the round as a maintenance drone by using the appropriate verb in the 'ghost' tab. \
+ An inactive drone can be rebooted by swiping an ID card on it with engineering or robotics access."
+
+ description_antag = "An Electromagnetic Sequencer can be used to subvert the drone to your cause."
\ No newline at end of file
diff --git a/code/modules/examine/descriptions/stacks.dm b/code/modules/examine/descriptions/stacks.dm
new file mode 100644
index 0000000000..431e5c37b9
--- /dev/null
+++ b/code/modules/examine/descriptions/stacks.dm
@@ -0,0 +1,24 @@
+/obj/item/stack/rods
+ description_info = "Made from metal sheets. You can build a grille by using it in your hand. \
+ Clicking on a floor without any tiles will reinforce the floor. You can make reinforced glass by combining rods and normal glass sheets."
+
+/obj/item/stack/sheet/glass
+ description_info = "Use in your hand to build a window. Can be upgraded to reinforced glass by adding metal rods, which are made from metal sheets."
+
+/obj/item/stack/sheet/glass/cyborg
+ description_info = "Use in your hand to build a window. Can be upgraded to reinforced glass by adding metal rods, which are made from metal sheets.
\
+ As a synthetic, you can acquire more sheets of glass by recharging."
+
+/obj/item/stack/sheet/glass/reinforced
+ description_info = "Use in your hand to build a window. Reinforced glass is much stronger against damage."
+
+/obj/item/stack/sheet/glass/reinforced/cyborg
+ description_info = "Use in your hand to build a window. Reinforced glass is much stronger against damage.
\
+ As a synthetic, you can gain more reinforced glass by recharging."
+
+/obj/item/stack/sheet/metal/cyborg
+ description_info = "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it.
\
+ You can replenish your supply of metal as a synthetic by recharging."
+
+/obj/item/stack/sheet
+ description_info = "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it."
\ No newline at end of file
diff --git a/code/modules/examine/descriptions/structures.dm b/code/modules/examine/descriptions/structures.dm
new file mode 100644
index 0000000000..fa46c1501f
--- /dev/null
+++ b/code/modules/examine/descriptions/structures.dm
@@ -0,0 +1,15 @@
+/obj/structure/girder
+ description_info = "Use metal sheets on this to build a normal wall. Adding plasteel instead will make a reinforced wall.
\
+ A false wall can be made by using a crowbar on this girder, and then adding metal or plasteel.
\
+ You can dismantle the grider with a wrench."
+
+/obj/structure/girder/reinforced
+ description_info = "Add another sheet of plasteel to finish."
+
+/obj/structure/grille
+ description_info = "A powered and knotted wire underneath this will cause the grille to shock anyone not wearing insulated gloves.
\
+ Wirecutters will turn the grille into metal rods instantly. Grilles are made with metal rods."
+
+/obj/structure/lattice
+ description_info = "Add a metal floor tile to build a floor on top of the lattice.
\
+ Lattices can be made by applying metal rods to a space tile."
diff --git a/code/modules/examine/descriptions/turfs.dm b/code/modules/examine/descriptions/turfs.dm
new file mode 100644
index 0000000000..cccc43e073
--- /dev/null
+++ b/code/modules/examine/descriptions/turfs.dm
@@ -0,0 +1,3 @@
+/turf/simulated/wall
+ description_info = "You can deconstruct this by welding it, and then wrenching the girder.
\
+ You can build a wall by using metal sheets and making a girder, then adding more metal or plasteel."
\ No newline at end of file
diff --git a/code/modules/examine/examine.dm b/code/modules/examine/examine.dm
new file mode 100644
index 0000000000..4e5539c0c5
--- /dev/null
+++ b/code/modules/examine/examine.dm
@@ -0,0 +1,71 @@
+/* This code is responsible for the examine tab. When someone examines something, it copies the examined object's description_info,
+ description_fluff, and description_antag, and shows it in a new tab.
+
+ In this file, some atom and mob stuff is defined here. It is defined here instead of in the normal files, to keep the whole system self-contained.
+ This means that this file can be unchecked, along with the other examine files, and can be removed entirely with no effort.
+*/
+
+
+/atom/
+ var/description_info = null //Helpful blue text.
+ var/description_fluff = null //Green text about the atom's fluff, if any exists.
+ var/description_antag = null //Malicious red text, for the antags.
+
+/atom/examine(mob/user)
+ ..()
+ user.description_holders["info"] = get_description_info()
+ user.description_holders["fluff"] = get_description_fluff()
+ if(user.mind && user.mind.special_role || isobserver(user)) //Runtime prevention, as ghosts don't have minds.
+ user.description_holders["antag"] = get_description_antag()
+
+ if(name) //This shouldn't be needed but I'm paranoid.
+ user.description_holders["name"] = "[src.name]" //\icon[src]
+
+ user.description_holders["icon"] = "\icon[src]"
+
+ if(desc)
+ user << desc
+ user.description_holders["desc"] = src.desc
+ else
+ user.description_holders["desc"] = null //This is needed, or else if you examine one thing with a desc, then another without, the panel will retain the first examined's desc.
+
+//Override these if you need special behaviour for a specific type.
+
+/atom/proc/get_description_info()
+ if(description_info)
+ return description_info
+ return
+
+/atom/proc/get_description_fluff()
+ if(description_fluff)
+ return description_fluff
+ return
+
+/atom/proc/get_description_antag()
+ if(description_antag)
+ return description_antag
+ return
+
+/mob/
+ var/description_holders[0]
+
+/mob/Stat()
+ ..()
+ if(statpanel("Examine"))
+ stat(null,"[description_holders["icon"]] [description_holders["name"]]") //The name, written in big letters.
+ stat(null,"[description_holders["desc"]]") //the default examine text.
+ if(description_holders["info"])
+ stat(null,"[description_holders["info"]]") //Blue, informative text.
+ if(description_holders["fluff"])
+ stat(null,"[description_holders["fluff"]]") //Yellow, fluff-related text.
+ if(description_holders["antag"])
+ stat(null,"[description_holders["antag"]]") //Red, malicious antag-related text
+
+/mob/living/get_description_fluff()
+ if(flavor_text) //Get flavor text for the green text.
+ return flavor_text
+ else //No flavor text? Try for hardcoded fluff instead.
+ return ..()
+
+/mob/living/carbon/human/get_description_fluff()
+ return print_flavor_text(0)
diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm
index 8e012d8517..cbedbec6bc 100644
--- a/code/modules/hydroponics/seed_datums.dm
+++ b/code/modules/hydroponics/seed_datums.dm
@@ -1635,7 +1635,7 @@ proc/populate_seed_list()
seed_noun = "data"
display_name = "runtimes"
packet_icon = "seed-replicapod"
- products = list(/mob/living/simple_animal/cat/Runtime)
+ products = list(/mob/living/simple_animal/cat/fluff/Runtime)
plant_icon = "replicapod"
requires_nutrients = 0
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 711b0594a1..653e33b2dd 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -208,6 +208,7 @@
return 1
//Attemps to remove an object on a mob. Will not move it to another area or such, just removes from the mob.
+//It does call u_equip() though. So it can drop items to the floor but only if src is human.
/mob/proc/remove_from_mob(var/obj/O)
src.u_equip(O)
if (src.client)
@@ -242,16 +243,7 @@
/** BS12's proc to get the item in the active hand. Couldn't find the /tg/ equivalent. **/
/mob/proc/equipped()
- if(issilicon(src))
- if(isrobot(src))
- if(src:module_active)
- return src:module_active
- else
- if (hand)
- return l_hand
- else
- return r_hand
- return
+ return get_active_hand() //TODO: get rid of this proc
/mob/living/carbon/human/proc/equip_if_possible(obj/item/W, slot, del_on_fail = 1) // since byond doesn't seem to have pointers, this seems like the best way to do this :/
//warning: icky code
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 3af8c2bdc6..5c047cd9dd 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1280,9 +1280,6 @@
else
return ..()
-/mob/living/carbon/human/get_descriptions_fluff()
- return print_flavor_text(0)
-
/mob/living/carbon/human/getDNA()
if(species.flags & NO_SCAN)
return null
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 8dd2e06067..23f90946bc 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -116,6 +116,7 @@
if(src.grabbed_by.len || src.buckled || !src.canmove || src==H)
accurate = 1 // certain circumstances make it impossible for us to evade punches
+ rand_damage = 5
// Process evasion and blocking
var/miss_type = 0
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index cb13034af5..83076373e4 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -38,9 +38,9 @@ emp_act
return -1 // complete projectile permutation
//Shrapnel
- if (P.can_embed())
+ if(P.can_embed())
var/armor = getarmor_organ(organ, "bullet")
- if(P.embed && prob(20 + max(P.damage - armor, -10)))
+ if(prob(20 + max(P.damage - armor, -10)))
var/obj/item/weapon/shard/shrapnel/SP = new()
SP.name = (P.name != "shrapnel")? "[P.name] shrapnel" : "shrapnel"
SP.desc = "[SP.desc] It looks like it was fired from [P.shot_from]."
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 5493c5d603..44b212694e 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -771,13 +771,7 @@ It can still be worn/put on as normal.
if(slot_to_process)
if(strip_item) //Stripping an item from the mob
var/obj/item/W = strip_item
- target.u_equip(W)
- if (target.client)
- target.client.screen -= W
- if (W)
- W.loc = target.loc
- W.layer = initial(W.layer)
- W.dropped(target)
+ target.remove_from_mob(W)
W.add_fingerprint(source)
if(slot_to_process == slot_l_store) //pockets! Needs to process the other one too. Snowflake code, wooo! It's not like anyone will rewrite this anytime soon. If I'm wrong then... CONGRATULATIONS! ;)
if(target.r_store)
diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm
index c98e3788c0..d033e70610 100644
--- a/code/modules/mob/living/carbon/human/unarmed_attack.dm
+++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm
@@ -64,7 +64,7 @@
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour)
if("l_leg", "l_foot", "r_leg", "r_foot")
if(!target.lying)
- target.visible_message("[src] gives way slightly.")
+ target.visible_message("[target] gives way slightly.")
target.apply_effect(attack_damage*3, AGONY, armour)
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armour < 2) // Chance to get the usual throwdown as well (25% standard chance)
if(!target.lying)
@@ -118,22 +118,28 @@
user.visible_message("[user] slapped [target] across \his cheek!")
if(3 to 4)
user.visible_message(pick(
- 80; "[user] [pick(attack_verb)] [target] in the head!", //striking someone with a 'closed fist' is called punching them.
- 20; "[user] struck [target] in the head[pick("", " with a closed fist")]!"
+ 40; "[user] [pick(attack_verb)] [target] in the head!",
+ 30; "[user] struck [target] in the head[pick("", " with a closed fist")]!",
+ 30; "[user] threw a hook against [target]'s head!"
))
if(5)
user.visible_message(pick(
- 10; "[user] gave [target] a resounding slap to the face!",
- 90; "[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!"
+ 30; "[user] gave [target] a resounding [pick("slap", "punch")] to the face!",
+ 40; "[user] smashed \his [pick(attack_noun)] into [target]'s face!",
+ 30; "[user] gave a strong blow against [target]'s jaw!"
))
else
// ----- BODY ----- //
switch(attack_damage)
- if(1 to 2) user.visible_message("[user] slapped [target]'s [organ]!")
- if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!")
- if(5) user.visible_message("[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!")
+ if(1 to 2) user.visible_message("[user] threw a glancing punch at [target]'s [organ]!")
+ if(1 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!")
+ if(5)
+ user.visible_message(pick(
+ 50; "[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!",
+ 50; "[user] landed a striking [pick(attack_noun)] on [target]'s [organ]!"
+ ))
else
- user.visible_message("[user] [pick("punched", "threw a punch", "struck", "slapped", "slammed their [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets?
+ user.visible_message("[user] [pick("punched", "threw a punch against", "struck", "slammed their [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets?
/datum/unarmed_attack/kick
attack_verb = list("kicked", "kicked", "kicked", "kneed")
@@ -177,7 +183,7 @@
/datum/unarmed_attack/stomp
attack_verb = null
- attack_noun = list("kick")
+ attack_noun = list("stomp")
attack_sound = "swing_hit"
damage = 0
@@ -189,7 +195,7 @@
if(!istype(target))
return 0
- if (!user.lying && (target.lying || zone in list("l_foot", "r_foot")))
+ if (!user.lying && (target.lying || (zone in list("l_foot", "r_foot"))))
if(target.grabbed_by == user && target.lying)
return 0
var/datum/organ/external/E = user.organs_by_name["l_foot"]
@@ -214,6 +220,5 @@
attack_damage = Clamp(attack_damage, 1, 5)
switch(attack_damage)
- if(1 to 2) user.visible_message("[user] [pick("stepped on", "treaded on")] [target]'s [organ]!") //stepped on conveys the same meaning and is more recognizable as an actual word than "clomped"
- if(3 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!")
+ if(1 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!")
if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 6b2367724b..69faad2d8d 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -107,28 +107,29 @@ Please contact me on #coderbus IRC. ~Carn x
//Human Overlays Indexes/////////
#define MUTATIONS_LAYER 1
#define DAMAGE_LAYER 2
-#define UNIFORM_LAYER 3
-#define TAIL_LAYER 4 //bs12 specific. this hack is probably gonna come back to haunt me
-#define ID_LAYER 5
-#define SHOES_LAYER 6
-#define GLOVES_LAYER 7
-#define SUIT_LAYER 8
-#define GLASSES_LAYER 9
-#define BELT_LAYER 10 //Possible make this an overlay of somethign required to wear a belt?
-#define SUIT_STORE_LAYER 11
-#define BACK_LAYER 12
-#define HAIR_LAYER 13 //TODO: make part of head layer?
-#define EARS_LAYER 14
-#define FACEMASK_LAYER 15
-#define HEAD_LAYER 16
-#define COLLAR_LAYER 17
-#define HANDCUFF_LAYER 18
-#define LEGCUFF_LAYER 19
-#define L_HAND_LAYER 20
-#define R_HAND_LAYER 21
-#define FIRE_LAYER 22 //If you're on fire
-#define TARGETED_LAYER 23 //BS12: Layer for the target overlay from weapon targeting system
-#define TOTAL_LAYERS 23
+#define SURGERY_LEVEL 3 //bs12 specific.
+#define UNIFORM_LAYER 4
+#define TAIL_LAYER 5 //bs12 specific. this hack is probably gonna come back to haunt me
+#define ID_LAYER 6
+#define SHOES_LAYER 7
+#define GLOVES_LAYER 8
+#define SUIT_LAYER 9
+#define GLASSES_LAYER 10
+#define BELT_LAYER 11 //Possible make this an overlay of somethign required to wear a belt?
+#define SUIT_STORE_LAYER 12
+#define BACK_LAYER 13
+#define HAIR_LAYER 14 //TODO: make part of head layer?
+#define EARS_LAYER 15
+#define FACEMASK_LAYER 16
+#define HEAD_LAYER 17
+#define COLLAR_LAYER 18
+#define HANDCUFF_LAYER 19
+#define LEGCUFF_LAYER 20
+#define L_HAND_LAYER 21
+#define R_HAND_LAYER 22
+#define FIRE_LAYER 23 //If you're on fire
+#define TARGETED_LAYER 24 //BS12: Layer for the target overlay from weapon targeting system
+#define TOTAL_LAYERS 24
//////////////////////////////////
/mob/living/carbon/human
@@ -509,6 +510,7 @@ proc/get_damage_icon_part(damage_state, body_part)
update_inv_legcuffed(0)
update_inv_pockets(0)
update_fire(0)
+ update_surgery(0)
UpdateDamageIcon()
update_icons()
//Hud Stuff
@@ -547,16 +549,9 @@ proc/get_damage_icon_part(damage_state, body_part)
overlays_standing[UNIFORM_LAYER] = null
// This really, really seems like it should not be mixed in the middle of display code...
// Automatically drop anything in store / id / belt if you're not wearing a uniform. //CHECK IF NECESARRY
- for( var/obj/item/thing in list(r_store, l_store, wear_id, belt) ) //
- if(thing) //
- u_equip(thing) //
- if (client) //
- client.screen -= thing //
- //
- if (thing) //
- thing.loc = loc //
- thing.dropped(src) //
- thing.layer = initial(thing.layer)
+ for( var/obj/item/thing in list(r_store, l_store, wear_id, belt) )
+ if(thing)
+ remove_from_mob(thing)
if(update_icons) update_icons()
/mob/living/carbon/human/update_inv_wear_id(var/update_icons=1)
@@ -929,6 +924,16 @@ proc/get_damage_icon_part(damage_state, body_part)
if(update_icons) update_icons()
+/mob/living/carbon/human/proc/update_surgery(var/update_icons=1)
+ overlays_standing[SURGERY_LEVEL] = null
+ var/image/total = new
+ for(var/datum/organ/external/E in organs)
+ if(E.open)
+ var/image/I = image("icon"='icons/mob/surgery.dmi', "icon_state"="[E.name][round(E.open)]", "layer"=-SURGERY_LEVEL)
+ total.overlays += I
+ overlays_standing[SURGERY_LEVEL] = total
+ if(update_icons) update_icons()
+
// Used mostly for creating head items
/mob/living/carbon/human/proc/generate_head_icon()
//gender no longer matters for the mouth, although there should probably be seperate base head icons.
@@ -967,6 +972,7 @@ proc/get_damage_icon_part(damage_state, body_part)
//Human Overlays Indexes/////////
#undef MUTATIONS_LAYER
#undef DAMAGE_LAYER
+#undef SURGERY_LEVEL
#undef UNIFORM_LAYER
#undef TAIL_LAYER
#undef ID_LAYER
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index a7cdf1af71..8995183db9 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -171,13 +171,6 @@
// ++++ROCKDTBEN++++ MOB PROCS //END
-
-/mob/living/get_descriptions_fluff()
- if(flavor_text) //Get flavor text for the green text.
- return flavor_text
- else //No flavor text? Try for hardcoded fluff instead.
- return ..()
-
/mob/proc/get_contents()
diff --git a/code/modules/mob/living/living_powers.dm b/code/modules/mob/living/living_powers.dm
index da94c1abde..b4310d77b5 100644
--- a/code/modules/mob/living/living_powers.dm
+++ b/code/modules/mob/living/living_powers.dm
@@ -16,8 +16,8 @@
if(stat == DEAD || paralysis || weakened || stunned || restrained())
return
- if (layer != TURF_LAYER+0.2)
- layer = TURF_LAYER+0.2
+ if (layer != 2.45)
+ layer = 2.45 //Just above cables with their 2.44
src << text("\blue You are now hiding.")
else
layer = MOB_LAYER
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index 1fa357ec79..44df327240 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -3,13 +3,6 @@
real_name = "drone"
icon = 'icons/mob/robots.dmi'
icon_state = "repairbot"
- descriptions = new/datum/descriptions("Drones are player-controlled synthetics which are lawed to maintain the station and not \
- interact with anyone else, except for other drones. They hold a wide array of tools to build, repair, maintain, and clean. \
- They fuction similarly to other synthetics, in that they require recharging regularly, have laws, and are resilient to many hazards, \
- such as fire, radiation, vacuum, and more. Ghosts can join the round as a maintenance drone by using the appropriate verb in the 'ghost' tab. \
- An inactive drone can be rebooted by swiping an ID card on it with engineering or robotics access.",\
- ,"An Electromagnetic Sequencer can be used to subvert the drone to your cause.")
- //desc_fluff is already provided with flavor_text.
maxHealth = 35
health = 35
universal_speak = 0
@@ -23,14 +16,6 @@
integrated_light_power = 2
local_transmit = 1
- // We need to keep track of a few module items so we don't need to do list operations
- // every time we need them. These get set in New() after the module is chosen.
- var/obj/item/stack/sheet/metal/cyborg/stack_metal = null
- var/obj/item/stack/sheet/wood/cyborg/stack_wood = null
- var/obj/item/stack/sheet/glass/cyborg/stack_glass = null
- var/obj/item/stack/sheet/mineral/plastic/cyborg/stack_plastic = null
- var/obj/item/weapon/matter_decompiler/decompiler = null
-
//Used for self-mailing.
var/mail_destination = ""
@@ -63,15 +48,6 @@
verbs -= /mob/living/silicon/robot/verb/Namepick
module = new /obj/item/weapon/robot_module/drone(src)
- //Grab stacks.
- stack_metal = locate(/obj/item/stack/sheet/metal/cyborg) in src.module
- stack_wood = locate(/obj/item/stack/sheet/wood/cyborg) in src.module
- stack_glass = locate(/obj/item/stack/sheet/glass/cyborg) in src.module
- stack_plastic = locate(/obj/item/stack/sheet/mineral/plastic/cyborg) in src.module
-
- //Grab decompiler.
- decompiler = locate(/obj/item/weapon/matter_decompiler) in src.module
-
//Some tidying-up.
flavor_text = "It's a tiny little repair drone. The casing is stamped with an NT logo and the subscript: 'NanoTrasen Recursive Repair Systems: Fixing Tomorrow's Problem, Today!'"
updateicon()
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm
index bac16de92e..55cb1376b6 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm
@@ -2,7 +2,7 @@
/mob/living/silicon/robot/drone/verb/set_mail_tag()
set name = "Set Mail Tag"
set desc = "Tag yourself for delivery through the disposals system."
- set category = "Drone"
+ set category = "Robot Commands"
var/new_tag = input("Select the desired destination.", "Set Mail Tag", null) as null|anything in tagger_locations
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index 7750ab9b9a..10b11648d1 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -57,7 +57,7 @@
set name = "Drop Item"
set desc = "Release an item from your magnetic gripper."
- set category = "Drone"
+ set category = "Robot Commands"
if(!wrapped)
//There's some weirdness with items being lost inside the arm. Trying to fix all cases. ~Z
@@ -151,12 +151,10 @@
icon_state = "decompiler"
//Metal, glass, wood, plastic.
- var/list/stored_comms = list(
- "metal" = 0,
- "glass" = 0,
- "wood" = 0,
- "plastic" = 0
- )
+ var/datum/matter_synth/metal = null
+ var/datum/matter_synth/glass = null
+ var/datum/matter_synth/wood = null
+ var/datum/matter_synth/plastic = null
/obj/item/weapon/matter_decompiler/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
return
@@ -178,10 +176,10 @@
src.loc.visible_message("\red [src.loc] sucks [M] into its decompiler. There's a horrible crunching noise.","\red It's a bit of a struggle, but you manage to suck [M] into your decompiler. It makes a series of visceral crunching noises.")
new/obj/effect/decal/cleanable/blood/splatter(get_turf(src))
del(M)
- stored_comms["wood"]++
- stored_comms["wood"]++
- stored_comms["plastic"]++
- stored_comms["plastic"]++
+ if(wood)
+ wood.add_charge(2000)
+ if(plastic)
+ plastic.add_charge(2000)
return
else if(istype(M,/mob/living/silicon/robot/drone) && !M.client)
@@ -203,61 +201,66 @@
del(M)
new/obj/effect/decal/cleanable/blood/oil(get_turf(src))
- stored_comms["metal"] += 15
- stored_comms["glass"] += 15
- stored_comms["wood"] += 5
- stored_comms["plastic"] += 5
+ if(metal)
+ metal.add_charge(15000)
+ if(glass)
+ glass.add_charge(15000)
+ if(wood)
+ wood.add_charge(2000)
+ if(plastic)
+ plastic.add_charge(1000)
return
else
continue
for(var/obj/W in T)
//Different classes of items give different commodities.
- if (istype(W,/obj/item/weapon/cigbutt))
- stored_comms["plastic"]++
+ if(istype(W,/obj/item/weapon/cigbutt))
+ if(plastic)
+ plastic.add_charge(500)
else if(istype(W,/obj/effect/spider/spiderling))
- stored_comms["wood"]++
- stored_comms["wood"]++
- stored_comms["plastic"]++
- stored_comms["plastic"]++
+ if(wood)
+ wood.add_charge(2000)
+ if(plastic)
+ plastic.add_charge(2000)
else if(istype(W,/obj/item/weapon/light))
var/obj/item/weapon/light/L = W
if(L.status >= 2) //In before someone changes the inexplicably local defines. ~ Z
- stored_comms["metal"]++
- stored_comms["glass"]++
+ if(metal)
+ metal.add_charge(250)
+ if(glass)
+ glass.add_charge(250)
else
continue
else if(istype(W,/obj/effect/decal/remains/robot))
- stored_comms["metal"]++
- stored_comms["metal"]++
- stored_comms["plastic"]++
- stored_comms["plastic"]++
- stored_comms["glass"]++
+ if(metal)
+ metal.add_charge(2000)
+ if(plastic)
+ plastic.add_charge(2000)
+ if(glass)
+ glass.add_charge(1000)
else if(istype(W,/obj/item/trash))
- stored_comms["metal"]++
- stored_comms["plastic"]++
- stored_comms["plastic"]++
- stored_comms["plastic"]++
+ if(metal)
+ metal.add_charge(1000)
+ if(plastic)
+ plastic.add_charge(3000)
else if(istype(W,/obj/effect/decal/cleanable/blood/gibs/robot))
- stored_comms["metal"]++
- stored_comms["metal"]++
- stored_comms["glass"]++
- stored_comms["glass"]++
+ if(metal)
+ metal.add_charge(2000)
+ if(glass)
+ glass.add_charge(2000)
else if(istype(W,/obj/item/ammo_casing))
- stored_comms["metal"]++
+ if(metal)
+ metal.add_charge(1000)
else if(istype(W,/obj/item/weapon/shard/shrapnel))
- stored_comms["metal"]++
- stored_comms["metal"]++
- stored_comms["metal"]++
+ if(metal)
+ metal.add_charge(1000)
else if(istype(W,/obj/item/weapon/shard))
- stored_comms["glass"]++
- stored_comms["glass"]++
- stored_comms["glass"]++
+ if(glass)
+ glass.add_charge(1000)
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/grown))
- stored_comms["wood"]++
- stored_comms["wood"]++
- stored_comms["wood"]++
- stored_comms["wood"]++
+ if(wood)
+ wood.add_charge(4000)
else if(istype(W,/obj/item/pipe))
// This allows drones and engiborgs to clear pipe assemblies from floors.
else
@@ -325,39 +328,3 @@
dat += resources
src << browse(dat, "window=robotmod")
-
-//Putting the decompiler here to avoid doing list checks every tick.
-/mob/living/silicon/robot/drone/use_power()
-
- ..()
- if(!src.has_power || !decompiler)
- return
-
- //The decompiler replenishes drone stores from hoovered-up junk each tick.
- for(var/type in decompiler.stored_comms)
- if(decompiler.stored_comms[type] > 0)
- var/obj/item/stack/sheet/stack
- switch(type)
- if("metal")
- if(!stack_metal)
- stack_metal = new /obj/item/stack/sheet/metal/cyborg(src.module)
- stack_metal.amount = 1
- stack = stack_metal
- if("glass")
- if(!stack_glass)
- stack_glass = new /obj/item/stack/sheet/glass/cyborg(src.module)
- stack_glass.amount = 1
- stack = stack_glass
- if("wood")
- if(!stack_wood)
- stack_wood = new /obj/item/stack/sheet/wood/cyborg(src.module)
- stack_wood.amount = 1
- stack = stack_wood
- if("plastic")
- if(!stack_plastic)
- stack_plastic = new /obj/item/stack/sheet/mineral/plastic/cyborg(src.module)
- stack_plastic.amount = 1
- stack = stack_plastic
-
- stack.amount++
- decompiler.stored_comms[type]--;
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 6b0509eea1..e30ba5f038 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -579,6 +579,9 @@ var/list/robot_verbs_default = list(
show_cell_power()
show_jetpack_pressure()
stat(null, text("Lights: [lights_on ? "ON" : "OFF"]"))
+ if(module)
+ for(var/datum/matter_synth/ms in module.synths)
+ stat("[ms.name]: [ms.energy]/[ms.max_energy]")
/mob/living/silicon/robot/restrained()
return 0
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 9f213ad7e5..6add592da8 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -7,9 +7,9 @@
flags = CONDUCT
var/channels = list()
var/list/modules = list()
+ var/list/datum/matter_synth/synths = list()
var/obj/item/emag = null
var/obj/item/borg/upgrade/jetpack = null
- var/list/stacktypes
/obj/item/weapon/robot_module/emp_act(severity)
if(modules)
@@ -17,40 +17,19 @@
O.emp_act(severity)
if(emag)
emag.emp_act(severity)
+ if(synths)
+ for(var/datum/matter_synth/S in synths)
+ S.emp_act(severity)
..()
return
-/obj/item/weapon/robot_module/New()
- ..()
- // Build initial inventory.
- if(stacktypes && stacktypes.len)
- for(var/stack_type in stacktypes)
- var/obj/item/stack/new_stack = new stack_type (src)
- new_stack.amount = stacktypes[stack_type]
- modules |= new_stack
+/obj/item/weapon/robot_module/proc/respawn_consumable(var/mob/living/silicon/robot/R, var/rate)
-/obj/item/weapon/robot_module/proc/respawn_consumable(var/mob/living/silicon/robot/R)
+ if(!synths || !synths.len)
+ return
- if(!stacktypes || !stacktypes.len) return
-
- for(var/T in stacktypes)
- var/obj/item/stack/S
- for(var/obj/O in src.modules)
- if(O.type == T)
- S = O
- break
-
- if(!S)
- src.modules -= null
- S = new T(src)
- src.modules |= S
- S.amount = 1
-
- if(!istype(S))
- continue
-
- if(S && S.amount < stacktypes[T])
- S.amount++
+ for(var/datum/matter_synth/T in synths)
+ T.add_charge(T.recharge_rate * rate)
/obj/item/weapon/robot_module/proc/rebuild()//Rebuilds the list so it's possible to add/remove items from the module
var/list/temp_list = modules
@@ -84,10 +63,6 @@
/obj/item/weapon/robot_module/surgeon
name = "surgeon robot module"
- stacktypes = list(
- /obj/item/stack/medical/advanced/bruise_pack = 5,
- /obj/item/stack/nanopaste = 5
- )
/obj/item/weapon/robot_module/surgeon/New()
..()
@@ -104,26 +79,34 @@
src.modules += new /obj/item/weapon/circular_saw(src)
src.modules += new /obj/item/weapon/surgicaldrill(src)
src.modules += new /obj/item/weapon/extinguisher/mini(src)
- src.modules += new /obj/item/stack/medical/advanced/bruise_pack(src)
- src.modules += new /obj/item/stack/nanopaste(src)
src.emag = new /obj/item/weapon/reagent_containers/spray(src)
src.emag.reagents.add_reagent("pacid", 250)
src.emag.name = "Polyacid spray"
+
+ var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(10000)
+ synths += medicine
+
+ var/obj/item/stack/nanopaste/N = new /obj/item/stack/nanopaste(src)
+ var/obj/item/stack/medical/advanced/bruise_pack/B = new /obj/item/stack/medical/advanced/bruise_pack(src)
+ N.uses_charge = 1
+ N.charge_costs = list(1000)
+ N.synths = list(medicine)
+ B.uses_charge = 1
+ B.charge_costs = list(1000)
+ B.synths = list(medicine)
+ src.modules += N
+ src.modules += B
+
return
-/obj/item/weapon/robot_module/surgeon/respawn_consumable(var/mob/living/silicon/robot/R)
+/obj/item/weapon/robot_module/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
if(src.emag)
var/obj/item/weapon/reagent_containers/spray/PS = src.emag
- PS.reagents.add_reagent("pacid", 2)
+ PS.reagents.add_reagent("pacid", 2 * amount)
..()
/obj/item/weapon/robot_module/crisis
name = "crisis robot module"
- stacktypes = list(
- /obj/item/stack/medical/ointment = 5,
- /obj/item/stack/medical/bruise_pack = 5,
- /obj/item/stack/medical/splint = 5
- )
/obj/item/weapon/robot_module/crisis/New()
..()
@@ -132,9 +115,6 @@
src.modules += new /obj/item/device/healthanalyzer(src)
src.modules += new /obj/item/device/reagent_scanner/adv(src)
src.modules += new /obj/item/roller_holder(src)
- src.modules += new /obj/item/stack/medical/ointment(src)
- src.modules += new /obj/item/stack/medical/bruise_pack(src)
- src.modules += new /obj/item/stack/medical/splint(src)
src.modules += new /obj/item/weapon/reagent_containers/borghypo/crisis(src)
src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
src.modules += new /obj/item/weapon/reagent_containers/robodropper(src)
@@ -143,9 +123,29 @@
src.emag = new /obj/item/weapon/reagent_containers/spray(src)
src.emag.reagents.add_reagent("pacid", 250)
src.emag.name = "Polyacid spray"
+
+ var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(15000)
+ synths += medicine
+
+ var/obj/item/stack/medical/ointment/O = new /obj/item/stack/medical/ointment(src)
+ var/obj/item/stack/medical/bruise_pack/B = new /obj/item/stack/medical/bruise_pack(src)
+ var/obj/item/stack/medical/splint/S = new /obj/item/stack/medical/splint(src)
+ O.uses_charge = 1
+ O.charge_costs = list(1000)
+ O.synths = list(medicine)
+ B.uses_charge = 1
+ B.charge_costs = list(1000)
+ B.synths = list(medicine)
+ S.uses_charge = 1
+ S.charge_costs = list(1000)
+ S.synths = list(medicine)
+ src.modules += O
+ src.modules += B
+ src.modules += S
+
return
-/obj/item/weapon/robot_module/crisis/respawn_consumable(var/mob/living/silicon/robot/R)
+/obj/item/weapon/robot_module/crisis/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules
if(S.mode == 2)
@@ -156,20 +156,13 @@
if(src.emag)
var/obj/item/weapon/reagent_containers/spray/PS = src.emag
- PS.reagents.add_reagent("pacid", 2)
+ PS.reagents.add_reagent("pacid", 2 * amount)
..()
/obj/item/weapon/robot_module/construction
name = "construction robot module"
- stacktypes = list(
- /obj/item/stack/sheet/metal = 50,
- /obj/item/stack/sheet/plasteel = 10,
- /obj/item/stack/sheet/glass/reinforced = 50,
- /obj/item/stack/rods = 50
- )
-
/obj/item/weapon/robot_module/construction/New()
..()
src.modules += new /obj/item/device/flash(src)
@@ -182,18 +175,32 @@
src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src)
src.modules += new /obj/item/device/pipe_painter(src)
+ var/datum/matter_synth/metal = new /datum/matter_synth/metal()
+ var/datum/matter_synth/plasteel = new /datum/matter_synth/plasteel()
+ var/datum/matter_synth/glass = new /datum/matter_synth/glass()
+ synths += metal
+ synths += plasteel
+ synths += glass
+
+ var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src)
+ M.synths = list(metal)
+ src.modules += M
+
+ var/obj/item/stack/rods/cyborg/R = new /obj/item/stack/rods/cyborg(src)
+ R.synths = list(metal)
+ src.modules += R
+
+ var/obj/item/stack/sheet/plasteel/cyborg/S = new /obj/item/stack/sheet/plasteel/cyborg(src)
+ S.synths = list(metal)
+ src.modules += S
+
+ var/obj/item/stack/sheet/glass/reinforced/cyborg/RG = new /obj/item/stack/sheet/glass/reinforced/cyborg(src)
+ RG.synths = list(metal, glass)
+ src.modules += R
+
/obj/item/weapon/robot_module/engineering
name = "engineering robot module"
- stacktypes = list(
- /obj/item/stack/sheet/metal = 50,
- /obj/item/stack/sheet/glass = 50,
- /obj/item/stack/sheet/glass/reinforced = 50,
- /obj/item/stack/cable_coil/robot = 50,
- /obj/item/stack/rods = 15,
- /obj/item/stack/tile/plasteel = 15
- )
-
/obj/item/weapon/robot_module/engineering/New()
..()
src.modules += new /obj/item/device/flash(src)
@@ -209,9 +216,45 @@
src.modules += new /obj/item/device/analyzer(src)
src.modules += new /obj/item/taperoll/engineering(src)
src.modules += new /obj/item/weapon/gripper(src)
- src.modules += new /obj/item/weapon/matter_decompiler(src)
src.modules += new /obj/item/device/pipe_painter(src)
src.emag = new /obj/item/borg/stun(src)
+
+ var/datum/matter_synth/metal = new /datum/matter_synth/metal(40000)
+ var/datum/matter_synth/glass = new /datum/matter_synth/glass(40000)
+ var/datum/matter_synth/wire = new /datum/matter_synth/wire()
+ synths += metal
+ synths += glass
+ synths += wire
+
+ var/obj/item/weapon/matter_decompiler/MD = new /obj/item/weapon/matter_decompiler(src)
+ MD.metal = metal
+ MD.glass = glass
+ src.modules += MD
+
+ var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src)
+ M.synths = list(metal)
+ src.modules += M
+
+ var/obj/item/stack/sheet/glass/cyborg/G = new /obj/item/stack/sheet/glass/cyborg(src)
+ G.synths = list(glass)
+ src.modules += G
+
+ var/obj/item/stack/rods/cyborg/R = new /obj/item/stack/rods/cyborg(src)
+ R.synths = list(metal)
+ src.modules += R
+
+ var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src)
+ C.synths = list(wire)
+ src.modules += C
+
+ var/obj/item/stack/tile/plasteel/cyborg/S = new /obj/item/stack/tile/plasteel/cyborg(src)
+ S.synths = list(metal)
+ src.modules += S
+
+ var/obj/item/stack/sheet/glass/reinforced/cyborg/RG = new /obj/item/stack/sheet/glass/reinforced/cyborg(src)
+ RG.synths = list(metal, glass)
+ src.modules += RG
+
return
/obj/item/weapon/robot_module/security
@@ -228,7 +271,7 @@
src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src)
return
-/obj/item/weapon/robot_module/security/respawn_consumable(var/mob/living/silicon/robot/R)
+/obj/item/weapon/robot_module/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
var/obj/item/device/flash/F = locate() in src.modules
if(F.broken)
F.broken = 0
@@ -238,7 +281,7 @@
F.times_used--
var/obj/item/weapon/gun/energy/taser/mounted/cyborg/T = locate() in src.modules
if(T.power_supply.charge < T.power_supply.maxcharge)
- T.power_supply.give(T.charge_cost)
+ T.power_supply.give(T.charge_cost * amount)
T.update_icon()
else
T.charge_tick = 0
@@ -258,12 +301,12 @@
src.emag.name = "Lube spray"
return
-/obj/item/weapon/robot_module/janitor/respawn_consumable(var/mob/living/silicon/robot/R)
+/obj/item/weapon/robot_module/janitor/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
var/obj/item/device/lightreplacer/LR = locate() in src.modules
- LR.Charge(R)
+ LR.Charge(R, amount)
if(src.emag)
var/obj/item/weapon/reagent_containers/spray/S = src.emag
- S.reagents.add_reagent("lube", 2)
+ S.reagents.add_reagent("lube", 2 * amount)
/obj/item/weapon/robot_module/butler
name = "service robot module"
@@ -327,12 +370,12 @@
R.add_language("Tradeband", 1)
R.add_language("Gutter", 1)
-/obj/item/weapon/robot_module/butler/respawn_consumable(var/mob/living/silicon/robot/R)
+/obj/item/weapon/robot_module/butler/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
var/obj/item/weapon/reagent_containers/food/condiment/enzyme/E = locate() in src.modules
- E.reagents.add_reagent("enzyme", 2)
+ E.reagents.add_reagent("enzyme", 2 * amount)
if(src.emag)
var/obj/item/weapon/reagent_containers/food/drinks/cans/beer/B = src.emag
- B.reagents.add_reagent("beer2", 2)
+ B.reagents.add_reagent("beer2", 2 * amount)
/obj/item/weapon/robot_module/miner
name = "miner robot module"
@@ -392,17 +435,6 @@
/obj/item/weapon/robot_module/drone
name = "drone module"
- stacktypes = list(
- /obj/item/stack/sheet/wood = 1,
- /obj/item/stack/sheet/mineral/plastic = 1,
- /obj/item/stack/sheet/glass/reinforced = 5,
- /obj/item/stack/tile/wood = 5,
- /obj/item/stack/rods = 15,
- /obj/item/stack/tile/plasteel = 15,
- /obj/item/stack/sheet/metal = 20,
- /obj/item/stack/sheet/glass = 20,
- /obj/item/stack/cable_coil/robot = 30
- )
/obj/item/weapon/robot_module/drone/New()
..()
@@ -414,20 +446,73 @@
src.modules += new /obj/item/device/multitool(src)
src.modules += new /obj/item/device/lightreplacer(src)
src.modules += new /obj/item/weapon/gripper(src)
- src.modules += new /obj/item/weapon/matter_decompiler(src)
src.modules += new /obj/item/weapon/reagent_containers/spray/cleaner/drone(src)
src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src)
src.emag.name = "Plasma Cutter"
+ var/datum/matter_synth/metal = new /datum/matter_synth/metal(25000)
+ var/datum/matter_synth/glass = new /datum/matter_synth/glass(25000)
+ var/datum/matter_synth/wood = new /datum/matter_synth/wood(2000)
+ var/datum/matter_synth/plastic = new /datum/matter_synth/plastic(1000)
+ var/datum/matter_synth/wire = new /datum/matter_synth/wire(30)
+ synths += metal
+ synths += glass
+ synths += wood
+ synths += plastic
+ synths += wire
+
+ var/obj/item/weapon/matter_decompiler/MD = new /obj/item/weapon/matter_decompiler(src)
+ MD.metal = metal
+ MD.glass = glass
+ MD.wood = wood
+ MD.plastic = plastic
+ src.modules += MD
+
+ var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src)
+ M.synths = list(metal)
+ src.modules += M
+
+ var/obj/item/stack/sheet/glass/cyborg/G = new /obj/item/stack/sheet/glass/cyborg(src)
+ G.synths = list(glass)
+ src.modules += G
+
+ var/obj/item/stack/rods/cyborg/R = new /obj/item/stack/rods/cyborg(src)
+ R.synths = list(metal)
+ src.modules += R
+
+ var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src)
+ C.synths = list(wire)
+ src.modules += C
+
+ var/obj/item/stack/tile/plasteel/cyborg/S = new /obj/item/stack/tile/plasteel/cyborg(src)
+ S.synths = list(metal)
+ src.modules += S
+
+ var/obj/item/stack/sheet/glass/reinforced/cyborg/RG = new /obj/item/stack/sheet/glass/reinforced/cyborg(src)
+ RG.synths = list(metal, glass)
+ src.modules += RG
+
+ var/obj/item/stack/tile/wood/cyborg/WT = new /obj/item/stack/tile/wood/cyborg(src)
+ WT.synths = list(wood)
+ src.modules += WT
+
+ var/obj/item/stack/sheet/wood/cyborg/W = new /obj/item/stack/sheet/wood/cyborg(src)
+ W.synths = list(wood)
+ src.modules += W
+
+ var/obj/item/stack/sheet/mineral/plastic/cyborg/P = new /obj/item/stack/sheet/mineral/plastic/cyborg(src)
+ P.synths = list(plastic)
+ src.modules += P
+
/obj/item/weapon/robot_module/drone/add_languages(var/mob/living/silicon/robot/R)
return //not much ROM to spare in that tiny microprocessor!
-/obj/item/weapon/robot_module/drone/respawn_consumable(var/mob/living/silicon/robot/R)
+/obj/item/weapon/robot_module/drone/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
var/obj/item/weapon/reagent_containers/spray/cleaner/C = locate() in src.modules
- C.reagents.add_reagent("cleaner", 3)
+ C.reagents.add_reagent("cleaner", 3 * amount)
var/obj/item/device/lightreplacer/LR = locate() in src.modules
- LR.Charge(R)
+ LR.Charge(R, amount)
..()
return
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 7913d23d7e..19acdc0306 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -18,6 +18,7 @@
response_harm = "kicks"
var/turns_since_scan = 0
var/mob/living/simple_animal/mouse/movement_target
+ var/mob/flee_target
min_oxy = 16 //Require atleast 16kPA oxygen
minbodytemp = 223 //Below -50 Degrees Celcius
maxbodytemp = 323 //Above 50 Degrees Celcius
@@ -44,27 +45,71 @@
break
if(!stat && !resting && !buckled)
- handle_movement_target()
+ turns_since_scan++
+ if (turns_since_scan > 5)
+ walk_to(src,0)
+ turns_since_scan = 0
+
+ if (flee_target) //fleeing takes precendence
+ handle_flee_target()
+ else
+ handle_movement_target()
-/mob/living/simple_animal/cat/proc/handle_movement_target()
- turns_since_scan++
- if(turns_since_scan > 5)
- walk_to(src,0)
- turns_since_scan = 0
+/mob/living/simple_animal/cat/proc/handle_movement_target()
+ //if our target is neither inside a turf or inside a human(???), stop
+ if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
+ movement_target = null
+ stop_automated_movement = 0
+ //if we have no target or our current one is out of sight/too far away
+ if( !movement_target || !(movement_target.loc in oview(src, 4)) )
+ movement_target = null
+ stop_automated_movement = 0
+ for(var/mob/living/simple_animal/mouse/snack in oview(src)) //search for a new target
+ if(isturf(snack.loc) && !snack.stat)
+ movement_target = snack
+ break
+
+ if(movement_target)
+ stop_automated_movement = 1
+ walk_to(src,movement_target,0,3)
- if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
- movement_target = null
- stop_automated_movement = 0
- if( !movement_target || !(movement_target.loc in oview(src, 4)) )
- movement_target = null
- stop_automated_movement = 0
- for(var/mob/living/simple_animal/mouse/snack in oview(src))
- if(isturf(snack.loc) && !snack.stat)
- movement_target = snack
- break
- if(movement_target)
- stop_automated_movement = 1
- walk_to(src,movement_target,0,3)
+/mob/living/simple_animal/cat/proc/handle_flee_target()
+ //see if we should stop fleeing
+ if (flee_target && !(flee_target.loc in view(src)))
+ flee_target = null
+ stop_automated_movement = 0
+
+ if (flee_target)
+ if(prob(25)) say("HSSSSS")
+ stop_automated_movement = 1
+ walk_away(src, flee_target, 7, 2)
+
+/mob/living/simple_animal/cat/proc/set_flee_target(atom/A)
+ if(A)
+ flee_target = A
+ turns_since_scan = 5
+
+/mob/living/simple_animal/cat/attackby(var/obj/item/O, var/mob/user)
+ . = ..()
+ if(O.force)
+ set_flee_target(user? user : src.loc)
+
+/mob/living/simple_animal/cat/attack_hand(mob/living/carbon/human/M as mob)
+ . = ..()
+ if(M.a_intent == "hurt")
+ set_flee_target(M)
+
+/mob/living/simple_animal/cat/ex_act()
+ . = ..()
+ set_flee_target(src.loc)
+
+/mob/living/simple_animal/cat/bullet_act(var/obj/item/projectile/proj)
+ . = ..()
+ set_flee_target(proj.firer? proj.firer : src.loc)
+
+/mob/living/simple_animal/cat/hitby(atom/movable/AM)
+ . = ..()
+ set_flee_target(AM.thrower? AM.thrower : src.loc)
/mob/living/simple_animal/cat/MouseDrop(atom/over_object)
@@ -82,14 +127,91 @@
return //since the holder icon looks like a living cat
..()
+//Basic friend AI
+/mob/living/simple_animal/cat/fluff
+ var/mob/living/carbon/human/friend
+ var/befriend_job = null
+
+/mob/living/simple_animal/cat/fluff/handle_movement_target()
+ if (friend)
+ var/follow_dist = 5
+ if (friend.stat >= DEAD || friend.health <= config.health_threshold_softcrit) //danger
+ follow_dist = 1
+ else if (friend.stat || friend.health <= 50) //danger or just sleeping
+ follow_dist = 2
+ var/near_dist = max(follow_dist - 2, 1)
+ var/current_dist = get_dist(src, friend)
+
+ if (movement_target != friend)
+ if (current_dist > follow_dist && !istype(movement_target, /mob/living/simple_animal/mouse) && (friend in oview(src)))
+ //stop existing movement
+ walk_to(src,0)
+ turns_since_scan = 0
+
+ //walk to friend
+ stop_automated_movement = 1
+ movement_target = friend
+ walk_to(src, movement_target, near_dist, 4)
+
+ //already following and close enough, stop
+ else if (current_dist <= near_dist)
+ walk_to(src,0)
+ movement_target = null
+ stop_automated_movement = 0
+ if (prob(10))
+ say("Meow!")
+
+ if (!friend || movement_target != friend)
+ ..()
+
+/mob/living/simple_animal/cat/fluff/Life()
+ ..()
+ if (stat || !friend)
+ return
+ if (get_dist(src, friend) <= 1)
+ if (friend.stat >= DEAD || friend.health <= config.health_threshold_softcrit)
+ if (prob((friend.stat < DEAD)? 50 : 15))
+ var/verb = pick("meows", "mews", "mrowls")
+ audible_emote(pick("[verb] in distress.", "[verb] anxiously."))
+ else
+ if (prob(5))
+ visible_emote(pick("nuzzles [friend].",
+ "brushes against [friend].",
+ "rubs against [friend].",
+ "purrs."))
+ else if (friend.health <= 50)
+ if (prob(10))
+ var/verb = pick("meows", "mews", "mrowls")
+ audible_emote("[verb] anxiously.")
+
+/mob/living/simple_animal/cat/fluff/verb/friend()
+ set name = "Become Friends"
+ set category = "IC"
+ set src in view(1)
+
+ if(friend && usr == friend)
+ set_dir(get_dir(src, friend))
+ say("Meow!")
+ return
+
+ if (!(ishuman(usr) && befriend_job && usr.job == befriend_job))
+ usr << "[src] ignores you."
+ return
+
+ friend = usr
+
+ set_dir(get_dir(src, friend))
+ say("Meow!")
+
//RUNTIME IS ALIVE! SQUEEEEEEEE~
-/mob/living/simple_animal/cat/Runtime
+/mob/living/simple_animal/cat/fluff/Runtime
name = "Runtime"
desc = "Her fur has the look and feel of velvet, and her tail quivers occasionally."
gender = FEMALE
icon_state = "cat"
icon_living = "cat"
icon_dead = "cat_dead"
+ befriend_job = "Chief Medical Officer"
/mob/living/simple_animal/cat/kitten
name = "kitten"
@@ -97,4 +219,8 @@
icon_state = "kitten"
icon_living = "kitten"
icon_dead = "kitten_dead"
- gender = NEUTER
\ No newline at end of file
+ gender = NEUTER
+
+/mob/living/simple_animal/cat/kitten/New()
+ gender = pick(MALE, FEMALE)
+ ..()
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 74f6c85eb9..9fa5c1da9a 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -265,7 +265,7 @@
adjustBruteLoss(-medical_pack.heal_brute)
visible_message("\The [user] applies the [medical_pack] to \the [src].")
else
- user << "\The [src] cannot benefit from medical items in its current state."
+ user << "\The [src] cannot benefit from medical items in \his current state."
return
else if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch))
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 342f61d946..7104292d64 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -183,7 +183,7 @@ var/list/slot_equipment_priority = list( \
if(!istype(W)) return 0
for(var/slot in slot_equipment_priority)
- if(equip_to_slot_if_possible(W, slot, 0, 1, 1)) //del_on_fail = 0; disable_warning = 0; redraw_mob = 1
+ if(equip_to_slot_if_possible(W, slot, del_on_fail=0, disable_warning=1, redraw_mob=1))
return 1
return 0
@@ -834,16 +834,6 @@ note dizziness decrements automatically in the mob's Life() proc.
statpanel("Spells","[S.charge_counter]/[S.charge_max]",S)
if("holdervar")
statpanel("Spells","[S.holder_var_type] [S.holder_var_amount]",S)
- if(statpanel("Examine"))
- stat(null,"[description_holders["icon"]] [description_holders["name"]]") //The name, written in big letters.
- stat(null,"[description_holders["desc"]]") //the default examine text.
- if(description_holders["info"])
- stat(null,"[description_holders["info"]]") //Blue, informative text.
- if(description_holders["fluff"])
- stat(null,"[description_holders["fluff"]]") //Yellow, fluff-related text.
- if(mind.special_role)
- if(description_holders["antag"])
- stat(null,"[description_holders["antag"]]") //Red, malicious antag-related text
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 35c1107ca7..1bf0e17e57 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -224,7 +224,4 @@
var/list/active_genes=list()
- //Examine tab vars
- //These hold the descriptions and other info, to relay to the actual tab.
- var/description_holders[0]
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 3c983bcc22..bc9ba4a33d 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -80,6 +80,18 @@
return 1
return 0
+/mob/proc/isSilicon()
+ return 0
+
+/mob/living/silicon/isSilicon()
+ return 1
+
+/mob/proc/isAI()
+ return 0
+
+/mob/living/silicon/ai/isAI()
+ return 1
+
/proc/ispAI(A)
if(istype(A, /mob/living/silicon/pai))
return 1
diff --git a/code/modules/nano/nanoexternal.dm b/code/modules/nano/nanoexternal.dm
index 50e2b706f8..b029019f1a 100644
--- a/code/modules/nano/nanoexternal.dm
+++ b/code/modules/nano/nanoexternal.dm
@@ -1,5 +1,5 @@
- // This file contains all Nano procs/definitions for external classes/objects
-
+ // This file contains all Nano procs/definitions for external classes/objects
+
/**
* Called when a Nano UI window is closed
* This is how Nano handles closed windows
@@ -15,7 +15,7 @@
if (istype(ui))
ui.close()
-
+
if(ui.ref)
var/href = "close=1"
src.Topic(href, params2list(href), ui.ref) // this will direct to the atom's Topic() proc via client.Topic()
@@ -31,14 +31,14 @@
* ui_interact is currently defined for /atom/movable
*
* @param user /mob The mob who is interacting with this ui
- * @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")
- * @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui
+ * @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")
+ * @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui
* @param force_open boolean Force the UI to (re)open, even if it's already open
*
* @return nothing
*/
-/atom/movable/proc/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
+/atom/movable/proc/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/nano_ui/master_ui = null, var/datum/topic_state/custom_state = null)
return
-
+
// Used by the Nano UI Manager (/datum/nanomanager) to track UIs opened by this mob
/mob/var/list/open_uis = list()
diff --git a/code/modules/nano/nanointeraction.dm b/code/modules/nano/nanointeraction.dm
new file mode 100644
index 0000000000..5b0a7ec01a
--- /dev/null
+++ b/code/modules/nano/nanointeraction.dm
@@ -0,0 +1,127 @@
+/atom/movable/proc/nano_host()
+ return src
+
+/obj/nano_module/nano_host()
+ return loc
+
+
+/atom/movable/proc/CanUseTopic(var/mob/user, href_list, var/datum/topic_state/custom_state)
+ return user.can_use_topic(nano_host(), custom_state)
+
+
+/mob/proc/can_use_topic(var/mob/user, var/datum/topic_state/custom_state)
+ return STATUS_CLOSE // By default no mob can do anything with NanoUI
+
+/mob/dead/observer/can_use_topic()
+ if(check_rights(R_ADMIN, 0))
+ return STATUS_INTERACTIVE // Admins are more equal
+ return STATUS_UPDATE // Ghosts can view updates
+
+/mob/living/silicon/pai/can_use_topic(var/src_object)
+ if(src_object == src && !stat)
+ return STATUS_INTERACTIVE
+ else
+ return ..()
+
+/mob/living/silicon/robot/can_use_topic(var/src_object, var/datum/topic_state/custom_state)
+ if(stat || !client)
+ return STATUS_CLOSE
+ if(lockcharge || stunned || weakened)
+ return STATUS_DISABLED
+ // robots can interact with things they can see within their view range
+ if(!(custom_state.flags & NANO_IGNORE_DISTANCE) && (src_object in view(src)))
+ return STATUS_INTERACTIVE // interactive (green visibility)
+ return STATUS_DISABLED // no updates, completely disabled (red visibility)
+
+/mob/living/silicon/robot/syndicate/can_use_topic(var/src_object)
+ . = ..()
+ if(. != STATUS_INTERACTIVE)
+ return
+
+ if(z in config.admin_levels) // Syndicate borgs can interact with everything on the admin level
+ return STATUS_INTERACTIVE
+ if(istype(get_area(src), /area/syndicate_station)) // If elsewhere, they can interact with everything on the syndicate shuttle
+ return STATUS_INTERACTIVE
+ if(istype(src_object, /obj/machinery)) // Otherwise they can only interact with emagged machinery
+ var/obj/machinery/Machine = src_object
+ if(Machine.emagged)
+ return STATUS_INTERACTIVE
+ return STATUS_UPDATE
+
+/mob/living/silicon/ai/can_use_topic(var/src_object)
+ if(!client || check_unable(1))
+ return STATUS_CLOSE
+ // Prevents the AI from using Topic on admin levels (by for example viewing through the court/thunderdome cameras)
+ // unless it's on the same level as the object it's interacting with.
+ var/turf/T = get_turf(src_object)
+ if(!T || !(z == T.z || (T.z in config.player_levels)))
+ return STATUS_CLOSE
+
+ // If an object is in view then we can interact with it
+ if(src_object in view(client.view, src))
+ return STATUS_INTERACTIVE
+
+ // If we're installed in a chassi, rather than transfered to an inteliCard or other container, then check if we have camera view
+ if(is_in_chassis())
+ //stop AIs from leaving windows open and using then after they lose vision
+ //apc_override is needed here because AIs use their own APC when powerless
+ if(cameranet && !cameranet.checkTurfVis(get_turf(src_object)))
+ return apc_override ? STATUS_INTERACTIVE : STATUS_CLOSE
+ return STATUS_INTERACTIVE
+
+ return STATUS_CLOSE
+
+/mob/living/proc/shared_living_nano_interaction(var/src_object)
+ if (src.stat != CONSCIOUS)
+ return STATUS_CLOSE // no updates, close the interface
+ else if (restrained() || lying || stat || stunned || weakened)
+ return STATUS_UPDATE // update only (orange visibility)
+ return STATUS_INTERACTIVE
+
+//Some atoms such as vehicles might have special rules for how mobs inside them interact with NanoUI.
+/atom/proc/contents_nano_distance(var/src_object, var/mob/living/user)
+ return user.shared_living_nano_distance(src_object)
+
+/mob/living/proc/shared_living_nano_distance(var/atom/movable/src_object)
+ if(!isturf(src_object.loc))
+ if(src_object.loc == src) // Item in the inventory
+ return STATUS_INTERACTIVE
+ if(src.contents.Find(src_object.loc)) // A hidden uplink inside an item
+ return STATUS_INTERACTIVE
+
+ if (!(src_object in view(4, src))) // If the src object is not in visable, disable updates
+ return STATUS_CLOSE
+
+ var/dist = get_dist(src_object, src)
+ if (dist <= 1)
+ return STATUS_INTERACTIVE // interactive (green visibility)
+ else if (dist <= 2)
+ return STATUS_UPDATE // update only (orange visibility)
+ else if (dist <= 4)
+ return STATUS_DISABLED // no updates, completely disabled (red visibility)
+ return STATUS_CLOSE
+
+/mob/living/can_use_topic(var/src_object, var/datum/topic_state/custom_state)
+ . = shared_living_nano_interaction(src_object)
+ if(. == STATUS_INTERACTIVE && !(custom_state.flags & NANO_IGNORE_DISTANCE))
+ if(loc)
+ . = loc.contents_nano_distance(src_object, src)
+ else
+ . = shared_living_nano_distance(src_object)
+ if(STATUS_INTERACTIVE)
+ return STATUS_UPDATE
+
+/mob/living/carbon/human/can_use_topic(var/src_object, var/datum/topic_state/custom_state)
+ . = shared_living_nano_interaction(src_object)
+ if(. == STATUS_INTERACTIVE && !(custom_state.flags & NANO_IGNORE_DISTANCE))
+ . = shared_living_nano_distance(src_object)
+ if(. == STATUS_UPDATE && (TK in mutations)) // If we have telekinesis and remain close enough, allow interaction.
+ return STATUS_INTERACTIVE
+
+/var/global/datum/topic_state/default_state = new()
+
+/datum/topic_state
+ var/flags = 0
+
+/datum/topic_state/proc/href_list(var/mob/user)
+ return list()
\ No newline at end of file
diff --git a/code/modules/nano/nanomanager.dm b/code/modules/nano/nanomanager.dm
index ddc3fcac9f..794d9c5727 100644
--- a/code/modules/nano/nanomanager.dm
+++ b/code/modules/nano/nanomanager.dm
@@ -186,7 +186,8 @@
return 0 // wasn't open
processing_uis.Remove(ui)
- ui.user.open_uis.Remove(ui)
+ if(ui.user) // Sanity check in case a user has been deleted (say a blown up borg watching the alarm interface)
+ ui.user.open_uis.Remove(ui)
var/list/uis = open_uis[src_object_key][ui.ui_key]
uis.Remove(ui)
diff --git a/code/modules/nano/nanoprocs.dm b/code/modules/nano/nanoprocs.dm
deleted file mode 100644
index 65432a8f24..0000000000
--- a/code/modules/nano/nanoprocs.dm
+++ /dev/null
@@ -1,11 +0,0 @@
-/atom/movable/proc/nano_host()
- return src
-
-/obj/nano_module/nano_host()
- return loc
-
-/atom/movable/proc/nano_can_update()
- return 1
-
-/obj/machinery/nano_can_update()
- return !(stat & (NOPOWER|BROKEN))
diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm
index 04ef3cc95b..0a6b6ede8e 100644
--- a/code/modules/nano/nanoui.dm
+++ b/code/modules/nano/nanoui.dm
@@ -52,6 +52,11 @@ nanoui is used to open and update nano browser uis
// the current status/visibility of the ui
var/status = STATUS_INTERACTIVE
+ // Relationship between a master interface and its children. Used in update_status
+ var/datum/nanoui/master_ui
+ var/list/datum/nanoui/children = list()
+ var/datum/topic_state/custom_state = null
+
var/cached_data = null
/**
@@ -68,17 +73,22 @@ nanoui is used to open and update nano browser uis
*
* @return /nanoui new nanoui object
*/
-/datum/nanoui/New(nuser, nsrc_object, nui_key, ntemplate_filename, ntitle = 0, nwidth = 0, nheight = 0, var/atom/nref = null)
+/datum/nanoui/New(nuser, nsrc_object, nui_key, ntemplate_filename, ntitle = 0, nwidth = 0, nheight = 0, var/atom/nref = null, var/datum/nanoui/master_ui = null, var/datum/topic_state/custom_state = null)
user = nuser
src_object = nsrc_object
ui_key = nui_key
window_id = "[ui_key]\ref[src_object]"
+ src.master_ui = master_ui
+ if(master_ui)
+ master_ui.children += src
+ src.custom_state = custom_state ? custom_state : new/datum/topic_state()
+
// add the passed template filename as the "main" template, this is required
add_template("main", ntemplate_filename)
if (ntitle)
- title = ntitle
+ title = sanitize(ntitle)
if (nwidth)
width = nwidth
if (nheight)
@@ -133,120 +143,13 @@ nanoui is used to open and update nano browser uis
*/
/datum/nanoui/proc/update_status(var/push_update = 0)
var/atom/movable/host = src_object.nano_host()
- if(!host.nano_can_update())
- close()
- return
-
- var/status = user.can_interact_with_interface(host.nano_host())
- if(status == STATUS_CLOSE)
+ var/new_status = host.CanUseTopic(user, list(), custom_state)
+ if(master_ui)
+ new_status = min(new_status, master_ui.status)
+ if(new_status == STATUS_CLOSE)
close()
else
- set_status(status, push_update)
-
-/*
- Procs called by update_status()
-*/
-
-/mob/living/silicon/pai/can_interact_with_interface(src_object)
- if(src_object == src && !stat)
- return STATUS_INTERACTIVE
- else
- return ..()
-
-/mob/proc/can_interact_with_interface(var/src_object)
- return STATUS_CLOSE // By default no mob can do anything with NanoUI
-
-/mob/dead/observer/can_interact_with_interface()
- if(check_rights(R_ADMIN, 0))
- return STATUS_INTERACTIVE // Admins are more equal
- return STATUS_UPDATE // Ghosts can view updates
-
-/mob/living/silicon/robot/can_interact_with_interface(var/src_object)
- if(stat || !client)
- return STATUS_CLOSE
- if(lockcharge || stunned || weakened)
- return STATUS_DISABLED
- if (src_object in view(client.view, src)) // robots can see and interact with things they can see within their view range
- return STATUS_INTERACTIVE // interactive (green visibility)
- return STATUS_DISABLED // no updates, completely disabled (red visibility)
-
-/mob/living/silicon/robot/syndicate/can_interact_with_interface(var/src_object)
- . = ..()
- if(. != STATUS_INTERACTIVE)
- return
-
- if(z in config.admin_levels) // Syndicate borgs can interact with everything on the admin level
- return STATUS_INTERACTIVE
- if(istype(get_area(src), /area/syndicate_station)) // If elsewhere, they can interact with everything on the syndicate shuttle
- return STATUS_INTERACTIVE
- if(istype(src_object, /obj/machinery)) // Otherwise they can only interact with emagged machinery
- var/obj/machinery/Machine = src_object
- if(Machine.emagged)
- return STATUS_INTERACTIVE
- return STATUS_UPDATE
-
-/mob/living/silicon/ai/can_interact_with_interface(var/src_object)
- if(!client || check_unable(1))
- return STATUS_CLOSE
- // Prevents the AI from using Topic on admin levels (by for example viewing through the court/thunderdome cameras)
- // unless it's on the same level as the object it's interacting with.
- var/turf/T = get_turf(src_object)
- if(!T || !(z == T.z || (T.z in config.player_levels)))
- return STATUS_CLOSE
-
- // If an object is in view then we can interact with it
- if(src_object in view(client.view, src))
- return STATUS_INTERACTIVE
-
- // If we're installed in a chassi, rather than transfered to an inteliCard or other container, then check if we have camera view
- if(is_in_chassis())
- //stop AIs from leaving windows open and using then after they lose vision
- //apc_override is needed here because AIs use their own APC when powerless
- if(cameranet && !cameranet.checkTurfVis(get_turf(src_object)))
- return apc_override ? STATUS_INTERACTIVE : STATUS_CLOSE
- return STATUS_INTERACTIVE
-
- return STATUS_CLOSE
-
-/mob/living/proc/shared_living_nano_interaction(var/src_object)
- if (src.stat != CONSCIOUS)
- return STATUS_CLOSE // no updates, close the interface
- else if (restrained() || lying || stat || stunned || weakened)
- return STATUS_UPDATE // update only (orange visibility)
- return STATUS_INTERACTIVE
-
-/mob/living/proc/shared_living_nano_distance(var/atom/movable/src_object)
- if(!isturf(src_object.loc))
- if(src_object.loc == src) // Item in the inventory
- return STATUS_INTERACTIVE
- if(src.contents.Find(src_object.loc)) // A hidden uplink inside an item
- return STATUS_INTERACTIVE
-
- if (!(src_object in view(4, src))) // If the src object is not in visable, disable updates
- return STATUS_CLOSE
-
- var/dist = get_dist(src_object, src)
- if (dist <= 1)
- return STATUS_INTERACTIVE // interactive (green visibility)
- else if (dist <= 2)
- return STATUS_UPDATE // update only (orange visibility)
- else if (dist <= 4)
- return STATUS_DISABLED // no updates, completely disabled (red visibility)
- return STATUS_CLOSE
-
-/mob/living/can_interact_with_interface(var/src_object, var/be_close = 1)
- . = shared_living_nano_interaction(src_object)
- if(. == STATUS_INTERACTIVE && be_close)
- . = shared_living_nano_distance(src_object)
- if(STATUS_INTERACTIVE)
- return STATUS_UPDATE
-
-/mob/living/carbon/human/can_interact_with_interface(var/src_object, var/be_close = 1)
- . = shared_living_nano_interaction(src_object)
- if(. == STATUS_INTERACTIVE && be_close)
- . = shared_living_nano_distance(src_object)
- if(. == STATUS_UPDATE && (TK in mutations)) // If we have telekinesis and remain close enough, allow interaction.
- return STATUS_INTERACTIVE
+ set_status(new_status, push_update)
/**
* Set the ui to auto update (every master_controller tick)
@@ -489,7 +392,6 @@ nanoui is used to open and update nano browser uis
* @return nothing
*/
/datum/nanoui/proc/open()
-
var/window_size = ""
if (width && height)
window_size = "size=[width]x[height];"
@@ -509,6 +411,8 @@ nanoui is used to open and update nano browser uis
is_auto_updating = 0
nanomanager.ui_closed(src)
user << browse(null, "window=[window_id]")
+ for(var/datum/nanoui/child in children)
+ child.close()
/**
* Set the UI window to call the nanoclose verb when the window is closed
@@ -573,7 +477,7 @@ nanoui is used to open and update nano browser uis
set_map_z_level(text2num(href_list["mapZLevel"]))
map_update = 1
- if ((src_object && src_object.Topic(href, href_list)) || map_update)
+ if ((src_object && src_object.Topic(href, href_list, 0, custom_state)) || map_update)
nanomanager.update_uis(src_object) // update all UIs attached to src_object
/**
@@ -600,5 +504,4 @@ nanoui is used to open and update nano browser uis
* @return nothing
*/
/datum/nanoui/proc/update(var/force_open = 0)
- src_object.ui_interact(user, ui_key, src, force_open)
-
+ src_object.ui_interact(user, ui_key, src, force_open, master_ui, custom_state)
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 25e12ebfbf..707bceaf2c 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -596,14 +596,11 @@ Note that amputating the affected organ does in fact remove the infection from t
update_damages()
var/obj/organ //Dropped limb object
+ var/list/dropped_items
switch(body_part)
if(HEAD)
- organ= new /obj/item/weapon/organ/head(owner.loc, owner)
- owner.u_equip(owner.glasses)
- owner.u_equip(owner.head)
- owner.u_equip(owner.l_ear)
- owner.u_equip(owner.r_ear)
- owner.u_equip(owner.wear_mask)
+ organ = new /obj/item/weapon/organ/head(owner.loc, owner)
+ dropped_items = list(owner.glasses, owner.head, owner.l_ear, owner.r_ear, owner.wear_mask)
if(ARM_RIGHT)
if(status & ORGAN_ROBOT)
organ = new /obj/item/robot_parts/r_arm(owner.loc)
@@ -627,19 +624,22 @@ Note that amputating the affected organ does in fact remove the infection from t
if(HAND_RIGHT)
if(!(status & ORGAN_ROBOT))
organ= new /obj/item/weapon/organ/r_hand(owner.loc, owner)
- owner.u_equip(owner.gloves)
+ dropped_items = list(owner.gloves) //should probably make it so that you can still wear gloves if you have one hand
if(HAND_LEFT)
if(!(status & ORGAN_ROBOT))
organ= new /obj/item/weapon/organ/l_hand(owner.loc, owner)
- owner.u_equip(owner.gloves)
+ dropped_items = list(owner.gloves)
if(FOOT_RIGHT)
if(!(status & ORGAN_ROBOT))
organ= new /obj/item/weapon/organ/r_foot/(owner.loc, owner)
- owner.u_equip(owner.shoes)
+ dropped_items = list(owner.shoes)
if(FOOT_LEFT)
if(!(status & ORGAN_ROBOT))
organ = new /obj/item/weapon/organ/l_foot(owner.loc, owner)
- owner.u_equip(owner.shoes)
+ dropped_items = list(owner.shoes)
+ if(dropped_items)
+ for(var/obj/O in dropped_items)
+ owner.remove_from_mob(O)
destspawn = 1
//Robotic limbs explode if sabotaged.
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 92ab19e0d5..4c0d9dfbf7 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -482,6 +482,15 @@ obj/structure/cable/proc/cableColor(var/colorC)
item_state = "coil"
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
+/obj/item/stack/cable_coil/cyborg
+ name = "cable coil synthesizer"
+ desc = "A device that makes cable."
+ gender = NEUTER
+ matter = null
+ uses_charge = 1
+ charge_costs = list(1)
+ stacktype = /obj/item/stack/cable_coil
+
/obj/item/stack/cable_coil/suicide_act(mob/user)
if(locate(/obj/item/weapon/stool) in user.loc)
user.visible_message("[user] is making a noose with the [src.name]! It looks like \he's trying to commit suicide.")
@@ -576,7 +585,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
usr << "\blue You cannot do that."
..()
-/obj/item/stack/cable_coil/robot/verb/set_colour()
+/obj/item/stack/cable_coil/cyborg/verb/set_colour()
set name = "Change Colour"
set category = "Object"
@@ -606,26 +615,26 @@ obj/structure/cable/proc/cableColor(var/colorC)
// - Cable coil : merge cables
/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user)
..()
- if( istype(W, /obj/item/weapon/wirecutters) && src.amount > 1)
- src.amount--
+ if( istype(W, /obj/item/weapon/wirecutters) && src.get_amount() > 1)
+ src.use(1)
new/obj/item/stack/cable_coil(user.loc, 1,color)
user << "You cut a piece off the cable coil."
src.update_icon()
return
else if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
- if(C.amount >= MAXCOIL)
+ if(C.get_amount() >= get_max_amount())
user << "The coil is too long, you cannot add any more cable to it."
return
- if( (C.amount + src.amount <= MAXCOIL) )
+ if( (C.get_amount() + src.get_amount() <= get_max_amount()) )
user << "You join the cable coils together."
- C.give(src.amount) // give it cable
- src.use(src.amount) // make sure this one cleans up right
+ C.give(src.get_amount()) // give it cable
+ src.use(src.get_amount()) // make sure this one cleans up right
return
else
- var/amt = MAXCOIL - C.amount
+ var/amt = get_max_amount() - C.get_amount()
user << "You transfer [amt] length\s of cable from one coil to the other."
C.give(amt)
src.use(amt)
diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm
index 98ca3ca41f..f0a406e467 100644
--- a/code/modules/projectiles/ammunition/bullets.dm
+++ b/code/modules/projectiles/ammunition/bullets.dm
@@ -118,14 +118,14 @@
/obj/item/ammo_casing/a145
name = "shell casing"
- desc = "A 14.5mm AP shell."
+ desc = "A 14.5mm shell."
icon_state = "lcasing"
spent_icon = "lcasing-spent"
caliber = "14.5mm"
projectile_type = /obj/item/projectile/bullet/rifle/a145
/obj/item/ammo_casing/a556
- desc = "A 5.56 bullet casing."
+ desc = "A 5.56mm bullet casing."
caliber = "a556"
projectile_type = /obj/item/projectile/bullet/rifle/a556
diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm
index 8ae6ccbd45..75c015d579 100644
--- a/code/modules/projectiles/guns/launcher/syringe_gun.dm
+++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm
@@ -1,6 +1,6 @@
/obj/item/weapon/syringe_cartridge
name = "syringe gun cartridge"
- desc = "An impact-triggered compressed gas cartridge that can fitted to a syringe for rapid injection."
+ desc = "An impact-triggered compressed gas cartridge that can be fitted to a syringe for rapid injection."
icon = 'icons/obj/ammo.dmi'
icon_state = "syringe-cartridge"
var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot
@@ -25,6 +25,7 @@
user.remove_from_mob(syringe)
syringe.loc = src
sharp = 1
+ name = "syringe dart"
update_icon()
/obj/item/weapon/syringe_cartridge/attack_self(mob/user)
@@ -33,6 +34,7 @@
user.put_in_hands(syringe)
syringe = null
sharp = initial(sharp)
+ name = initial(name)
update_icon()
/obj/item/weapon/syringe_cartridge/proc/prime()
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 91129e6979..e331482d97 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -70,15 +70,16 @@
/obj/item/weapon/gun/projectile/automatic/z8
name = "\improper Z8 Bulldog"
- desc = "An older model bullpup carbine, made by the now defunct Zendai Foundries. Uses armor piercing 5.56 rounds. Makes you feel like a space marine when you hold it."
+ desc = "An older model bullpup carbine, made by the now defunct Zendai Foundries. Uses armor piercing 5.56mm rounds. Makes you feel like a space marine when you hold it."
icon_state = "carbine"
item_state = "shotgun"
- w_class = 4.0
+ w_class = 4
force = 10
caliber = "a556"
origin_tech = "combat=8;materials=3"
ammo_type = "/obj/item/ammo_casing/a556"
fire_sound = 'sound/weapons/Gunshot.ogg'
+ slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/a556
@@ -92,13 +93,13 @@
/obj/item/weapon/gun/projectile/automatic/sts35
name = "\improper STS-35 automatic rifle"
- desc = "A durable, rugged looking automatic weapon of make popular on the frontier, despite it's bulk. Uses 7.62mm rounds. It is unmarked."
+ desc = "A durable, rugged looking automatic weapon of a make popular on the frontier. Uses 7.62mm rounds. It is unmarked."
icon_state = "assltrifle"
item_state = "shotgun"
w_class = 4
force = 10
caliber = "a762"
- origin_tech = "combat=5;materials=1;syndicate=8"
+ origin_tech = "combat=6;materials=1;syndicate=4"
slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/c762
@@ -117,7 +118,7 @@
slot_flags = 0
max_shells = 50
caliber = "a762"
- origin_tech = "combat=5;materials=1;syndicate=2"
+ origin_tech = "combat=6;materials=1;syndicate=2"
slot_flags = SLOT_BACK
ammo_type = "/obj/item/ammo_casing/a762"
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm
index a6fd3917c1..8364876563 100644
--- a/code/modules/projectiles/guns/projectile/sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper.dm
@@ -1,6 +1,6 @@
/obj/item/weapon/gun/projectile/heavysniper
name = "\improper PTRS-7 rifle"
- desc = "A portable anti-armour rifle fitted with a scope. Originally designed to used against armoured exosuits, it is capable of punching through non-reinforced walls with ease. Fires 14.5mm AP shells."
+ desc = "A portable anti-armour rifle fitted with a scope. Originally designed to used against armoured exosuits, it is capable of punching through non-reinforced walls with ease. Fires armor piercing 14.5mm shells."
icon_state = "heavysniper"
item_state = "shotgun"
w_class = 4
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index e25b4491da..9b710409a1 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -66,14 +66,10 @@
return
//Checks if the projectile is eligible for embedding. Not that it necessarily will.
-//Mainly used to ensure that projectiles won't embed if they are penetrating the mob.
/obj/item/projectile/proc/can_embed()
//embed must be enabled and damage type must be brute
if(!embed || damage_type != BRUTE)
return 0
- //can't embed if the projectile is penetrating through the mob
- if(penetrating > 0 && damage > 20 && prob(damage))
- return 0
return 1
//return 1 if the projectile should be allowed to pass through after all, 0 if not.
@@ -167,9 +163,12 @@
target_mob.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]"
firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [target_mob]/[target_mob.ckey] with a [src.type]"
msg_admin_attack("[firer] ([firer.ckey]) shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG
- else
+ else if(firer)
target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]"
msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG
+ else
+ target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with a [src]"
+ msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with a [src] (JMP)") //BS12 EDIT ALG
//sometimes bullet_act() will want the projectile to continue flying
if (target_mob.bullet_act(src, def_zone) == -1)
@@ -206,9 +205,9 @@
for(var/mob/M in A)
attack_mob(M, distance)
- //penetrating projectiles can pass through things that otherwise would not let them
+ //penetrating projectiles can pass through things that otherwise would not let them
if(!passthrough && penetrating > 0)
- if(check_penetrate(A))
+ if(check_penetrate(A))
passthrough = 1
penetrating--
@@ -311,4 +310,4 @@
trace.firer = user
var/output = trace.process() //Test it!
del(trace) //No need for it anymore
- return output //Send it back to the gun!
+ return output //Send it back to the gun!
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index 49197bec17..50d3c04f46 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -7,12 +7,26 @@
check_armour = "bullet"
embed = 1
sharp = 1
+ var/mob_passthrough_check = 0
/obj/item/projectile/bullet/on_hit(var/atom/target, var/blocked = 0)
if (..(target, blocked))
var/mob/living/L = target
shake_camera(L, 3, 2)
+/obj/item/projectile/bullet/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier)
+ if(penetrating > 0 && damage > 20 && prob(damage))
+ mob_passthrough_check = 1
+ else
+ mob_passthrough_check = 0
+ ..()
+
+/obj/item/projectile/bullet/can_embed()
+ //prevent embedding if the projectile is passing through the mob
+ if(mob_passthrough_check)
+ return 0
+ return ..()
+
/obj/item/projectile/bullet/check_penetrate(var/atom/A)
if(!A || !A.density) return 1 //if whatever it was got destroyed when we hit it, then I guess we can just keep going
@@ -20,10 +34,10 @@
return 1 //mecha have their own penetration handling
if(ismob(A))
- if(iscarbon(A))
- //squishy mobs absorb KE
- if(can_embed()) return 0
- damage *= 0.7
+ if(!mob_passthrough_check)
+ return 0
+ if(iscarbon(A))
+ damage *= 0.7 //squishy mobs absorb KE
return 1
var/chance = 0
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index e239527a4f..e91647b4e1 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -3180,17 +3180,17 @@ datum
if(!data) data = 1
data++
M.dizziness +=6
- if(data >= 15 && data <45)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 45 && prob(50) && data <55)
- M.confused = max(M.confused+3,0)
- else if(data >=55)
- M.druggy = max(M.druggy, 55)
- else if(data >=200)
- M.adjustToxLoss(2)
+ switch(data)
+ if(15 to 45)
+ M.stuttering = max(M.stuttering+3,0)
+ if(45 to 55)
+ if (prob(50))
+ M.confused = max(M.confused+3,0)
+ if(55 to 200)
+ M.druggy = max(M.druggy, 55)
+ if(200 to INFINITY)
+ M.adjustToxLoss(2)
..()
- return
neurotoxin
name = "Neurotoxin"
@@ -3210,17 +3210,17 @@ datum
if(!data) data = 1
data++
M.dizziness +=6
- if(data >= 15 && data <45)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 45 && prob(50) && data <55)
- M.confused = max(M.confused+3,0)
- else if(data >=55)
- M.druggy = max(M.druggy, 55)
- else if(data >=200)
- M.adjustToxLoss(2)
+ switch(data)
+ if(15 to 45)
+ M.stuttering = max(M.stuttering+3,0)
+ if(45 to 55)
+ if (prob(50))
+ M.confused = max(M.confused+3,0)
+ if(55 to 200)
+ M.druggy = max(M.druggy, 55)
+ if(200 to INFINITY)
+ M.adjustToxLoss(2)
..()
- return
hippies_delight
name = "Hippies' Delight"
diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm
index 825a4c582e..f44ae0fabd 100644
--- a/code/modules/surgery/surgery.dm
+++ b/code/modules/surgery/surgery.dm
@@ -103,6 +103,9 @@ proc/do_surgery(mob/living/carbon/M, mob/living/user, obj/item/tool)
else // This failing silently was a pain.
user << "\red You must remain close to your patient to conduct surgery."
M.op_stage.in_progress = 0 // Clear the in-progress flag.
+ if (ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.update_surgery()
return 1 //don't want to do weapony things after surgery
if (user.a_intent == "help")
diff --git a/code/setup.dm b/code/setup.dm
index 06235da7fc..fb54f3c067 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -759,3 +759,4 @@ var/list/be_special_flags = list(
#define STATUS_DISABLED 0 // RED Visability
#define STATUS_CLOSE -1 // Close the interface
+#define NANO_IGNORE_DISTANCE 1
\ No newline at end of file
diff --git a/html/changelog.html b/html/changelog.html
index cb0920c052..53ce87b226 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -91,12 +91,16 @@ should be listed in the changelog upon commit though. Thanks. -->
RavingManiac updated:
- Holodeck is now bigger and better, with toggleable gravity and a new courtroom setting
+ TwistedAkai updated:
+
+ - Purple Combs should now be visible and have their proper icon
1 September 2014
+
9 January 2015
Zuhayr updated:
- Voice changers no longer use ID cards. They have Toggle and Set Voice verbs on the actual mask object now.
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 893b58c663..8322b7b4f5 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi
index f83d75f3f6..777f68c62e 100644
Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ
diff --git a/icons/mob/surgery.dmi b/icons/mob/surgery.dmi
new file mode 100644
index 0000000000..20381e0909
Binary files /dev/null and b/icons/mob/surgery.dmi differ
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index a921d45d48..46c280252e 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ
diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm
index c3ea92af13..b8280f177c 100644
--- a/maps/exodus-1.dmm
+++ b/maps/exodus-1.dmm
@@ -56,8 +56,8 @@
"abd" = (/turf/simulated/wall/r_wall,/area/maintenance/foresolar)
"abe" = (/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/maintenance/security_port)
"abf" = (/turf/simulated/wall,/area/maintenance/security_port)
-"abg" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/security/brig)
-"abh" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig)
+"abg" = (/turf/simulated/wall/r_wall,/area/security/tactical)
+"abh" = (/obj/structure/closet/wardrobe/tactical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/tactical)
"abi" = (/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},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/range)
"abj" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/security/range)
"abk" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/security/range)
@@ -74,11 +74,11 @@
"abv" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore"},/turf/simulated/floor/plating,/area/maintenance/foresolar)
"abw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/foresolar)
"abx" = (/obj/effect/decal/cleanable/ash,/obj/structure/closet/emcloset,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_port)
-"aby" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig)
-"abz" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"abA" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/security/detectives_office)
-"abB" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office)
-"abC" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig)
+"aby" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"abz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"abA" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"abB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"abC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
"abD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/range)
"abE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/security/range)
"abF" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/security/range)
@@ -106,9 +106,9 @@
"acb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/foresolar)
"acc" = (/obj/machinery/door/airlock/engineering{name = "Fore Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/foresolar)
"acd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/security_port)
-"ace" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor,/area/security/brig)
-"acf" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"acg" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/door_control{id = "HoSdoor"; name = "Office Door"; normaldoorcontrol = 1; pixel_x = -36; pixel_y = 29},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
+"ace" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"acf" = (/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},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/tactical)
+"acg" = (/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},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/tactical)
"ach" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/main)
"aci" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/main)
"acj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/main)
@@ -128,16 +128,16 @@
"acx" = (/turf/simulated/floor/plating,/area/maintenance/foresolar)
"acy" = (/obj/machinery/camera{c_tag = "Fore Solar Control"; dir = 1},/obj/structure/cable,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/foresolar)
"acz" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Fore Solar Access"; dir = 8},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/security_port)
-"acA" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{layer = 4; name = "Observation Screen"; network = list("Interrogation"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig)
-"acB" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
-"acC" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
-"acD" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
+"acA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/highsecurity{name = "Tactical Equipment"; req_access_txt = "3"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"acB" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/random/armory,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"acC" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 8},/obj/random/armory,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"acD" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/obj/random/armory,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"acE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"acF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"acG" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/screwdriver{pixel_y = 15},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/security/main)
"acH" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/security/main)
"acI" = (/obj/structure/disposalpipe/segment,/obj/structure/table,/obj/machinery/recharger,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main)
-"acJ" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/security/brig)
+"acJ" = (/obj/structure/bed/roller,/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/main)
"acK" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/security/main)
"acL" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/security/main)
"acM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/main)
@@ -159,7 +159,7 @@
"adc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/main)
"add" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main)
"ade" = (/obj/structure/table,/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/security/main)
-"adf" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway)
+"adf" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
"adg" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main)
"adh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/snack,/turf/simulated/floor,/area/security/main)
"adi" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/weapon/cigbutt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
@@ -167,11 +167,11 @@
"adk" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adl" = (/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adm" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
-"adn" = (/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/security/prison)
+"adn" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/table/rack,/obj/machinery/camera{c_tag = "Armoury - Secure"; dir = 4; network = list("SS13")},/obj/item/clothing/suit/armor/bulletproof{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/laserproof{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"ado" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"adp" = (/obj/structure/table,/obj/machinery/recharger,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"adq" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/flashbangs,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
-"adr" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/security/prison)
+"adr" = (/obj/structure/table/rack,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/beanbags,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"ads" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"adt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"adu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
@@ -179,36 +179,36 @@
"adw" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"adx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/main)
"ady" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
-"adz" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/prison)
+"adz" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main)
"adA" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"adB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adC" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1; name = "External Construction Airlock"; req_access_txt = "32"},/obj/item/tape/engineering{icon_state = "engineering_door"; layer = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adD" = (/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/maintenance/security_port)
"adE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port)
-"adF" = (/obj/item/weapon/stool,/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Solitary Confinement South"; dir = 2; network = list("SS13","Prison")},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/security/brig)
+"adF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/table/rack,/obj/random/armor,/obj/random/armor,/obj/random/armor,/obj/random/armor,/obj/random/armor,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"adG" = (/obj/machinery/door_control{id = "Armoury"; name = "Armoury Access"; pixel_x = -1; pixel_y = -28; req_access_txt = "3"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"adH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main)
"adI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main)
"adJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"adK" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main)
"adL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
-"adM" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/maintenance/dormitory)
+"adM" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/security/main)
"adN" = (/obj/structure/table,/obj/item/weapon/folder/red,/turf/simulated/floor,/area/security/main)
-"adO" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
+"adO" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main)
"adP" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"adQ" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adR" = (/obj/structure/closet/toolcloset,/obj/item/clothing/head/hardhat/dblue,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adS" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"adT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port)
-"adU" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
-"adV" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
+"adU" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"adV" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"adW" = (/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"adX" = (/obj/machinery/light,/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
"adY" = (/obj/machinery/door_control{id = "Armoury"; name = "Emergency Access"; pixel_x = -28; pixel_y = 4; req_access_txt = "3"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/floor,/area/security/main)
"adZ" = (/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"aea" = (/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},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main)
"aeb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/main)
-"aec" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/security/prison)
+"aec" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main)
"aed" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"aee" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = 32; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"aef" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 1"; name = "Cell 1"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig)
@@ -222,10 +222,10 @@
"aen" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"aeo" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main)
"aep" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
-"aeq" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/prison)
+"aeq" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main)
"aer" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main)
"aes" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main)
-"aet" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/prison)
+"aet" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/main)
"aeu" = (/obj/machinery/camera{c_tag = "Security Office South"; dir = 8; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"aev" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"aew" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port)
@@ -244,7 +244,7 @@
"aeJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/main)
"aeK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
"aeL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/main)
-"aeM" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
+"aeM" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/security/main)
"aeN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/main)
"aeO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"aeP" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/main)
@@ -284,8 +284,8 @@
"afx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/warden)
"afy" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/security{name = "Armoury"; req_access_txt = "2"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/warden)
"afz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main)
-"afA" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
-"afB" = (/obj/structure/bed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig)
+"afA" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main)
+"afB" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main)
"afC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main)
"afD" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"afE" = (/obj/machinery/vending/cola,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
@@ -297,8 +297,8 @@
"afK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = 25; tag_door = "escape_pod_3_berth_hatch"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"afL" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"afM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
-"afN" = (/obj/structure/bed,/obj/machinery/flasher{id = "Cell 2"; pass_flags = 0; pixel_x = 0; pixel_y = -26},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"afO" = (/obj/machinery/light{dir = 8},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
+"afN" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
+"afO" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_3_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
"afP" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station)
"afQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port)
"afR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port)
@@ -381,7 +381,7 @@
"ahq" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/obj/item/device/radio/off,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
"ahr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
"ahs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/heads/hos)
-"aht" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/maintenance/dormitory)
+"aht" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/bed/chair,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/heads/hos)
"ahu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/heads/hos)
"ahv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
"ahw" = (/obj/structure/table/woodentable,/obj/machinery/keycard_auth{pixel_x = 30},/obj/machinery/photocopier/faxmachine{department = "Head of Security"},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
@@ -401,10 +401,10 @@
"ahK" = (/turf/simulated/floor,/area/security/brig)
"ahL" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig)
"ahM" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor,/area/security/brig)
-"ahN" = (/obj/structure/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/maintenance/dormitory)
+"ahN" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/security/brig)
"ahO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig)
"ahP" = (/obj/item/device/eftpos{eftpos_name = "Brig EFTPOS scanner"},/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ahQ" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/maintenance/dormitory)
+"ahQ" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"ahR" = (/obj/item/weapon/hand_labeler,/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{dir = 4; name = "Warden's Desk"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"ahS" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main)
"ahT" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
@@ -422,30 +422,30 @@
"aif" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/security_port)
"aig" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor/plating,/area/maintenance/security_port)
"aih" = (/obj/machinery/camera{c_tag = "Interrogation Observation"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/security/brig)
-"aii" = (/obj/item/weapon/stool,/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Solitary Confinement North"; dir = 2; network = list("SS13","Prison")},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/security/brig)
+"aii" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{layer = 4; name = "Observation Screen"; network = list("Interrogation"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig)
"aij" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/grille,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/brig)
-"aik" = (/obj/machinery/flasher{id = "Cell 3"; pixel_x = -28; pixel_y = 0},/obj/structure/bed,/turf/simulated/floor{icon_state = "red"},/area/security/prison)
+"aik" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"ail" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/item/device/taperecorder,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
-"aim" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig)
+"aim" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"ain" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"aio" = (/obj/machinery/camera{c_tag = "Security Processing"; dir = 4; network = list("SS13")},/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/turf/simulated/floor,/area/security/brig)
-"aip" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
+"aip" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor,/area/security/brig)
"aiq" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig)
"air" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
-"ais" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office)
+"ais" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"ait" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"aiu" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden)
"aiv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
"aiw" = (/obj/machinery/vending/security,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main)
"aix" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/crew_quarters/heads/hos)
"aiy" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
-"aiz" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main)
+"aiz" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/door_control{id = "HoSdoor"; name = "Office Door"; normaldoorcontrol = 1; pixel_x = -36; pixel_y = 29},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
"aiA" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos)
"aiB" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"aiC" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"aiD" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/security_port)
"aiE" = (/obj/item/device/radio/intercom{frequency = 1449; pixel_x = 0; pixel_y = -27},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig)
-"aiF" = (/obj/structure/table/rack,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/beanbags,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"aiF" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig)
"aiG" = (/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/structure/grille,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/security/brig)
"aiH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"aiI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
@@ -565,9 +565,9 @@
"akS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
"akT" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office)
"akU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"akV" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/table/rack,/obj/machinery/camera{c_tag = "Armoury - Secure"; dir = 4; network = list("SS13")},/obj/item/clothing/suit/armor/bulletproof{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/laserproof{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"akV" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/security/detectives_office)
"akW" = (/obj/structure/table/woodentable,/obj/machinery/door_control{id = "detdoor"; name = "Office Door"; normaldoorcontrol = 1},/obj/item/weapon/handcuffs,/obj/item/device/flash,/turf/simulated/floor/carpet,/area/security/detectives_office)
-"akX" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/table/rack,/obj/random/armor,/obj/random/armor,/obj/random/armor,/obj/random/armor,/obj/random/armor,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"akX" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office)
"akY" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
"akZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"ala" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
@@ -598,7 +598,7 @@
"alz" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
"alA" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/auxport)
"alB" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"alC" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/main)
+"alC" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/turf/simulated/floor/carpet,/area/security/detectives_office)
"alD" = (/turf/simulated/floor/carpet,/area/security/detectives_office)
"alE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/security/detectives_office)
"alF" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/detectives_office)
@@ -610,7 +610,7 @@
"alL" = (/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},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "visit_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/lobby)
"alM" = (/turf/simulated/floor/plating,/area/security/brig)
"alN" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig)
-"alO" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/security/main)
+"alO" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/security/brig)
"alP" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/security{name = "Riot Control"; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig)
"alQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig)
"alR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig)
@@ -624,7 +624,7 @@
"alZ" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 8; icon_state = "rightsecure"; req_access_txt = "2"},/obj/structure/table/reinforced,/turf/simulated/floor,/area/security/brig)
"ama" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/security_starboard)
"amb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig)
-"amc" = (/obj/structure/bed/roller,/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/main)
+"amc" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = -15},/turf/simulated/floor,/area/security/brig)
"amd" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/southright{base_state = "left"; dir = 4; icon_state = "left"},/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/security/lobby)
"ame" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby)
"amf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/lobby)
@@ -640,7 +640,7 @@
"amp" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/flash,/obj/item/weapon/handcuffs,/turf/simulated/floor/carpet,/area/security/detectives_office)
"amq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office)
"amr" = (/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"ams" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/random/armory,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"ams" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/door_control{id = "prisonentry"; name = "Entry Doors"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/door_control{id = "prisonexit"; name = "Exit Doors"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 24; req_access_txt = "2"},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = -26; pixel_y = 6; req_access_txt = "2"},/turf/simulated/floor,/area/security/brig)
"amt" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"amu" = (/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/substation/security)
"amv" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/security)
@@ -655,7 +655,7 @@
"amE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
"amF" = (/obj/machinery/camera{c_tag = "Prison Wing Processing"; dir = 1},/obj/structure/closet/secure_closet/brig,/turf/simulated/floor,/area/security/brig)
"amG" = (/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor,/area/security/brig)
-"amH" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 8},/obj/random/armory,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"amH" = (/obj/machinery/flasher{id = "Cell 3"; pixel_x = -28; pixel_y = 0},/obj/structure/bed,/turf/simulated/floor{icon_state = "red"},/area/security/prison)
"amI" = (/turf/simulated/floor{icon_state = "red"},/area/security/prison)
"amJ" = (/obj/structure/closet/secure_closet/brig{id = "Cell 3"; name = "Cell 3 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 3"; dir = 8; network = list("SS13","Prison")},/turf/simulated/floor{icon_state = "red"},/area/security/prison)
"amK" = (/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/prison)
@@ -665,16 +665,16 @@
"amO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = 3; pixel_y = -33},/turf/simulated/floor,/area/security/brig)
"amP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Prison Wing Observation"; dir = 1; network = list("SS13")},/turf/simulated/floor,/area/security/brig)
"amQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; name = "Brig Monitor"; network = list("Prison"); pixel_x = -3; pixel_y = -33},/turf/simulated/floor,/area/security/brig)
-"amR" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/obj/random/armory,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"amR" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig)
"amS" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/window/southright{dir = 4},/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/security/lobby)
"amT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby)
"amU" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/fore)
"amV" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/internalaffairs,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
-"amW" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main)
+"amW" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"amX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"amY" = (/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"amZ" = (/obj/machinery/computer/security/wooden_tv,/obj/machinery/camera{c_tag = "Forensic Office"; dir = 4; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"ana" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"ana" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office)
"anb" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
"anc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/security_starboard)
"and" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/substation/security)
@@ -722,13 +722,13 @@
"anT" = (/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
"anU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/prison)
"anV" = (/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport)
-"anW" = (/turf/simulated/wall/r_wall,/area/security/tactical)
+"anW" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/prison)
"anX" = (/turf/simulated/wall,/area/maintenance/evahallway)
"anY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"anZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"aoa" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/weapon/tank/emergency_oxygen/double,/obj/effect/decal/cleanable/cobweb2,/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"aob" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/security/brig)
-"aoc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"aoc" = (/obj/item/weapon/stool,/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Solitary Confinement North"; dir = 2; network = list("SS13","Prison")},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/security/brig)
"aod" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
"aoe" = (/obj/machinery/door_control{id = "Cell 2"; name = "Cell 2 Door"; pixel_x = 30; pixel_y = 1; req_access_txt = "2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig)
"aof" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 2"; name = "Cell 2"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig)
@@ -794,7 +794,7 @@
"apn" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/prison)
"apo" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/security/prison)
"app" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/security/range)
-"apq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"apq" = (/obj/machinery/light{dir = 8},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
"apr" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/lobby)
"aps" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/fore)
"apt" = (/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
@@ -807,32 +807,32 @@
"apA" = (/obj/machinery/requests_console{pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
"apB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory)
"apC" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/maintenance/dormitory)
-"apD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
-"apE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"apD" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/maintenance/dormitory)
+"apE" = (/obj/structure/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/maintenance/dormitory)
"apF" = (/turf/simulated/floor/wood,/area/maintenance/dormitory)
-"apG" = (/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},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/tactical)
+"apG" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/maintenance/dormitory)
"apH" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "dorm_outer"; locked = 1; name = "Dormitory External Access"; req_access = null; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"apI" = (/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard)
"apJ" = (/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport)
"apK" = (/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/maintenance/evahallway)
-"apL" = (/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},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/tactical)
+"apL" = (/obj/structure/bed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig)
"apM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/plating,/area/security/brig)
"apN" = (/obj/item/device/radio/intercom{pixel_x = 30},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/brig)
"apO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison)
-"apP" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/highsecurity{name = "Tactical Equipment"; req_access_txt = "3"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"apP" = (/obj/structure/bed,/obj/machinery/flasher{id = "Cell 2"; pass_flags = 0; pixel_x = 0; pixel_y = -26},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
"apQ" = (/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},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/prison)
"apR" = (/obj/machinery/light{dir = 8},/obj/effect/decal/cleanable/generic,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/prison)
"apS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/security/prison)
"apT" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/fore)
-"apU" = (/obj/structure/closet/wardrobe/tactical,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/tactical)
-"apV" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/security/tactical)
+"apU" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/prison)
+"apV" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/security/prison)
"apW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"apX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/prison)
"apY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/prison)
"apZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/prison)
"aqa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/prison)
"aqb" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/fore)
-"aqc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/bed/chair,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/heads/hos)
+"aqc" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
"aqd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/lobby)
"aqe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/lobby)
"aqf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby)
@@ -842,10 +842,10 @@
"aqj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"aqk" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"aql" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
-"aqm" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main)
+"aqm" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
"aqn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
"aqo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
-"aqp" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main)
+"aqp" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
"aqq" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/maintenance{name = "Detective Maintenance"; req_access_txt = "4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/security/detectives_office)
"aqr" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory)
"aqs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory)
@@ -869,7 +869,7 @@
"aqK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison)
"aqL" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/prison)
"aqM" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/fore)
-"aqN" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
+"aqN" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
"aqO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
"aqP" = (/obj/machinery/door_control{id = "visitdoor"; name = "Visitation Access"; normaldoorcontrol = 1; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/lobby)
"aqQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/lobby)
@@ -878,7 +878,7 @@
"aqT" = (/turf/simulated/floor/plating/airless,/area/solar/fore)
"aqU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"aqV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
-"aqW" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_3_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station)
+"aqW" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice)
"aqX" = (/obj/machinery/camera{c_tag = "Detective South"; dir = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
"aqY" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -30},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
"aqZ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/evidence,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office)
@@ -893,7 +893,7 @@
"ari" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"arj" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "dorm_airlock"; name = "Dormitory Airlock Console"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "1;5;11;18;24"; tag_airpump = "dorm_pump"; tag_chamber_sensor = "dorm_sensor"; tag_exterior_door = "dorm_outer"; tag_interior_door = "dorm_inner"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/dormitory)
"ark" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/evahallway)
-"arl" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/security/main)
+"arl" = (/obj/item/weapon/stool,/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Solitary Confinement South"; dir = 2; network = list("SS13","Prison")},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/security/brig)
"arm" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig)
"arn" = (/obj/machinery/door_control{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = 30; pixel_y = 1; req_access_txt = "2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig)
"aro" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 1"; dir = 2; network = list("SS13","Prison")},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
@@ -920,11 +920,11 @@
"arJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"arK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory)
"arL" = (/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/maintenance/dormitory)
-"arM" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"arM" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/maintenance/dormitory)
"arN" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/maintenance/dormitory)
"arO" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "dorm_inner"; locked = 1; name = "Dormitory Internal Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"arP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/maintenance/dormitory)
-"arQ" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/obj/random/ammo,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden)
+"arQ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"arR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig)
"arS" = (/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 1"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig)
"arT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/security/brig)
@@ -933,9 +933,9 @@
"arW" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
"arX" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/hallway/primary/central_one)
"arY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/prison)
-"arZ" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/main)
-"asa" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main)
-"asb" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/main)
+"arZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/security/prison)
+"asa" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor,/area/security/prison)
+"asb" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/prison)
"asc" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/security/prison)
"asd" = (/obj/machinery/flasher{id = "IAflash"; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/prison)
"ase" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
@@ -965,16 +965,16 @@
"asC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway)
"asD" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1475; listening = 0; name = "Station Intercom (Security)"; pixel_x = 0; pixel_y = -30},/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/brig)
"asE" = (/obj/item/device/radio/intercom{pixel_x = 30},/obj/machinery/door_timer/cell_1{pixel_x = 32; pixel_y = -32},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/brig)
-"asF" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library)
+"asF" = (/obj/structure/bed,/obj/machinery/flasher{id = "Cell 1"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
"asG" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig)
"asH" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/security/prison)
"asI" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/prison)
"asJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/prison)
"asK" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/newscaster{pixel_x = 28; pixel_y = 1},/turf/simulated/floor,/area/security/prison)
"asL" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"asM" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
+"asM" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"asN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/hallway/primary/central_one)
-"asO" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"asO" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison)
"asP" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security)
"asQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"asR" = (/obj/machinery/bot/secbot/beepsky{name = "Officer Beepsky"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore)
@@ -993,9 +993,9 @@
"ate" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"atf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"atg" = (/obj/machinery/button/flasher{id = "IAflash"; pixel_y = -30},/obj/machinery/door_control{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison)
-"ath" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"ath" = (/obj/effect/landmark/start/ninja,/turf/space,/area/space)
"ati" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"atj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "Syndicate Breach Area"},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"atj" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness)
"atk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod1/station)
"atl" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station)
"atm" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod1/station)
@@ -1032,9 +1032,9 @@
"atR" = (/turf/simulated/floor/engine{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck)
"atS" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/fore)
"atT" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod1/station)
-"atU" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"atU" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_1"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
"atV" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod2/station)
-"atW" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
+"atW" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_2"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
"atX" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "arrivals_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "arrivals_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "arrivals_pump"; tag_exterior_door = "arrivals_outer"; frequency = 1379; id_tag = "arrivals_airlock"; tag_interior_door = "arrivals_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "arrivals_sensor"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals)
"atY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/arrivals)
"atZ" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/wall,/area/maintenance/evahallway)
@@ -1050,16 +1050,16 @@
"auj" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor,/area/security/prison)
"auk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/prison)
"aul" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/security/prison)
-"aum" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
+"aum" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/camera{c_tag = "Bedroom"; dir = 6; network = list("SS13","Prison")},/turf/simulated/floor,/area/security/prison)
"aun" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_y = 32},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 24},/turf/simulated/floor,/area/security/prison)
-"auo" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"auo" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/generic,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"aup" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"auq" = (/obj/machinery/atm{pixel_x = -25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"aur" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore)
"aus" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
"aut" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison)
-"auu" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"auv" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"auu" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"auv" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"auw" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness)
"aux" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/sleep)
"auy" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/sleep)
@@ -1074,12 +1074,12 @@
"auH" = (/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness)
"auI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness)
"auJ" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness)
-"auK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/bed/chair/wood/wings,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"auL" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness)
+"auK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"auL" = (/obj/machinery/door/airlock/glass{name = "Holodeck"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/crew_quarters/fitness)
"auM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"auN" = (/turf/simulated/wall,/area/hallway/secondary/entry/fore)
-"auO" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"auP" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"auO" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
+"auP" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
"auQ" = (/turf/simulated/wall,/area/maintenance/arrivals)
"auR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals)
"auS" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "arrivals_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/arrivals)
@@ -1092,7 +1092,7 @@
"auZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
"ava" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 30},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison)
"avb" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/machinery/camera{c_tag = "Common Brig Southwest"; dir = 4; network = list("SS13")},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/prison)
-"avc" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden)
+"avc" = (/obj/item/weapon/stool,/turf/simulated/floor,/area/security/prison)
"avd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/security/prison)
"ave" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/prison)
"avf" = (/obj/machinery/door/airlock/glass{name = "Brig Dormitories"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/prison)
@@ -1102,7 +1102,7 @@
"avj" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"avk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"avl" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"avm" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
+"avm" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"avn" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/crew_quarters/sleep)
"avo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms)
"avp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/dormitory)
@@ -1150,14 +1150,14 @@
"awf" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "1;11;18;24"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/evahallway)
"awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison)
"awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison)
-"awi" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
+"awi" = (/obj/machinery/light,/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison)
"awj" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
-"awk" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
+"awk" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison)
"awl" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"awm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"awn" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"awo" = (/obj/structure/bed/chair{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/bridge)
-"awp" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden)
+"awo" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"awp" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"awq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/port)
"awr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep)
"aws" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/crew_quarters/sleep/cryo)
@@ -1167,8 +1167,8 @@
"aww" = (/turf/simulated/floor{dir = 6; icon_state = "whitehall"},/area/crew_quarters/fitness)
"awx" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/security/prison)
"awy" = (/turf/simulated/floor{dir = 10; icon_state = "whitehall"},/area/crew_quarters/fitness)
-"awz" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness)
-"awA" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck"},/turf/simulated/floor,/area/crew_quarters/fitness)
+"awz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "Syndicate Breach Area"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"awA" = (/obj/machinery/light{dir = 1},/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness)
"awB" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness)
"awC" = (/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/crew_quarters/fitness)
"awD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
@@ -1191,7 +1191,7 @@
"awU" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms)
"awV" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"awW" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore)
-"awX" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library)
+"awX" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"awY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"awZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/crew_quarters/sleep)
"axa" = (/obj/machinery/door/airlock{id_tag = "Dormitory 1"; name = "Dorm"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
@@ -1214,8 +1214,8 @@
"axr" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/fitness)
"axs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"axt" = (/obj/structure/closet/lasertag/blue,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness)
-"axu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/turf/simulated/floor,/area/crew_quarters/fitness)
-"axv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
+"axu" = (/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness)
+"axv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/library)
"axw" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore)
"axx" = (/obj/structure/sign/pods,/turf/simulated/wall,/area/hallway/secondary/entry/fore)
"axy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore)
@@ -1239,7 +1239,7 @@
"axQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/fore)
"axR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
"axS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
-"axT" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/library)
+"axT" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"axU" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"axV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep)
"axW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep)
@@ -1247,7 +1247,7 @@
"axY" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/sleep)
"axZ" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/threedglasses,/turf/simulated/floor,/area/crew_quarters/sleep)
"aya" = (/obj/structure/table/woodentable,/obj/item/weapon/coin/silver,/turf/simulated/floor,/area/crew_quarters/sleep)
-"ayb" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
+"ayb" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep)
"ayc" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"ayd" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Fitness"},/turf/simulated/floor,/area/crew_quarters/fitness)
"aye" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/fitness)
@@ -1255,9 +1255,9 @@
"ayg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness)
"ayh" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness)
"ayi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"ayj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"ayj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/crew_quarters/fitness)
"ayk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"ayl" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
+"ayl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness)
"aym" = (/turf/simulated/floor/airless{icon_state = "catwalk12"},/area/space)
"ayn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore)
"ayo" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/fore)
@@ -1293,24 +1293,24 @@
"ayS" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/camera{c_tag = "Dormitory Bedroom Fore"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms)
"ayT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep)
"ayU" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep)
-"ayV" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
+"ayV" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep)
"ayW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep)
"ayX" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/sleep)
"ayY" = (/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep)
-"ayZ" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
+"ayZ" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep)
"aza" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep)
"azb" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Fitness"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/fitness)
"azc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/crew_quarters/fitness)
"azd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/fitness)
"aze" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/fitness)
"azf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/crew_quarters/fitness)
-"azg" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"azh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"azi" = (/obj/machinery/computer/HolodeckControl,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
-"azj" = (/turf/space,/area/maintenance/auxsolarstarboard)
+"azg" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness)
+"azh" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"azi" = (/obj/machinery/computer/HolodeckControl,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness)
+"azj" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"azk" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"azl" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
-"azm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"azm" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/fitness)
"azn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/camera{c_tag = "Holodeck South"; dir = 1; pixel_y = 6},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"azo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"azp" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
@@ -1326,7 +1326,7 @@
"azz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/fore)
"azA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry/fore)
"azB" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry/fore)
-"azC" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
+"azC" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/checkpoint2)
"azD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"azE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"azF" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
@@ -1355,12 +1355,12 @@
"aAc" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/security,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"aAd" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
"aAe" = (/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms)
-"aAf" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/wood,/area/library)
+"aAf" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"aAg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms)
"aAh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"aAi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory)
-"aAj" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aAk" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
+"aAj" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/sleep)
+"aAk" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep)
"aAl" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -27},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep)
"aAm" = (/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep)
"aAn" = (/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/sleep)
@@ -1401,8 +1401,8 @@
"aAW" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
"aAX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
"aAY" = (/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms)
-"aAZ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
-"aBa" = (/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/bed/chair,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
+"aAZ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aBa" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
"aBb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "Dormitory 2"; name = "Dorm"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"aBc" = (/obj/machinery/camera{c_tag = "Dormitory Bedroom Aft"; dir = 1},/turf/simulated/floor/carpet{tag = "icon-carpet1-0"; icon_state = "carpet1-0"},/area/crew_quarters/sleep/bedrooms)
"aBd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep)
@@ -1420,7 +1420,7 @@
"aBp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness)
"aBq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/maintenance/library)
"aBr" = (/obj/structure/closet/lasertag/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness)
-"aBs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/library)
+"aBs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"aBt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/auxsolarstarboard)
"aBu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aBv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
@@ -1444,7 +1444,7 @@
"aBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint2)
"aBO" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/arrivals)
"aBP" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals)
-"aBQ" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
+"aBQ" = (/obj/item/weapon/stool{pixel_y = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"aBR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"aBS" = (/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"aBT" = (/obj/item/weapon/extinguisher,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/evahallway)
@@ -1531,7 +1531,7 @@
"aDw" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
"aDx" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
"aDy" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
-"aDz" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
+"aDz" = (/obj/item/weapon/stool{pixel_y = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aDA" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aDB" = (/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aDC" = (/turf/simulated/wall,/area/maintenance/library)
@@ -1648,7 +1648,7 @@
"aFJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/storage/primary)
"aFK" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/storage/primary)
"aFL" = (/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
-"aFM" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/library)
+"aFM" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
"aFN" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/primary)
"aFO" = (/obj/machinery/lapvend,/turf/simulated/floor,/area/storage/primary)
"aFP" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage)
@@ -1697,9 +1697,9 @@
"aGG" = (/turf/simulated/wall,/area/chapel/main)
"aGH" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_access_txt = "0"; req_one_access_txt = "12;22"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/chapel/main)
"aGI" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/arrival/station)
-"aGJ" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library)
+"aGJ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
"aGK" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/arrival/station)
-"aGL" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
+"aGL" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station)
"aGM" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/shuttle/arrival/station)
"aGN" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space,/area/shuttle/arrival/station)
"aGO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port)
@@ -1724,7 +1724,7 @@
"aHh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 10},/area/security/nuke_storage)
"aHi" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"aHj" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/vending/cola,/turf/simulated/floor,/area/gateway)
-"aHk" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/office)
+"aHk" = (/obj/item/weapon/stool,/turf/simulated/floor,/area/gateway)
"aHl" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/gateway)
"aHm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/wardrobe/black,/turf/simulated/floor,/area/gateway)
"aHn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/evahallway)
@@ -1763,7 +1763,7 @@
"aHU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar\\Library Maintenance"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library)
"aHV" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar)
"aHW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/bar)
-"aHX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library)
+"aHX" = (/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"aHY" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; sortType = "Chapel"; name = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library)
"aHZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/bar)
"aIa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library)
@@ -1805,7 +1805,7 @@
"aIK" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary)
"aIL" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/storage/primary)
"aIM" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/storage/primary)
-"aIN" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/hallway/primary/starboard)
+"aIN" = (/obj/effect/landmark/start{name = "Assistant"},/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/storage/primary)
"aIO" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/primary)
"aIP" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/storage/primary)
"aIQ" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/nuke_storage)
@@ -1854,14 +1854,14 @@
"aJH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library)
"aJI" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library)
"aJJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library)
-"aJK" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor,/area/security/vacantoffice)
-"aJL" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/security/vacantoffice)
+"aJK" = (/obj/structure/bed/chair/office/dark,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library)
+"aJL" = (/obj/structure/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library)
"aJM" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library)
"aJN" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library)
"aJO" = (/obj/structure/crematorium,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aJP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aJQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aJR" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard)
+"aJR" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aJS" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aJT" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aJU" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
@@ -1932,10 +1932,10 @@
"aLh" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics)
"aLi" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "35"},/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/hydroponics)
"aLj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/library)
-"aLk" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood,/area/library)
+"aLk" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/wood,/area/library)
"aLl" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library)
"aLm" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "nuke_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_airpump = "nuke_shuttle_dock_pump"; tag_chamber_sensor = "nuke_shuttle_dock_sensor"; tag_exterior_door = "nuke_shuttle_dock_outer"; tag_interior_door = "nuke_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/port)
-"aLn" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/library)
+"aLn" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library)
"aLo" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/library)
"aLp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aLq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/hallway/primary/central_two)
@@ -1943,7 +1943,7 @@
"aLs" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aLt" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aLu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit)
-"aLv" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/library)
+"aLv" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"aLw" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
"aLx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main)
"aLy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/arrival/station)
@@ -1997,9 +1997,9 @@
"aMu" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/requests_console{announcementConsole = 0; department = "Bar"; departmentType = 2; name = "Bar RC"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aMv" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Bar North"; dir = 2},/obj/machinery/vending/boozeomat,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aMw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/barman_recipes,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aMx" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/library)
+"aMx" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
"aMy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aMz" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
+"aMz" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
"aMA" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aMB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aMC" = (/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
@@ -2016,26 +2016,26 @@
"aMN" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
"aMO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
"aMP" = (/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/library)
-"aMQ" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
+"aMQ" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/library)
"aMR" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/wood,/area/library)
"aMS" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/obj/item/weapon/deck,/turf/simulated/floor/wood,/area/library)
-"aMT" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
+"aMT" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library)
"aMU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/library)
"aMV" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aMW" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aMX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock{name = "Crematorium"; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aMY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
-"aMZ" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
+"aMZ" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aNa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aNb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
"aNc" = (/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Chapel North"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aNd" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
+"aNd" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
"aNe" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
"aNf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main)
"aNg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/arrival/station)
"aNh" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port)
"aNi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard)
-"aNj" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
+"aNj" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
"aNk" = (/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
"aNl" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
"aNm" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry/starboard)
@@ -2099,9 +2099,9 @@
"aOs" = (/mob/living/carbon/monkey{name = "Pun Pun"; icon_state = "punpun1"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aOt" = (/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aOu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/flame/lighter/zippo,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
-"aOv" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
+"aOv" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
"aOw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"aOx" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/bridge)
+"aOx" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar)
"aOy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aOz" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"aOA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
@@ -2119,8 +2119,8 @@
"aOM" = (/obj/machinery/camera/autoname{dir = 8},/obj/item/device/radio/intercom{pixel_x = 25},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics)
"aON" = (/turf/simulated/floor/wood,/area/library)
"aOO" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/library)
-"aOP" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/bridge)
-"aOQ" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/locker)
+"aOP" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/library)
+"aOQ" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library)
"aOR" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aOS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aOT" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
@@ -2138,7 +2138,7 @@
"aPf" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/hydroponics)
"aPg" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden)
"aPh" = (/turf/simulated/floor/carpet,/area/hallway/secondary/entry/starboard)
-"aPi" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
+"aPi" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
"aPj" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry/starboard)
"aPk" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; temperature = 80},/area/hallway/secondary/entry/starboard)
"aPl" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard)
@@ -2182,7 +2182,7 @@
"aPX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_two)
"aPY" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA2"; location = "Dorm"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/hallway/primary/central_two)
"aPZ" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/hallway/primary/central_two)
-"aQa" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
+"aQa" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
"aQb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aQc" = (/obj/effect/landmark/start{name = "Bartender"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aQd" = (/obj/machinery/door/window{dir = 4; name = "Bar"; req_access_txt = "25"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
@@ -2207,7 +2207,7 @@
"aQw" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library)
"aQx" = (/obj/machinery/door/airlock/glass{name = "Chapel Office"; req_access_txt = "22"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"aQy" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth (Chaplain)"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aQz" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
+"aQz" = (/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/bed/chair,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"aQA" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port)
"aQB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port)
"aQC" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry/port)
@@ -2297,7 +2297,7 @@
"aSi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port)
"aSj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/port)
"aSk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard)
-"aSl" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
+"aSl" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/hallway/secondary/entry/starboard)
"aSm" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/entry/starboard)
"aSn" = (/obj/structure/cable/green,/obj/machinery/power/apc/high{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/hallway/secondary/entry/starboard)
"aSo" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/port)
@@ -2326,8 +2326,8 @@
"aSL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two)
"aSM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two)
"aSN" = (/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central_two)
-"aSO" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden)
-"aSP" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"aSO" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"aSP" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aSQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aSR" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aSS" = (/turf/simulated/floor/wood,/area/crew_quarters/bar)
@@ -2348,7 +2348,7 @@
"aTh" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/library)
"aTi" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/library)
"aTj" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library)
-"aTk" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library)
+"aTk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library)
"aTl" = (/obj/structure/cult/tome,/obj/item/clothing/under/suit_jacket/red,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library)
"aTm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"aTn" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
@@ -2356,7 +2356,7 @@
"aTp" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"aTq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
"aTr" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aTs" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
+"aTs" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"aTt" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/exit)
"aTu" = (/obj/machinery/lapvend,/turf/simulated/floor{icon_state = "dark"},/area/hallway/secondary/exit)
"aTv" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/exit)
@@ -2438,7 +2438,7 @@
"aUT" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
"aUU" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden)
"aUV" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden)
-"aUW" = (/obj/item/weapon/stool,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
+"aUW" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden)
"aUX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics/garden)
"aUY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics/garden)
"aUZ" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/grass,/area/hydroponics/garden)
@@ -2486,26 +2486,26 @@
"aVP" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/tools)
"aVQ" = (/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/hallway/primary/central_one)
"aVR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge)
-"aVS" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
+"aVS" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
"aVT" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge)
"aVU" = (/obj/machinery/computer/rcon,/turf/simulated/floor{dir = 6; icon_state = "whitehall"},/area/bridge)
"aVV" = (/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge)
-"aVW" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
+"aVW" = (/obj/structure/bed/chair{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/bridge)
"aVX" = (/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/bridge)
"aVY" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge)
"aVZ" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
-"aWa" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
+"aWa" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge)
"aWb" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge)
"aWc" = (/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/hallway/primary/central_two)
-"aWd" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library)
+"aWd" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aWe" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWf" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor,/area/security/vacantoffice)
-"aWg" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWh" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"aWf" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"aWg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"aWh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/bed/chair/wood/wings,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aWi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWj" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"aWj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aWk" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aWl" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aWl" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aWm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aWn" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aWo" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
@@ -2519,7 +2519,7 @@
"aWw" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/hydroponics/garden)
"aWx" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden)
"aWy" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden)
-"aWz" = (/obj/machinery/light,/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison)
+"aWz" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden)
"aWA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden)
"aWB" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics/garden)
"aWC" = (/obj/structure/flora/bush,/turf/simulated/floor/grass,/area/hydroponics/garden)
@@ -2553,7 +2553,7 @@
"aXe" = (/turf/simulated/floor/plating,/area/maintenance/locker)
"aXf" = (/obj/effect/decal/cleanable/generic,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/locker)
"aXg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/white,/turf/simulated/floor,/area/crew_quarters/locker)
-"aXh" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison)
+"aXh" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/locker)
"aXi" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/crew_quarters/locker)
"aXj" = (/obj/structure/table,/turf/simulated/floor,/area/crew_quarters/locker)
"aXk" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/locker)
@@ -2589,7 +2589,7 @@
"aXO" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aXP" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aXQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"aXR" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aXR" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aXS" = (/obj/structure/table/woodentable,/obj/item/device/camera,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aXT" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aXU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen)
@@ -2603,21 +2603,21 @@
"aYc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hydroponics/garden)
"aYd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden)
"aYe" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden)
-"aYf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aYf" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden)
"aYg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden)
"aYh" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden)
"aYi" = (/obj/structure/flora/ausbushes/sunnybush,/obj/item/device/radio/intercom{pixel_x = 25},/turf/simulated/floor/grass,/area/hydroponics/garden)
"aYj" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library)
-"aYk" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep)
+"aYk" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library)
"aYl" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library)
-"aYm" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep)
+"aYm" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library)
"aYn" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/primary/starboard)
-"aYo" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep)
-"aYp" = (/obj/structure/bed,/obj/machinery/flasher{id = "Cell 1"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
-"aYq" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
+"aYo" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
+"aYp" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
+"aYq" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
"aYr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 1; id = "office_shutter"; layer = 3.1; name = "Office Shutters"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/starboard)
"aYs" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aYt" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison)
+"aYt" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
"aYu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/exit)
"aYv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit)
"aYw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/exit)
@@ -2630,7 +2630,7 @@
"aYD" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/aft)
"aYE" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/hallway/secondary/entry/port)
"aYF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/secondary/entry/aft)
-"aYG" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aYG" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit)
"aYH" = (/obj/structure/table,/turf/simulated/floor,/area/security/vacantoffice)
"aYI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/vacantoffice)
"aYJ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice)
@@ -2654,13 +2654,13 @@
"aZb" = (/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},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/bridge)
"aZc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/hallway/secondary/exit)
"aZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/bridge)
-"aZe" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aZe" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/bridge)
"aZf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/bridge)
"aZg" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/bridge)
"aZh" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/bridge)
-"aZi" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/generic,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
+"aZi" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/bridge)
"aZj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/bridge)
-"aZk" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/camera{c_tag = "Bedroom"; dir = 6; network = list("SS13","Prison")},/turf/simulated/floor,/area/security/prison)
+"aZk" = (/obj/item/weapon/stool,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
"aZl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central_two)
"aZm" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_two)
"aZn" = (/obj/machinery/camera{c_tag = "Bridge East Entrance"; dir = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_two)
@@ -2680,15 +2680,15 @@
"aZB" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/carpet,/area/library)
"aZC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/library)
"aZD" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/library)
-"aZE" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_1"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
+"aZE" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood,/area/library)
"aZF" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor/wood,/area/library)
"aZG" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/wood,/area/library)
"aZH" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library)
"aZI" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/library)
"aZJ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
-"aZK" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_2"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
-"aZL" = (/obj/item/weapon/stool,/turf/simulated/floor,/area/security/prison)
-"aZM" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aZK" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
+"aZL" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
+"aZM" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"aZN" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/exit)
"aZO" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit)
"aZP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/exit)
@@ -2701,9 +2701,9 @@
"aZW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft)
"aZX" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"aZY" = (/obj/structure/table,/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor,/area/security/vacantoffice)
-"aZZ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"aZZ" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor,/area/security/vacantoffice)
"baa" = (/turf/simulated/floor,/area/security/vacantoffice)
-"bab" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station)
+"bab" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/security/vacantoffice)
"bac" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor,/area/security/vacantoffice)
"bad" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/security/vacantoffice)
"bae" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/vacantoffice)
@@ -2769,10 +2769,10 @@
"bbm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two)
"bbn" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/hallway/primary/central_two)
"bbo" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bbp" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station)
-"bbq" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/checkpoint2)
+"bbp" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
+"bbq" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bbr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bbs" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
+"bbs" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bbt" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"bbu" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
"bbv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
@@ -2882,7 +2882,7 @@
"bdv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft)
"bdw" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/aft)
"bdx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/aft)
-"bdy" = (/obj/item/weapon/stool,/turf/simulated/floor,/area/gateway)
+"bdy" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor,/area/security/vacantoffice)
"bdz" = (/obj/structure/table,/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/security/vacantoffice)
"bdA" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/security/vacantoffice)
"bdB" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/medical)
@@ -2933,14 +2933,14 @@
"beu" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/grass,/area/hydroponics/garden)
"bev" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/starboard)
"bew" = (/turf/simulated/floor,/area/hallway/primary/starboard)
-"bex" = (/obj/effect/landmark/start{name = "Assistant"},/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/storage/primary)
+"bex" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard)
"bey" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library)
-"bez" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office)
+"bez" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/library)
"beA" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library)
"beB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/wood,/area/library)
-"beC" = (/obj/structure/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library)
+"beC" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/library)
"beD" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/library)
-"beE" = (/obj/structure/bed/chair/office/dark,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library)
+"beE" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/library)
"beF" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
"beG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
"beH" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/chapel/main)
@@ -2971,7 +2971,7 @@
"bfg" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage)
"bfh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/cell{maxcharge = 2000},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage)
"bfi" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/office)
-"bfj" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"bfj" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/office)
"bfk" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/office)
"bfl" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort2"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/office)
"bfm" = (/turf/simulated/wall,/area/quartermaster/office)
@@ -3018,7 +3018,7 @@
"bgb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/starboard)
"bgc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/starboard)
"bgd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/starboard)
-"bge" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/sleep)
+"bge" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/hallway/primary/starboard)
"bgf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/starboard)
"bgg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/starboard)
"bgh" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/starboard)
@@ -3056,7 +3056,7 @@
"bgN" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bgO" = (/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bgP" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bgQ" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep)
+"bgQ" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bgR" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bgS" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bgT" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room)
@@ -3069,9 +3069,9 @@
"bha" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bhb" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bhc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bhd" = (/obj/item/weapon/stool{pixel_y = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
+"bhd" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bhe" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/donut_box,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"bhf" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"bhf" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bhg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bhh" = (/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bhi" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central_two)
@@ -3134,10 +3134,10 @@
"bin" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "chapel"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office)
"bio" = (/obj/item/weapon/hand_labeler,/obj/item/device/assembly/timer,/obj/item/device/eftpos{eftpos_name = "Bridge EFTPOS scanner"},/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bip" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"biq" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"biq" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bir" = (/obj/item/weapon/folder/red,/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bis" = (/obj/item/weapon/book/manual/security_space_law,/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bit" = (/obj/item/weapon/stool{pixel_y = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
+"bit" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"biu" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room)
"biv" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Bridge"},/turf/simulated/floor/wood,/area/bridge/meeting_room)
"biw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
@@ -3147,9 +3147,9 @@
"biA" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"biB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"biC" = (/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"biD" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/fitness)
+"biD" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"biE" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"biF" = (/obj/structure/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms)
+"biF" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"biG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"biH" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/flora/pottedplant{tag = "icon-plant-01"; icon_state = "plant-01"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"biI" = (/obj/structure/disposalpipe/segment,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central_two)
@@ -3203,10 +3203,10 @@
"bjE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_one)
"bjF" = (/obj/machinery/door/blast/regular{id = "chapelgun"; name = "Chapel Launcher Door"},/turf/simulated/floor/plating,/area/chapel/main)
"bjG" = (/obj/item/weapon/storage/donut_box,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/bridge/meeting_room)
-"bjH" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
+"bjH" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bjI" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bjJ" = (/obj/item/weapon/folder/blue,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room)
-"bjK" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
+"bjK" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
"bjL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bjM" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/bridge/meeting_room)
"bjN" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = -25; pixel_y = -4},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
@@ -3217,7 +3217,7 @@
"bjS" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"bjT" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bjU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bjV" = (/obj/structure/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"bjV" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bjW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bjX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bjY" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/camera{c_tag = "Captain's Office"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/wood,/area/crew_quarters/captain)
@@ -3354,7 +3354,7 @@
"bmz" = (/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage)
"bmA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/office)
"bmB" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office)
-"bmC" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"bmC" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office)
"bmD" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office)
"bmE" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access_txt = "50"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_one)
"bmF" = (/obj/machinery/camera{c_tag = "Central Hallway West"; dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_one)
@@ -3367,7 +3367,7 @@
"bmM" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"bmN" = (/obj/machinery/light/small{dir = 4},/obj/machinery/porta_turret{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"bmO" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Captain's Desk"; departmentType = 5; name = "Captain RC"; pixel_x = -30; pixel_y = 0},/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bmP" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"bmP" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "captaindoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 30; req_access_txt = "20"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door_control{desc = "A remote control-switch for the starboard bridge doors."; id = "sbridgedoor"; name = "Bridge Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 39; req_access_txt = "20"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bmQ" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bmR" = (/obj/structure/table/woodentable,/obj/item/device/eftpos{eftpos_name = "Captain EFTPOS scanner"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bmS" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/captain)
@@ -3379,17 +3379,17 @@
"bmY" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area/medical/chemistry)
"bmZ" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception)
"bna" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
-"bnb" = (/obj/machinery/light{dir = 1},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
-"bnc" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 26},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
+"bnb" = (/obj/machinery/camera{c_tag = "Medbay Lobby Port"; network = list("SS13")},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
+"bnc" = (/obj/machinery/light{dir = 1},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
"bnd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception)
"bne" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception)
-"bnf" = (/obj/structure/bed/roller,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing)
-"bng" = (/obj/machinery/door_control{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 30; req_access_txt = "47"},/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
+"bnf" = (/obj/machinery/camera{c_tag = "Medbay Lobby Starboard"; network = list("SS13")},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
+"bng" = (/obj/item/weapon/stool,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
"bnh" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/reception)
"bni" = (/turf/simulated/wall,/area/medical/reception)
"bnj" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/medical1,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
-"bnk" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
-"bnl" = (/obj/structure/bed/chair/comfy/teal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing)
+"bnk" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/wheelchair,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
+"bnl" = (/obj/item/weapon/stool,/obj/machinery/camera{c_tag = "Medbay Examination Room"; network = list("SS13")},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"bnm" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"bnn" = (/turf/simulated/wall,/area/medical/exam_room)
"bno" = (/obj/structure/table,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue)
@@ -3406,7 +3406,7 @@
"bnz" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
"bnA" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
"bnB" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bnC" = (/obj/structure/bed/chair/comfy/teal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing)
+"bnC" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop)
"bnD" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bnE" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4)
"bnF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
@@ -3466,10 +3466,10 @@
"boH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two)
"boI" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/rnd/research)
"boJ" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"boK" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward)
+"boK" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"boL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"boM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
-"boN" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{pixel_x = -26},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward)
+"boN" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry)
"boO" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical)
"boP" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception)
"boQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
@@ -3478,7 +3478,7 @@
"boT" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
"boU" = (/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
"boV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/medical/reception)
-"boW" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/medical/surgeryobs)
+"boW" = (/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception)
"boX" = (/obj/structure/sign/examroom,/turf/simulated/wall,/area/medical/reception)
"boY" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"boZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
@@ -3496,18 +3496,18 @@
"bpl" = (/turf/simulated/floor,/area/assembly/chargebay)
"bpm" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; 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)
"bpn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
-"bpo" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room)
+"bpo" = (/obj/structure/sign/securearea{pixel_x = 32},/turf/simulated/floor{dir = 1; icon_state = "loadingarea"},/area/hallway/primary/starboard)
"bpp" = (/turf/simulated/wall,/area/assembly/robotics)
"bpq" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
-"bpr" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/ward)
+"bpr" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
"bps" = (/obj/machinery/camera{c_tag = "Robotics"; dir = 2; network = list("SS13","Research"); pixel_x = 22},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics)
"bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
-"bpu" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/bed/roller,/turf/simulated/floor,/area/medical/sleeper)
+"bpu" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
"bpv" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop)
"bpw" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard)
"bpx" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/hallway/primary/starboard)
"bpy" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab)
-"bpz" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief)
+"bpz" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab)
"bpA" = (/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab)
"bpB" = (/obj/machinery/camera{c_tag = "Research and Development Lab"; dir = 2; network = list("SS13","Research")},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/rnd/lab)
"bpC" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
@@ -3522,7 +3522,7 @@
"bpL" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor,/area/hallway/secondary/entry/aft)
"bpM" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/disposal)
"bpN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"bpO" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief)
+"bpO" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal)
"bpP" = (/turf/simulated/floor/plating,/area/maintenance/disposal)
"bpQ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/disposal)
"bpR" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/disposal)
@@ -3579,7 +3579,7 @@
"bqQ" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/medical{name = "Examination room"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/exam_room)
"bqR" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"bqS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
-"bqT" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient C"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c)
+"bqT" = (/obj/structure/bed,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"bqU" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue)
"bqV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/morgue)
"bqW" = (/obj/machinery/optable,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/medical/morgue)
@@ -3601,7 +3601,7 @@
"brm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"brn" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"bro" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
-"brp" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_c)
+"brp" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/turf/simulated/floor,/area/crew_quarters/heads/hop)
"brq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/emergency)
"brr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency)
"brs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft)
@@ -3748,15 +3748,15 @@
"bud" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/reception)
"bue" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception)
"buf" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception)
-"bug" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/medical/psych)
+"bug" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28; req_access_txt = null},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception)
"buh" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception)
"bui" = (/obj/structure/table,/obj/machinery/door_control{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access_txt = "5"},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception)
-"buj" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"buj" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception)
"buk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/filingcabinet/medical{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception)
"bul" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception)
"bum" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception)
"bun" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
-"buo" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"buo" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"bup" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"buq" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/morgue)
"bur" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue)
@@ -3769,7 +3769,7 @@
"buy" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/chargebay)
"buz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/assembly/robotics)
"buA" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics)
-"buB" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
+"buB" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics)
"buC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics)
"buD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics)
"buE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/assembly/robotics)
@@ -3811,7 +3811,7 @@
"bvo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/quartermaster/office)
"bvp" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor,/area/quartermaster/office)
"bvq" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/quartermaster/office)
-"bvr" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
+"bvr" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/firealarm{pixel_y = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/quartermaster/office)
"bvs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hallway/primary/central_three)
"bvt" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_three)
"bvu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central_three)
@@ -3835,7 +3835,7 @@
"bvM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
"bvN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
"bvO" = (/obj/structure/table,/obj/item/weapon/aiModule/freeform,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
-"bvP" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
+"bvP" = (/obj/structure/bed,/obj/item/weapon/bedsheet/captain,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bvQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bvR" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
"bvS" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/captain)
@@ -3880,7 +3880,7 @@
"bwF" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency)
"bwG" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/research/station)
"bwH" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/research/station)
-"bwI" = (/obj/structure/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
+"bwI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
"bwJ" = (/turf/simulated/shuttle/floor,/area/shuttle/research/station)
"bwK" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/research/station)
"bwL" = (/turf/space,/area/shuttle/administration/station)
@@ -3896,10 +3896,10 @@
"bwV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/office)
"bwW" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Cargo Bay"; name = "Cargo Bay"},/turf/simulated/floor,/area/quartermaster/office)
"bwX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office)
-"bwY" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bwY" = (/obj/effect/landmark/start{name = "Cargo Technician"},/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/quartermaster/office)
"bwZ" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/westleft{name = "Cargo Desk"; req_access_txt = "50"},/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/office)
"bxa" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office)
-"bxb" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bxb" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office)
"bxc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_three)
"bxd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/hallway/primary/central_three)
"bxe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/central_three)
@@ -3917,7 +3917,7 @@
"bxq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/command)
"bxr" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
"bxs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/maintenance/substation/command)
-"bxt" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/obj/structure/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bxt" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
"bxu" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
"bxv" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"; req_access_txt = "0"},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
"bxw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two)
@@ -3959,7 +3959,7 @@
"byg" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"byh" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
"byi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
-"byj" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock)
+"byj" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
"byk" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/storage/emergency)
"byl" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station)
"bym" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station)
@@ -4014,7 +4014,7 @@
"bzj" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bzk" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bzl" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
-"bzm" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor{icon_state = "dark"},/area/server)
+"bzm" = (/obj/machinery/door_control{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 30; req_access_txt = "47"},/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
"bzn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing)
"bzo" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/patient_wing)
"bzp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing)
@@ -4072,9 +4072,9 @@
"bAp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/teleporter)
"bAq" = (/obj/machinery/light_switch{pixel_x = 27},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/teleporter)
"bAr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central_two)
-"bAs" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/rnd/mixing)
-"bAt" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a)
-"bAu" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b)
+"bAs" = (/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
+"bAt" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/acid{density = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
+"bAu" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bAv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bAw" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bAx" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Medicine Storage"; req_access_txt = "5"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
@@ -4142,7 +4142,7 @@
"bBH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/quartermaster/office)
"bBI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office)
"bBJ" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/office)
-"bBK" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_a)
+"bBK" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/quartermaster/office)
"bBL" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor,/area/crew_quarters/heads/hop)
"bBM" = (/turf/simulated/floor,/area/crew_quarters/heads/hop)
"bBN" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor,/area/crew_quarters/heads/hop)
@@ -4151,17 +4151,17 @@
"bBQ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_server_room)
"bBR" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room)
"bBS" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access_txt = "16"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
-"bBT" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bBT" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station)
"bBU" = (/obj/structure/table,/obj/item/weapon/phone{pixel_x = -3; pixel_y = 3},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station)
"bBV" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_cyborg_station)
"bBW" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/teleporter)
-"bBX" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -30},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bBX" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter)
"bBY" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter)
"bBZ" = (/obj/item/device/radio/beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter)
"bCa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter)
"bCb" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/teleporter)
"bCc" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access_txt = "17"},/turf/simulated/floor,/area/hallway/primary/central_two)
-"bCd" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient B"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b)
+"bCd" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
"bCe" = (/turf/simulated/floor{dir = 2; icon_state = "whiteyellow"},/area/medical/chemistry)
"bCf" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
"bCg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
@@ -4202,13 +4202,13 @@
"bCP" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #3"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
"bCQ" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/office)
"bCR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/office)
-"bCS" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Janitor"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
+"bCS" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/obj/machinery/light,/turf/simulated/floor,/area/quartermaster/office)
"bCT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central_three)
"bCU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central_three)
"bCV" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/account_database,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads/hop)
"bCW" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
"bCX" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop)
-"bCY" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/rnd/mixing)
+"bCY" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads/hop)
"bCZ" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room)
"bDa" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room)
"bDb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_server_room)
@@ -4430,7 +4430,7 @@
"bHj" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/rnd/research)
"bHk" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bHl" = (/obj/structure/table,/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = 5; pixel_y = 15; req_access_txt = "47"},/obj/machinery/computer/skills{icon_state = "medlaptop"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
-"bHm" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bHm" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bHn" = (/obj/machinery/computer/robotics,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bHo" = (/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/crew_quarters/heads/hor)
"bHp" = (/turf/simulated/floor{dir = 2; icon_state = "warnwhite"},/area/crew_quarters/heads/hor)
@@ -4444,7 +4444,7 @@
"bHx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/miningdock)
"bHy" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/light{dir = 1},/obj/machinery/light_switch{pixel_y = 24},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/miningdock)
"bHz" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/quartermaster/qm)
-"bHA" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bHA" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/quartermaster/qm)
"bHB" = (/turf/simulated/floor,/area/quartermaster/qm)
"bHC" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/qm)
"bHD" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/central_three)
@@ -4484,7 +4484,7 @@
"bIl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cryo)
"bIm" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cryo)
"bIn" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cryo)
-"bIo" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/rnd/mixing)
+"bIo" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
"bIp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
"bIq" = (/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/medical/genetics)
"bIr" = (/obj/item/light_fixture_frame,/turf/simulated/floor/plating,/area/medical/genetics)
@@ -4516,7 +4516,7 @@
"bIR" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
"bIS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle)
"bIT" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/miningdock)
-"bIU" = (/obj/structure/bed,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
+"bIU" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock)
"bIV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/miningdock)
"bIW" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor,/area/quartermaster/miningdock)
"bIX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/qm)
@@ -4546,7 +4546,7 @@
"bJv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_two)
"bJw" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP"; location = "CHE"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/hallway/primary/central_two)
"bJx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white_1"},/area/medical/medbay)
-"bJy" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access_txt = "5"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
+"bJy" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
"bJz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2)
"bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay)
"bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay)
@@ -4571,7 +4571,7 @@
"bJU" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
"bJV" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/westleft{dir = 8; name = "Server Room"; opacity = 1; req_access_txt = "30"},/obj/machinery/door/window/westleft{dir = 4; name = "Server Room"; opacity = 1; req_access_txt = "30"},/turf/simulated/floor{icon_state = "dark"},/area/server)
"bJW" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server)
-"bJX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/bed/roller,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = -32},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
+"bJX" = (/obj/structure/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor{icon_state = "dark"},/area/server)
"bJY" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor{icon_state = "dark"},/area/server)
"bJZ" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/rnd/storage)
"bKa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage)
@@ -4737,7 +4737,7 @@
"bNe" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
"bNf" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber North"; network = list("Toxins Test Area")},/obj/machinery/light{dir = 1},/turf/simulated/floor/airless,/area/rnd/test_area)
"bNg" = (/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
-"bNh" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
+"bNh" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
"bNi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"bNj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/miningdock)
"bNk" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_access_txt = "0"; req_one_access_txt = "13;48"; tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_dock_sensor"; pixel_x = 25; pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/miningdock)
@@ -4779,23 +4779,23 @@
"bNU" = (/turf/simulated/wall,/area/maintenance/engineering)
"bNV" = (/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"},/turf/simulated/wall,/area/medical/sleeper)
"bNW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
-"bNX" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/teleporter)
+"bNX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/bed/roller,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = -32},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper)
"bNY" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "acute2"; name = "Acute Two Privacy Shutters"; opacity = 0},/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/medical/medbay)
"bNZ" = (/obj/machinery/hologram/holopad,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bOa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bOb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
-"bOc" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station)
-"bOd" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/quartermaster/office)
+"bOc" = (/obj/structure/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
+"bOd" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"bOe" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"bOf" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"bOg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bOh" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bOi" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{name = "Staff Room"; req_access_txt = "5"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay2)
"bOj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
-"bOk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
-"bOl" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
+"bOk" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bOl" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bOm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
-"bOn" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
+"bOn" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/obj/structure/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bOo" = (/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/medical/genetics)
"bOp" = (/obj/machinery/camera{c_tag = "Genetics Aft"; dir = 1; network = list("SS13")},/turf/simulated/floor/plating,/area/medical/genetics)
"bOq" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/engine,/area/rnd/misc_lab)
@@ -4847,7 +4847,7 @@
"bPk" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor,/area/hallway/primary/aft)
"bPl" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"bPm" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/janitor)
-"bPn" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/research/station)
+"bPn" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Janitor"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
"bPo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
"bPp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
"bPq" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/janitor)
@@ -4860,7 +4860,7 @@
"bPx" = (/turf/simulated/floor/plating,/area/maintenance/engineering)
"bPy" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/engineering)
"bPz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
-"bPA" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/machinery/light_switch{pixel_x = 27},/obj/structure/reagent_dispensers/acid{density = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab)
+"bPA" = (/obj/structure/bed,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper)
"bPB" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoA_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a)
"bPC" = (/obj/machinery/camera{c_tag = "Medbay Port Corridor"; dir = 8; network = list("SS13")},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 22; pixel_y = -9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay)
"bPD" = (/obj/machinery/camera{c_tag = "Medbay CMO Office"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -22; pixel_y = -9},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -34; pixel_y = 2},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo)
@@ -4869,10 +4869,10 @@
"bPG" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo)
"bPH" = (/obj/machinery/camera{c_tag = "Medbay Starboard Corridor"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2)
"bPI" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
-"bPJ" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/office)
+"bPJ" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bPK" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bPL" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
-"bPM" = (/obj/effect/landmark/start{name = "Cargo Technician"},/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/quartermaster/office)
+"bPM" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bPN" = (/obj/machinery/computer/med_data,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bPO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port)
"bPP" = (/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/engine,/area/rnd/misc_lab)
@@ -4895,7 +4895,7 @@
"bQg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing)
"bQh" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/rnd/mixing)
"bQi" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/button/windowtint{id = "isoB_window_tint"; pixel_y = 26},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b)
-"bQj" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 16; pixel_y = 28},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads/hop)
+"bQj" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/rnd/mixing)
"bQk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing)
"bQl" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/rnd/test_area)
"bQm" = (/turf/simulated/floor/airless{icon_state = "warning"; dir = 1},/area/rnd/test_area)
@@ -4938,8 +4938,8 @@
"bQX" = (/turf/simulated/floor{icon_state = "white_2"},/area/medical/medbay)
"bQY" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab)
"bQZ" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/crew_quarters/heads/cmo)
-"bRa" = (/mob/living/simple_animal/cat/Runtime,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
-"bRb" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
+"bRa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
+"bRb" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_x = 38; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; normaldoorcontrol = 1; pixel_x = 28; pixel_y = 21},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -15; pixel_y = 38; req_access_txt = "5"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -15; pixel_y = 30; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo)
"bRc" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/crew_quarters/heads/cmo)
"bRd" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing)
"bRe" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing)
@@ -4973,7 +4973,7 @@
"bRG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2)
"bRH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing)
"bRI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/rnd/mixing)
-"bRJ" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
+"bRJ" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/rnd/mixing)
"bRK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing)
"bRL" = (/turf/simulated/floor/airless{dir = 8; icon_state = "warning"},/area/rnd/test_area)
"bRM" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
@@ -5014,16 +5014,16 @@
"bSv" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bSw" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "5;12;47"},/turf/simulated/floor/plating,/area/maintenance/research_port)
"bSx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
-"bSy" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/quartermaster/qm)
-"bSz" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor)
+"bSy" = (/obj/item/weapon/stool,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
+"bSz" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -30},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bSA" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay Lobby)"; pixel_x = 0; pixel_y = -30},/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
"bSB" = (/obj/machinery/light,/obj/machinery/vending/snack,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak)
-"bSC" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/obj/machinery/light,/turf/simulated/floor,/area/quartermaster/office)
+"bSC" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_a)
"bSD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_a)
-"bSE" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/machinery/door_control{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 26; pixel_y = 17},/obj/machinery/button/windowtint{pixel_x = 36; pixel_y = 18},/turf/simulated/floor,/area/crew_quarters/heads/hop)
-"bSF" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads/hop)
+"bSE" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a)
+"bSF" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b)
"bSG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_b)
-"bSH" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
+"bSH" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient B"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b)
"bSI" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/rnd/storage)
"bSJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage)
"bSK" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/rnd/research)
@@ -5041,7 +5041,7 @@
"bSW" = (/obj/machinery/camera{c_tag = "Toxins Launch Room Access"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/rnd/mixing)
"bSX" = (/obj/machinery/disposal,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "warningcorner"; dir = 2},/area/rnd/mixing)
"bSY" = (/turf/simulated/floor{icon_state = "warning"},/area/rnd/mixing)
-"bSZ" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay)
+"bSZ" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/rnd/mixing)
"bTa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/mixing)
"bTb" = (/turf/simulated/floor/airless{dir = 4; icon_state = "warning"},/area/rnd/test_area)
"bTc" = (/turf/simulated/floor/airless{icon_state = "warningcorner"; dir = 1},/area/rnd/test_area)
@@ -5141,9 +5141,9 @@
"bUS" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bUT" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4)
"bUU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay4)
-"bUV" = (/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics)
+"bUV" = (/obj/machinery/light{dir = 1},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
"bUW" = (/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/obj/structure/table,/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
-"bUX" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics)
+"bUX" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 26},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
"bUY" = (/obj/machinery/vending/coffee,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
"bUZ" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4)
"bVa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay4)
@@ -5151,7 +5151,7 @@
"bVc" = (/obj/machinery/vending/medical,/obj/machinery/light{dir = 1},/turf/simulated/wall,/area/medical/medbay4)
"bVd" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing)
"bVe" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing)
-"bVf" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab)
+"bVf" = (/obj/structure/bed/roller,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing)
"bVg" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing)
"bVh" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing)
"bVi" = (/turf/simulated/wall,/area/medical/patient_wing)
@@ -5231,9 +5231,9 @@
"bWE" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing)
"bWF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing)
"bWG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitered_a"; tag = "icon-whitered_a (WEST)"},/area/medical/patient_wing)
-"bWH" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
+"bWH" = (/obj/structure/bed/chair/comfy/teal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing)
"bWI" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 25},/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing)
-"bWJ" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry)
+"bWJ" = (/obj/structure/bed/chair/comfy/teal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing)
"bWK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "whitered_b"; tag = "icon-whitered_b (WEST)"},/area/medical/patient_wing)
"bWL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing)
"bWM" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Patient Wing Maintenance Access"; req_access_txt = "5"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/medical/patient_wing)
@@ -5244,7 +5244,7 @@
"bWR" = (/obj/machinery/door/airlock/glass_medical{name = "Hygiene Facilities"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing)
"bWS" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
"bWT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
-"bWU" = (/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception)
+"bWU" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
"bWV" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab)
"bWW" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
"bWX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/research)
@@ -5263,15 +5263,15 @@
"bXk" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/rnd/test_area)
"bXl" = (/turf/simulated/floor/airless{icon_state = "warningcorner"; dir = 4},/area/rnd/test_area)
"bXm" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station)
-"bXn" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/door_control{desc = "A remote control-switch for the office door."; id = "captaindoor"; name = "Office Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 30; req_access_txt = "20"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door_control{desc = "A remote control-switch for the starboard bridge doors."; id = "sbridgedoor"; name = "Bridge Door Control"; normaldoorcontrol = 1; pixel_x = 15; pixel_y = 39; req_access_txt = "20"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"bXo" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office)
+"bXn" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
+"bXo" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
"bXp" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station)
"bXq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/cargo)
"bXr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = -25; pixel_y = 25; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/cargo)
"bXs" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/cargo)
"bXt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft)
"bXu" = (/obj/machinery/light_switch{pixel_x = -22; pixel_y = -10},/turf/simulated/floor/carpet,/area/engineering/break_room)
-"bXv" = (/obj/item/weapon/stool,/obj/machinery/camera{c_tag = "Medbay Examination Room"; network = list("SS13")},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
+"bXv" = (/obj/structure/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room)
"bXw" = (/turf/simulated/floor/carpet,/area/engineering/break_room)
"bXx" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/carpet,/area/engineering/break_room)
"bXy" = (/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi_wash)
@@ -5351,8 +5351,8 @@
"bYU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engineering/foyer)
"bYV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/break_room)
"bYW" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/turf/simulated/floor/carpet,/area/engineering/break_room)
-"bYX" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/wheelchair,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
-"bYY" = (/obj/machinery/camera{c_tag = "Medbay Lobby Starboard"; network = list("SS13")},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
+"bYX" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"bYY" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room)
"bYZ" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/carpet,/area/engineering/break_room)
"bZa" = (/obj/machinery/door/airlock/engineering{name = "Engineering Supplies"; req_one_access_txt = "10;24;5"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/engineering/break_room)
"bZb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/engineering/break_room)
@@ -5408,9 +5408,9 @@
"bZZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"caa" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/atmos_control)
"cab" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/crew_quarters/heads/chief)
-"cac" = (/obj/machinery/light{dir = 1},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
+"cac" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"cad" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/flame/lighter/zippo,/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/crew_quarters/heads/chief)
-"cae" = (/obj/item/weapon/stool,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
+"cae" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"caf" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/crew_quarters/heads/chief)
"cag" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control)
"cah" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/atmos_control)
@@ -5426,13 +5426,13 @@
"car" = (/obj/item/weapon/cigbutt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering)
"cas" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper)
"cat" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor,/area/medical/sleeper)
-"cau" = (/obj/machinery/camera{c_tag = "Medbay Lobby Port"; network = list("SS13")},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception)
+"cau" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/bed/roller,/turf/simulated/floor,/area/medical/sleeper)
"cav" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/sleeper)
"caw" = (/obj/machinery/power/apc/high{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor,/area/medical/sleeper)
"cax" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Diagnostics Room"; req_access_txt = "5"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4)
"cay" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4)
"caz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4)
-"caA" = (/obj/structure/sign/securearea{pixel_x = 32},/turf/simulated/floor{dir = 1; icon_state = "loadingarea"},/area/hallway/primary/starboard)
+"caA" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/teal{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/ward)
"caB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/ward)
"caC" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/ward)
"caD" = (/obj/machinery/iv_drip,/obj/machinery/light_switch{pixel_x = 22; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/ward)
@@ -5494,19 +5494,19 @@
"cbH" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash)
"cbI" = (/turf/simulated/wall,/area/medical/surgeryobs)
"cbJ" = (/obj/machinery/camera{c_tag = "Medbay Surgery Access"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4)
-"cbK" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"cbL" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
+"cbK" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"cbL" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{pixel_x = -26},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward)
"cbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
"cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward)
-"cbO" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room)
+"cbO" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/ward)
"cbP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/medical/psych)
-"cbQ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/captain,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/carpet,/area/crew_quarters/captain)
-"cbR" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/firealarm{pixel_y = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/quartermaster/office)
+"cbQ" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-comfychair (NORTH)"; icon_state = "comfychair"; dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room)
+"cbR" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/medical/psych)
"cbS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage)
"cbT" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage)
-"cbU" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics)
+"cbU" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_c)
"cbV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_c)
-"cbW" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
+"cbW" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient C"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c)
"cbX" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/substation/research)
"cbY" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/substation/research)
"cbZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/research)
@@ -5636,7 +5636,7 @@
"cet" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer)
"ceu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief)
"cev" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer)
-"cew" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = 28},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception)
+"cew" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room)
"cex" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room)
"cey" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room)
"cez" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash)
@@ -5644,7 +5644,7 @@
"ceB" = (/obj/machinery/door/airlock/medical{autoclose = 0; icon_state = "door_open"; id_tag = "engineering_cubicle"; name = "Restroom"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash)
"ceC" = (/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering)
"ceD" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryobs)
-"ceE" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -16; pixel_y = 28; req_access_txt = null},/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception)
+"ceE" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/medical/surgeryobs)
"ceF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bluecorner"},/area/medical/surgeryobs)
"ceG" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryobs)
"ceH" = (/obj/machinery/door/firedoor,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Pre-Op Prep Room"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4)
@@ -5724,7 +5724,7 @@
"cgd" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 7; icon_state = "whitered"},/area/medical/ward)
"cge" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/camera{c_tag = "Medbay Recovery Ward"; dir = 1; network = list("SS13")},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/ward)
"cgf" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/machinery/camera{c_tag = "Medbay Mental Health Room"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych)
-"cgg" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal)
+"cgg" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych)
"cgh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing)
"cgi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_eva)
"cgj" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/patient_wing)
@@ -5754,7 +5754,7 @@
"cgH" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
"cgI" = (/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"cgJ" = (/turf/simulated/floor{tag = "icon-whitegreen_v (SOUTHWEST)"; icon_state = "whitegreen_v"; dir = 10},/area/rnd/xenobiology/xenoflora)
-"cgK" = (/obj/structure/bed,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
+"cgK" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
"cgL" = (/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
"cgM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
"cgN" = (/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar)
@@ -5790,8 +5790,8 @@
"chr" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/item/weapon/storage/box/masks,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep)
"chs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/surgeryprep)
"cht" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/surgeryprep)
-"chu" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"chv" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
+"chu" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor{icon_state = "bcarpet08"},/area/medical/psych)
+"chv" = (/obj/structure/bed/psych,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor{icon_state = "bcarpet09"},/area/medical/psych)
"chw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/virologyaccess)
"chx" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area/medical/virology)
"chy" = (/obj/structure/bedsheetbin,/obj/structure/table,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage)
@@ -5819,7 +5819,7 @@
"chU" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"chV" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"chW" = (/obj/structure/table,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
-"chX" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"chX" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"chY" = (/obj/machinery/computer/reconstitutor,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"chZ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"cia" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
@@ -5850,7 +5850,7 @@
"ciz" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plating,/area/maintenance/engineering)
"ciA" = (/turf/simulated/wall,/area/maintenance/substation/engineering)
"ciB" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay)
-"ciC" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/constructionsite/station)
+"ciC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"ciD" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/engineering)
"ciE" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/engineering)
"ciF" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/engi_engine)
@@ -5895,7 +5895,7 @@
"cjs" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"cjt" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
"cju" = (/obj/structure/table,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
-"cjv" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station)
+"cjv" = (/obj/item/weapon/stool,/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"cjw" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"cjx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"cjy" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer)
@@ -5923,7 +5923,7 @@
"cjU" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/foyer)
"cjV" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port)
"cjW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port)
-"cjX" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"cjX" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer)
"cjY" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/tape_roll,/turf/simulated/floor,/area/engineering/foyer)
"cjZ" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIE"; location = "AftH"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/foyer)
"cka" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
@@ -6087,7 +6087,7 @@
"cnc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
"cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
"cne" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering)
-"cnf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"cnf" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep)
"cng" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engineering)
"cnh" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engineering/workshop)
"cni" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2)
@@ -6231,8 +6231,8 @@
"cpQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring)
"cpR" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space)
"cpS" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/port)
-"cpT" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/constructionsite/station)
-"cpU" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/engine_monitoring)
+"cpT" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring)
+"cpU" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring)
"cpV" = (/obj/machinery/camera{c_tag = "Engineering Monitoring"; dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring)
"cpW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring)
"cpX" = (/obj/machinery/computer/security/engineering,/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engineering/engineering_monitoring)
@@ -6274,18 +6274,18 @@
"cqH" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cqI" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos)
"cqJ" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/engineering/atmos)
-"cqK" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/station)
+"cqK" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/engineering/atmos)
"cqL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/lattice,/turf/space,/area/space)
"cqM" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/engineering/atmos)
"cqN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/space,/area/space)
"cqO" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft)
"cqP" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/atmos)
-"cqQ" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication)
+"cqQ" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring)
"cqR" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor,/area/engineering/atmos/monitoring)
"cqS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring)
"cqT" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/security/prison)
"cqU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring)
-"cqV" = (/turf/simulated/shuttle/wall,/area/shuttle/constructionsite/station)
+"cqV" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring)
"cqW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/engineering/engineering_monitoring)
"cqX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/engineering/engineering_monitoring)
"cqY" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engineering/engineering_monitoring)
@@ -6305,7 +6305,7 @@
"crm" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/atmos)
"crn" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor,/area/engineering/atmos)
"cro" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor,/area/engineering/atmos)
-"crp" = (/turf/simulated/shuttle/wall{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/area/shuttle/constructionsite/station)
+"crp" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/constructionsite/station)
"crq" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/engineering)
"crr" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery)
"crs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery)
@@ -6327,14 +6327,14 @@
"crI" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access_txt = "39"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "39"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"crJ" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology)
"crK" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology)
-"crL" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station)
+"crL" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology)
"crM" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology)
"crN" = (/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"crO" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"crP" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space)
-"crQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
-"crR" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
-"crS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "engineering_shuttle"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;11;24"; tag_door = "engineering_shuttle_hatch"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
+"crQ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/station)
+"crR" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"crS" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
"crT" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/atmos/monitoring)
"crU" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Atmospherics")},/turf/simulated/floor,/area/engineering/atmos/monitoring)
"crV" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engineering/atmos/monitoring)
@@ -6363,7 +6363,7 @@
"css" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
"cst" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/atmos)
"csu" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
-"csv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"csv" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/constructionsite/station)
"csw" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor,/area/engineering/atmos)
"csx" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
"csy" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos)
@@ -6401,7 +6401,7 @@
"cte" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/mineral/plastic{amount = 10},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop)
"ctf" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera{c_tag = "Engineering Workshop"; dir = 8; network = list("SS13"); pixel_y = -23},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/workshop)
"ctg" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/camera{c_tag = "Engineering Hard Storage"; dir = 4; network = list("SS13")},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/storage)
-"cth" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
+"cth" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/station)
"cti" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/atmos)
"ctj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos)
"ctk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos)
@@ -6434,14 +6434,14 @@
"ctL" = (/obj/machinery/disease2/isolator,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"ctM" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"ctN" = (/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ctO" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
+"ctO" = (/obj/machinery/camera{c_tag = "Virology Monkey Pen"; dir = 2},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"ctP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"ctQ" = (/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},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs2"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryprep)
"ctR" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"ctS" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station)
+"ctS" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"ctT" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"ctU" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"ctV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"ctV" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"ctW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"ctX" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard)
"ctY" = (/turf/space,/area/syndicate_station/southwest)
@@ -6487,9 +6487,9 @@
"cuM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cuN" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/medical/virology)
"cuO" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cuP" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/station)
+"cuP" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cuQ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cuR" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station)
+"cuR" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cuS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology)
"cuT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/virology)
"cuU" = (/obj/machinery/door/window/southright{dir = 1; name = "Virology Isolation Room One"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
@@ -6498,10 +6498,10 @@
"cuX" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cuY" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology)
"cuZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cva" = (/obj/structure/cable,/obj/machinery/power/smes/buildable/power_shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"cva" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cvb" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cvc" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cvd" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
+"cvd" = (/obj/structure/bed/chair{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cve" = (/obj/machinery/smartfridge/secure/extract,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/rnd/xenobiology)
"cvf" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/rnd/xenobiology)
"cvg" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/rnd/xenobiology)
@@ -6533,7 +6533,7 @@
"cvG" = (/obj/machinery/shieldwallgen,/turf/simulated/floor/plating,/area/engineering/storage)
"cvH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -7; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 7; pixel_y = -32},/turf/simulated/floor,/area/rnd/xenobiology)
"cvI" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
-"cvJ" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/station)
+"cvJ" = (/turf/simulated/shuttle/wall,/area/shuttle/constructionsite/station)
"cvK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/engineering/atmos)
"cvL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor,/area/engineering/atmos)
"cvM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering)
@@ -6556,7 +6556,7 @@
"cwd" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/xenobiology)
"cwe" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cwf" = (/obj/structure/table,/obj/item/stack/sheet/mineral/phoron{amount = 5; layer = 2.9},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cwg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/constructionsite/station)
+"cwg" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cwh" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/rnd/xenobiology)
"cwi" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "whitehall"; dir = 8},/area/rnd/xenobiology)
"cwj" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable/yellow,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard)
@@ -6613,12 +6613,12 @@
"cxi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cxj" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
"cxk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cxl" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop)
+"cxl" = (/turf/simulated/shuttle/wall{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/area/shuttle/constructionsite/station)
"cxm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/rnd/xenobiology)
"cxn" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/rnd/xenobiology)
-"cxo" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos)
-"cxp" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor,/area/engineering/atmos)
-"cxq" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos)
+"cxo" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station)
+"cxp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"cxq" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
"cxr" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/atmos)
"cxs" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor,/area/engineering/atmos)
"cxt" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/engineering/atmos)
@@ -6635,7 +6635,7 @@
"cxE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/wall/r_wall,/area/engineering/atmos/storage)
"cxF" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/engineering)
"cxG" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/workshop)
-"cxH" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cxH" = (/obj/structure/bed/chair,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/workshop)
"cxI" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engineering/workshop)
"cxJ" = (/obj/effect/decal/cleanable/blood/oil{amount = 0},/turf/simulated/floor,/area/engineering/workshop)
"cxK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator)
@@ -6700,7 +6700,7 @@
"cyR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/medbay)
"cyS" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_interior"; locked = 1; name = "Virology Quarantine Airlock"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cyT" = (/obj/structure/table,/obj/item/device/antibody_scanner,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = -32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cyU" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cyU" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cyV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 8},/obj/structure/disposalpipe/segment,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cyW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/virology)
"cyX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/virology)
@@ -6740,9 +6740,9 @@
"czF" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 10; icon_state = "yellow"},/area/engineering/atmos)
"czG" = (/obj/machinery/light,/turf/simulated/floor,/area/engineering/atmos)
"czH" = (/obj/machinery/atmospherics/valve/digital{name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/engineering/atmos)
-"czI" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
+"czI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"czJ" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
-"czK" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"czK" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"czL" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/autoname,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"czM" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"czN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engineering)
@@ -6795,8 +6795,8 @@
"cAI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering)
"cAJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering)
"cAK" = (/obj/machinery/camera{c_tag = "Engineering Hallway South West"; dir = 1; pixel_x = 22},/turf/simulated/floor,/area/engineering)
-"cAL" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
-"cAM" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cAL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cAM" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cAN" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cAO" = (/turf/simulated/wall,/area/maintenance/engi_shuttle)
"cAP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering)
@@ -6815,11 +6815,11 @@
"cBc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/virology)
"cBd" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
"cBe" = (/obj/machinery/light,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
-"cBf" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cBf" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
"cBg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/virology)
"cBh" = (/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
"cBi" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
-"cBj" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cBj" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
"cBk" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = 0; pixel_y = -3; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; normaldoorcontrol = 2; pixel_x = 6; pixel_y = 7; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_monitoring)
"cBl" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology)
"cBm" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "47"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/rnd/xenobiology)
@@ -6851,7 +6851,7 @@
"cBM" = (/obj/machinery/computer/cryopod/robot{pixel_y = 30},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication)
"cBN" = (/obj/machinery/light{dir = 1},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/drone_fabrication)
"cBO" = (/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/drone_fabrication)
-"cBP" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
+"cBP" = (/obj/structure/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication)
"cBQ" = (/obj/machinery/recharge_station,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cBR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cBS" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes)
@@ -6885,7 +6885,7 @@
"cCu" = (/turf/simulated/wall/r_wall,/area/engineering/engine_airlock)
"cCv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_airlock)
"cCw" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_airlock)
-"cCx" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/virology)
+"cCx" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cCy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cCz" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cCA" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engineering/drone_fabrication)
@@ -6901,8 +6901,8 @@
"cCK" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring)
"cCL" = (/obj/structure/closet/radiation,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_monitoring)
"cCM" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_monitoring)
-"cCN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle)
-"cCO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle)
+"cCN" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "engineering_shuttle"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;11;24"; tag_door = "engineering_shuttle_hatch"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
+"cCO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
"cCP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle)
"cCQ" = (/obj/machinery/computer/shuttle_control/engineering,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cCR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/engineering)
@@ -6913,7 +6913,7 @@
"cCW" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space)
"cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay)
"cCY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay)
-"cCZ" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cCZ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cDa" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Virology Break/Access"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cDb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cDc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
@@ -6953,7 +6953,7 @@
"cDK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
"cDL" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
"cDM" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; use_power = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
-"cDN" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"cDN" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
"cDO" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cDP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cDQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
@@ -6962,7 +6962,7 @@
"cDT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engineering)
"cDU" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1379; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"cDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cDW" = (/obj/structure/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/drone_fabrication)
+"cDW" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cDX" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cDY" = (/obj/machinery/washing_machine,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cDZ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/rnd/xenobiology)
@@ -6972,7 +6972,7 @@
"cEd" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 8},/obj/item/weapon/deck,/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cEe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/drone_fabrication)
"cEf" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/camera{c_tag = "Drone Fabrication"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
-"cEg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
+"cEg" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
"cEh" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/engineering/engine_smes)
"cEi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes)
"cEj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engineering/engine_smes)
@@ -6993,14 +6993,14 @@
"cEy" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "phoron floor"; nitrogen = 0; oxygen = 0; phoron = 70000},/area/engineering/atmos)
"cEz" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
"cEA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller,/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
-"cEB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cEB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station)
"cEC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/engi_shuttle)
"cED" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cEE" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/atmos)
"cEF" = (/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
-"cEG" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cEH" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_dock_airlock"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;11;24"; tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/engi_shuttle)
-"cEI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
+"cEG" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
+"cEH" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"cEI" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cEJ" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cEK" = (/obj/machinery/computer/arcade,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cEL" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/rnd/xenobiology)
@@ -7010,7 +7010,7 @@
"cEP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/engineering/engine_smes)
"cEQ" = (/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Engine Monitoring Room"; dir = 4; network = list("SS13","Supermatter")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/engineering/engine_monitoring)
"cER" = (/obj/machinery/alarm{breach_detection = 0; dir = 2; frequency = 1439; name = "Engine Room Air Alarm"; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engineering/engine_room)
-"cES" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"cES" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engineering/engine_monitoring)
"cET" = (/obj/structure/table/reinforced,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor,/area/engineering/engine_monitoring)
"cEU" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = -24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engineering/engine_airlock)
"cEV" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engineering/engine_airlock)
@@ -7023,14 +7023,14 @@
"cFc" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication)
"cFd" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/obj/machinery/mecha_part_fabricator{output_dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engineering/drone_fabrication)
"cFe" = (/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engineering/drone_fabrication)
-"cFf" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle)
-"cFg" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"cFf" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engineering/drone_fabrication)
+"cFg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
"cFh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/engi_shuttle)
"cFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
"cFj" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engineering/drone_fabrication)
"cFk" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engineering/engine_room)
"cFl" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engineering/engine_smes)
-"cFm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/virology)
+"cFm" = (/obj/structure/bed,/obj/item/weapon/bedsheet/green,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cFn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cFo" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/personal/patient,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/obj/item/clothing/shoes/white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"cFp" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "warning"},/area/engineering/engine_smes)
@@ -7076,7 +7076,7 @@
"cGd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room)
"cGe" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room)
"cGf" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room)
-"cGg" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/engineering/atmos)
+"cGg" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/station)
"cGh" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room)
"cGi" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room)
"cGj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering)
@@ -7244,13 +7244,13 @@
"cJp" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/engineering/engine_room)
"cJq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall,/area/space)
"cJr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor,/area/engineering)
-"cJs" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring)
-"cJt" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring)
-"cJu" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos)
-"cJv" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/engineering/engineering_monitoring)
-"cJw" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/atmos/monitoring)
-"cJx" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cJy" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
+"cJs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/firstaid,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
+"cJt" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
+"cJu" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/constructionsite/station)
+"cJv" = (/obj/structure/cable,/obj/machinery/power/smes/buildable/power_shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
+"cJw" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/station)
+"cJx" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/constructionsite/station)
+"cJy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/constructionsite/station)
"cJz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cJA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; layer = 3.3; pixel_x = 12; pixel_y = -25},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes,/turf/simulated/floor/plating,/area/maintenance/portsolar)
"cJB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -7263,12 +7263,12 @@
"cJI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"cJJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"cJK" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
-"cJL" = (/obj/machinery/camera{c_tag = "Virology Monkey Pen"; dir = 2},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cJM" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/turf/simulated/floor/plating,/area/engineering/storage)
-"cJN" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos)
-"cJO" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/red,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
-"cJP" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
-"cJQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cJL" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/engineering/atmos)
+"cJM" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor,/area/engineering/atmos)
+"cJN" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/atmos)
+"cJO" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cJP" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cJQ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
"cJR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar)
"cJS" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable/yellow,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/portsolar)
"cJT" = (/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -7277,37 +7277,36 @@
"cJW" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"cJX" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"cJY" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/engi_engine)
-"cJZ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos)
-"cKa" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos)
-"cKb" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cKc" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
-"cKd" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"cKe" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"cJZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle)
+"cKa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle)
+"cKb" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cKc" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle)
+"cKd" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "engineering_dock_airlock"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;11;24"; tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/engi_shuttle)
+"cKe" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "engineering_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "engineering_dock_sensor"; pixel_x = -25; pixel_y = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/engi_shuttle)
"cKf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar)
"cKg" = (/turf/simulated/wall,/area/maintenance/engi_engine)
"cKh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"cKi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
"cKj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engi_engine)
-"cKk" = (/obj/structure/bed/chair{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology)
+"cKk" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos)
"cKl" = (/turf/space,/area/syndicate_station/southeast)
-"cKm" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos)
+"cKm" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/turf/simulated/floor/plating,/area/engineering/storage)
"cKn" = (/turf/space,/area/syndicate_station/south)
"cKo" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space)
"cKp" = (/obj/item/weapon/wrench,/turf/space,/area/space)
"cKq" = (/turf/space,/area/vox_station/southwest_solars)
"cKr" = (/obj/machinery/power/solar{id = "auxsolarnorth"; name = "Fore Solar Array"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fore)
-"cKs" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/atmos)
-"cKt" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/floor,/area/engineering/atmos)
-"cKu" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
-"cKv" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor{icon_state = "bcarpet08"},/area/medical/psych)
-"cKw" = (/obj/structure/bed/psych,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor{icon_state = "bcarpet09"},/area/medical/psych)
-"cKx" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych)
-"cKy" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
-"cKz" = (/obj/item/weapon/stool,/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
+"cKs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos)
+"cKt" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/red,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/atmos)
+"cKu" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cKv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/atmos)
+"cKw" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engineering/atmos)
+"cKx" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/atmos)
+"cKy" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor,/area/engineering/atmos)
+"cKz" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/atmos)
"cKA" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space)
"cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space)
-"cKC" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep)
-"cKD" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/engineering/foyer)
+"cKC" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (WEST)"; icon_state = "map"; dir = 8},/turf/simulated/floor,/area/engineering/atmos)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -7360,7 +7359,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaabaabaabaabaabaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathaabaabaabaabaabaaaaabaabaabaabaabaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaabaabaabaabaabaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -7371,135 +7370,135 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaamaamaamaanaamaamaamaamaamaamaamaamaamaaaaaaaaaaaaaaaaaaaaaaajaaoaapaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaaaaaaaaaaaaaaraapaasaataafaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaaaaaaaaaaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacKraawaavaaacKraawaavaaacKraawaavaafaafaamaaaaaaaaaaaaaaaaafaafaahaaxaataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaayaayaayaayaayaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaamaaacKraazaavaaacKraazaavaaacKraazaavaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaAaaBaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaCaaDaaEaaDaaEaaDaaFaayaayaaGaaHaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaamaaacKraazaavaaacKraazaavaaacKraazaavaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaAaaBaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaCaaDaaEaaDaaEaaDaaFaayaayaaGaaHaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaaaaaaaauaaaaaaaauaauaauaauaauaauaauaaaaaaaauaaaaaaaauaaaaaaaaaaaaaaaaaaaaIaafcKraazaavaaacKraazaavaafcKraazaavaafaaaaaaaafaafaaJaaaaaaaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaKaaLaafaayaaMaaNaaNaaNaaNaaNaaOaaPaaQaaRaaSaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaaaaaaaaaaafaaacKraazaavaafcKraazaavaaacKraazaavaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaanWanWanWanWanWanWanWaafaaaaayaaUaaVaaEaaVaaEaaVaaWaaXaaYaaZabaaayabbabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaamaaIaafaaacKraazaavaafcKraazaavaaacKraazaavaafaaaaaaaacaaaaafaafabcabdabdabdabdabeabfaaaaaaanWapUapUapVapUapUanWaaaaafaayabiabjaaXabkaaXabjaaXaayablaaZabmaayabnaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapsaafaafaafapsaafaaaaafapsaafaaaaaaaaaaaaaaaabqabrabsabtabuabvabwabxabfaafaaaanWapEapDapqaocanaanWaaaaaaabDabEabFabGabHaaEabFaaEabIabJabKabLappabNabOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaIaafaqMaqbapTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTarBaqbaqbaryabWabXabYabZacaacbaccacdaaTaaTaaTanWanWapGapPapLanWanWachaciacjackaclacmacnacmacoackackackacpacqacracsactaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaafaaLaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapjaafaaaaafapjaafaaaaafapjaafaaaaaaaaaaaaaaaabqabracvacwacxacyabdaczaaTaaTamHamsamsamRacEacFaaTaaTacGacHacIamcacKacLacMacNacOacPacQacQacRacSacracsabbabbabbabbabbabbaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaamaaIaafaafcKrapgaavaaacKrapgaavaaacKrapgaavaafaaaaaaaaaaaaaafaafacUabdabdabdabdacVaaTacWacXacXacXacXacEacXacYaoZadaacQadbadcaddadeacMamWacQacQacQacQadgadhackadiadjabbadkadladmabbaaLaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaacKrapgaavaafcKrapgaavaaacKrapgaavaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaabfacVaaTakVadoadpaiFadqadsadtaduaoZadaacQadvadcaddadwadxadyacQaizaizaizaddadAacradBadladCadladladladCaaLaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaIaafcKrapgaavaaacKrapgaavaaacKrapgaavaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaadDadEaaTakXacXacXacXacXacEacXadGaoZadaacQadvadHadIadJadKadLalOadNadNadNalCadPacradQadlabbadRadSadlabbaaLaaLaafaaaaafaaaaaLaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaIaafcKrapgaavaaacKrapgaavaafcKrapgaavaafaafaafaaaaafaafaaaaaaaaaaaaaaaadTadEaaTaaTarQarMadWadXacEadXaaTaaTadYacQadbacQaddadZaeaadyalOadNaebadNarZaedacradQaeeabbabbabbabbabbaaLaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaafaafaaLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaauaauaauaauaaaaaaaauaauaauaauaauaauaauaaaaaaaauaauaauaauaacaaaaaaaaaaaaaaaaaqaafcKrarDaavaaacKrarDaavaaacKrarDaavaafaaaaafaafaafaaaaaaaaaaaaaaaaaaadTaegaaTaaTaaTaaTaaTaaTaehaaTaaTaaTaeiaejaekaelaemaenaeoaepasaaeraesaerasbaeuacradBaevabbaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaewadEaexaeyaezaaTaeAaeBaeCaeDaeEaeFaeGaeHaeIaeHaddadZaeJaeKaeLaeLarlaeLaeNaeOaePaeQaeRabbaeSaeSaeSaeSaeSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaaaaaaaaaaafaaacKraazaavaafcKraazaavaaacKraazaavaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaabgabgabgabgabgabgabgaafaaaaayaaUaaVaaEaaVaaEaaVaaWaaXaaYaaZabaaayabbabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaamaaIaafaaacKraazaavaafcKraazaavaaacKraazaavaafaaaaaaaacaaaaafaafabcabdabdabdabdabeabfaaaaaaabgabhabhabyabhabhabgaaaaafaayabiabjaaXabkaaXabjaaXaayablaaZabmaayabnaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapsaafaafaafapsaafaaaaafapsaafaaaaaaaaaaaaaaaabqabrabsabtabuabvabwabxabfaafaaaabgabAabzabCabBaceabgaaaaaaabDabEabFabGabHaaEabFaaEabIabJabKabLappabNabOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaIaafaqMaqbapTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTarBaqbaqbaryabWabXabYabZacaacbaccacdaaTaaTaaTabgabgacfacAacgabgabgachaciacjackaclacmacnacmacoackackackacpacqacracsactaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaafaaLaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapjaafaaaaafapjaafaaaaafapjaafaaaaaaaaaaaaaaaabqabracvacwacxacyabdaczaaTaaTacCacBacBacDacEacFaaTaaTacGacHacIacJacKacLacMacNacOacPacQacQacRacSacracsabbabbabbabbabbabbaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaamaaIaafaafcKrapgaavaaacKrapgaavaaacKrapgaavaafaaaaaaaaaaaaaafaafacUabdabdabdabdacVaaTacWacXacXacXacXacEacXacYaoZadaacQadbadcaddadeacMadfacQacQacQacQadgadhackadiadjabbadkadladmabbaaLaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaacKrapgaavaafcKrapgaavaaacKrapgaavaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaabfacVaaTadnadoadpadradqadsadtaduaoZadaacQadvadcaddadwadxadyacQadzadzadzaddadAacradBadladCadladladladCaaLaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaIaafcKrapgaavaaacKrapgaavaaacKrapgaavaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaadDadEaaTadFacXacXacXacXacEacXadGaoZadaacQadvadHadIadJadKadLadMadNadNadNadOadPacradQadlabbadRadSadlabbaaLaaLaafaaaaafaaaaaLaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaIaafcKrapgaavaaacKrapgaavaafcKrapgaavaafaafaafaaaaafaafaaaaaaaaaaaaaaaadTadEaaTaaTadVadUadWadXacEadXaaTaaTadYacQadbacQaddadZaeaadyadMadNaebadNaecaedacradQaeeabbabbabbabbabbaaLaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaafaafaaLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaauaauaauaauaaaaaaaauaauaauaauaauaauaauaaaaaaaauaauaauaauathaaaaaaaaaaaaaaaaaqaafcKrarDaavaaacKrarDaavaaacKrarDaavaafaaaaafaafaafaaaaaaaaaaaaaaaaaaadTaegaaTaaTaaTaaTaaTaaTaehaaTaaTaaTaeiaejaekaelaemaenaeoaepaeqaeraesaeraetaeuacradBaevabbaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaewadEaexaeyaezaaTaeAaeBaeCaeDaeEaeFaeGaeHaeIaeHaddadZaeJaeKaeLaeLaeMaeLaeNaeOaePaeQaeRabbaeSaeSaeSaeSaeSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaeTaamaamaamaamaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafabfadEaeUaeVaeWaaTaeAaeAaeXaeYaeZaeFafaafbafcafdaddafeaffafgacQacQafhacQafiafjacrafkaflabbafmafnafoafoafpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabfabfabfabfadEafqafrafsaaTaftafuafvafwafxafyafzaqmaqpaqmafCafDadxafEafFacQafhacQafGafHafIafJafKafLadlafMaqNaqWafPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabfabfabfabfadEafqafrafsaaTaftafuafvafwafxafyafzafAafBafAafCafDadxafEafFacQafhacQafGafHafIafJafKafLadlafMafNafOafPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRafSabfafTafUafVafWafXafYafZafZafZafZafZafZagaagbagcagbaaTageagdagfaggaghaeFagiagjagkaglagmagnagoagpagqagragsagtaguagpagvagwagxabbadlagyafoafoagzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaabfagAagBafZafZafZafYafYafZagCagDagDagDagDagDagDagDagDagDagDarCaaTagFagGagHagIagJaeFagKagLagLagLaddagMagNagOagPagQagRagQagPagSagvagTadlabbabbaeSaeSaeSaeSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahmahlahnahnahnahnaddahoahpahqahrahsaqcahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMacJahOahPacXacXacEacXacDahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihacAaijacCailacBagDagZahIainagWaioahLaceaiqahKahOairacfacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPacgagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEabCaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNajeajcajdakfajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahmahlahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNajeajcajdakfajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajsajrantajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUabAakWabBakYakoalIabbalbamaactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBabzalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNabgalPalQalRahKalSaljagWalTalUalValWalXalYalZabyahKambahKabhamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWaikamIamJalWamKamLamMamNamOamPamQaimamSamgamgamfamgamTaoWamVaipamXanfakoamZaisalDamqalDalDanbakoancandaneasPangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbalbamaactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamsahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXanfakoamZanaalDamqalDalDanbakoancandaneasPangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPasyanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaiiagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNafOapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCahQahNapFahtaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDafBapMagWalgapNalKapOafNapQapRaokapSaeqaetaecapWapXapYapZaqaanUadVaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaeMapyaqnaqoafAaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyadUaqOaqPaqQaqRaqSanxaqUaqVadOamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobadFagWarmarnalKaogaroaoiaokarparqarrarsartaonarualWarvarwarxalLarzarAamUamzamyarEarFarGarHamjanGanGarIanGanGanGanGanGanGarJarKarLadMadMapFarNaoHaoHarOaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzadfaqBagDarRapcarSarTarUaefapharWaloaonaonarYadnadradzaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxatraszaqsaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCadfapbagDafBapMagWasDasEalKapOaYpaoiasGasGasHasIaonasJaonasKalWasLaYqbgMaYtatgarAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafaafathatjatiatiatiatiatQatiatiatiatiauMaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqavJatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatPavyatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTaZEatTatSatVaZKatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaZkaunaZiauparAauqaurausarEatBasZaYGaySaZeatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauLatPavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTbabatTauNatVbbpatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbaZLaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZaZMavoaZZatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQatPavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIawLavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavVavRavSavTavUawfavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawxawgaukawhaWzautaXhawlarAawmaurawnarEatBasZaWlawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauHauJawyavxawzaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZaYfaxjaXRatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawBawAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazpazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaYkaxXavqaydayeayfaygayhayhayhayhawCavxawBawAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAvaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWaYoayYayXayYaYmayTazaazbazcazdazeazdazdazfawDaxpawEaxqaxsatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZbfjaAeaZeatCaxWaxXaxXaxXaxXbgebgQaAlaAmaAnaxkaAoaxraApaApaApaAqaxtatPaxuatPaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaBtaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZaWlaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBrayiaxvaylayjatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvbhdaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFbitaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZbhfaAYbiqatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPbiDaziazhatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaazjaaaaaaaafaaaaCvaEXaEYazkaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIazlaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZbiFaBcaZeatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPazmatiatiatiatiatiaznatiatiatiatiaAraafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaAsaDCaBqaCxaBsaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMbbqaBMaBNaCDavHaFuaDQaFxaCpaDraCJaFIaFJaFKaFLaFLaFLbbsaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDtaCoaDeaDvaDuaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaEWaEVaFdaEZaFcaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaAZaGKaFlaAkaFlaAkaFlaAkaFlaAkaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjbdyaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaFyaFwatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGjaFzaGzaGzaGBaGAaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaAkaFlaAkaIxaAkaIyaAkaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLbexaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaHRaGCaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaHTaHSaHWaHUaHYaHXaIaaIaaJjaIbaIgaJIaJJbeEbeCaJMaJNaIgaJOaJPaGFaJQbezaJSaJTbinaJUaIoaJVaJkaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaAZaGKaFlaAkaFlaAkaFlaAkaFlaAkaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYaJAaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaJGaJBaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaJHaIgaLjaAfaLlaEFaAjaLoaIgaLpaJWaGFaLraLsaLtaJTaRraJUaIoaJVaIoazCaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaKTaKbaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaLqaKUaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwazgaMyayZaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaJHaIgaMPaxTaMRaMSawXaMUaIgaMVaMWaMXaMYayVaNaaNbaGFaGGaNcaJVaIoaybaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaGLaGLaNkaGLaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaMgaMfaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaBQaOwaDzaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaJHaIgaONaOOaFMaGJaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaMraMqaPhaPhaumaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpaOfaQraQnaQnaQsaQtaLfaJHaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaBaaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeaOgaQLaPhaPhaumaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBaPfaRDaREaRFaQraRGaRHaRIaRJaLfaJHaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkatWatWaNkatWaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlatUasOasOasOasOasOasOaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJHaIgaThaONaRLaRMaONaONaTiaIgaTjasFaTlaGGaIoaTmaTnaToaTpaTqaIoaTrasMaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVawpaUXaUYaUZaVaaVbaTeaJHaIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRawiaVTaXEaVVawoaVXaXFaVZawkaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSauoaWeauuaSSauvauKaWiauOaWkauPaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaPgaWyavcaWAaWBaWCaWDaWEaTeaJHaIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGavmaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaOQaXiaXjaXkaOQaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNauoaXOauuaSSaXPaXQaSSaSPaXSauuaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaSOaYgaWBaYhaWDaYiaTeaJHaIgaYjaYjaRLaRMaTkaONaONaYlaONaWdaQqaGGaIoaVSaVWaToaWaaUWaZXaWLbaOaTsaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaOQaXjaYUbbTaOQaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaOPaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaOxaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaSPaZpauuaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaSOaYgaWBaYhaZxaZyaZzaQKaZzaZzaZzaZBaZCaZDaLkaOOaZFaZGaZHaZIaGGaZJaSlaQaaToaQzaQaaIoaIoaXaaPiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaWfbaaaJLbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDauobboauuaSSaWhaWgbbraWjaXOauuaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzaRCbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaVSaVWaToaWaaVWaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaathaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarlagWarmarnalKaogaroaoiaokarparqarrarsartaonarualWarvarwarxalLarzarAamUamzamyarEarFarGarHamjanGanGarIanGanGanGanGanGanGarJarKarLarMarMapFarNaoHaoHarOaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxatraszaqsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOatgarAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaaaaafatPawzatiatiatiatiatQatiatiatiatiauMaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqavJatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZaAfaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwaxuawAaxsatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZawoavoawpatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQatjavAatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIawLavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavVavRavSavTavUawfavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawxawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauHauJawyavxatjaykatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZauKaxjavmatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawBauLatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoazpazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayhawCavxawBauLatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaAvaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfawDaxpawEaxqayiatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaBwaBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaxraApaApaApaAqaxtatPayjatPatPatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwaBtaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBrayiaylazgazhatRatRatRatRatRatRatRatRatRatRavyaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvaDzaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPazmaziazjatRatRatRatRatRatRatRatRatRatRavzaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYazkaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIazlaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsatPatPatPaBsatiatiatiatiaznatiatiatiatiaAraafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvaGxaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaDCaAtaAsaDCaBqaCxaxvaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaCpaDraCJaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDtaCoaDeaDvaDuaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaEWaEVaFdaEZaFcaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaFyaFwatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGjaFzaGzaGzaGBaGAaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaIwaFlaFlaDKaFlaGLaFlaGLaIxaGLaIyaGLaFlaGMaGNaGOaDPaFFaIAaIAaFGaICaIDaICaIAaIAaIEaIFaFCaGQaFHaGWaGVaFCaIKaILaIMaFLaFLaINaFLaIOaIPaIKaCMaaaaBYaBYaIQaIRaIQaBYaBYaaaazJazOazPaISaITaIUaFTaIVazPaIWaIXayLaIYazTaIZaEwaCfaJaaEyaATaJbaJcazTaJdaJeaJfaJgaJhaMbaECaCuaCuaCuaCuaCuaHRaGCaJlaJmaJnaBjaJoaBjaJpaBjaJqaBjaJraGpaJsaJtaGsaGsaDqaJvaDsaDsaJwaDsaDsaJxaDsaGsaJyaGsaGsaGsaJzaHZaHTaHSaHWaHUaHYaIaaIaaIaaJjaIbaIgaJIaJJaJKaJLaJMaJNaIgaJOaJPaGFaJQaJRaJSaJTbinaJUaIoaJVaJkaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaIzaIHaIGaIJaIIaJZaJYaJAaKaaFCaIKaKmaKnaKoaKpaIKaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaKxaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaKHaKIaKJaKKaKLaJeaEDaKNaKOaKPaEEaKRaaaaaaaJlaKSaJGaJBaJlaKVaJnaJnaJnaKWaJnaJnaJnaBjaDpaKXaDpaDpaDpaDpaKYaDpaKZaLaaLbaLcaLdaLeaLfaLgaLhaLfaLfaLfaLfaLfaLiaLfaLfaLfaLfaLfaLfaLfaLfaJHaIgaLjaLkaLlaEFaLnaLoaIgaLpaJWaGFaLraLsaLtaJTaRraJUaIoaJVaIoaLvaLwaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkaFlaFlaFlaLAaFlaFlaLBaFlaFlaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaLYaKuaKuaLZaMaaLZaJeaJeaMbaMcaJeaJeaJeaJeaMdaMeaKTaKbaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaLqaKUaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaMvaMwaMxaMyaMzaKZaMAaMBaMCaMCaMDaLfaMEaMFaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaJHaIgaMPaMQaMRaMSaMTaMUaIgaMVaMWaMXaMYaMZaNaaNbaGFaGGaNcaJVaIoaNdaNeaNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaNjaNjaNkaNjaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNAaNBaNzaNCaNzaNzaNzaNzaNDaNEaNFaNGaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaNPaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaMgaMfaOhaOiaOjaOkaOlaOmaOnaJlaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKZaOyaOzaOAaOAaOBaLfaOCaODaOEaOEaOEaOEaOFaOGaOHaOIaOJaOKaOKaOLaOMaLfaJHaIgaONaOOaOPaOQaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaMraMqaPhaPhaPiaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaQcaQbaQbaQdaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaQlaQmaQnaQnaQnaQnaQnaQoaQpaOfaQraQnaQnaQsaQtaLfaJHaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaQxaGFaIoaIoaJVaIoaQyaQzaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaQEaQFaQGaGOaQCaQHaQIaBIaQJaLEaPeaOgaQLaPhaPhaPiaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaQTaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaRbaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaRxaLfaRyaQmaQnaRzaRAaRBaPfaRDaREaRFaQraRGaRHaRIaRJaLfaJHaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaGfaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaSlaSlaNkaSlaNlaIAaSmaNnaSnaIAaLKaLKaSoaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaStaLKaNraQPaSuaSvaSwaSxaNraSyaLKaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaSOaSPaSPaSPaSPaSPaSPaSQaSRaSSaSTaSUaSVaSWaSXaSYaKZaKZaSZaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJHaIgaThaONaRLaRMaONaONaTiaIgaTjaTkaTlaGGaIoaTmaTnaToaTpaTqaIoaTraTsaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQaNXaLmaKMaQAaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaTPaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeaUfaUgaUhaUeaUiaLKaLKaUjaLKaLKaLKaLKaUkaUlaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaTfaUUaUVaUWaUXaUYaUZaVaaVbaTeaJHaIgaVcaVcaRLaRMaVdaVdaVeaIgaIgaVfaIgaGGaVgaVhaViaViaViaVjaVkaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaKQcmVaVrclfaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaVzaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeclraVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaVLaVMaVNaVOaVPaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaVSaVTaXEaVVaVWaVXaXFaVZaWaaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaWdaWeaWfaSSaWgaWhaWiaWjaWkaWlaWmaWnaQbaWoaWpaWqaWraWsaWtaWtaWuaWvaWwaPgaWyaWzaWAaWBaWCaWDaWEaTeaJHaIgaThaONaRLaRMaONaONaONaWFaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaQaaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaXhaXiaXjaXkaXhaTUaTUaTUaXlaUeaXmaXnaXoaUeaUiaVGaXpaKfaXraXsaUmaXtaVPaXuaXvaXwaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaXzaXCaXDaXDaXEaXFaXGaXEaXFaXDaXDaXHaXIaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaXNaWdaXOaWfaSSaXPaXQaSSaXRaXSaWfaSSaXTaOtaXUaXVaUQaXWaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaWBaYhaWDaYiaTeaJHaIgaYjaYjaRLaRMaYkaONaONaYlaONaYmaQqaGGaIoaYoaYpaToaYqaZkaZXaWLbaOaYGaWOaZcaVoaYvaYwaYxaYyaYzaYAaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaYVaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaTSaYTaTUaTUaXhaXjaYUbbTaXhaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaZeaZfaZgaZfaZfaZfaZfaZhaZfaZfaZfaZfaZfaZfaZiaZjaUpaWMaZbaZlaZmaZnaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaXRaZpaWfaSSaXTaOtaZqaXVaUQaZraZsaZtaZuaYaaZvaZwaYdaYeaYfaYgaWBaYhaZxaZyaZzaQKaZzaZzaZzaZBaZCaZDaZEaOOaZFaZGaZHaZIaGGaZJaZKaZLaToaZMaZLaIoaIoaXaaYtaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaZYaZZbaababbacbadbaebafaYObagbahbaibajaTSbakbalbambanbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbaCaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbaNbcybaPbaQbaRbaQbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbaQbbdbbebbfbeobbhbbibbjbbkbblbbmbbnaJlaUDaWdbboaWfaSSbbpbbqbbrbbsaXOaWfaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYabbxbbybbzbbAbbBaYgaWBbbCaWDbbDaZzaRCbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaYoaYpaToaYqaYpaIobbKaGGbbLaVoaYuaVoaZNbbMbbNbbOaafbbPaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbbQbbRbbScqObbUaSFbaabaabaabaabaabbVbaabbWaYObbXbbYbaibbZbbZbbZbbZbcabbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKiaKjblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbcubcvbcwbcxbbgaUpbczbcAbcBbaBaUpaUpaUpaUpaUpbcDaUpaUpaUpbcCbcFbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObcPbcQbcRbcSaUQaUQaUQbcTbcUaTeaWxbcWbcXaYgaWBaYhaWDbcYaZzaYnbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobdtbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHaJKbaaaJLbdzbbVbaabdAaYOaYXbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbdKbdLbdMbdNaTSaXebdObdPbdPaKlbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXaJeaJeaJebdYbdYbdYbdZbeabdZbdYbebbebbebbebbebbecbebbebbebbedbedbeebedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbekbelbcObcObembenaZzaZzaZzaSHaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewaJRaZzbeyaLvbeAaLkbeBaLnbeDaMxaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbeMaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbeNbeObePbeQbeRaRtaYHbeTbeUaYHbdzbbVbeVbeWaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbdKbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfiaHkbfkbflbfmbfmbfmaMbaMkbcsbctaJebfnbfobfpbfqbfrbfsbftbfubdYbebbfvbfwaSEaSDbfzbfAbfBbebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbfWbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewaINaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObguaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbdKbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctaWKbgNbgObgPaNdaNdbgRbgSbgTbdYbebbgUbgVbgWbgXbfvbgYbgZbebbedbhabhbbhcaOvbheaNjbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhCbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhJbhKbhLbhMbhNaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbhRbhSbhTbhTbhTbhTbhTbhUbhVbhWbhXbhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbdKbibbicbidaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGbilaMbbimaSzbctaSIbiobipaMZbirbisaMTbiubivbdYbebbiwbixbiybiybiybgYbizbebbedbiAbiBbiCaMQbiEaMzbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjqbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbjubjvbjuaTSaTSaTSaTSbjwaTSbjxbdObdPbjybjzbgDbjAbjBbdPbfibfmbjCbgGbgGbgGbjDaMbbjEaSzbctcdNbjGbgOcbObjIbjJcbLbjLbjMbdYbjNbjObjPbiybjQbiybgVbjRbjSbedbjTbjUcbKbjWbjWbjWbjXbjYaJibjZbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkkbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkxbkybhFbewbewbkzbewbewbkAbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkHbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWcaAblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbXobmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObXnbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnacaucacbndbnecacbYYcaebnhbnibnjbYXbXvbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpaZAbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbbEbcEbvGbotbosbotaafbebboubovbowboxboybozboqbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbWHboLboMbWJbYwboPboQboRboRboSboTboUboUboVbWUboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbSZbppbUVbSHbpqbpsbptbUXbcmblOaZzbpwbpxblObpybVfbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNcggbpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebboAbebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqScgKbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbAXbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJbWHbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafbcZbcZbcZbcZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufceEbuhbuicewbukbulbumbnibnnbuncbWbupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAcbUbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqcbRbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspcbQbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbAWbwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbPnbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbPMbwZbxabgGbgGbPJbxcbvtbvubxdbxebxfbUbbQjbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbRbbnDbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbaybdBaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbnSbUabTQbwwbyfbygbyhbyibpCbPAbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbPnbwJbPnbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEboobyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAboObclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbPnbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbpvbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibOkbOlbOnbAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbqMbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbwubrgbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbOdbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbOcbBUbBVbyNbBWbNXbBYbBZbCabCabCbbCcbAraRqaRpaJibNhbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbSCbxcbvtbAbbCTbxcbCUbvwbCVbSEbCXbSFbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbvDbDvbDwbDxbDybDzbDAbyWbDBbvLbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwbxhbwbbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaYHbdybaababbdzbbVbaabdAaYOaYXbdCbaibbZbdDbdEbdFbdGbbZbdHbdIbdJaTSbdKbdLbdMbdNaTSaXebdObdPbdPaKlbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXaJeaJeaJebdYbdYbdYbdZbeabdZbdYbebbebbebbebbebbecbebbebbebbedbedbeebedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbekbelbcObcObembenaZzaZzaZzaSHaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbexaZzbeybezbeAaZEbeBbeCbeDbeEaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafbeMaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbeNbeObePbeQbeRaRtaYHbeTbeUaYHbdzbbVbeVbeWaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbdKbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibfjbfkbflbfmbfmbfmaMbaMkbcsbctaJebfnbfobfpbfqbfrbfsbftbfubdYbebbfvbfwaSEaSDbfzbfAbfBbebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbfWbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbgeaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObguaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbdKbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGbgHbgIbgJaMbbgKbgLbctaWKbgNbgObgPbgQbgQbgRbgSbgTbdYbebbgUbgVbgWbgXbfvbgYbgZbebbedbhabhbbhcbhdbhebhfbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhCbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIbhJbhKbhLbhMbhNaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbhRbhSbhTbhTbhTbhTbhTbhUbhVbhWbhXbhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbdKbibbicbidaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGbilaMbbimaSzbctaSIbiobipbiqbirbisbitbiubivbdYbebbiwbixbiybiybiybgYbizbebbedbiAbiBbiCbiDbiEbiFbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjqbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbjubjvbjuaTSaTSaTSaTSbjwaTSbjxbdObdPbjybjzbgDbjAbjBbdPbfibfmbjCbgGbgGbgGbjDaMbbjEaSzbctcdNbjGbgObjHbjIbjJbjKbjLbjMbdYbjNbjObjPbiybjQbiybgVbjRbjSbedbjTbjUbjVbjWbjWbjWbjXbjYaJibjZbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkkbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktbkubkvbewbkpbkwbkxbkybhFbewbewbkzbewbewbkAbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGbkHbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWbpoblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpaZAbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonbbEbcEbvGbotbosbotaafbebboubovbowboxboybozboqbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbyjbppbAsbprbpqbpsbptbpubcmblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebboAbebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbAXbrhbribrjbrkbnIbrlbpCbrmbrnbrobcVbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafbcZbcZbcZbcZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbnybvIbvHbvJbvKbvMbvNbvObnyaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbAWbwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbwYbwZbxabgGbgGbxbbxcbvtbvubxdbxebxfbUbbnCbxibxjbxkbxlbvwaafbxmbqtbskbxobxpbxobskbqxbxraafbspbqwbxtbnDbedbxvbspbtVaJlbxwbcLaRpaJibxxbxybxzbxAbxBbxCbxDbxEbxCbxFbxGbxHbxFbwkbxIbxJbwkbwkbxKbxLbxMbxNbxObxPbxQbxRbxSaXKbaybdBaXKaVJbpjbxXbqZbqZbxYbxZbppbyabwsbwsbwsbsSbwtbybbwwbnSbUabTQbwwbyfbygbyhbyibpCbAtbnIbrqbykbnMaaaaaaaaaaaaaaaaafbylbymbwIbwJbwIbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbyobypbyobyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEboobyGbxkbyHbyIbyJbvwaafbxrbxrbyKbtLbyLbskbyMbxrbxraafbyNbyNbyNbyNbyNbyNbyNbyOaJibyPblMblNaJibyQbyRbyRbySbyTbxCbyUbyVbyWbyXbyYbyZbzabwmbzbbzcbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAboObclbdQbcnbzrbzsbztbzubzvbzwbppbzxbpqbpqbzybsSbwtbzzbzAbzBbzCbzDbzAbzEbzFbzGbzHbzIbwwbwwbzJbnMbnMbzKbzLbzLbzLbzMbzNbwGbwJbwIbwJbwJbzObwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbzVbgGbrNbwXbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbpvbAfbxkbxkbxkbAgbvwbAhbAhbAhbxrbAibxpbAibxrbAjbAjbAjbyNbAkbAlbAmbAnbAobApbAqaJibAraRqaRpaJibCdbAucJsbAvbAwbAxbAybAzbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbAIbqMbAMbANbAObnvblUbsdbnwbsgbsfbaAbPObpjbwubrgbAYbAZbAZbppbBabBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbBqbBrbBsbBtbTIbBvbBwbBwbBxbBybBzbuQbuRbBAbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbBEbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbBGbgGbBHbBIbgGbBJbgFbgGbgGbBKbvsbvtbAbbAcbAdbyEbvwbBLbBMbBNbBMbBObvwbBPbBQbBRbAhbxrbBSbxrbAjbBTbBUbBVbyNbBWbBXbBYbBZbCabCabCbbCcbAraRqaRpaJicJtbCebCebySbCfbxCbCgbChbxCbCibCjbCjbCkbwkbClbCmbwkbwkbwkbwkbwkbwkbCnbwkbwkbwmbCoaXKaXKaXKaXKbSwbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbCrbCsbCtbBhbCubCvbCwbCxbCxbCxbCybCzbSubCBbCCbCDbCEbTGbCGbCHbCGbCIbCJbzKbzLbzMbCKbzNbCLaaaaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbzPbzQbzPbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbCQbgGbrNbwXbgGbqlbCRbgGbgGbCSbxcbvtbAbbCTbxcbCUbvwbCVbrpbCXbCYbxlbvwbCZbDabDbbDcbDdbvFbvEbDgbDhbDibDjbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbvDbDvbDwbDxbDybDzbDAbyWbDBbvLbCjbDDbwmbDEbDFbwmbDGbDHbDIbDJbDKbDLbDMbCpbDNbDObDPbDQbDRbCpbVLbVMbDUbVAbDWbDXbDXbDYbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbEibEjbEkbwwbwwbwwbwwbwwbxhbwbbEnbzKbzMbCJbEobEpbEqbErbEsbEtbEubEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbEwbExbEwbEybEzbEAbEAbEAbEAbEAbEBbECbEDbzTbEEbdPbEFbEGbEHbEIbEJbtzbEKbELbEMbfmbtCbENbAbbEObEPbyEbvwbEQbERbESbBMbETbvwbEUbEVbEWbAhbEXbvCbEYbAjbFabFbbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbVjbFjbFkbFlbFmbFnbFobFpbFqbxCbxFbxFbFrbxFbwkbFsbFtbFubFvbFwbFxbDJbFybDLbFzbFAbFBbDObFCbFDbFEbFFbVlbDXbVybVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbFTbFUbFVbFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebGfbGgbGhbGibGjbGkbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbxubGGbxUbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbSzbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbSybHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbALbDtbCAbCAbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJbCWbRJbIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbyjbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbDubDebDCbGFbElbDTbDzbEmbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbzmbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbGubGtbGvbGwbGxbGybGzbtCbvtbAbbGAbGBbtCbtGbtGbtGbtGbtGbGCbtGbtGbtGbtGbtGbtGbshbtGbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJiaJiaJibxwaRqaRpbVjbGEbFkbxubGGbxUbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbCpbUSbUfbwwbwwbwwbwwbwwbHibwwbwwbwwbzAbHjbzAbzAbHkbBhbCubCvbFTbHlbHmbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbCJbBybCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHuaafaaaaaaaaaaaabGtbHvbHwbHxbHybGvbHzbHAbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHLbHNbHObqybHQbHRbAabHSbAabHTbAabzZbHUbHVbHWbHXbHYbHZbxwaRqbDsaJlbDtbALbDtbCAbCAbxCbIbbIcbIdbIebIfbIgbIhbIibIjbIkbwmbIlbImbInbDJbCWbIobIpbIqbIrbFDbIsbItbIubCpbIvbIwbIxbIybUdbIAbIBbICbIDbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbILbIMbINbIObIPbIQbIRbGabGbbISbEnbEnbEnbCJbCJbCJbCJaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbITbIUbIVbIWbIXbIYbIZbJabJbbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebJebJkbJlbqsbJnbJobJebJebJebJpbJgbJhbJqbJrbJsbJtbJubJtbJvbJwbvUaJlbDubDebDCbGFbElbDTbDzbEmbFibDVbxFbJDbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbJVbJWbJXbJYbIFbJZbKabKbbKbbzAbKcbKdbKebKfbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbKobKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbKzbKAbIVbKAbKBbKCbHBbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbKUbKVbKWbKXbcLbKYaRpaRpaRpaJlbFHbGFbGFbFlbHPbGHbJxbJmbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybLzbLAbLBbLCbIFbLDbLEbKbbKbbzAbRsbLFbCvbwwbLGbLHbLIbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbJCbuBbuBbGFbKZbxCbDzbLabxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbvrbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbLdbMtbMsbDtbxCbNZbOabObbMzbwIbvPbOebOfbOgbOhbOibOjbwYbxbbOmbxtbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbCSbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbMubLbbPzbGFbMwbMvbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbHAbPKbPLbHmbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhbMxbCYbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbvrbvrbvrbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVbJXbGFbQVbGFbIUbNYbQXbLebRCbQZbRabJybRcbRGbDEbIkbSpbHAbPLbPLbHmbRfbMKbRgbRhbPBbRjbRkbRlbQibRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbIobRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtbRibLbbQVbSmbSnbRmbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbBTbBXbSAbSBbMKbBKbSDbAtbRjbAubSGbCdbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbAsbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbLWbLXbLYbLVbLZbMabMbbGtbMcbMdbMebMfbMgbMhbMibMjbMjbMkbtCbtCbtCbMlbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbMpbtCaJlaJlaJlaJlbMqaJlaKSaMpbMraJlbJCbJybJybGFbKZbxCbDzbLabxCbMybMzbMAbMBbwkbMCbMDbMEbMFbMGbMHbMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObMPbMQbMRbMRbzAbMSbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMZbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbNdbLRbLRbNebKtbKtbLTbLTbNfbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbNhbNgbKxbNibNjbNkbNlbNmbNnbKAbNobNpbGvbNqbNrbNsbNtbGvbNubNvbNwbNxaaaaaaaaaaaabNybNzbNAbNBbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbNLbNMbNNbNObNPbNQbNRbNSbNTbNUbNUbNUbNUbDtbDtbLdbMtbMsbDtbxCbNZbOabObbMzbOcbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbMKbOobFDbFDbOpbJObJObOobCpbMNbMObOqbOrbOsbOtbOubOvbOwbOxbMObOybOzbOAbOAbzAbOBbOCbCvbzIbODbOEbOFbOGbOHbOIbOJbOKbOLbOMbMVbEnbONbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbOQbORbKAbOSbOTbOUbKAbKAbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbPebPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbPnbPobPpbPqbPrbPsbPtbPtbNSbPubPvbPwbPxbPybDtbMubLbbPzbGFbMwbMvbDzbPCbxCbPDbPEbPFbPGbwkbPHbPIbwkbPJbPKbPLbPMbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbPSbMObPTbLEbPUbPUbzAbBhbPVbPWbPXbPYbPYbPYbPYbPZbQabQabQbbQcbQdbMVbQebQfbQgbOObQhbMxbQjbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNhbNhbNhbKxbQnbQobQpbQqbQrbKAbKAbQsbQtbQubQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbQBbQCbQDbPfbQEbQGbQFbQHbNFbQIbQJbQKbNFbQLbQMbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbNVbNXbGFbQVbGFbPAbNYbQXbLebRCbQZaHXbRbbRcbRGbDEbIkbSpbPJbPLbPLbPMbRfbMKbRgbRhbPBbRjbRkbRlbQibRnbPObMObOsbOsbRobOsbOsbOsbOsbRpbMObRqbLEbRrbRrbzAbRsbRtbRubRvbRwbRxbRybRybRzbRAbRybRybRybRBbRebRDbREbRFbRdbRHbRIbRJbRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbRWbRXbRYbRZbSabSbbSbbScbSdbSebSfbNFbPtbPtbPtbPtbPtbSgbPtbPtbShbSibSjbNUbPxbSkbSlbDtbRibLbbQVbSmbSnbRmbSobJAbJBbSqbSrbSsbStbJzbFsbSvbIEbSxbSybSzbSAbSBbMKbSCbSDbSEbRjbSFbSGbSHbRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbSMbSNbSObSPbSQbSRbSSbQabSTbSUbMVbSVbQfbSWbOObSXbSYbSZbTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbTgaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbTsbPfbTtbTvbTubTwbNFbTxbTybTzbTAbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbTObLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbTTbTUbTVbRjbTWbTXbTYbRnbPObMObTZbQWbPQbLxbLnbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbMVbMVbMVbUkbMVbUlbQabUmbMVbUnbUobUnbOObUpbUqbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbTMbTNbNFbTPbTPbTPbTPbTPbTPbTPbTPbUHbUIbUJbUKbUKbUMbNUbDtbUNbUebUFbUQbURbwabUTbUUbnbbUWbncbUTbUYbUZbVabVbbVcbVdbVebnfbVgbVhbVibUGbVkbUObRjbUPbVmbUPbRnbPObMObVnbWcbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbTPbWdbWfbWebWhbWgbWibTPcaqcaqcaqcaqcaqbTFbWjbWkbWlbWmbWnbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbnCbWIbnlbWKbWLbWMbxVbMObxWbngbzlbWSbWTbnkbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbjHbjKbXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbTPbXubXwbjVbjVbXwbXxbTPbXzbXybXybXAcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbYebYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbYQbYybYSbYRbYUbYTbYVbXwbmPbYWbYZbmCbZbbZabZdbZcbZfbZecaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbZgbZTbVibZvbWQbZxbZybZzbZybZAbZUbZCbZUbZAbWRbYfbMNbIwbZEbXWbXVbZVbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZWbZXbZXbZXcaabZXbZXcahcagbYIbZYbZZbYIcaicabbpOcadbpzcafcakcajcamcalcaocancapbXwbmPcaJcbibmCcbjbTPcaqcaqcaqcaqcaqcarbNSbDtcascatbpucavcawcaxcaycazbTJbprcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcbkbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcblcbncbmcbpcbocbycbqcbAcbzbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbCcbBbYSbYRbYUcbDcbEbXwbXwbujbuobXwccAbTPcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJccBbTJboNcbMcbNboKcaEcbPccCbugcaIbZxbWQbZxbZycbScbTbZAbrpcbVbqTbZAbYjbYfbYbbYdbYcbYiccDcdebYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbUwbNwbUxaaabUybPcbPcbUzbUAbPfbPfbUBbPfbUCbNFbUDbTMbTNbNFbTPbTPbTPbTPbTPbTPbTPbTPbUHbUIbUJbUKbUKbUMbNUbDtbUNbUebUFbUQbURbwabUTbUUbUVbUWbUXbUTbUYbUZbVabVbbVcbVdbVebVfbVgbVhbVibUGbVkbUObRjbUPbVmbUPbRnbPObMObVnbWcbVpbVqbVrbVsbVtbVubUgbzAbVvbzAbzAbVwbCxbSLbCxbVxaafbnxbVzbrBbVBbVCbVBbVDbVEbVFbMVbVGbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbVObLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybVVbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbTPbWdbWfbWebWhbWgbWibTPcaqcaqcaqcaqcaqbTFbWjbWkbWlbWmbWnbWobWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWHbWIbWJbWKbWLbWMbxVbMObxWbzmbzlbWSbWTbWUbWSbWSbWVbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxbXabXbbXcbXdbXebXfbXgbXhbMVbXibVHbXjbOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmbXnbXobXpbRSbXqbXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbTPbXubXwbXvbXvbXwbXxbTPbXzbXybXybXAcaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbASbAVbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbYobYpbYqbYrbYsbYtbYrbYubYvbILaafbnxbXablSbVBbYxbVBbYebYzbYAbMVbXjbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaathaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxbYHbNxbYIbYJbYKbYIbYIbYLbYMbYNbYObYPbYQbYybYSbYRbYUbYTbYVbXwbYXbYWbYZbYYbZbbZabZdbZcbZfbZecaqbZhbNSbZibZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqbZrbTJbTJbZsbZgbZTbVibZvbWQbZxbZybZzbZybZAbZUbZCbZUbZAbWRbYfbMNbIwbZEbXWbXVbZVbZIbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbUkbMVbMVbMVbMVbMVbZObZPbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaambZSaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZWbZXbZXbZXcaabZXbZXcahcagbYIbZYbZZbYIcaicabcaccadcaecafcakcajcamcalcaocancapbXwbYXcaJcbibYYcbjbTPcaqcaqcaqcaqcaqcarbNSbDtcascatcaucavcawcaxcaycazbTJcaAcaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcbkbZycaKcaLbZAcaMcaNcaObZAbXXbYfbPObIwbXYbYabXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcaWbwwbwwcaXcaYcaZcbabXjcbbbXjbXjcbccbdcbecbfcbgcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcblcbncbmcbpcbocbycbqcbAcbzbYIcbrcbsbYIbYIcbtcbucbvcbwcbxcbCcbBbYSbYRbYUcbDcbEbXwbXwcbKcbQbXwccAbTPcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJcbJccBbTJcbLcbMcbNcbOcaEcbPccCcbRcaIbZxbWQbZxbZycbScbTbZAcbUcbVcbWbZAbYjbYfbYbbYdbYcbYiccDcdebYcchBbYkbYlcktbZDbZwbZFcktccrbZGbZHccqccrccscctcctcctcctccucctcctcctcctcctccvccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbNdbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccEccEcbmccPccFcbyccQccSccRbYIccGccHccIccJccKccLccMccNccOccUccTccWccVccYccXcdaccZcdBcdbcelcekcencemcdccddaJEcdfcaqbTFcbIcdgcdhcdicdjcdkcdlcdmcdncdocdpcdqcdrcdscdtcaEcducdvcdwcaIbZxbWQbZxbZycdxcdybZAcdzcdAceobZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPcdQcdRcdOcdSbBpbyebydcdScdScdScdSbAebyebydcdScdSbXjcdXcdYcdZceacebcecbxTbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbyccefcegcegcehbKtbKtbLTbLTceibLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejceqcepbYIbYIbYIbYIbYIbYJcescercercerceucetbYSbYRbYUcevbYVbpoceycexceTceSceUbTPcezaJFceeaJFcaqbTFcbIceDboWboWboWceFceGbTJceHceIbTJboNcbNceJboKcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficeWcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftceXcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfjceYcfBcfucfDcfCcfEcfEcfGcfFcfFcfHcfIcbBbYSbYRbYUcfJcapcfKcfMcfLcfOcfNcfPbTPaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcKxcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcKycgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaaaaacgScgTcgTcgTcgUcgVcejcfUcfRcgocgicgrcgpcgucgtcgCcgBcgWcgRcgYcgXchacgZchcchbbTPbTPbTPbTPbTPbTPbTPbTPbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIcKvcKwcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIcKuchYcdSchZciachdcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQchechfchecfQchgchhchgcfQchichjchicfQaaaaaaciicgTcgTcgUcgUcijcejchlchkchnchmchpchochGchqcicchHchHcidchHcbBbYSciebYUcifcihcigcilcikcilcimciocincinciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcipcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIcKucjucdScKzcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejceqcepbYIbYIbYIbYIbYIbYJcescercercerceucetbYSbYRbYUcevbYVcewceycexceTceSceUbTPcezaJFceeaJFcaqbTFcbIceDceEceEceEceFceGbTJceHceIbTJcbLcbNceJcbOcaEceKceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdcccbYcbYcchBccecjfcdLceZcfacfbcfccdOcfdcfecffcdOcfgcfhcfhcfhcficeWcfkcflcfmcfncfocfpcdScfqcfrcfsbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftceXcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcfycfzcfAcejcfjceYcfBcfucfDcfCcfEcfEcfGcfFcfFcfHcfIcbBbYSbYRbYUcfJcapcfKcfMcfLcfOcfNcfPbTPaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcfZcgacfYcgbcgccgdcgecaEcgfceLcggcaIcghccfcgjbZycgkcglbZycgmbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLcgxcgycgycgzcgActsctyctscgDcgEcgFcgGcgGcgHcgIcgIcgJcgKcgLcgLcgMcdScgNcgOcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaaaaacgScgTcgTcgTcgUcgVcejcfUcfRcgocgicgrcgpcgucgtcgCcgBcgWcgRcgYcgXchacgZchcchbbTPbTPbTPbTPbTPbTPbTPbTPbEZbGDcaqbDfcaqbTFcbIcbIctpctqctrcbIcbIchrchschtcfYcaEcaEcaEcaEcaEcaIchuchvcaIchwccnchwbZychychzbZychAchBbVichCbVichDbYfccobYfbYfccpcdCcdCcdCcdDbYfcdLchIchJchJchKchLchMchNchOchPchQchRchSchTchUchVchWcgIcgIcgIchXchYcdSchZciachdcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQchechfchecfQchgchhchgcfQchichjchicfQaaaaaaciicgTcgTcgUcgUcijcejchlchkchnchmchpchochGchqcicchHchHcidchHcbBbYSciebYUcifcihcigcilcikcilcimciocincinciAciAciAciAbTFciGciHciIciIciJciKciLciMciXciOciPciQciRciSciSciTciUcaIcaIcaIciVcdEckqbZybZybZybZychBchBbViciYbViciZbYfccobYfaaaaaaaaaaaaaaaaaaaaacdLcjgcjhcjhcipcjjcjkcjlcjmcjncjocjpcjqcgIcgIcjrcjscgIcjtcgIchXcjucdScjvcjwcjxcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcheciqchecfQchgcirchgcfQchicischicfQaaaaaaciicgTcgUcgUcgUcjBcjCciucitchncivcixciwciWciycjbcjacjdcjccjecbBbYScjichccjycjAcjzcjDcjDcjDcjEcjGcjFcjHceCcqZceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclicdFcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCckDckDckDckEcdOckFcdOckGckHckIckJckJckKckLckLckMckJckJckNckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcjIcjKcjJcfQcjLcjNcjMcfQcjOcjQcjPcfQaaaaafciiclbcgTcgUcgUcgUcejcjScjRchnchncjTchnchnchnchncjUchHcKDcjYcbBckecjZckrckickucksckzckzckzckAckBckBckTciAckWcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIckYbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfQckZclcclacfQcldclcclecfQcldclcclecfQaaaaafcmzcgTcgTcgUcgUcmAcejclhclgclkcljclmcllclnclnclvcltclncmscmtcbBcmvcmucmxcmwcihcmycmycmBckBcmCcmEcmDcmDciAcibceVcmFcqgciGcnbciIcnccndcmGciGcKCciNcmHcfYcmIcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcmKcmJcmMcmLcmOcmNcmNcmPcmNcmQcmScmRcmQcmXcngcnecnycnhcnzcnzcnzcnzcnFcnEcnGcnGcnGcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcKCciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcjIcjKcjJcfQcjLcjNcjMcfQcjOcjQcjPcfQaaaaafciiclbcgTcgUcgUcgUcejcjScjRchnchncjTchnchnchnchncjUchHcjXcjYcbBckecjZckrckickucksckzckzckzckAckBckBckTciAckWcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNclOclPclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIckYbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicmicmjcmkcmlcmmcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfQckZclcclacfQcldclcclecfQcldclcclecfQaaaaafcmzcgTcgTcgUcgUcmAcejclhclgclkcljclmcllclnclnclvcltclncmscmtcbBcmvcmucmxcmwcihcmycmycmBckBcmCcmEcmDcmDciAcibceVcmFcqgciGcnbciIcnccndcmGciGcnfciNcmHcfYcmIcnicnjciScnkciUclLclMclNcnlcnmcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcmKcmJcmMcmLcmOcmNcmNcmPcmNcmQcmScmRcmQcmXcngcnecnycnhcnzcnzcnzcnzcnFcnEcnGcnGcnGcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcoocopcoqcwkaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcnHcnJcnIcnKcnIcnJcnLcnKcnMcnNcnLcnPcnOcnRcnQcmMcmMcmMcmMcmMcmMcmMcmMcovcoucoxcowcoAcoycoCcoBcoDcmQcoFcoEcoGcmQcoIcoHcoJcnzcoLcoKcoNcoMcoPcoOcoRcoQcoQcoScoTcoTcoRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvncvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoUcoWcoVcoYcoXcoWcoZcpbcpacpkcpjcpscpncpucptcpwcpvcpycpxcpAcpzcpCcpBcpFcpDcpJcpHcpMcpLcpOcpNcJwcpQcpVcJvcpXcpWcoIcpYcpZcnzcoPcoPcoPcoPcoPcqacoRcqbcqbcqbcoTcoTcoRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqccptcqdcqfcqecptcqzcptcqIcqJcqzcptcqIcqJcptcptcptcptcptcGgcptcptcptcpMcqMcpHcqPcJucpLcqRcJtcqUcqScqWcJscqYcqXcoIcpYcJrcnzcracoPcoPcrbcoPcrccoRcrdcrfcrecrfcrgcoRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcFmcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcoUcptcqPcptcqPcptcqzcptcrhcrjcricrjcrkcrjcrjcrmcrlcptcptcKacxHcxHcxHcxpcJPcJQcJQcJZcpLcrUcrTcrVcmQcrXcrWcrZcmQcsbcsacsdcsccsfcsecshcsgcoPcsicoRcsjcrfcskcrfcsmcoRbTFcizciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacoUcptcqPcptcsncspcsocsrcsqcsscricrjcstcrjcrjcrmcsucJNcrmcJOcqfcsxcswcswcsycqPcqPcsTcsQcsVcsUcmNcmQcsWcmQcmQcmQcsYcsXcsdcsZctcctactectdcoPctfcoRctgcrfcskcrfcJMcoRctvctwciGciGctxciGciGciGciBctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvcJLctPcqvaafaafcdOcplcplcplcorcpoctRcJyctTctUcJxcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcsncspcspcspcsocspcspcspcsocspcspcspcspcspcticKscspcKmcspctjcspcspcspctlctkctmcoWcptctncttctoctZctucuccuactucudcufcuecuhcugcugcuicugcujculcukcuncumcuocuocoRcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcKdcuQcuQcKecuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcslcuYcuZcKbcvbcvccKkcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcptcptcptcptcqzcptcptcptcqzcptcptcptcptcptcqIcptcptcJucptcupcptcptcuqcuscurcuucutcuvcutcuxcuwcuzcuycuAcuwcuwcuBcvhcnFcvicoPcvkcvjcoPcoPcvocrfcrfcvpcuocuocoRbPxcAscvNcvNcvNcvNcvOcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcvQctFctFcvRcvScvTcvUcvVcvWcvVcvXcvYcvZcwacwbcwccqvaaaaaacdOcomcomcomcomcwdcppcKbcwecwfcKccrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacoUcptcptcptcptcptcqzcptcptcptcqzcptcptcptcptcptcqIcptcptcJucptcvqcptcptcvqcvqcvrcptcptcvucvscvvcvvcvvcvvcvxcvwcoIcvycvzcsccvAcoPcvBcvjcoPcvCcoRcvDcrfcvEcvGcvFcoRcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcvHcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcptcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcptcKtcqfcvLcvKcvKcvLcwmcvLcwpcwocwqcvKcwtcwscwvcwucwwcvwcoIcwxcoIcwycwzcoPcoPcwAcoPcwBcoRcwCcwCcwDcvGcvFcoRbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplctbcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcrocrncrncwFcwEcxHczIcxHcwGczIcxHcxHcxHcxHcyUcxHcxqcxpcxocvqcptcptcxrcxtcxscxvcxucxwcptcxBcxAcxCcxCcxEcxDcoIcwxcxFcnzcxGcoPcxlcoPcxJcxIcoRcoRcoRcoRcoRcoRcoRbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTczKcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplckXcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcqzcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcxscptcyicvqcptcptcyjcwmcykcylcvvcymcvvcvvcxAcyocyncyqcxDcoIcwxcoIcnzcyscyrcyucytcyvcoPcnzcAMczJczJcALczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcywcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcptcqzcptcyycrjcricrjcyzcrjcricrjcyzcrjcrjcrjcyAcyBcyAcrmcyCcykcyDcyFcyEcyHcyGcyIcvvcyKcyJcvvcvvcvvcvvcvvcyLcngczecngcnzcnzcnzcnzcnzcnzcnzcnzcBfczJczJcBjcANcAObPxcAPcvNcAQcARczfcATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecCxcBgcBhcBicBPcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoUcoWcoVcoYcoXcoWcoZcpbcpacpkcpjcpscpncpucptcpwcpvcpycpxcpAcpzcpCcpBcpFcpDcpJcpHcpMcpLcpOcpNcpTcpQcpVcpUcpXcpWcoIcpYcpZcnzcoPcoPcoPcoPcoPcqacoRcqbcqbcqbcoTcoTcoRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscqtcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqccptcqdcqfcqecptcqzcptcqIcqJcqzcptcqIcqJcptcptcptcptcptcqKcptcptcptcpMcqMcpHcqPcKkcpLcqRcqQcqUcqScqWcqVcqYcqXcoIcpYcJrcnzcracoPcoPcrbcoPcrccoRcrdcrfcrecrfcrgcoRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcrIcqvcrHaaaaaaaafaaaaaaaaacqvcrJcrKcrLcqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcoUcptcqPcptcqPcptcqzcptcrhcrjcricrjcrkcrjcrjcrmcrlcptcptcKxcJOcJOcJOcJMcKucKvcKvcKwcpLcrUcrTcrVcmQcrXcrWcrZcmQcsbcsacsdcsccsfcsecshcsgcoPcsicoRcsjcrfcskcrfcsmcoRbTFcizciGcszcsAcsBcsCciGcfYcsDcfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsKcsLcqvcqvcqvcsMcqvcqvcqvcqvcsNcsOcsPcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacoUcptcqPcptcsncspcsocsrcsqcsscricrjcstcrjcrjcrmcsucKscrmcKtcqfcsxcswcswcsycqPcqPcsTcsQcsVcsUcmNcmQcsWcmQcmQcmQcsYcsXcsdcsZctcctactectdcoPctfcoRctgcrfcskcrfcKmcoRctvctwciGciGctxciGciGciGciBctzctAciUciUciUctBciUciUcsIcrGaaacqvctCctDctEctFctGctHctIctJctKctLcqvctMctDctNcqvctOctPcqvaafaafcdOcplcplcplcorcpoctRctSctTctUctVcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcsncspcspcspcsocspcspcspcsocspcspcspcspcspcticKzcspcKycspctjcspcspcspctlctkctmcoWcptctncttctoctZctucuccuactucudcufcuecuhcugcugcuicugcujculcukcuncumcuocuocoRcuCcuDcuEcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcuLcuMcuNctFcuOcuPcuQcuQcuRcuQcuScuTcuUcuVcuWcuXcuQcqvaaaaaacdOcplcplcplcslcuYcuZcvacvbcvccvdcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcptcptcptcptcqzcptcptcptcqzcptcptcptcptcptcqIcptcptcKkcptcupcptcptcuqcuscurcuucutcuvcutcuxcuwcuzcuycuAcuwcuwcuBcvhcnFcvicoPcvkcvjcoPcoPcvocrfcrfcvpcuocuocoRbPxcAscvNcvNcvNcvNcvOcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcvQctFctFcvRcvScvTcvUcvVcvWcvVcvXcvYcvZcwacwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvacwecwfcwgcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabZSaaaaaaaaaaaacoUcptcptcptcptcptcqzcptcptcptcqzcptcptcptcptcptcqIcptcptcKkcptcvqcptcptcvqcvqcvrcptcptcvucvscvvcvvcvvcvvcvxcvwcoIcvycvzcsccvAcoPcvBcvjcoPcvCcoRcvDcrfcvEcvGcvFcoRcwHcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwScwTcwUcwVcwWcwXcwYcwZcxacvZcxbcxccxdcuWcqvcxecqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkcvHcxmcxncdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacoUcptcptcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcptcKCcqfcvLcvKcvKcvLcwmcvLcwpcwocwqcvKcwtcwscwvcwucwwcvwcoIcwxcoIcwycwzcoPcoPcwAcoPcwBcoRcwCcwCcwDcvGcvFcoRbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcxVcxWcxXcxYcxZcuTcyacuScybcuTcyccuVcqvcqvcqvaaaaaacdOcplcpmcplctbcpocppcrNcrNcyecyfcrNcygcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhaaaaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcrocrncrncwFcwEcJOcJQcJOcwGcJQcJOcJOcJOcJOcJPcJOcJNcJMcJLcvqcptcptcxrcxtcxscxvcxucxwcptcxBcxAcxCcxCcxEcxDcoIcwxcxFcnzcxGcoPcxHcoPcxJcxIcoRcoRcoRcoRcoRcoRcoRbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcyRcrGaaaaaaaaaaaaaaaaaacqvcuVcySctFctFcyTcyUcyVcyWctMctDctNcyXctMctDcyYcqvaaaaaaaaaaaacdOcplcplcplckXcyZczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacoUcptcqzcptcptcptcvIcptcptcptcvIcptcptcptcptcptcqIcptcxscptcyicvqcptcptcyjcwmcykcylcvvcymcvvcvvcxAcyocyncyqcxDcoIcwxcoIcnzcyscyrcyucytcyvcoPcnzczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcywcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcptcqzcptcyycrjcricrjcyzcrjcricrjcyzcrjcrjcrjcyAcyBcyAcrmcyCcykcyDcyFcyEcyHcyGcyIcvvcyKcyJcvvcvvcvvcvvcvvcyLcngczecngcnzcnzcnzcnzcnzcnzcnzcnzcALczJczJcAMcANcAObPxcAPcvNcAQcARczfcATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaaczgcptcqzcptcxscxtcqzcptcxscxtcqzcptcxscxtcptcptcxrcptcxscxtczhczkczjczmczlczocznczpcvvczrczqcztczsczuctuczwczvctuczxctuczycuaczzczBczAczAczDczEcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafczgczGczFcAhczHcAucAtcAwcAvcAycAxcAAcAzcAucptczGcABcADcACcAycAEcmMcmMcmMcmMcmMcmMcmMcmMcAHcAFcyLcAIcAJcoIcAKcoIcoIcwxcoIcoIcAScoIcAJcBtcBvcBucBxcCZcCOcCNcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacHPcHLcHQcCYcCXaaaaaaaaaaaaaaaaaacqvcDNctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcByaaaaaaaaaaamaaaaaaaaacBzcBBcBAcBDcBCcBFcBEcBGcBCcBFcBEcBGcBCcBFcBHcBHcBIcBGcBCcBFcBJcmMaaacBLcBKcBNcBMcDWcBOcBRcBQcBScBScBUcBTcCrcCpcCtcCscCpcCtcCrcCucCwcCvcCucyLcyLcAOcEBcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacHTcmWcDfaafaaaaaaaaaaaaaaaaaaaaacqvcDNcDVcEGcDXcDXcEGcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacCycEIcCAcCzcCCcCBcBRcCDcBScCEcCGcCFcCIcCHcCKcCJcCMcCLcCIcCUcDgcCVcCuaaaaafcAOcEHcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEScuXchucEJcEJchucuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycEdcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcFfcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFgcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCychvcCAcDmcDmcEecEgcEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJchXcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQchuchuchucFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycBKcIxcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcpUcBkcpUcETcCIcEUcEWcEVcCuaaLcpTcjvcnfcjXcjvcjvciCbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfQcEvcEXcEvcfQcExcEYcExcfQcEzcEZcEzcfQaafcfQcEzcEzcEzcfQaafaafaafcFbcFacFdcFccqQcFecFjcCDcBScFlcFqcFpcCIcFrcFtcFscFvcFucCIcFwcFycFxcCuaaacrpcqVcrQcrLcrScrRcqKcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcrpcqVctVctSctOcthcsvaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcERcGacFkcGccGfcGecGicGhcGncGpcGmcGocGpcFAcrpcqVcvacuRctOcvdcuPaafaaacGQcCWcGQcCWcGQcCWaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScFIcGrcGqcGtcGscGvcGucGxcGwcGCcGLcGzcGBcGdcGycGdcGdcGdcGkcGdcGbcGDcFAcwgcjvcjvcjvcjvcjvcvJaafaafcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGPcGTcGmcGmcGmcHfcGUcHjcGmcGmcGPcHmcHlcHocFAcFAcFAcHAaaaaaaaaaaaacJqaaacGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafczgczGczFcAhczHcAucAtcAwcAvcAycAxcAAcAzcAucptczGcABcADcACcAycAEcmMcmMcmMcmMcmMcmMcmMcmMcAHcAFcyLcAIcAJcoIcAKcoIcoIcwxcoIcoIcAScoIcAJcBtcBvcBucBxcKbcKacJZcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacHPcHLcHQcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcByaaaaaaaaaaamaaaaaaaaacBzcBBcBAcBDcBCcBFcBEcBGcBCcBFcBEcBGcBCcBFcBHcBHcBIcBGcBCcBFcBJcmMaaacBLcBKcBNcBMcBPcBOcBRcBQcBScBScBUcBTcCrcCpcCtcCscCpcCtcCrcCucCwcCvcCucyLcyLcAOcKccDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacHTcmWcDfaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacCycCxcCAcCzcCCcCBcBRcCDcBScCEcCGcCFcCIcCHcCKcCJcCMcCLcCIcCUcDgcCVcCuaaaaafcAOcKdcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaathaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcfQcldclccDjcfQcldclccDjcfQcldclccDkcfQaaacfQcDlclccDkcfQaaaaafaaacCycEdcDocDncDmcDpcDrcDqcBScDscDucDtcCIcDvcDxcDwcDzcDycCIcDAcDCcDBcCuaaaaaacAOcKecFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcfQcDDcDFcDEcfQcDGcDIcDHcfQcDJcDLcDKcfQaafcfQcDMcEccEbcfQaaaaafaaacCycEGcCAcDmcDmcEebRacEfcEicEhcEkcEjcEmcElcEocEncEqcEpcEscErcEucEtcCuaafaaacFJciCcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcfQcEvcEwcEvcfQcExcEycExcfQcEzcEAcEzcfQaaacfQcEzcEzcEEcfQaaaaafaaacCycBKcIxcDncDmcCBcEMcCDcBScENcEPcEOcCIcEQcEScBkcEScETcCIcEUcEWcEVcCuaaLcsvcrQcrScrRcrQcrQcrpbNUciEciDcGjaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacfQcEvcEXcEvcfQcExcEYcExcfQcEzcEZcEzcfQaafcfQcEzcEzcEzcfQaafaafaafcFbcFacFdcFccFfcFecFjcCDcBScFlcFqcFpcCIcFrcFtcFscFvcFucCIcFwcFycFxcCuaaacxlcvJcxpcxocCNcxqcthcGFcGGcGHbNUaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQcfQaaacFzcfQcfQcfQcfQaaaaaaaaaaaacAFcAFcAFcAFcAFcFBcFAcFAcFAcFAcFCcFAcFDcFFcFEcFFcFGcFAcFAcFHcFAcFAcFAcxlcvJcFgcEBcEgcDNcCOaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhathaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScFIcFTcFScFVcFUcFXcFWcFZcFYcERcGacFkcGccGfcGecGicGhcGncGpcGmcGocGpcFAcxlcvJcJvcJucEgcJwcGgaafaaacGQcCWcGQcCWcGQcCWaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScFIcGrcGqcGtcGscGvcGucGxcGwcGCcGLcGzcGBcGdcGycGdcGdcGdcGkcGdcGbcGDcFAcJycrQcrQcrQcrQcrQcJxaafaafcHOcHOcHOcHOcHOcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScFIcGrcGEcGJcGIcGKcGucGMcGPcGTcGmcGmcGmcHfcGUcHjcGmcGmcGPcHmcHlcHocFAcFAcFAcHAaaaaaaaaaaaacJqaaacGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScFIcGYcGXcHacGZcHccHbcHecHdcHJcHkcHkcHkcHCcHicHBcHkcHkcHEcHDcGNcHIcHHcHGcHFcHscHrcHrcHrcHrcHrcHrcIvcIucIvcIucIvcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcHucHwcHvcHycHxcHzcFWcGAcGmcGmcGmcJpcJocJkcJlcJicJjcJncGVcIycJmcIscJhcIZcJdcHscHtcHNcHtcHNcHtcHNcHtcHNcHtcHNcHtcHOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcFAcHWcGmcGmcGmcIIcFAcHScIQcHRcFAcIRcIScITcGNcINcIOcIPcFAaaacGOcGOcGOcGOcIbcGOcGOcGOcGOcGOcGOcGOaafcGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -7515,7 +7514,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaamaamaaqaaIaaIaaIaaIaamaaIaaIaamcKoaafaaaaaaaaaaaaaaacKpaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaacHKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqaaaaaaaaacKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqcKqcKqcKqcKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqaaaaaacKqaaaaaacKqcKqcKqcKqcKqcKqcKqaaaaaacKqaaaaaacKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqaaaaaacKqaaaaaacKqcKqcKqcKqcKqcKqcKqaaaaaacKqaaaaaacKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathcKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqcKqcKqcKqaaacKqcKqcKqcKqcKqcKqcKqcKqcKqaaacKqcKqcKqcKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqcKqcKqcKqaaacKqcKqcKqcKqcKqcKqcKqcKqcKqaaacKqcKqcKqcKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKqcKqcKqcKqaaacKqcKqcKqcKqcKqcKqcKqcKqcKqaaacKqcKqcKqcKqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/nano/css/shared.css b/nano/css/shared.css
index b81990b7a3..ee4725a4bb 100644
--- a/nano/css/shared.css
+++ b/nano/css/shared.css
@@ -128,7 +128,7 @@ img, a img {
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 12px 0 6px 0;
- color: #517087;
+ color: #FFFFFF;
clear: both;
}
@@ -491,6 +491,14 @@ div.notice {
text-align: center;
}
+table.fixed {
+ table-layout:fixed;
+}
+
+table.fixed td {
+ overflow: hidden;
+}
+
/* Table stuffs for power monitor */
table.pmon {
border: 2px solid RoyalBlue;
diff --git a/nano/js/nano_base_helpers.js b/nano/js/nano_base_helpers.js
index d5a019e2f8..20e6160fed 100644
--- a/nano/js/nano_base_helpers.js
+++ b/nano/js/nano_base_helpers.js
@@ -48,6 +48,10 @@ NanoBaseHelpers = function ()
round: function(number) {
return Math.round(number);
},
+ // Returns the number fixed to 1 decimal
+ fixed: function(number) {
+ return Math.round(number * 10) / 10;
+ },
// Round a number down to integer
floor: function(number) {
return Math.floor(number);
diff --git a/nano/templates/air_alarm.tmpl b/nano/templates/air_alarm.tmpl
new file mode 100644
index 0000000000..6ba6b14057
--- /dev/null
+++ b/nano/templates/air_alarm.tmpl
@@ -0,0 +1,217 @@
+
+Air Status
+{{if data.has_environment}}
+ {{for data.environment}}
+ {{:value.name}}:
+ {{if value.danger_level == 2}}
+
+ {{else value.danger_level == 1}}
+
+ {{else}}
+
+ {{/if}}
+ {{:helper.fixed(value.value, 1)}}
+ {{:value.unit}}
+ {{/for}}
+ Local Status: {{if value.danger_level == 2}}
+ DANGER: Internals Required
+ {{else value.danger_level == 1}}
+ Caution
+ {{else}}
+ Optimal
+ {{/if}}
+
+ Area Status: {{if data.atmos_alarm}}Atmosphere alert in area{{else data.fire_alarm}}Fire alarm in area{{else}}No alerts{{/if}}
+{{else}}
+ Warning: Cannot obtain air sample for analysis.
+{{/if}}
+
+
+
+ |
+ |
+
+ Remote Control
+ |
+
+ Thermostat
+ |
+
+
+
+ |
+
+
+
+ {{:helper.link('Off', null, { 'rcon' : 1}, data.remote_connection && !data.remote_access ? (data.rcon == 1 ? 'yellowButton' : 'disabled') : null, data.rcon == 1 ? 'selected' : null)}}
+ {{:helper.link('Auto', null, { 'rcon' : 2}, data.remote_connection && !data.remote_access ? (data.rcon == 2 ? 'yellowButton' : 'disabled') : null, data.rcon == 2 ? 'selected' : null)}}
+ {{:helper.link('On', null, { 'rcon' : 3}, data.remote_connection && !data.remote_access ? (data.rcon == 3 ? 'yellowButton' : 'disabled') : null, data.rcon == 3 ? 'selected' : null)}}
+
+
+ |
+
+ {{:helper.link(data.target_temperature, null, { 'temperature' : 1})}}
+ |
+
+
+
+
+
+{{if data.locked || (data.remote_connection && ! data.remote_access)}}
+ {{if data.remote_connection}}
+ (Current remote control settings and alarm status restricts access.)
+ {{else}}
+ (Swipe ID card to unlock interface.)
+ {{/if}}
+{{else}}
+ {{if data.screen != 1}}
+ {{:helper.link('Main Menu', null, { 'screen' : 1})}}
+ {{/if}}
+ {{if data.screen == 1}}
+
+ {{if data.atmos_alarm}}
+ {{:helper.link('Reset - Area Atmospheric Alarm', null, { 'atmos_reset' : 1})}}
+ {{else}}
+ {{:helper.link('Activate - Area Atmospheric Alarm', null, { 'atmos_alarm' : 1})}}
+ {{/if}}
+
+
+
+ {{:helper.link('Scrubbers Control', null, { 'screen' : 3})}}
+
+
+ {{:helper.link('Vents Control', null, { 'screen' : 2})}}
+
+
+ {{:helper.link('Set Environmental Mode', null, { 'screen' : 4})}}
+
+
+ {{:helper.link('Sensor Settings', null, { 'screen' : 5})}}
+
+
+ {{if data.mode==3}}
+ {{:helper.link('PANIC SIPHON ACTIVE - Turn siphoning off', null, { 'mode' : 1}, null, 'redButton')}}
+ {{else}}
+ {{:helper.link('ACTIVATE PANIC SIPHON IN AREA', null, { 'mode' : 3}, null, 'yellowButton')}}
+ {{/if}}
+ {{else data.screen == 2}}
+ {{for data.vents}}
+
+ {{:value.long_name}}
+
+
+ Operating:
+
+
+ {{:helper.link(value.power ? 'On' : 'Off', null, { 'id_tag' : value.id_tag, 'command' : 'power', 'val' : value.power ? 0 : 1}, null, value.power ? null : 'redButton')}}
+
+
+
+
+ Operation Mode:
+
+
+ {{:value.direction == "siphon" ? 'Siphoning' : 'Pressurizing'}}
+
+
+
+
+ Pressure Checks:
+
+
+ {{:helper.link('External', null, { 'id_tag' : value.id_tag, 'command' : 'checks', 'val' : value.checks^1}, null, value.checks&1 ? 'selected' : null)}}
+ {{:helper.link('Internal', null, { 'id_tag' : value.id_tag, 'command' : 'checks', 'val' : value.checks^2}, null, value.checks&2 ? 'selected' : null)}}
+
+
+
+
+ External Pressure Bound:
+
+
+ {{:helper.link(helper.fixed(value.external,2), null, { 'id_tag' : value.id_tag, 'command' : 'set_external_pressure'})}}
+ {{:helper.link('Reset', null, { 'id_tag' : value.id_tag, 'command' : 'reset_external_pressure'})}}
+
+
+
+ {{empty}}
+ No vents connected.
+ {{/for}}
+ {{else data.screen == 3}}
+ {{for data.scrubbers}}
+
+ {{:value.long_name}}
+
+
+ Operating:
+
+
+ {{:helper.link(value.power ? 'On' : 'Off', null, { 'id_tag' : value.id_tag, 'command' : 'power', 'val' : value.power ? 0 : 1}, null, value.power ? null : 'redButton')}}
+
+
+
+
+ Operation Mode:
+
+
+ {{:helper.link(value.scrubbing ? 'Scrubbing' : 'Siphoning', null, { 'id_tag' : value.id_tag, 'command' : 'scrubbing', 'val' : value.scrubbing ? 0 : 1}, null, value.scrubbing ? null : 'redButton')}}
+
+
+
+
+ Filters:
+
+
+ {{for value.filters :filterValue:filterIndex}}
+ {{:helper.link(filterValue.name, null, { 'id_tag' : value.id_tag, 'command' : filterValue.command, 'val' : filterValue.val ? 0 : 1}, null, filterValue.val ? 'selected' : null)}}
+ {{/for}}
+
+
+
+ {{empty}}
+ No scrubbers connected.
+ {{/for}}
+ {{else data.screen == 4}}
+ Environmental Modes
+ {{for data.modes}}
+
+ {{:helper.link(value.name, null, { 'mode' : value.mode }, null, value.selected ? (value.danger ? 'redButton' : 'selected') : null)}}
+
+ {{/for}}
+ {{else data.screen == 5}}
+ Alarm Threshold
+ Partial pressure for gases.
+
+
+ | min2 | min1 | max1 | max2 |
+
+ {{for data.thresholds}}
+
+ | {{:value.name}} |
+ {{for value.settings :settingsValue:settingsIndex}}
+
+ {{:helper.link(settingsValue.selected >= 0 ? helper.fixed(settingsValue.selected, 2) : "Off", null, { 'command' : 'set_threshold', 'env' : settingsValue.env, 'var' : settingsValue.val })}}
+ |
+ {{/for}}
+
+ {{/for}}
+
+ {{/if}}
+{{/if}}
+
\ No newline at end of file
diff --git a/nano/templates/atmos_control.tmpl b/nano/templates/atmos_control.tmpl
new file mode 100644
index 0000000000..5e9a1acfe4
--- /dev/null
+++ b/nano/templates/atmos_control.tmpl
@@ -0,0 +1,5 @@
+
+ {{for data.alarms}}
+ {{:helper.link(value.name, null, {'alarm' : value.ref}, null, value.danger == 2 ? 'redButton' : (value.danger == 1 ? 'yellowButton' : null))}}
+ {{/for}}
+
\ No newline at end of file
diff --git a/nano/templates/atmosphere_monitor.tmpl b/nano/templates/atmosphere_monitor.tmpl
new file mode 100644
index 0000000000..0089467e43
--- /dev/null
+++ b/nano/templates/atmosphere_monitor.tmpl
@@ -0,0 +1,37 @@
+
+
+{{for data.categories}}
+ {{:value.category}}
+ {{for value.alarms :alarmValue:alarmIndex}}
+ {{if alarmValue.origin_lost}}
+ {{:alarmValue.name}} Alarm Origin Lost
+ {{else}}
+ {{:alarmValue.name}}
+ {{/if}}
+ {{if alarmValue.has_cameras || alarmValue.lost_sources != ""}}
+
+ {{if alarmValue.has_cameras}}
+
+ {{for alarmValue.cameras :cameraValue:cameraIndex}}
+ {{if cameraValue.deact}}
+ {{:helper.link(cameraValue.name + " (deactivated)", '', {}, 'inactive')}}
+ {{else}}
+ {{:helper.link(cameraValue.name, '', {'switchTo' : cameraValue.camera})}}
+ {{/if}}
+ {{/for}}
+
+ {{/if}}
+ {{if alarmValue.lost_sources != ""}}
+
+
Lost Alarm Sources: {{:alarmValue.lost_sources}}
+
+ {{/if}}
+
+ {{/if}}
+ {{empty}}
+ --All Systems Nominal
+ {{/for}}
+{{/for}}
\ No newline at end of file
diff --git a/nano/templates/uplink.tmpl b/nano/templates/uplink.tmpl
index e3d65b45c6..e981155622 100644
--- a/nano/templates/uplink.tmpl
+++ b/nano/templates/uplink.tmpl
@@ -1,93 +1,99 @@
-
-
-{{:helper.syndicateMode()}}
-{{:data.welcome}}
-
-
-
- Functions:
-
-
- {{:helper.link('Request Items', 'gear', {'menu' : 0}, null, 'fixedLeftWider')}}
- {{:helper.link('Exploitable Information', 'gear', {'menu' : 1}, null, 'fixedLeftWider')}}
- {{:helper.link('Return', 'arrowreturn-1-w', {'return' : 1}, null, 'fixedLeft')}}
- {{:helper.link('Close', 'gear', {'lock' : "1"}, null, 'fixedLeft')}}
-
-
-
-
-{{if data.menu == 0}}
- Request items:
- Each item costs a number of tele-crystals as indicated by the number following their name.
-
-
- Tele-Crystals:
-
-
- {{:data.crystals}}
-
-
-
- {{for data.nano_items}}
-
-
{{:value.Category}}
-
- {{for value.items :itemValue:itemIndex}}
-
- {{:helper.link( itemValue.Name, 'gear', {'buy_item' : itemValue.obj_path, 'cost' : itemValue.Cost}, itemValue.Cost > data.crystals ? 'disabled' : null, null)}} - {{:itemValue.Cost}}
-
- {{/for}}
-
- {{/for}}
-
-
- {{:helper.link('Buy Random (??)' , 'gear', {'buy_item' : 'random'}, data.crystals <= 0 ? 'disabled' : null, null)}}
-
-
-{{else data.menu == 1}}
- Information Record List:
-
-
- Select a Record
-
-
- {{for data.exploit_records}}
-
- {{:helper.link(value.Name, 'gear', {'menu' : 11, 'id' : value.id}, null, null)}}
-
- {{/for}}
-
-{{else data.menu == 11}}
- Information Record:
-
-
-
-
- {{if data.exploit_exists == 1}}
- Name: {{:data.exploit.name}}
- Sex: {{:data.exploit.sex}}
- Species: {{:data.exploit.species}}
- Age: {{:data.exploit.age}}
- Rank: {{:data.exploit.rank}}
- Home System: {{:data.exploit.home_system}}
- Citizenship: {{:data.exploit.citizenship}}
- Faction: {{:data.exploit.faction}}
- Religion: {{:data.exploit.religion}}
- Fingerprint: {{:data.exploit.fingerprint}}
-
-
Acquired Information:
- Notes:
{{:data.exploit.nanoui_exploit_record}}
- {{else}}
-
- No exploitative information acquired!
-
-
-
- {{/if}}
-
-
-
-{{/if}}
+
+
+{{:helper.syndicateMode()}}
+{{:data.welcome}}
+
+
+
+ Functions:
+
+
+ {{:helper.link('Request Items', 'gear', {'menu' : 0}, null, 'fixedLeftWider')}}
+ {{:helper.link('Exploitable Information', 'gear', {'menu' : 1}, null, 'fixedLeftWider')}}
+ {{:helper.link('Return', 'arrowreturn-1-w', {'return' : 1}, null, 'fixedLeft')}}
+ {{:helper.link('Close', 'gear', {'lock' : "1"}, null, 'fixedLeft')}}
+
+
+
+
+{{if data.menu == 0}}
+ Request items:
+ Each item costs a number of tele-crystals as indicated by the number following their name.
+
+
+ Tele-Crystals:
+
+
+ {{:data.crystals}}
+
+
+
+ {{for data.nano_items}}
+
+
{{:value.Category}}
+
+ {{for value.items :itemValue:itemIndex}}
+
+ {{:helper.link( itemValue.Name, 'gear', {'buy_item' : itemValue.obj_path, 'cost' : itemValue.Cost}, itemValue.Cost > data.crystals ? 'disabled' : null, null)}} - {{:itemValue.Cost}}
+
+
+ {{if itemValue.Cost <= data.crystals}}
+
+ {{:itemValue.Description}}
+
+ {{/if}}
+ {{/for}}
+
+ {{/for}}
+
+
+ {{:helper.link('Buy Random (??)' , 'gear', {'buy_item' : 'random'}, data.crystals <= 0 ? 'disabled' : null, null)}}
+
+
+{{else data.menu == 1}}
+ Information Record List:
+
+
+ Select a Record
+
+
+ {{for data.exploit_records}}
+
+ {{:helper.link(value.Name, 'gear', {'menu' : 11, 'id' : value.id}, null, null)}}
+
+ {{/for}}
+
+{{else data.menu == 11}}
+ Information Record:
+
+
+
+
+ {{if data.exploit_exists == 1}}
+ Name: {{:data.exploit.name}}
+ Sex: {{:data.exploit.sex}}
+ Species: {{:data.exploit.species}}
+ Age: {{:data.exploit.age}}
+ Rank: {{:data.exploit.rank}}
+ Home System: {{:data.exploit.home_system}}
+ Citizenship: {{:data.exploit.citizenship}}
+ Faction: {{:data.exploit.faction}}
+ Religion: {{:data.exploit.religion}}
+ Fingerprint: {{:data.exploit.fingerprint}}
+
+
Acquired Information:
+ Notes:
{{:data.exploit.nanoui_exploit_record}}
+ {{else}}
+
+ No exploitative information acquired!
+
+
+
+ {{/if}}
+
+
+
+{{/if}}