diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index 2f276160fe7..809cc987ebb 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -176,7 +176,7 @@
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index 191e6291ea6..1c501e87f0f 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -151,7 +151,7 @@
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index e2483fdbef5..0df02174976 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -128,7 +128,7 @@ Thus, the two variables affect pump operation are set in New():
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
index 3c342c3cdbe..5eeab2c8e48 100644
--- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm
+++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
@@ -107,7 +107,7 @@
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 38ae494023b..194a28ddc93 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -263,7 +263,7 @@
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index ff97f259a54..1c1c696b989 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -93,7 +93,7 @@
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
"area" = area_uid,
diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm
index ed07f11c1e4..3c561cc291d 100644
--- a/code/__defines/machinery.dm
+++ b/code/__defines/machinery.dm
@@ -70,10 +70,27 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called
#define NETWORK_ALARM_ATMOS "Atmosphere Alarms"
#define NETWORK_ALARM_POWER "Power Alarms"
#define NETWORK_ALARM_FIRE "Fire Alarms"
+#define NETWORK_TALON_HELMETS "TalonHelmets" //VOREStation Add
+#define NETWORK_TALON_SHIP "TalonShip" //VOREStation Add
// Those networks can only be accessed by pre-existing terminals. AIs and new terminals can't use them.
var/list/restricted_camera_networks = list(NETWORK_ERT,NETWORK_MERCENARY,"Secret", NETWORK_COMMUNICATORS)
+#define TRANSMISSION_WIRE 0 //Is this ever used? I don't think it is.
+#define TRANSMISSION_RADIO 1 //Radio transmissions (like airlock controller to pump)
+#define TRANSMISSION_SUBSPACE 2 //Like headsets
+#define TRANSMISSION_BLUESPACE 3 //Point-to-point links
+
+#define SIGNAL_NORMAL 0 //Normal subspace signals
+#define SIGNAL_SIMPLE 1 //Normal inter-machinery(?) signals
+#define SIGNAL_FAKE 2 //Untrackable signals
+#define SIGNAL_TEST 4 //Unlogged signals
+
+#define DATA_NORMAL 0 //Normal data
+#define DATA_INTERCOM 1 //Intercoms only
+#define DATA_LOCAL 2 //Intercoms and SBRs
+#define DATA_ANTAG 3 //Antag interception
+#define DATA_FAKE 4 //Not from a real mob
//singularity defines
#define STAGE_ONE 1
diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm
index e6a71a36144..bf6cb4d150a 100644
--- a/code/__defines/misc_vr.dm
+++ b/code/__defines/misc_vr.dm
@@ -55,4 +55,6 @@
#define PTO_SCIENCE "Science"
#define PTO_EXPLORATION "Exploration"
#define PTO_CARGO "Cargo"
-#define PTO_CIVILIAN "Civilian"
\ No newline at end of file
+#define PTO_CIVILIAN "Civilian"
+
+#define DEPARTMENT_TALON "ITV Talon"
diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm
index 6b924ef082b..17a25448500 100644
--- a/code/_helpers/game.dm
+++ b/code/_helpers/game.dm
@@ -246,7 +246,7 @@
var/turf/speaker = get_turf(R)
if(speaker)
for(var/turf/T in hear(R.canhear_range,speaker))
- speaker_coverage[T] = T
+ speaker_coverage[T] = R
// Try to find all the players who can hear the message
diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm
index 0b53ed169d6..3b3512bbf92 100644
--- a/code/controllers/communications.dm
+++ b/code/controllers/communications.dm
@@ -125,6 +125,8 @@ var/const/EXP_FREQ = 1361
var/const/MED_I_FREQ = 1485
var/const/SEC_I_FREQ = 1475
+var/const/TALON_FREQ = 1481 //VOREStation Add
+
var/list/radiochannels = list(
"Common" = PUB_FREQ,
"Science" = SCI_FREQ,
@@ -142,7 +144,8 @@ var/list/radiochannels = list(
"AI Private" = AI_FREQ,
"Entertainment" = ENT_FREQ,
"Medical(I)" = MED_I_FREQ,
- "Security(I)" = SEC_I_FREQ
+ "Security(I)" = SEC_I_FREQ,
+ "Talon" = TALON_FREQ //VOREStation Add
)
// central command channels, i.e deathsquid & response teams
@@ -154,6 +157,8 @@ var/list/ANTAG_FREQS = list(SYND_FREQ, RAID_FREQ)
//Department channels, arranged lexically
var/list/DEPT_FREQS = list(AI_FREQ, COMM_FREQ, ENG_FREQ, ENT_FREQ, MED_FREQ, SEC_FREQ, SCI_FREQ, SRV_FREQ, SUP_FREQ)
+var/list/OFFMAP_FREQS = list(TALON_FREQ) //VOREStation Add
+
#define TRANSMISSION_WIRE 0
#define TRANSMISSION_RADIO 1
@@ -189,7 +194,10 @@ var/list/DEPT_FREQS = list(AI_FREQ, COMM_FREQ, ENG_FREQ, ENT_FREQ, MED_FREQ, SEC
return "entradio"
if(frequency in DEPT_FREQS)
return "deptradio"
-
+ //VOREStation Add
+ if(frequency in OFFMAP_FREQS)
+ return "expradio"
+ //VOREStation Add End
return "radio"
/* filters */
diff --git a/code/controllers/subsystems/shuttles.dm b/code/controllers/subsystems/shuttles.dm
index 27bbbae0275..38ef8910196 100644
--- a/code/controllers/subsystems/shuttles.dm
+++ b/code/controllers/subsystems/shuttles.dm
@@ -103,7 +103,7 @@ SUBSYSTEM_DEF(shuttles)
try_add_landmark_tag(shuttle_landmark_tag, O)
landmarks_still_needed -= shuttle_landmark_tag
else if(istype(shuttle_landmark, /obj/effect/shuttle_landmark/automatic)) //These find their sector automatically
- O = map_sectors["[shuttle_landmark.z]"]
+ O = get_overmap_sector(get_z(shuttle_landmark))
O ? O.add_landmark(shuttle_landmark, shuttle_landmark.shuttle_restricted) : (landmarks_awaiting_sector += shuttle_landmark)
/datum/controller/subsystem/shuttles/proc/get_landmark(var/shuttle_landmark_tag)
diff --git a/code/controllers/subsystems/skybox.dm b/code/controllers/subsystems/skybox.dm
index 404525b4396..356458517d7 100644
--- a/code/controllers/subsystems/skybox.dm
+++ b/code/controllers/subsystems/skybox.dm
@@ -87,7 +87,7 @@ SUBSYSTEM_DEF(skybox)
res.overlays += base
if(global.using_map.use_overmap && settings.use_overmap_details)
- var/obj/effect/overmap/visitable/O = map_sectors["[z]"]
+ var/obj/effect/overmap/visitable/O = get_overmap_sector(z)
if(istype(O))
var/image/overmap = image(settings.icon)
overmap.overlays += O.generate_skybox()
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index 414a2d092a7..be5f6b33db3 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -5,11 +5,16 @@
/datum/datacore
var/name = "datacore"
- var/medical[] = list()
- var/general[] = list()
- var/security[] = list()
+ //For general station crew
+ var/static/list/medical = list()
+ var/static/list/general = list()
+ var/static/list/security = list()
+ //For offmap spawns so they can have records accessible by certain things
+ var/static/list/hidden_medical = list()
+ var/static/list/hidden_general = list()
+ var/static/list/hidden_security = list()
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
- var/locked[] = list()
+ var/static/list/locked = list()
/datum/datacore/proc/get_manifest(monochrome, OOC)
@@ -22,6 +27,7 @@
var/list/pla = new() //VOREStation Edit
var/list/civ = new()
var/list/bot = new()
+ var/list/off = new()
var/list/misc = new()
var/list/isactive = new()
var/dat = {"
@@ -46,7 +52,7 @@
if(OOC)
var/active = 0
for(var/mob/M in player_list)
- if(M.real_name == name && M.client && M.client.inactivity <= 10 * 60 * 10)
+ if(M.real_name == name && M.client && M.client.inactivity <= 10 MINUTES)
active = 1
break
isactive[name] = active ? "Active" : "Inactive"
@@ -84,6 +90,24 @@
if(!department && !(name in heads))
misc[name] = rank
+ //For the offmap spawns
+ if(OOC)
+ for(var/datum/data/record/t in hidden_general)
+ var/name = t.fields["name"]
+ var/rank = t.fields["rank"]
+ var/real_rank = make_list_rank(t.fields["real_rank"])
+
+ var/active = 0
+ for(var/mob/M in player_list)
+ if(M.real_name == name && M.client && M.client.inactivity <= 10 MINUTES)
+ active = 1
+ break
+ isactive[name] = active ? "Active" : "Inactive"
+
+ var/datum/job/J = SSjob.get_job(real_rank)
+ if(J?.offmap_spawn)
+ off[name] = rank
+
// Synthetics don't have actual records, so we will pull them from here.
for(var/mob/living/silicon/ai/ai in mob_list)
bot[ai.name] = "Artificial Intelligence"
@@ -142,6 +166,12 @@
for(name in bot)
dat += "
| [name] | [bot[name]] | [isactive[name]] |
"
even = !even
+ // offmap spawners
+ if(off.len > 0)
+ dat += "| Offmap Spawns |
"
+ for(name in off)
+ dat += "| [name] | [off[name]] | [isactive[name]] |
"
+ even = !even
// misc guys
if(misc.len > 0)
dat += "| Miscellaneous |
"
@@ -154,6 +184,117 @@
dat = replacetext(dat, "\t", "")
return dat
+/*
+We can't just insert in HTML into the nanoUI so we need the raw data to play with.
+Instead of creating this list over and over when someone leaves their PDA open to the page
+we'll only update it when it changes. The PDA_Manifest global list is zeroed out upon any change
+using /datum/datacore/proc/manifest_inject( ), or manifest_insert( )
+*/
+
+var/global/list/PDA_Manifest = list()
+
+/datum/datacore/proc/get_manifest_list()
+ if(PDA_Manifest.len)
+ return
+ var/list/heads = list()
+ var/list/sec = list()
+ var/list/eng = list()
+ var/list/med = list()
+ var/list/sci = list()
+ var/list/car = list()
+ var/list/pla = list() // Planetside crew: Explorers, Pilots, S&S
+ var/list/civ = list()
+ var/list/bot = list()
+ var/list/misc = list()
+ for(var/datum/data/record/t in data_core.general)
+ var/name = sanitize(t.fields["name"])
+ var/rank = sanitize(t.fields["rank"])
+ var/real_rank = make_list_rank(t.fields["real_rank"])
+
+ var/isactive = t.fields["p_stat"]
+ var/department = 0
+ var/depthead = 0 // Department Heads will be placed at the top of their lists.
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_COMMAND))
+ heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ depthead = 1
+ if(rank=="Colony Director" && heads.len != 1)
+ heads.Swap(1,heads.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY))
+ sec[++sec.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ if(depthead && sec.len != 1)
+ sec.Swap(1,sec.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_ENGINEERING))
+ eng[++eng.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ if(depthead && eng.len != 1)
+ eng.Swap(1,eng.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_MEDICAL))
+ med[++med.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ if(depthead && med.len != 1)
+ med.Swap(1,med.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_RESEARCH))
+ sci[++sci.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ if(depthead && sci.len != 1)
+ sci.Swap(1,sci.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_PLANET))
+ pla[++pla.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CARGO))
+ car[++car.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ if(depthead && car.len != 1)
+ car.Swap(1,car.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CIVILIAN))
+ civ[++civ.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+ if(depthead && civ.len != 1)
+ civ.Swap(1,civ.len)
+
+ if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SYNTHETIC))
+ bot[++bot.len] = list("name" = name, "rank" = rank, "active" = isactive)
+ department = 1
+
+ if(!department && !(name in heads))
+ misc[++misc.len] = list("name" = name, "rank" = rank, "active" = isactive)
+
+ // Synthetics don't have actual records, so we will pull them from here.
+ // Synths don't have records, which is the means by which isactive is retrieved, so I'm hardcoding it to active, don't really have any better means
+ for(var/mob/living/silicon/ai/ai in mob_list)
+ bot[++bot.len] = list("name" = ai.real_name, "rank" = "Artificial Intelligence", "active" = "Active")
+
+ for(var/mob/living/silicon/robot/robot in mob_list)
+ // No combat/syndicate cyborgs, no drones, and no AI shells.
+ if(robot.scrambledcodes || robot.shell || (robot.module && robot.module.hide_on_manifest))
+ continue
+
+ bot[++bot.len] = list("name" = robot.real_name, "rank" = "[robot.modtype] [robot.braintype]", "active" = "Active")
+
+
+ PDA_Manifest = list(
+ list("cat" = "Command", "elems" = heads),
+ list("cat" = "Security", "elems" = sec),
+ list("cat" = "Engineering", "elems" = eng),
+ list("cat" = "Medical", "elems" = med),
+ list("cat" = "Science", "elems" = sci),
+ list("cat" = "Cargo", "elems" = car),
+ list("cat" = "Exploration", "elems" = pla), // VOREStation Edit
+ list("cat" = "Civilian", "elems" = civ),
+ list("cat" = "Silicon", "elems" = bot),
+ list("cat" = "Miscellaneous", "elems" = misc)
+ )
+ return
+
/datum/datacore/proc/manifest()
spawn()
for(var/mob/living/carbon/human/H in player_list)
@@ -187,10 +328,13 @@
/datum/datacore/proc/manifest_inject(var/mob/living/carbon/human/H)
if(H.mind && !player_is_antag(H.mind, only_offstation_roles = 1))
var/assignment = GetAssignment(H)
+ var/hidden
+ var/datum/job/J = SSjob.get_job(assignment)
+ hidden = J?.offmap_spawn
var/id = generate_record_id()
//General Record
- var/datum/data/record/G = CreateGeneralRecord(H, id)
+ var/datum/data/record/G = CreateGeneralRecord(H, id, hidden)
G.fields["name"] = H.real_name
G.fields["real_rank"] = H.mind.assigned_role
G.fields["rank"] = assignment
@@ -212,7 +356,7 @@
G.fields["notes"] = H.gen_record
//Medical Record
- var/datum/data/record/M = CreateMedicalRecord(H.real_name, id)
+ var/datum/data/record/M = CreateMedicalRecord(H.real_name, id, hidden)
M.fields["b_type"] = H.b_type
M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["id_gender"] = gender2text(H.identifying_gender)
@@ -224,7 +368,7 @@
M.fields["notes"] = H.med_record
//Security Record
- var/datum/data/record/S = CreateSecurityRecord(H.real_name, id)
+ var/datum/data/record/S = CreateSecurityRecord(H.real_name, id, hidden)
if(H.get_FBP_type())
S.fields["brain_type"] = H.get_FBP_type()
else
@@ -257,6 +401,7 @@
L.fields["image"] = icon(cached_character_icon(H), dir = SOUTH)
L.fields["antagfac"] = H.antag_faction
L.fields["antagvis"] = H.antag_vis
+ L.fields["offmap"] = hidden
if(H.exploit_record && !jobban_isbanned(H, "Records"))
L.fields["exploit_record"] = H.exploit_record
else
@@ -267,7 +412,7 @@
/proc/generate_record_id()
return add_zero(num2hex(rand(1, 65535)), 4) //no point generating higher numbers because of the limitations of num2hex
-/datum/datacore/proc/CreateGeneralRecord(var/mob/living/carbon/human/H, var/id)
+/datum/datacore/proc/CreateGeneralRecord(var/mob/living/carbon/human/H, var/id, var/hidden)
ResetPDAManifest()
var/icon/front
var/icon/side
@@ -301,11 +446,14 @@
G.fields["photo_front"] = front
G.fields["photo_side"] = side
G.fields["notes"] = "No notes found."
- general += G
+ if(hidden)
+ hidden_general += G
+ else
+ general += G
return G
-/datum/datacore/proc/CreateSecurityRecord(var/name, var/id)
+/datum/datacore/proc/CreateSecurityRecord(var/name, var/id, var/hidden)
ResetPDAManifest()
var/datum/data/record/R = new /datum/data/record()
R.name = "Security Record #[id]"
@@ -319,11 +467,14 @@
R.fields["ma_crim_d"] = "No major crime convictions."
R.fields["notes"] = "No notes."
R.fields["notes"] = "No notes."
- data_core.security += R
+ if(hidden)
+ hidden_security += R
+ else
+ security += R
return R
-/datum/datacore/proc/CreateMedicalRecord(var/name, var/id)
+/datum/datacore/proc/CreateMedicalRecord(var/name, var/id, var/hidden)
ResetPDAManifest()
var/datum/data/record/M = new()
M.name = "Medical Record #[id]"
@@ -342,7 +493,10 @@
M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = "No notes found."
- data_core.medical += M
+ if(hidden)
+ hidden_medical += M
+ else
+ medical += M
return M
diff --git a/code/datums/repositories/cameras.dm b/code/datums/repositories/cameras.dm
index 7bac2a4634d..d5161133948 100644
--- a/code/datums/repositories/cameras.dm
+++ b/code/datums/repositories/cameras.dm
@@ -14,10 +14,25 @@ var/global/datum/repository/cameras/camera_repository = new()
networks = list()
..()
-/datum/repository/cameras/proc/cameras_in_network(var/network)
+/datum/repository/cameras/proc/cameras_in_network(var/network, var/list/zlevels)
setup_cache()
var/list/network_list = networks[network]
- return network_list
+ if(LAZYLEN(zlevels))
+ var/list/filtered_cameras = list()
+ for(var/list/C in network_list)
+ //Camera is marked as always-visible
+ if(C["omni"])
+ filtered_cameras[++filtered_cameras.len] = C
+ continue
+ //Camera might be in an adjacent zlevel
+ var/camz = C["z"]
+ if(!camz) //It's inside something (helmet, communicator, etc) or nullspace or who knows
+ camz = get_z(locate(C["camera"]) in cameranet.cameras)
+ if(camz in zlevels)
+ filtered_cameras[++filtered_cameras.len] = C //Can't add lists to lists with +=
+ return filtered_cameras
+ else
+ return network_list
/datum/repository/cameras/proc/setup_cache()
if(!invalidated)
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 293ea99e7f8..187b69e0216 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -52,120 +52,6 @@
return copytext(rank, 2+length(prefix))
return rank
-
-/*
-We can't just insert in HTML into the nanoUI so we need the raw data to play with.
-Instead of creating this list over and over when someone leaves their PDA open to the page
-we'll only update it when it changes. The PDA_Manifest global list is zeroed out upon any change
-using /datum/datacore/proc/manifest_inject( ), or manifest_insert( )
-*/
-
-var/global/list/PDA_Manifest = list()
-
-/datum/datacore/proc/get_manifest_list()
- if(PDA_Manifest.len)
- return
- var/list/heads = list()
- var/list/sec = list()
- var/list/eng = list()
- var/list/med = list()
- var/list/sci = list()
- var/list/car = list()
- var/list/pla = list() // Planetside crew: Explorers, Pilots, S&S
- var/list/civ = list()
- var/list/bot = list()
- var/list/misc = list()
- for(var/datum/data/record/t in data_core.general)
- var/name = sanitize(t.fields["name"])
- var/rank = sanitize(t.fields["rank"])
- var/real_rank = make_list_rank(t.fields["real_rank"])
-
- var/isactive = t.fields["p_stat"]
- var/department = 0
- var/depthead = 0 // Department Heads will be placed at the top of their lists.
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_COMMAND))
- heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- depthead = 1
- if(rank=="Colony Director" && heads.len != 1)
- heads.Swap(1,heads.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY))
- sec[++sec.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- if(depthead && sec.len != 1)
- sec.Swap(1,sec.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_ENGINEERING))
- eng[++eng.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- if(depthead && eng.len != 1)
- eng.Swap(1,eng.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_MEDICAL))
- med[++med.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- if(depthead && med.len != 1)
- med.Swap(1,med.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_RESEARCH))
- sci[++sci.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- if(depthead && sci.len != 1)
- sci.Swap(1,sci.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_PLANET))
- pla[++pla.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CARGO))
- car[++car.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- if(depthead && car.len != 1)
- car.Swap(1,car.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CIVILIAN))
- civ[++civ.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
- if(depthead && civ.len != 1)
- civ.Swap(1,civ.len)
-
- if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SYNTHETIC))
- bot[++bot.len] = list("name" = name, "rank" = rank, "active" = isactive)
- department = 1
-
- if(!department && !(name in heads))
- misc[++misc.len] = list("name" = name, "rank" = rank, "active" = isactive)
-
- // Synthetics don't have actual records, so we will pull them from here.
- // Synths don't have records, which is the means by which isactive is retrieved, so I'm hardcoding it to active, don't really have any better means
- for(var/mob/living/silicon/ai/ai in mob_list)
- bot[++bot.len] = list("name" = ai.real_name, "rank" = "Artificial Intelligence", "active" = "Active")
-
- for(var/mob/living/silicon/robot/robot in mob_list)
- // No combat/syndicate cyborgs, no drones, and no AI shells.
- if(robot.scrambledcodes || robot.shell || (robot.module && robot.module.hide_on_manifest))
- continue
-
- bot[++bot.len] = list("name" = robot.real_name, "rank" = "[robot.modtype] [robot.braintype]", "active" = "Active")
-
-
- PDA_Manifest = list(
- list("cat" = "Command", "elems" = heads),
- list("cat" = "Security", "elems" = sec),
- list("cat" = "Engineering", "elems" = eng),
- list("cat" = "Medical", "elems" = med),
- list("cat" = "Science", "elems" = sci),
- list("cat" = "Cargo", "elems" = car),
- list("cat" = "Exploration", "elems" = pla), // VOREStation Edit
- list("cat" = "Civilian", "elems" = civ),
- list("cat" = "Silicon", "elems" = bot),
- list("cat" = "Miscellaneous", "elems" = misc)
- )
- return
-
-
-
/obj/effect/laser
name = "laser"
desc = "IT BURNS!!!"
diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm
index c68acc43a46..c739ffbf852 100644
--- a/code/defines/procs/announce.dm
+++ b/code/defines/procs/announce.dm
@@ -32,7 +32,7 @@
title = "Security Announcement"
announcement_type = "Security Announcement"
-/datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0)
+/datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0, zlevel)
if(!message)
return
var/message_title = new_title ? new_title : title
@@ -42,28 +42,32 @@
message = sanitize(message, extra = 0)
message_title = sanitizeSafe(message_title)
- Message(message, message_title)
+ var/list/zlevels
+ if(zlevel)
+ zlevels = using_map.get_map_levels(zlevel, TRUE)
+
+ Message(message, message_title, zlevels)
if(do_newscast)
NewsCast(message, message_title)
- Sound(message_sound)
+ Sound(message_sound, zlevels)
Log(message, message_title)
-datum/announcement/proc/Message(message as text, message_title as text)
- global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME)
+datum/announcement/proc/Message(var/message as text, var/message_title as text, var/list/zlevels)
+ global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME, zlevels)
-datum/announcement/minor/Message(message as text, message_title as text)
- global_announcer.autosay(message, announcer ? announcer : ANNOUNCER_NAME)
+datum/announcement/minor/Message(var/message as text, var/message_title as text, var/list/zlevels)
+ global_announcer.autosay(message, announcer ? announcer : ANNOUNCER_NAME, zlevels)
-datum/announcement/priority/Message(message as text, message_title as text)
- global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME)
+datum/announcement/priority/Message(var/message as text, var/message_title as text, var/list/zlevels)
+ global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME, zlevels)
-datum/announcement/priority/command/Message(message as text, message_title as text)
- global_announcer.autosay("[command_name()] - [message_title]: [message]", ANNOUNCER_NAME)
+datum/announcement/priority/command/Message(var/message as text, var/message_title as text, var/list/zlevels)
+ global_announcer.autosay("[command_name()] - [message_title]: [message]", ANNOUNCER_NAME, zlevels)
-datum/announcement/priority/security/Message(message as text, message_title as text)
- global_announcer.autosay("[message_title]: [message]", ANNOUNCER_NAME)
+datum/announcement/priority/security/Message(var/message as text, var/message_title as text, var/list/zlevels)
+ global_announcer.autosay("[message_title]: [message]", ANNOUNCER_NAME, zlevels)
-datum/announcement/proc/NewsCast(message as text, message_title as text)
+datum/announcement/proc/NewsCast(var/message as text, var/message_title as text)
if(!newscast)
return
@@ -75,15 +79,18 @@ datum/announcement/proc/NewsCast(message as text, message_title as text)
news.can_be_redacted = 0
announce_newscaster_news(news)
-datum/announcement/proc/PlaySound(var/message_sound)
+datum/announcement/proc/PlaySound(var/message_sound, var/list/zlevels)
if(!message_sound)
return
+
for(var/mob/M in player_list)
+ if(zlevels && !(M.z in zlevels))
+ continue
if(!istype(M,/mob/new_player) && !isdeaf(M))
M << message_sound
-datum/announcement/proc/Sound(var/message_sound)
- PlaySound(message_sound)
+datum/announcement/proc/Sound(var/message_sound, var/list/zlevels)
+ PlaySound(message_sound, zlevels)
datum/announcement/priority/Sound(var/message_sound)
if(message_sound)
@@ -107,11 +114,12 @@ datum/announcement/proc/Log(message as text, message_title as text)
/proc/ion_storm_announcement()
command_announcement.Announce("It has come to our attention that \the [station_name()] passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert")
-/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message)
+/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message, var/channel = "Common", var/zlevel)
if (ticker.current_state == GAME_STATE_PLAYING)
+ var/list/zlevels = zlevel ? using_map.get_map_levels(zlevel, TRUE) : null
if(character.mind.role_alt_title)
rank = character.mind.role_alt_title
- AnnounceArrivalSimple(character.real_name, rank, join_message)
+ AnnounceArrivalSimple(character.real_name, rank, join_message, channel, zlevels)
-/proc/AnnounceArrivalSimple(var/name, var/rank = "visitor", var/join_message = "will arrive at the station shortly", new_sound = 'sound/misc/notice3.ogg') //VOREStation Edit - Remove shuttle reference
- global_announcer.autosay("[name], [rank], [join_message].", "Arrivals Announcement Computer")
+/proc/AnnounceArrivalSimple(var/name, var/rank = "visitor", var/join_message = "will arrive at the station shortly", var/channel = "Common", var/list/zlevels)
+ global_announcer.autosay("[name], [rank], [join_message].", "Arrivals Announcement Computer", channel, zlevels)
diff --git a/code/game/jobs/access_datum_vr.dm b/code/game/jobs/access_datum_vr.dm
index 872db2ae73f..506666fdfd8 100644
--- a/code/game/jobs/access_datum_vr.dm
+++ b/code/game/jobs/access_datum_vr.dm
@@ -10,3 +10,10 @@ var/const/access_pilot = 67
id = access_pilot
desc = "Pilot"
region = ACCESS_REGION_SUPPLY
+
+/var/const/access_talon = 301
+/datum/access/talon
+ id = access_talon
+ desc = "Talon"
+ access_type = ACCESS_TYPE_PRIVATE
+
\ No newline at end of file
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index 6bc533370a6..082753d0fca 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -30,6 +30,8 @@
var/outfit_type // What outfit datum does this job use in its default title?
+ var/offmap_spawn = FALSE // Do we require weird and special spawning and datacore handling?
+
// Description of the job's role and minimum responsibilities.
var/job_description = "This Job doesn't have a description! Please report it!"
@@ -67,7 +69,7 @@
//give them an account in the station database
var/money_amount = (rand(15,40) + rand(15,40)) * income * economic_modifier * ECO_MODIFIER //VOREStation Edit - Smoothed peaks, ECO_MODIFIER rather than per-species ones.
- var/datum/money_account/M = create_account(H.real_name, money_amount, null)
+ var/datum/money_account/M = create_account(H.real_name, money_amount, null, offmap_spawn)
if(H.mind)
var/remembered_info = ""
remembered_info += "Your account number is: #[M.account_number]
"
diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index 3d6fa2045cf..34e75f43205 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -357,7 +357,11 @@ var/global/datum/controller/occupations/job_master
else
var/list/spawn_props = LateSpawn(H.client, rank)
var/turf/T = spawn_props["turf"]
- H.forceMove(T)
+ if(!T)
+ to_chat(H, "You were unable to be spawned at your chosen late-join spawnpoint. Please verify your job/spawn point combination makes sense, and try another one.")
+ return
+ else
+ H.forceMove(T)
// Moving wheelchair if they have one
if(H.buckled && istype(H.buckled, /obj/structure/bed/chair/wheelchair))
@@ -458,8 +462,8 @@ var/global/datum/controller/occupations/job_master
if("AI")
return H
if("Colony Director")
- var/sound/announce_sound = (ticker.current_state <= GAME_STATE_SETTING_UP)? null : sound('sound/misc/boatswain.ogg', volume=20)
- captain_announcement.Announce("All hands, [alt_title ? alt_title : "Colony Director"] [H.real_name] on deck!", new_sound=announce_sound)
+ var/sound/announce_sound = (ticker.current_state <= GAME_STATE_SETTING_UP) ? null : sound('sound/misc/boatswain.ogg', volume=20)
+ captain_announcement.Announce("All hands, [alt_title ? alt_title : "Colony Director"] [H.real_name] on deck!", new_sound = announce_sound, zlevel = H.z)
//Deferred item spawning.
if(spawn_in_storage && spawn_in_storage.len)
@@ -608,12 +612,20 @@ var/global/datum/controller/occupations/job_master
/datum/controller/occupations/proc/LateSpawn(var/client/C, var/rank)
var/datum/spawnpoint/spawnpos
+ var/fail_deadly = FALSE
+
+ var/datum/job/J = SSjob.get_job(rank)
+ fail_deadly = J?.offmap_spawn
//Spawn them at their preferred one
if(C && C.prefs.spawnpoint)
if(!(C.prefs.spawnpoint in using_map.allowed_spawns))
- to_chat(C, "Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.")
- spawnpos = null
+ if(fail_deadly)
+ to_chat(C, "Your chosen spawnpoint is unavailable for this map and your job requires a specific spawnpoint. Please correct your spawn point choice.")
+ return
+ else
+ to_chat(C, "Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.")
+ spawnpos = null
else
spawnpos = spawntypes[C.prefs.spawnpoint]
@@ -623,12 +635,16 @@ var/global/datum/controller/occupations/job_master
if(spawnpos.check_job_spawning(rank))
.["turf"] = spawnpos.get_spawn_position()
.["msg"] = spawnpos.msg
+ .["channel"] = spawnpos.announce_channel
else
+ if(fail_deadly)
+ to_chat(C, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Please correct your spawn point choice.")
+ return
to_chat(C, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.")
var/spawning = pick(latejoin)
.["turf"] = get_turf(spawning)
.["msg"] = "will arrive at the station shortly" //VOREStation Edit - Grammar but mostly 'shuttle' reference removal, and this also applies to notified spawn-character verb use
- else
+ else if(!fail_deadly)
var/spawning = pick(latejoin)
.["turf"] = get_turf(spawning)
.["msg"] = "has arrived on the station"
diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm
index 5dea368943f..65b536c0bab 100644
--- a/code/game/machinery/air_alarm.dm
+++ b/code/game/machinery/air_alarm.dm
@@ -387,7 +387,7 @@
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = command
@@ -449,7 +449,7 @@
var/datum/signal/alert_signal = new
alert_signal.source = src
- alert_signal.transmission_method = 1
+ alert_signal.transmission_method = TRANSMISSION_RADIO
alert_signal.data["zone"] = alarm_area.name
alert_signal.data["type"] = "Atmospheric"
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index ccab21e8896..5ebcfeef430 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -29,7 +29,7 @@
/obj/machinery/air_sensor/process()
if(on)
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
@@ -212,7 +212,7 @@ obj/machinery/computer/general_air_control/Destroy()
if(!radio_connection)
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
if(href_list["in_refresh_status"])
input_info = null
@@ -322,7 +322,7 @@ obj/machinery/computer/general_air_control/Destroy()
if(!radio_connection)
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
if(href_list["in_refresh_status"])
input_info = null
@@ -383,7 +383,7 @@ obj/machinery/computer/general_air_control/Destroy()
injecting = 1
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
@@ -445,7 +445,7 @@ obj/machinery/computer/general_air_control/Destroy()
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
"tag" = device_tag,
@@ -463,7 +463,7 @@ obj/machinery/computer/general_air_control/Destroy()
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
"tag" = device_tag,
@@ -478,7 +478,7 @@ obj/machinery/computer/general_air_control/Destroy()
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.source = src
signal.data = list(
"tag" = device_tag,
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 13d782f18f5..3e2cf0deb44 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -67,7 +67,7 @@
var/datum/signal/signal = new
signal.source = src
- signal.transmission_method = 1
+ signal.transmission_method = TRANSMISSION_RADIO
signal.data = list(
"tag" = id,
"device" = "AM",
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index f20c05d6279..15f9d65bc37 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -33,6 +33,7 @@
var/busy = 0
var/on_open_network = 0
+ var/always_visible = FALSE //Visable from any map, good for entertainment network cameras
var/affected_by_emp_until = 0
@@ -472,6 +473,7 @@
cam["name"] = sanitize(c_tag)
cam["deact"] = !can_use()
cam["camera"] = "\ref[src]"
+ cam["omni"] = always_visible
cam["x"] = x
cam["y"] = y
cam["z"] = z
diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm
index 911e1289844..d7070146d11 100644
--- a/code/game/machinery/camera/presets.dm
+++ b/code/game/machinery/camera/presets.dm
@@ -102,6 +102,7 @@ var/global/list/engineering_networks = list(
/obj/machinery/camera/network/thunder
network = list(NETWORK_THUNDER)
invuln = 1
+ always_visible = TRUE
// EMP
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 57d6d01c6e2..9adf2a0a431 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -43,11 +43,14 @@
data["current_camera"] = current_camera ? current_camera.nano_structure() : null
data["current_network"] = current_network
data["networks"] = network ? network : list()
+
+ var/map_levels = using_map.get_map_levels(src.z, TRUE)
+ data["map_levels"] = map_levels
+
if(current_network)
- data["cameras"] = camera_repository.cameras_in_network(current_network)
+ data["cameras"] = camera_repository.cameras_in_network(current_network, map_levels)
if(current_camera)
switch_to_camera(user, current_camera)
- data["map_levels"] = using_map.get_map_levels(src.z)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
@@ -91,9 +94,6 @@
. = ..()
/obj/machinery/computer/security/attack_hand(var/mob/user as mob)
- if (using_map && !(src.z in using_map.contact_levels))
- to_chat(user, "Unable to establish a connection: You're too far away from the station!")
- return
if(stat & (NOPOWER|BROKEN)) return
if(!isAI(user))
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 21c795f08d9..9333e32556f 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -546,7 +546,7 @@
var/datum/signal/status_signal = new
status_signal.source = src
- status_signal.transmission_method = 1
+ status_signal.transmission_method = TRANSMISSION_RADIO
status_signal.data["command"] = command
switch(command)
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index 9342e0b5e91..077c12c451f 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -8,7 +8,7 @@
idle_power_usage = 250
active_power_usage = 500
circuit = /obj/item/weapon/circuitboard/crew
- var/datum/nano_module/crew_monitor/crew_monitor
+ var/datum/nano_module/program/crew_monitor/crew_monitor
/obj/machinery/computer/crew/New()
crew_monitor = new(src)
diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm
index 04f0c61c526..1d58a61df19 100644
--- a/code/game/machinery/computer/prisonshuttle.dm
+++ b/code/game/machinery/computer/prisonshuttle.dm
@@ -121,7 +121,7 @@ var/prison_shuttle_timeleft = 0
if(!frequency) return
var/datum/signal/status_signal = new
status_signal.source = src
- status_signal.transmission_method = 1
+ status_signal.transmission_method = TRANSMISSION_RADIO
status_signal.data["command"] = command
frequency.post_signal(src, status_signal)
return
diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm
index 05b4e65292f..a310b33f785 100644
--- a/code/game/machinery/computer/supply.dm
+++ b/code/game/machinery/computer/supply.dm
@@ -421,7 +421,7 @@
var/datum/signal/status_signal = new
status_signal.source = src
- status_signal.transmission_method = 1
+ status_signal.transmission_method = TRANSMISSION_RADIO
status_signal.data["command"] = command
frequency.post_signal(src, status_signal)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index d62d53a5513..bdd2b05fc6b 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -219,6 +219,7 @@
var/on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward."
var/on_store_visible_message_1 = "hums and hisses as it moves" //We need two variables because byond doesn't let us have variables inside strings at compile-time.
var/on_store_visible_message_2 = "into storage."
+ var/announce_channel = "Common"
var/allow_occupant_types = list(/mob/living/carbon/human)
var/disallow_occupant_types = list()
@@ -519,7 +520,7 @@
control_computer._admin_logs += "[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) at [stationtime2text()]"
log_and_message_admins("[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) entered cryostorage.")
- announce.autosay("[to_despawn.real_name], [to_despawn.mind.role_alt_title], [on_store_message]", "[on_store_name]")
+ announce.autosay("[to_despawn.real_name], [to_despawn.mind.role_alt_title], [on_store_message]", "[on_store_name]", announce_channel, using_map.get_map_levels(z, TRUE))
//visible_message("\The [initial(name)] hums and hisses as it moves [to_despawn.real_name] into storage.", 3)
visible_message("\The [initial(name)] [on_store_visible_message_1] [to_despawn.real_name] [on_store_visible_message_2].", 3)
diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm
index e5ff8bab16a..ca7092708d3 100644
--- a/code/game/machinery/doors/airlock_control.dm
+++ b/code/game/machinery/doors/airlock_control.dm
@@ -91,7 +91,7 @@ obj/machinery/door/airlock/proc/command_completed(var/command)
obj/machinery/door/airlock/proc/send_status(var/bumped = 0)
if(radio_connection)
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
@@ -172,7 +172,7 @@ obj/machinery/airlock_sensor/update_icon()
obj/machinery/airlock_sensor/attack_hand(mob/user)
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.data["tag"] = master_tag
signal.data["command"] = command
@@ -186,7 +186,7 @@ obj/machinery/airlock_sensor/process()
if(abs(pressure - previousPressure) > 0.001 || previousPressure == null)
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
signal.data["pressure"] = num2text(pressure)
@@ -263,7 +263,7 @@ obj/machinery/access_button/attack_hand(mob/user)
else if(radio_connection)
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.data["tag"] = master_tag
signal.data["command"] = command
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 9d36b082021..ebbda06d6d0 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -275,7 +275,7 @@
// Prepare signal beforehand, because this is a radio operation
var/datum/signal/signal = new
- signal.transmission_method = 1 // radio transmission
+ signal.transmission_method = TRANSMISSION_RADIO // radio transmission
signal.source = src
signal.frequency = frequency
signal.data["code"] = code
@@ -341,7 +341,7 @@
// Prepare the radio signal
var/datum/signal/signal = new
- signal.transmission_method = 1 // radio transmission
+ signal.transmission_method = TRANSMISSION_RADIO // radio transmission
signal.source = src
signal.frequency = frequency
signal.data["code"] = code
diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm
index 057a8fd5c16..f392eb52184 100644
--- a/code/game/machinery/telecomms/broadcaster.dm
+++ b/code/game/machinery/telecomms/broadcaster.dm
@@ -23,6 +23,12 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
produces_heat = 0
delay = 7
circuit = /obj/item/weapon/circuitboard/telecomms/broadcaster
+ //Vars only used if you're using the overmap
+ var/overmap_range = 0
+ var/overmap_range_min = 0
+ var/overmap_range_max = 5
+ //Linked bluespace radios
+ var/list/linked_radios_weakrefs = list()
/obj/machinery/telecomms/processor/Initialize()
. = ..()
@@ -34,6 +40,11 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
component_parts += new /obj/item/weapon/stock_parts/micro_laser/high(src)
component_parts += new /obj/item/stack/cable_coil(src, 1)
+/obj/machinery/telecomms/broadcaster/proc/link_radio(var/obj/item/device/radio/R)
+ if(!istype(R))
+ return
+ linked_radios_weakrefs |= weakref(R)
+
/obj/machinery/telecomms/broadcaster/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
// Don't broadcast rejected signals
if(signal.data["reject"])
@@ -58,46 +69,51 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
if(signal.data["slow"] > 0)
sleep(signal.data["slow"]) // simulate the network lag if necessary
- signal.data["level"] |= listening_level
+ signal.data["level"] |= using_map.get_map_levels(listening_level, TRUE, overmap_range)
+
+ var/list/forced_radios
+ for(var/weakref/wr in linked_radios_weakrefs)
+ var/obj/item/device/radio/R = wr.resolve()
+ if(istype(R))
+ LAZYDISTINCTADD(forced_radios, R)
/** #### - Normal Broadcast - #### **/
-
- if(signal.data["type"] == 0)
-
+ if(signal.data["type"] == SIGNAL_NORMAL)
/* ###### Broadcast a message using signal.data ###### */
Broadcast_Message(signal.data["connection"], signal.data["mob"],
signal.data["vmask"], signal.data["vmessage"],
signal.data["radio"], signal.data["message"],
signal.data["name"], signal.data["job"],
- signal.data["realname"], signal.data["vname"],,
+ signal.data["realname"], signal.data["vname"], DATA_NORMAL,
signal.data["compression"], signal.data["level"], signal.frequency,
- signal.data["verb"], signal.data["language"] )
+ signal.data["verb"], signal.data["language"], forced_radios)
/** #### - Simple Broadcast - #### **/
- if(signal.data["type"] == 1)
+ if(signal.data["type"] == SIGNAL_SIMPLE)
/* ###### Broadcast a message using signal.data ###### */
Broadcast_SimpleMessage(signal.data["name"], signal.frequency,
- signal.data["message"],null, null,
- signal.data["compression"], listening_level)
+ signal.data["message"], DATA_NORMAL, null,
+ signal.data["compression"], listening_level, forced_radios)
/** #### - Artificial Broadcast - #### **/
// (Imitates a mob)
- if(signal.data["type"] == 2)
+ if(signal.data["type"] == SIGNAL_FAKE)
/* ###### Broadcast a message using signal.data ###### */
- // Parameter "data" as 4: AI can't track this person/mob
+ // Parameter "data" as DATA_FAKE: AI can't track this person/mob
Broadcast_Message(signal.data["connection"], signal.data["mob"],
signal.data["vmask"], signal.data["vmessage"],
signal.data["radio"], signal.data["message"],
signal.data["name"], signal.data["job"],
- signal.data["realname"], signal.data["vname"], 4, signal.data["compression"], signal.data["level"], signal.frequency,
- signal.data["verb"], signal.data["language"])
+ signal.data["realname"], signal.data["vname"], DATA_FAKE,
+ signal.data["compression"], signal.data["level"], signal.frequency,
+ signal.data["verb"], signal.data["language"], forced_radios)
if(!message_delay)
message_delay = 1
@@ -118,6 +134,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/*
Basically just an empty shell for receiving and broadcasting radio messages. Not
very flexible, but it gets the job done.
+ NOTE: This AIO device listens on *every* zlevel (it does not even check)
*/
/obj/machinery/telecomms/allinone
@@ -126,15 +143,98 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
icon_state = "comm_server"
desc = "A compact machine used for portable subspace telecommuniations processing."
density = 1
+ use_power = USE_POWER_IDLE
+ idle_power_usage = 20
anchored = 1
- use_power = USE_POWER_OFF
- idle_power_usage = 0
machinetype = 6
produces_heat = 0
var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel
+ var/overmap_range = 0 //Same turf
+
+ var/list/linked_radios_weakrefs = list()
+
+/obj/machinery/telecomms/allinone/proc/link_radio(var/obj/item/device/radio/R)
+ if(!istype(R))
+ return
+ linked_radios_weakrefs |= weakref(R)
/obj/machinery/telecomms/allinone/receive_signal(datum/signal/signal)
+ // Has to be on to receive messages
+ if(!on)
+ return
+
+ // Why did you use this subtype?
+ if(!using_map.use_overmap)
+ return
+
+ // Someone else handling it?
+ if(signal.data["done"])
+ return
+
+ // Where are we able to hear from (and talk to, since we're AIO) anyway?
+ var/map_levels = using_map.get_map_levels(z, TRUE, overmap_range)
+
+ //Bluespace can skip this check
+ if(signal.transmission_method != TRANSMISSION_BLUESPACE)
+ var/list/signal_levels = list()
+ signal_levels += signal.data["level"] //If it's text/number, it'll be the only entry, if it's a list, it'll get combined
+ var/list/overlap = map_levels & signal_levels //Returns a list of similar levels
+ if(!overlap.len)
+ return
+
+ if(is_freq_listening(signal)) // detect subspace signals
+
+ signal.data["done"] = 1 // mark the signal as being broadcasted since we're a broadcaster
+ signal.data["compression"] = 0 // decompress since we're a processor
+
+ // Search for the original signal and mark it as done as well
+ var/datum/signal/original = signal.data["original"]
+ if(original)
+ original.data["done"] = 1
+
+ // For some reason level is both used as a list and not a list, and now it needs to be a list.
+ signal.data["level"] = map_levels
+
+ if(signal.data["slow"] > 0)
+ sleep(signal.data["slow"]) // simulate the network lag if necessary
+
+ /* ###### Broadcast a message using signal.data ###### */
+
+ var/datum/radio_frequency/connection = signal.data["connection"]
+
+ var/list/forced_radios
+ for(var/weakref/wr in linked_radios_weakrefs)
+ var/obj/item/device/radio/R = wr.resolve()
+ if(istype(R))
+ LAZYDISTINCTADD(forced_radios, R)
+
+ Broadcast_Message(
+ signal.data["connection"],
+ signal.data["mob"],
+ signal.data["vmask"],
+ signal.data["vmessage"],
+ signal.data["radio"],
+ signal.data["message"],
+ signal.data["name"],
+ signal.data["job"],
+ signal.data["realname"],
+ signal.data["vname"],
+ DATA_NORMAL,
+ signal.data["compression"],
+ signal.data["level"],
+ connection.frequency,
+ signal.data["verb"],
+ signal.data["language"],
+ forced_radios
+ )
+
+//Antag version with unlimited range (doesn't even check) and uses no power, to enable antag comms to work anywhere.
+/obj/machinery/telecomms/allinone/antag
+ use_power = USE_POWER_OFF
+ idle_power_usage = 0
+
+/obj/machinery/telecomms/allinone/antag/receive_signal(datum/signal/signal)
if(!on) // has to be on to receive messages
return
@@ -159,23 +259,29 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/datum/radio_frequency/connection = signal.data["connection"]
+ var/list/forced_radios
+ for(var/weakref/wr in linked_radios_weakrefs)
+ var/obj/item/device/radio/R = wr.resolve()
+ if(istype(R))
+ LAZYDISTINCTADD(forced_radios, R)
+
if(connection.frequency in ANTAG_FREQS) // if antag broadcast, just
Broadcast_Message(signal.data["connection"], signal.data["mob"],
signal.data["vmask"], signal.data["vmessage"],
signal.data["radio"], signal.data["message"],
signal.data["name"], signal.data["job"],
- signal.data["realname"], signal.data["vname"],, signal.data["compression"], list(0), connection.frequency,
- signal.data["verb"], signal.data["language"])
+ signal.data["realname"], signal.data["vname"], DATA_NORMAL,
+ signal.data["compression"], list(0), connection.frequency,
+ signal.data["verb"], signal.data["language"], forced_radios)
else
if(intercept)
Broadcast_Message(signal.data["connection"], signal.data["mob"],
signal.data["vmask"], signal.data["vmessage"],
signal.data["radio"], signal.data["message"],
signal.data["name"], signal.data["job"],
- signal.data["realname"], signal.data["vname"], 3, signal.data["compression"], list(0), connection.frequency,
- signal.data["verb"], signal.data["language"])
-
-
+ signal.data["realname"], signal.data["vname"], DATA_ANTAG,
+ signal.data["compression"], list(0), connection.frequency,
+ signal.data["verb"], signal.data["language"], forced_radios)
/**
@@ -237,7 +343,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/proc/Broadcast_Message(var/datum/radio_frequency/connection, var/mob/M,
var/vmask, var/vmessage, var/obj/item/device/radio/radio,
var/message, var/name, var/job, var/realname, var/vname,
- var/data, var/compression, var/list/level, var/freq, var/verbage = "says", var/datum/language/speaking = null)
+ var/data, var/compression, var/list/level, var/freq, var/verbage = "says",
+ var/datum/language/speaking = null, var/list/forced_radios)
/* ###### Prepare the radio connection ###### */
@@ -246,17 +353,22 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/list/obj/item/device/radio/radios = list()
+ for(var/obj/item/device/radio/R in forced_radios)
+ //Cursory check to ensure they are 'on' and stuff
+ if(R.receive_range(display_freq, list(0)))
+ radios |= R
+
// --- Broadcast only to intercom devices ---
- if(data == 1)
+ if(data == DATA_INTERCOM)
for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"])
if(R.receive_range(display_freq, level) > -1)
- radios += R
+ radios |= R
// --- Broadcast only to intercoms and station-bounced radios ---
- else if(data == 2)
+ else if(data == DATA_LOCAL)
for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
@@ -264,16 +376,16 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
continue
if(R.receive_range(display_freq, level) > -1)
- radios += R
+ radios |= R
// --- Broadcast to antag radios! ---
- else if(data == 3)
+ else if(data == DATA_ANTAG)
for(var/antag_freq in ANTAG_FREQS)
var/datum/radio_frequency/antag_connection = radio_controller.return_frequency(antag_freq)
for (var/obj/item/device/radio/R in antag_connection.devices["[RADIO_CHAT]"])
if(R.receive_range(antag_freq, level) > -1)
- radios += R
+ radios |= R
// --- Broadcast to ALL radio devices ---
@@ -281,7 +393,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
if(R.receive_range(display_freq, level) > -1)
- radios += R
+ radios |= R
// Get a list of mobs who can hear from the radios we collected.
var/list/receive = get_mobs_in_radio_ranges(radios)
@@ -307,7 +419,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
continue
// Ghosts hearing all radio chat don't want to hear syndicate intercepts, they're duplicates
- if(data == 3 && istype(R, /mob/observer/dead) && R.is_preference_enabled(/datum/client_preference/ghost_radio))
+ if(data == DATA_ANTAG && istype(R, /mob/observer/dead) && R.is_preference_enabled(/datum/client_preference/ghost_radio))
continue
// --- Check for compression ---
@@ -346,7 +458,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/freq_text = get_frequency_name(display_freq)
var/part_b_extra = ""
- if(data == 3) // intercepted radio message
+ if(data == DATA_ANTAG) // intercepted radio message
part_b_extra = " (Intercepted)"
var/part_a = "[bicon(radio)]\[[freq_text]\][part_b_extra] " // goes in the actual output
@@ -438,7 +550,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
return 1
-/proc/Broadcast_SimpleMessage(var/source, var/frequency, var/text, var/data, var/mob/M, var/compression, var/level)
+/proc/Broadcast_SimpleMessage(var/source, var/frequency, var/text, var/data, var/mob/M, var/compression, var/level, var/list/forced_radios)
/* ###### Prepare the radio connection ###### */
@@ -452,10 +564,12 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/list/receive = list()
+ for(var/obj/item/device/radio/R in forced_radios)
+ receive |= R.send_hear(display_freq)
// --- Broadcast only to intercom devices ---
- if(data == 1)
+ if(data == DATA_INTERCOM)
for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"])
var/turf/position = get_turf(R)
if(position && position.z == level)
@@ -464,7 +578,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
// --- Broadcast only to intercoms and station-bounced radios ---
- else if(data == 2)
+ else if(data == DATA_LOCAL)
for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
if(istype(R, /obj/item/device/radio/headset))
@@ -476,7 +590,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
// --- Broadcast to antag radios! ---
- else if(data == 3)
+ else if(data == DATA_ANTAG)
for(var/freq in ANTAG_FREQS)
var/datum/radio_frequency/antag_connection = radio_controller.return_frequency(freq)
for (var/obj/item/device/radio/R in antag_connection.devices["[RADIO_CHAT]"])
@@ -541,7 +655,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
// --- Some more pre-message formatting ---
var/part_b_extra = ""
- if(data == 3) // intercepted radio message
+ if(data == DATA_ANTAG) // intercepted radio message
part_b_extra = " (Intercepted)"
// Create a radio headset for the sole purpose of using its icon
@@ -617,15 +731,15 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/atom/proc/test_telecomms()
var/datum/signal/signal = src.telecomms_process()
- var/turf/position = get_turf(src)
- return (position.z in signal.data["level"] && signal.data["done"])
+ var/pos_z = get_z(src)
+ return (pos_z in signal.data["level"] && signal.data["done"])
/atom/proc/telecomms_process(var/do_sleep = 1)
// First, we want to generate a new radio signal
var/datum/signal/signal = new
- signal.transmission_method = 2 // 2 would be a subspace transmission.
- var/turf/pos = get_turf(src)
+ signal.transmission_method = TRANSMISSION_SUBSPACE
+ var/pos_z = get_z(src)
// --- Finally, tag the actual signal with the appropriate values ---
signal.data = list(
@@ -633,10 +747,10 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
"message" = "TEST",
"compression" = rand(45, 50), // If the signal is compressed, compress our message too.
"traffic" = 0, // dictates the total traffic sum that the signal went through
- "type" = 4, // determines what type of radio input it is: test broadcast
+ "type" = SIGNAL_TEST, // determines what type of radio input it is: test broadcast
"reject" = 0,
"done" = 0,
- "level" = pos.z // The level it is being broadcasted at.
+ "level" = pos_z // The level it is being broadcasted at.
)
signal.frequency = PUB_FREQ// Common channel
diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm
index 3e3d89643a1..802c75bb42b 100644
--- a/code/game/machinery/telecomms/machine_interactions.dm
+++ b/code/game/machinery/telecomms/machine_interactions.dm
@@ -219,6 +219,38 @@
temp = "-% Frequency changing deactivated %-"
+// BROADCASTER
+/obj/machinery/telecomms/broadcaster/Options_Menu()
+ // Note the machine 'displays' 1 higher than overmap_range to save users from the abstraction that range '0' is valid and everything on the same turf.
+ var/dat = "
Broadcast Range (affects power usage)
- [overmap_range+1] gigameter\s +"
+ return dat
+
+/obj/machinery/telecomms/broadcaster/Options_Topic(href, href_list)
+ if(href_list["range_down"])
+ if(overmap_range > overmap_range_min)
+ overmap_range--
+ idle_power_usage = initial(idle_power_usage)**(overmap_range+1)
+ if(href_list["range_up"])
+ if(overmap_range < overmap_range_max)
+ overmap_range++
+ idle_power_usage = initial(idle_power_usage)**(overmap_range+1)
+
+// RECEIVER
+/obj/machinery/telecomms/receiver/Options_Menu()
+ // Note the machine 'displays' 1 higher than overmap_range to save users from the abstraction that range '0' is valid and everything on the same turf.
+ var/dat = "
Receive Range (affects power usage)
- [overmap_range+1] gigameter\s +"
+ return dat
+
+/obj/machinery/telecomms/receiver/Options_Topic(href, href_list)
+ if(href_list["range_down"])
+ if(overmap_range > overmap_range_min)
+ overmap_range--
+ idle_power_usage = initial(idle_power_usage)**(overmap_range+1)
+ if(href_list["range_up"])
+ if(overmap_range < overmap_range_max)
+ overmap_range++
+ idle_power_usage = initial(idle_power_usage)**(overmap_range+1)
+
/obj/machinery/telecomms/Topic(href, href_list)
if(!issilicon(usr))
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index c2e9126fc15..38f1adbdfc0 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -68,7 +68,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
var/datum/signal/copy
if(copysig)
copy = new
- copy.transmission_method = 2
+ copy.transmission_method = TRANSMISSION_SUBSPACE
copy.frequency = signal.frequency
copy.data = signal.data.Copy()
@@ -141,9 +141,9 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
// Used in auto linking
/obj/machinery/telecomms/proc/add_link(var/obj/machinery/telecomms/T)
- var/turf/position = get_turf(src)
- var/turf/T_position = get_turf(T)
- if((position.z == T_position.z) || (src.long_range_link && T.long_range_link))
+ var/pos_z = get_z(src)
+ var/tpos_z = get_z(T)
+ if((pos_z == tpos_z) || (src.long_range_link && T.long_range_link))
for(var/x in autolinkers)
if(T.autolinkers.Find(x))
if(src != T)
@@ -256,6 +256,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
machinetype = 1
produces_heat = 0
circuit = /obj/item/weapon/circuitboard/telecomms/receiver
+ //Vars only used if you're using the overmap
+ var/overmap_range = 0
+ var/overmap_range_min = 0
+ var/overmap_range_max = 5
+
+ var/list/linked_radios_weakrefs = list()
/obj/machinery/telecomms/receiver/Initialize()
. = ..()
@@ -267,8 +273,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
RefreshParts()
-/obj/machinery/telecomms/receiver/receive_signal(datum/signal/signal)
+/obj/machinery/telecomms/receiver/proc/link_radio(var/obj/item/device/radio/R)
+ if(!istype(R))
+ return
+ linked_radios_weakrefs |= weakref(R)
+/obj/machinery/telecomms/receiver/receive_signal(datum/signal/signal)
if(!on) // has to be on to receive messages
return
if(!signal)
@@ -276,7 +286,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
if(!check_receive_level(signal))
return
- if(signal.transmission_method == 2)
+ if(signal.transmission_method == TRANSMISSION_SUBSPACE)
if(is_freq_listening(signal)) // detect subspace signals
@@ -288,14 +298,31 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
relay_information(signal, "/obj/machinery/telecomms/bus") // Send it to a bus instead, if it's linked to one
/obj/machinery/telecomms/receiver/proc/check_receive_level(datum/signal/signal)
+ // If it's a direct message from a bluespace radio, we eat it and convert it into a subspace signal locally
+ if(signal.transmission_method == TRANSMISSION_BLUESPACE)
+ var/obj/item/device/radio/R = signal.data["radio"]
- if(signal.data["level"] != listening_level)
+ //Who're you?
+ if(!(weakref(R) in linked_radios_weakrefs))
+ signal.data["reject"] = 1
+ return 0
+
+ //We'll resend this for you
+ signal.data["level"] = z
+ signal.transmission_method = TRANSMISSION_SUBSPACE
+ return 1
+
+ //Where can we hear?
+ var/list/listening_levels = using_map.get_map_levels(listening_level, TRUE, overmap_range)
+
+ // We couldn't 'hear' it, maybe a relay linked to our hub can 'hear' it
+ if(!(signal.data["level"] in listening_levels))
for(var/obj/machinery/telecomms/hub/H in links)
- var/list/connected_levels = list()
+ var/list/relayed_levels = list()
for(var/obj/machinery/telecomms/relay/R in H.links)
if(R.can_receive(signal))
- connected_levels |= R.listening_level
- if(signal.data["level"] in connected_levels)
+ relayed_levels |= R.listening_level
+ if(signal.data["level"] in relayed_levels)
return 1
return 0
return 1
@@ -405,7 +432,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
// Add our level and send it back
if(can_send(signal))
- signal.data["level"] |= listening_level
+ signal.data["level"] |= using_map.get_map_levels(listening_level)
// Checks to see if it can send/receive.
@@ -602,7 +629,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
totaltraffic += traffic // add current traffic to total traffic
//Is this a test signal? Bypass logging
- if(signal.data["type"] != 4)
+ if(signal.data["type"] != SIGNAL_TEST)
// If signal has a message and appropriate frequency
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 2a662ea5ff2..1ca1ae65065 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -256,7 +256,7 @@ var/list/civilian_cartridges = list(
var/datum/signal/status_signal = new
status_signal.source = src
- status_signal.transmission_method = 1
+ status_signal.transmission_method = TRANSMISSION_RADIO
status_signal.data["command"] = command
switch(command)
diff --git a/code/game/objects/items/devices/PDA/radio.dm b/code/game/objects/items/devices/PDA/radio.dm
index 56ec64d8a75..133798e4b18 100644
--- a/code/game/objects/items/devices/PDA/radio.dm
+++ b/code/game/objects/items/devices/PDA/radio.dm
@@ -22,7 +22,7 @@
var/datum/signal/signal = new()
signal.source = src
- signal.transmission_method = 1
+ signal.transmission_method = TRANSMISSION_RADIO
signal.data[key] = value
if(key2)
signal.data[key2] = value2
diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm
index b1c3bd41f2c..120df593e92 100644
--- a/code/game/objects/items/devices/communicator/cartridge.dm
+++ b/code/game/objects/items/devices/communicator/cartridge.dm
@@ -329,7 +329,7 @@
var/datum/signal/status_signal = new
status_signal.source = src
- status_signal.transmission_method = 1
+ status_signal.transmission_method = TRANSMISSION_RADIO
status_signal.data["command"] = command
switch(command)
diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm
index 0cac9027966..562ed569902 100644
--- a/code/game/objects/items/devices/gps.dm
+++ b/code/game/objects/items/devices/gps.dm
@@ -83,7 +83,7 @@ var/list/GPS_list = list()
dat["curr_z_name"] = using_map.get_zlevel_name(curr.z)
dat["gps_list"] = list()
dat["z_level_detection"] = using_map.get_map_levels(curr.z, long_range)
-
+
for(var/obj/item/device/gps/G in GPS_list - src)
if(!G.tracking || G.emped || G.hide_signal)
continue
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 278d911f0ef..69b5192abbd 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -52,6 +52,13 @@ var/global/list/default_medbay_channels = list(
w_class = ITEMSIZE_SMALL
show_messages = 1
+ // Bluespace radios talk directly to telecomms equipment
+ var/bluespace_radio = FALSE
+ var/weakref/bs_tx_weakref //Maybe misleading, this is the device to TRANSMIT TO
+ // For mappers or subtypes, to start them prelinked to these devices
+ var/bs_tx_preload_id
+ var/bs_rx_preload_id
+
matter = list("glass" = 25,DEFAULT_WALL_MATERIAL = 75)
var/const/FREQ_LISTENING = 1
var/list/internal_channels
@@ -90,6 +97,43 @@ var/global/list/default_medbay_channels = list(
for (var/ch_name in channels)
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
+ if(bluespace_radio)
+ if(bs_tx_preload_id)
+ //Try to find a receiver
+ for(var/obj/machinery/telecomms/receiver/RX in telecomms_list)
+ if(RX.id == bs_tx_preload_id) //Again, bs_tx is the thing to TRANSMIT TO, so a receiver.
+ bs_tx_weakref = weakref(RX)
+ RX.link_radio(src)
+ break
+ //Hmm, howabout an AIO machine
+ if(!bs_tx_weakref)
+ for(var/obj/machinery/telecomms/allinone/AIO in telecomms_list)
+ if(AIO.id == bs_tx_preload_id)
+ bs_tx_weakref = weakref(AIO)
+ AIO.link_radio(src)
+ break
+ if(!bs_tx_weakref)
+ testing("A radio [src] at [x],[y],[z] specified bluespace prelink IDs, but the machines with corresponding IDs ([bs_tx_preload_id], [bs_rx_preload_id]) couldn't be found.")
+
+ if(bs_rx_preload_id)
+ var/found = 0
+ //Try to find a transmitter
+ for(var/obj/machinery/telecomms/broadcaster/TX in telecomms_list)
+ if(TX.id == bs_rx_preload_id) //Again, bs_rx is the thing to RECEIVE FROM, so a transmitter.
+ TX.link_radio(src)
+ found = 1
+ break
+ //Hmm, howabout an AIO machine
+ if(!found)
+ for(var/obj/machinery/telecomms/allinone/AIO in telecomms_list)
+ if(AIO.id == bs_rx_preload_id)
+ AIO.link_radio(src)
+ found = 1
+ break
+ if(!found)
+ testing("A radio [src] at [x],[y],[z] specified bluespace prelink IDs, but the machines with corresponding IDs ([bs_tx_preload_id], [bs_rx_preload_id]) couldn't be found.")
+
+
/obj/item/device/radio/attack_self(mob/user as mob)
user.set_machine(src)
interact(user)
@@ -240,11 +284,10 @@ var/global/list/default_medbay_channels = list(
if(.)
SSnanoui.update_uis(src)
-/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT
+/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel, var/list/zlevels) //BS12 EDIT
var/datum/radio_frequency/connection = null
if(channel && channels && channels.len > 0)
if (channel == "department")
- //to_world("DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"")
channel = channels[1]
connection = secure_radio_connections[channel]
else
@@ -253,12 +296,15 @@ var/global/list/default_medbay_channels = list(
if (!istype(connection))
return
+ if(!LAZYLEN(zlevels))
+ zlevels = list(0)
+
var/static/mob/living/silicon/ai/announcer/A = new /mob/living/silicon/ai/announcer(src, null, null, 1)
A.SetName(from)
Broadcast_Message(connection, A,
0, "*garbled automated announcement*", src,
message, from, "Automated Announcement", from, "synthesized voice",
- 4, 0, list(0), connection.frequency, "states")
+ 4, 0, zlevels, connection.frequency, "states")
// Interprets the message mode when talking into a radio, possibly returning a connection datum
/obj/item/device/radio/proc/handle_message_mode(mob/living/M as mob, message, message_mode)
@@ -310,7 +356,7 @@ var/global/list/default_medbay_channels = list(
if (!istype(connection))
return FALSE
- var/turf/position = get_turf(src)
+ var/pos_z = get_z(src)
//#### Tagging the signal with all appropriate identity values ####//
@@ -359,10 +405,63 @@ var/global/list/default_medbay_channels = list(
jobname = "Unknown"
voicemask = 1
+ // First, we want to generate a new radio signal
+ var/datum/signal/signal = new
+ // --- Finally, tag the actual signal with the appropriate values ---
+ signal.data = list(
+ // Identity-associated tags:
+ "mob" = M, // store a reference to the mob
+ "mobtype" = M.type, // the mob's type
+ "realname" = real_name, // the mob's real name
+ "name" = displayname, // the mob's display name
+ "job" = jobname, // the mob's job
+ "key" = mobkey, // the mob's key
+ "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood
+ "vname" = M.voice_name, // the name to display if the voice wasn't understood
+ "vmask" = voicemask, // 1 if the mob is using a voice gas mask
- /* ###### Radio headsets can only broadcast through subspace ###### */
- if(subspace_transmission)
+ // We store things that would otherwise be kept in the actual mob
+ // so that they can be logged even AFTER the mob is deleted or something
+
+ // Other tags:
+ "compression" = rand(45,50), // compressed radio signal
+ "message" = message, // the actual sent message
+ "connection" = connection, // the radio connection to use
+ "radio" = src, // stores the radio used for transmission
+ "slow" = 0, // how much to sleep() before broadcasting - simulates net lag
+ "traffic" = 0, // dictates the total traffic sum that the signal went through
+ "type" = SIGNAL_NORMAL, // determines what type of radio input it is: normal broadcast
+ "server" = null, // the last server to log this signal
+ "reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery
+ "level" = pos_z, // The source's z level
+ "language" = speaking,
+ "verb" = verb
+ )
+ signal.frequency = connection.frequency // Quick frequency set
+
+ var/filter_type = DATA_LOCAL //If we end up having to send it the old fashioned way, it's with this data var.
+
+ /* ###### Bluespace radios talk directly to receivers (and only directly to receivers) ###### */
+ if(bluespace_radio)
+ //Nothing to transmit to
+ if(!bs_tx_weakref)
+ to_chat(loc, "\The [src] buzzes to inform you of the lack of a functioning connection.")
+ return FALSE
+
+ var/obj/machinery/telecomms/tx_to = bs_tx_weakref.resolve()
+ //Was linked, now destroyed or something
+ if(!tx_to)
+ bs_tx_weakref = null
+ to_chat(loc, "\The [src] buzzes to inform you of the lack of a functioning connection.")
+ return FALSE
+
+ //Transmitted in the blind. If we get a message back, cool. If not, oh well.
+ signal.transmission_method = TRANSMISSION_BLUESPACE
+ return tx_to.receive_signal(signal)
+
+ /* ###### Radios with subspace_transmission can only broadcast through subspace (unless they have adhoc_fallback) ###### */
+ else if(subspace_transmission)
var/list/jamming = is_jammed(src)
if(jamming)
var/distance = jamming["distance"]
@@ -370,43 +469,9 @@ var/global/list/default_medbay_channels = list(
return FALSE
// First, we want to generate a new radio signal
- var/datum/signal/signal = new
- signal.transmission_method = 2 // 2 would be a subspace transmission.
- // transmission_method could probably be enumerated through #define. Would be neater.
+ signal.transmission_method = TRANSMISSION_SUBSPACE
- // --- Finally, tag the actual signal with the appropriate values ---
- signal.data = list(
- // Identity-associated tags:
- "mob" = M, // store a reference to the mob
- "mobtype" = M.type, // the mob's type
- "realname" = real_name, // the mob's real name
- "name" = displayname, // the mob's display name
- "job" = jobname, // the mob's job
- "key" = mobkey, // the mob's key
- "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood
- "vname" = M.voice_name, // the name to display if the voice wasn't understood
- "vmask" = voicemask, // 1 if the mob is using a voice gas mask
-
- // We store things that would otherwise be kept in the actual mob
- // so that they can be logged even AFTER the mob is deleted or something
-
- // Other tags:
- "compression" = rand(45,50), // compressed radio signal
- "message" = message, // the actual sent message
- "connection" = connection, // the radio connection to use
- "radio" = src, // stores the radio used for transmission
- "slow" = 0, // how much to sleep() before broadcasting - simulates net lag
- "traffic" = 0, // dictates the total traffic sum that the signal went through
- "type" = 0, // determines what type of radio input it is: normal broadcast
- "server" = null, // the last server to log this signal
- "reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery
- "level" = position.z, // The source's z level
- "language" = speaking,
- "verb" = verb
- )
- signal.frequency = connection.frequency // Quick frequency set
-
- //#### Sending the signal to all subspace receivers ####//
+ //#### Sending the signal to all subspace receivers ####//
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
R.receive_signal(signal)
@@ -416,84 +481,47 @@ var/global/list/default_medbay_channels = list(
R.receive_signal(signal)
// Receiving code can be located in Telecommunications.dm
- if(signal.data["done"] && position.z in signal.data["level"])
+ if(signal.data["done"] && (pos_z in signal.data["level"]))
return TRUE //Huzzah, sent via subspace
else if(adhoc_fallback) //Less huzzah, we have to fallback
to_chat(loc, "\The [src] pings as it falls back to local radio transmission.")
subspace_transmission = FALSE
- return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
- src, message, displayname, jobname, real_name, M.voice_name,
- signal.transmission_method, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency,verb,speaking)
- /* ###### Intercoms and station-bounced radios ###### */
+ else //Oh well
+ return FALSE
- var/filter_type = 2
+ /* ###### Intercoms and station-bounced radios ###### */
+ else
+ /* --- Intercoms can only broadcast to other intercoms, but bounced radios can broadcast to bounced radios and intercoms --- */
+ if(istype(src, /obj/item/device/radio/intercom))
+ filter_type = DATA_INTERCOM
- /* --- Intercoms can only broadcast to other intercoms, but bounced radios can broadcast to bounced radios and intercoms --- */
- if(istype(src, /obj/item/device/radio/intercom))
- filter_type = 1
+ /* --- Try to send a normal subspace broadcast first */
+ signal.transmission_method = TRANSMISSION_SUBSPACE
+ signal.data["compression"] = 0
+ for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
+ R.receive_signal(signal)
- var/datum/signal/signal = new
- signal.transmission_method = 2
-
-
- /* --- Try to send a normal subspace broadcast first */
-
- signal.data = list(
-
- "mob" = M, // store a reference to the mob
- "mobtype" = M.type, // the mob's type
- "realname" = real_name, // the mob's real name
- "name" = displayname, // the mob's display name
- "job" = jobname, // the mob's job
- "key" = mobkey, // the mob's key
- "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood
- "vname" = M.voice_name, // the name to display if the voice wasn't understood
- "vmask" = voicemask, // 1 if the mob is using a voice gas mas
-
- "compression" = 0, // uncompressed radio signal
- "message" = message, // the actual sent message
- "connection" = connection, // the radio connection to use
- "radio" = src, // stores the radio used for transmission
- "slow" = 0,
- "traffic" = 0,
- "type" = 0,
- "server" = null,
- "reject" = 0,
- "level" = position.z,
- "language" = speaking,
- "verb" = verb
- )
- signal.frequency = connection.frequency // Quick frequency set
+ // Allinone can act as receivers.
+ for(var/obj/machinery/telecomms/allinone/R in telecomms_list)
+ R.receive_signal(signal)
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
R.receive_signal(signal)
- if(signal.data["done"] && position.z in signal.data["level"])
- if(adhoc_fallback)
- to_chat(loc, "\The [src] pings as it reestablishes subspace communications.")
- subspace_transmission = TRUE
- // we're done here.
- return TRUE
-
- // Oh my god; the comms are down or something because the signal hasn't been broadcasted yet in our level.
- // Send a mundane broadcast with limited targets:
-
- //THIS IS TEMPORARY. YEAH RIGHT
- if(!connection) return FALSE //~Carn
-
-//VOREStation Add Start
- if(bluespace_radio)
- return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
- src, message, displayname, jobname, real_name, M.voice_name,
- 0, signal.data["compression"], list(0), connection.frequency,verb,speaking)
-//VOREStation Add End
+ if(signal.data["done"] && pos_z in signal.data["level"])
+ if(adhoc_fallback)
+ to_chat(loc, "\The [src] pings as it reestablishes subspace communications.")
+ subspace_transmission = TRUE
+ // we're done here.
+ return TRUE
+ //Nothing handled any sort of remote radio-ing and returned before now, just squawk on this zlevel.
return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
- src, message, displayname, jobname, real_name, M.voice_name,
- filter_type, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency,verb,speaking)
+ src, message, displayname, jobname, real_name, M.voice_name,
+ filter_type, signal.data["compression"], using_map.get_map_levels(pos_z), connection.frequency, verb, speaking)
/obj/item/device/radio/hear_talk(mob/M as mob, msg, var/verb = "says", var/datum/language/speaking = null)
@@ -502,33 +530,20 @@ var/global/list/default_medbay_channels = list(
talk_into(M, msg,null,verb,speaking)
-/*
-/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message)
-
- if ((R.frequency == frequency && message))
- return TRUE
- else if
-
- else
- return null
- return
-*/
-
/obj/item/device/radio/proc/receive_range(freq, level)
// check if this radio can receive on the given frequency, and if so,
// what the range is in which mobs will hear the radio
// returns: -1 if can't receive, range otherwise
-
- if (wires.IsIndexCut(WIRE_RECEIVE))
+ if(wires.IsIndexCut(WIRE_RECEIVE))
return -1
if(!listening)
return -1
if(is_jammed(src))
return -1
if(!(0 in level))
- var/turf/position = get_turf(src)
- if((!position || !(position.z in level)) && !bluespace_radio) //VOREStation Edit
+ var/pos_z = get_z(src)
+ if(!(pos_z in level))
return -1
if(freq in ANTAG_FREQS)
if(!(src.syndie))//Checks to see if it's allowed on that frequency, based on the encryption keys
diff --git a/code/game/objects/items/devices/radio/radio_vr.dm b/code/game/objects/items/devices/radio/radio_vr.dm
index 86a16280fc9..aa12444576e 100644
--- a/code/game/objects/items/devices/radio/radio_vr.dm
+++ b/code/game/objects/items/devices/radio/radio_vr.dm
@@ -1,6 +1,3 @@
-/obj/item/device/radio
- var/bluespace_radio = FALSE
-
/obj/item/device/radio/phone
subspace_transmission = 1
canhear_range = 0
@@ -17,132 +14,20 @@
..()
internal_channels = default_medbay_channels.Copy()
-//Pathfinder's Subspace Radio
-/obj/item/device/subspaceradio
- name = "subspace radio"
- desc = "A powerful new radio recently gifted to Nanotrasen from KHI, this communications device has the ability to send and recieve transmissions from anywhere."
- catalogue_data = list(/datum/category_item/catalogue/information/organization/khi)
- icon = 'icons/vore/custom_items_vr.dmi'
- icon_override = 'icons/mob/back_vr.dmi'
- icon_state = "radiopack"
- item_state = "radiopack"
- slot_flags = SLOT_BACK
- force = 5
- throwforce = 6
- preserve_item = 1
- w_class = ITEMSIZE_LARGE
- action_button_name = "Remove/Replace Handset"
- var/obj/item/device/radio/subspacehandset/linked/handset
-/obj/item/device/subspaceradio/New() //starts without a cell for rnd
- ..()
- if(ispath(handset))
- handset = new handset(src, src)
- else
- handset = new(src, src)
+/obj/item/device/bluespaceradio/tether_prelinked
+ name = "bluespace radio (tether)"
+ handset = /obj/item/device/radio/bluespacehandset/linked/tether_prelinked
-/obj/item/device/subspaceradio/Destroy()
- . = ..()
- QDEL_NULL(handset)
+/obj/item/device/radio/bluespacehandset/linked/tether_prelinked
+ bs_tx_preload_id = "tether_rx" //Transmit to a receiver
+ bs_rx_preload_id = "tether_tx" //Recveive from a transmitter
-/obj/item/device/subspaceradio/ui_action_click()
- toggle_handset()
+/obj/item/device/bluespaceradio/talon_prelinked
+ name = "bluespace radio (talon)"
+ handset = /obj/item/device/radio/bluespacehandset/linked/talon_prelinked
-/obj/item/device/subspaceradio/attack_hand(mob/user)
- if(loc == user)
- toggle_handset()
- else
- ..()
-
-/obj/item/device/subspaceradio/MouseDrop()
- if(ismob(loc))
- if(!CanMouseDrop(src))
- return
- var/mob/M = loc
- if(!M.unEquip(src))
- return
- add_fingerprint(usr)
- M.put_in_any_hand_if_possible(src)
-
-/obj/item/device/subspaceradio/attackby(obj/item/weapon/W, mob/user, params)
- if(W == handset)
- reattach_handset(user)
- else
- return ..()
-
-/obj/item/device/subspaceradio/verb/toggle_handset()
- set name = "Toggle Handset"
- set category = "Object"
-
- var/mob/living/carbon/human/user = usr
- if(!handset)
- to_chat(user, "The handset is missing!")
- return
-
- if(handset.loc != src)
- reattach_handset(user) //Remove from their hands and back onto the defib unit
- return
-
- if(!slot_check())
- to_chat(user, "You need to equip [src] before taking out [handset].")
- else
- if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands
- to_chat(user, "You need a free hand to hold the handset!")
- update_icon() //success
-
-//checks that the base unit is in the correct slot to be used
-/obj/item/device/subspaceradio/proc/slot_check()
- var/mob/M = loc
- if(!istype(M))
- return 0 //not equipped
-
- if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src)
- return 1
- if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src)
- return 1
-
- return 0
-
-/obj/item/device/subspaceradio/dropped(mob/user)
- ..()
- reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit
-
-/obj/item/device/subspaceradio/proc/reattach_handset(mob/user)
- if(!handset) return
-
- if(ismob(handset.loc))
- var/mob/M = handset.loc
- if(M.drop_from_inventory(handset, src))
- to_chat(user, "\The [handset] snaps back into the main unit.")
- else
- handset.forceMove(src)
-
-//Subspace Radio Handset
-/obj/item/device/radio/subspacehandset
- name = "subspace radio handset"
- desc = "A large walkie talkie attached to the subspace radio by a retractable cord. It sits comfortably on a slot in the radio when not in use."
- bluespace_radio = TRUE
- icon_state = "signaller"
- slot_flags = null
- w_class = ITEMSIZE_LARGE
-
-/obj/item/device/radio/subspacehandset/linked
- var/obj/item/device/subspaceradio/base_unit
-
-/obj/item/device/radio/subspacehandset/linked/New(newloc, obj/item/device/subspaceradio/radio)
- base_unit = radio
- ..(newloc)
-
-/obj/item/device/radio/subspacehandset/linked/Destroy()
- if(base_unit)
- //ensure the base unit's icon updates
- if(base_unit.handset == src)
- base_unit.handset = null
- base_unit = null
- return ..()
-
-/obj/item/device/radio/subspacehandset/linked/dropped(mob/user)
- ..() //update twohanding
- if(base_unit)
- base_unit.reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit
+/obj/item/device/radio/bluespacehandset/linked/talon_prelinked
+ bs_tx_preload_id = "talon_aio" //Transmit to a receiver
+ bs_rx_preload_id = "talon_aio" //Recveive from a transmitter
\ No newline at end of file
diff --git a/code/game/objects/items/devices/radio/radiopack.dm b/code/game/objects/items/devices/radio/radiopack.dm
new file mode 100644
index 00000000000..c2ba25ecc2f
--- /dev/null
+++ b/code/game/objects/items/devices/radio/radiopack.dm
@@ -0,0 +1,153 @@
+/obj/item/device/bluespaceradio
+ name = "bluespace radio"
+ desc = "A powerful radio that uses a tiny bluespace wormhole to send signals directly to subspace receivers and transmitters, bypassing the limitations of subspace."
+ icon = 'icons/obj/radio.dmi'
+ icon_state = "radiopack"
+ item_state = "radiopack"
+ slot_flags = SLOT_BACK
+ force = 5
+ throwforce = 6
+ preserve_item = 1
+ w_class = ITEMSIZE_LARGE
+ action_button_name = "Remove/Replace Handset"
+
+ var/obj/item/device/radio/bluespacehandset/linked/handset = /obj/item/device/radio/bluespacehandset/linked
+
+/obj/item/device/bluespaceradio/Initialize()
+ . = ..()
+ if(ispath(handset))
+ handset = new handset(src, src)
+
+/obj/item/device/bluespaceradio/Destroy()
+ . = ..()
+ QDEL_NULL(handset)
+
+/obj/item/device/bluespaceradio/ui_action_click()
+ toggle_handset()
+
+/obj/item/device/bluespaceradio/attack_hand(var/mob/user)
+ if(loc == user)
+ toggle_handset()
+ else
+ ..()
+
+/obj/item/device/bluespaceradio/MouseDrop()
+ if(ismob(loc))
+ if(!CanMouseDrop(src))
+ return
+ var/mob/M = loc
+ if(!M.unEquip(src))
+ return
+ add_fingerprint(usr)
+ M.put_in_any_hand_if_possible(src)
+
+/obj/item/device/bluespaceradio/attackby(var/obj/item/weapon/W, var/mob/user, var/params)
+ if(W == handset)
+ reattach_handset(user)
+ else
+ return ..()
+
+/obj/item/device/bluespaceradio/verb/toggle_handset()
+ set name = "Toggle Handset"
+ set category = "Object"
+
+ var/mob/living/carbon/human/user = usr
+ if(!handset)
+ to_chat(user, "The handset is missing!")
+ return
+
+ if(handset.loc != src)
+ reattach_handset(user) //Remove from their hands and back onto the defib unit
+ return
+
+ if(!slot_check())
+ to_chat(user, "You need to equip [src] before taking out [handset].")
+ else
+ if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands
+ to_chat(user, "You need a free hand to hold the handset!")
+ update_icon() //success
+
+//checks that the base unit is in the correct slot to be used
+/obj/item/device/bluespaceradio/proc/slot_check()
+ var/mob/M = loc
+ if(!istype(M))
+ return 0 //not equipped
+
+ if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src)
+ return 1
+ if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src)
+ return 1
+
+ return 0
+
+/obj/item/device/bluespaceradio/dropped(var/mob/user)
+ ..()
+ reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit
+
+/obj/item/device/bluespaceradio/proc/reattach_handset(var/mob/user)
+ if(!handset) return
+
+ if(ismob(handset.loc))
+ var/mob/M = handset.loc
+ if(M.drop_from_inventory(handset, src))
+ to_chat(user, "\The [handset] snaps back into the main unit.")
+ else
+ handset.forceMove(src)
+
+//Subspace Radio Handset
+/obj/item/device/radio/bluespacehandset
+ name = "bluespace radio handset"
+ desc = "A large walkie talkie attached to the bluespace radio by a retractable cord. It sits comfortably on a slot in the radio when not in use."
+ bluespace_radio = TRUE
+ icon_state = "signaller"
+ slot_flags = null
+ w_class = ITEMSIZE_LARGE
+ canhear_range = 1
+
+/obj/item/device/radio/bluespacehandset/linked
+ var/obj/item/device/bluespaceradio/base_unit
+
+/obj/item/device/radio/bluespacehandset/linked/Initialize(mapload, var/obj/item/device/bluespaceradio/radio)
+ base_unit = radio
+ . = ..()
+
+/obj/item/device/radio/bluespacehandset/linked/Destroy()
+ if(base_unit)
+ //ensure the base unit's icon updates
+ if(base_unit.handset == src)
+ base_unit.handset = null
+ base_unit = null
+ return ..()
+
+/obj/item/device/radio/bluespacehandset/linked/dropped(var/mob/user)
+ ..() //update twohanding
+ if(base_unit)
+ base_unit.reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit
+
+/obj/item/device/radio/bluespacehandset/linked/receive_range(var/freq, var/list/level)
+ //Only care about megabroadcasts or things that are targeted at us
+ if(!(0 in level))
+ return -1
+ if(wires.IsIndexCut(WIRE_RECEIVE))
+ return -1
+ if(!listening)
+ return -1
+ if(is_jammed(src))
+ return -1
+ if (!on)
+ return -1
+ if (!freq) //recieved on main frequency
+ if (!listening)
+ return -1
+ else
+ var/accept = (freq==frequency && listening)
+ if (!accept)
+ for (var/ch_name in channels)
+ var/datum/radio_frequency/RF = secure_radio_connections[ch_name]
+ if (RF && RF.frequency==freq && (channels[ch_name]&FREQ_LISTENING))
+ accept = 1
+ break
+ if (!accept)
+ return -1
+
+ return canhear_range
diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm
index 96979c8452f..34503af8feb 100644
--- a/code/game/turfs/simulated/wall_types.dm
+++ b/code/game/turfs/simulated/wall_types.dm
@@ -3,20 +3,36 @@
/turf/simulated/wall/r_wall/Initialize(mapload)
. = ..(mapload, "plasteel","plasteel") //3strong
+/turf/simulated/wall/shull
+ icon_state = "hull-steel"
/turf/simulated/wall/shull/Initialize(mapload) //Spaaaace ship.
. = ..(mapload, MAT_STEELHULL, null, MAT_STEELHULL)
+/turf/simulated/wall/rshull
+ icon_state = "hull-r_steel"
/turf/simulated/wall/rshull/Initialize(mapload)
. = ..(mapload, MAT_STEELHULL, MAT_STEELHULL, MAT_STEELHULL)
+/turf/simulated/wall/pshull
+ icon_state = "hull-plasteel"
/turf/simulated/wall/pshull/Initialize(mapload) //Spaaaace-er ship.
. = ..(mapload, MAT_PLASTEELHULL, null, MAT_PLASTEELHULL)
+/turf/simulated/wall/rpshull
+ icon_state = "hull-r_plasteel"
/turf/simulated/wall/rpshull/Initialize(mapload)
. = ..(mapload, MAT_PLASTEELHULL, MAT_PLASTEELHULL, MAT_PLASTEELHULL)
+/turf/simulated/wall/dshull
+ icon_state = "hull-durasteel"
/turf/simulated/wall/dshull/Initialize(mapload) //Spaaaace-est ship.
. = ..(mapload, MAT_DURASTEELHULL, null, MAT_DURASTEELHULL)
+/turf/simulated/wall/rdshull
+ icon_state = "hull-r_durasteel"
/turf/simulated/wall/rdshull/Initialize(mapload)
. = ..(mapload, MAT_DURASTEELHULL, MAT_DURASTEELHULL, MAT_DURASTEELHULL)
+/turf/simulated/wall/thull
+ icon_state = "hull-titanium"
/turf/simulated/wall/thull/Initialize(mapload)
. = ..(mapload, MAT_TITANIUMHULL, null, MAT_TITANIUMHULL)
+/turf/simulated/wall/rthull
+ icon_state = "hull-r_titanium"
/turf/simulated/wall/rthull/Initialize(mapload)
. = ..(mapload, MAT_TITANIUMHULL, MAT_TITANIUMHULL, MAT_TITANIUMHULL)
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index ca177403acd..187f3a2775f 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -251,7 +251,7 @@ var/const/enterloopsanity = 100
/turf/proc/inertial_drift(atom/movable/A as mob|obj)
if(!(A.last_move)) return
- if((istype(A, /mob/) && src.x > 2 && src.x < (world.maxx - 1) && src.y > 2 && src.y < (world.maxy-1)))
+ if((istype(A, /mob/) && src.x > 1 && src.x < (world.maxx) && src.y > 1 && src.y < (world.maxy)))
var/mob/M = A
if(M.Process_Spacemove(1))
M.inertia_dir = 0
diff --git a/code/game/world.dm b/code/game/world.dm
index 9039b551056..504ad691671 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -181,6 +181,17 @@ var/world_topic_spam_protect_time = world.timeofday
if(!positions["misc"])
positions["misc"] = list()
positions["misc"][name] = rank
+
+ for(var/datum/data/record/t in data_core.hidden_general)
+ var/name = t.fields["name"]
+ var/rank = t.fields["rank"]
+ var/real_rank = make_list_rank(t.fields["real_rank"])
+
+ var/datum/job/J = SSjob.get_job(real_rank)
+ if(J?.offmap_spawn)
+ if(!positions["off"])
+ positions["off"] = list()
+ positions["off"][name] = rank
// Synthetics don't have actual records, so we will pull them from here.
for(var/mob/living/silicon/ai/ai in mob_list)
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 73a8e7bc5b8..ace7d48e91f 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -525,7 +525,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
//If we're announcing their arrival
if(announce)
- AnnounceArrival(new_character, new_character.mind.assigned_role)
+ AnnounceArrival(new_character, new_character.mind.assigned_role, "Common", new_character.z)
log_admin("[admin] has spawned [player_key]'s character [new_character.real_name].")
message_admins("[admin] has spawned [player_key]'s character [new_character.real_name].", 1)
diff --git a/code/modules/alarm/alarm_handler.dm b/code/modules/alarm/alarm_handler.dm
index 22b069093ad..cbec4c25b68 100644
--- a/code/modules/alarm/alarm_handler.dm
+++ b/code/modules/alarm/alarm_handler.dm
@@ -47,16 +47,17 @@
existing.clear(source)
return check_alarm_cleared(existing)
-/datum/alarm_handler/proc/major_alarms()
- return visible_alarms()
+/datum/alarm_handler/proc/major_alarms(var/z)
+ return visible_alarms(z)
-/datum/alarm_handler/proc/has_major_alarms()
- if(alarms && alarms.len)
- return 1
- return 0
+/datum/alarm_handler/proc/has_major_alarms(var/z)
+ if(!LAZYLEN(alarms))
+ return 0
-/datum/alarm_handler/proc/minor_alarms()
- return visible_alarms()
+ return LAZYLEN(major_alarms(z))
+
+/datum/alarm_handler/proc/minor_alarms(var/z)
+ return visible_alarms(z)
/datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm)
if ((alarm.end_time && world.time > alarm.end_time) || !alarm.sources.len)
@@ -101,9 +102,15 @@
for(var/listener in listeners)
call(listener, listeners[listener])(src, alarm, was_raised)
-/datum/alarm_handler/proc/visible_alarms()
+/datum/alarm_handler/proc/visible_alarms(var/z)
+ if(!LAZYLEN(alarms))
+ return list()
+
+ var/list/map_levels = using_map.get_map_levels(z)
+
var/list/visible_alarms = new()
for(var/datum/alarm/A in alarms)
- if(!A.hidden)
- visible_alarms.Add(A)
+ if(A.hidden || (z && !(A.origin?.z in map_levels)))
+ continue
+ visible_alarms.Add(A)
return visible_alarms
\ No newline at end of file
diff --git a/code/modules/alarm/atmosphere_alarm.dm b/code/modules/alarm/atmosphere_alarm.dm
index fc0fe92ee45..f19044a6b75 100644
--- a/code/modules/alarm/atmosphere_alarm.dm
+++ b/code/modules/alarm/atmosphere_alarm.dm
@@ -1,16 +1,22 @@
/datum/alarm_handler/atmosphere
category = "Atmosphere Alarms"
-/datum/alarm_handler/atmosphere/major_alarms()
+/datum/alarm_handler/atmosphere/major_alarms(var/z)
var/list/major_alarms = new()
+ var/list/map_levels = using_map.get_map_levels(z)
for(var/datum/alarm/A in visible_alarms())
+ if(z && (z && !(A.origin?.z in map_levels)))
+ continue
if(A.max_severity() > 1)
major_alarms.Add(A)
return major_alarms
-/datum/alarm_handler/atmosphere/minor_alarms()
+/datum/alarm_handler/atmosphere/minor_alarms(var/z)
var/list/minor_alarms = new()
+ var/list/map_levels = using_map.get_map_levels(z)
for(var/datum/alarm/A in visible_alarms())
+ if(z && (z && !(A.origin?.z in map_levels)))
+ continue
if(A.max_severity() == 1)
minor_alarms.Add(A)
return minor_alarms
diff --git a/code/modules/client/preferences_spawnpoints.dm b/code/modules/client/preferences_spawnpoints.dm
index c0c54169b25..acf1c771a73 100644
--- a/code/modules/client/preferences_spawnpoints.dm
+++ b/code/modules/client/preferences_spawnpoints.dm
@@ -12,6 +12,7 @@ var/list/spawntypes = list()
var/display_name //Name used in preference setup.
var/list/restrict_job = null
var/list/disallow_job = null
+ var/announce_channel = "Common"
proc/check_job_spawning(job)
if(restrict_job && !(job in restrict_job))
@@ -20,6 +21,10 @@ var/list/spawntypes = list()
if(disallow_job && (job in disallow_job))
return 0
+ var/datum/job/J = SSjob.get_job(job)
+ if(J?.offmap_spawn && !(job in restrict_job))
+ return 0
+
return 1
/datum/spawnpoint/proc/get_spawn_position()
diff --git a/code/modules/clothing/glasses/hud_vr.dm b/code/modules/clothing/glasses/hud_vr.dm
index 3dd1f0fbafe..44082e86062 100644
--- a/code/modules/clothing/glasses/hud_vr.dm
+++ b/code/modules/clothing/glasses/hud_vr.dm
@@ -71,7 +71,7 @@
These have been upgraded with medical records access and virus database integration."
mode = "med"
action_button_name = "AR Console (Crew Monitor)"
- arscreen_path = /datum/nano_module/crew_monitor
+ arscreen_path = /datum/nano_module/program/crew_monitor
enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_STATUS_R,VIS_CH_BACKUP,VIS_AUGMENTED)
ar_interact(var/mob/living/carbon/human/user)
diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
index a76b752b1b1..f543b95431b 100644
--- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
@@ -17,39 +17,39 @@
//Area allowing backpacks to be placed on rigsuits.
/obj/item/weapon/rig/vox
- allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/combat
- allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/ert
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
- /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/light/ninja
- allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/merc
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/ce
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/medical
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/hazmat
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/hazard
- allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/industrial
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/military
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \
/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
- /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/pmc
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
- /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/robotics
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact)
diff --git a/code/modules/economy/Accounts.dm b/code/modules/economy/Accounts.dm
index cfd720d4dc8..37979f96c53 100644
--- a/code/modules/economy/Accounts.dm
+++ b/code/modules/economy/Accounts.dm
@@ -9,6 +9,7 @@
var/security_level = 0 //0 - auto-identify from worn ID, require only account number
//1 - require manual login / account number and pin
//2 - require card and manual login
+ var/offmap = FALSE //Should this account be hidden from station consoles?
/datum/transaction
var/target_name = ""
@@ -18,10 +19,11 @@
var/time = ""
var/source_terminal = ""
-/proc/create_account(var/new_owner_name = "Default user", var/starting_funds = 0, var/obj/machinery/account_database/source_db)
+/proc/create_account(var/new_owner_name = "Default user", var/starting_funds = 0, var/obj/machinery/account_database/source_db, var/offmap = FALSE)
//create a new account
var/datum/money_account/M = new()
+ M.offmap = offmap
M.owner_name = new_owner_name
M.remote_access_pin = rand(1111, 111111)
M.money = starting_funds
diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm
index 251ba09e368..9e116ecf60d 100644
--- a/code/modules/economy/Accounts_DB.dm
+++ b/code/modules/economy/Accounts_DB.dm
@@ -14,31 +14,31 @@
var/creating_new_account = 0
var/const/fund_cap = 1000000
- proc/get_access_level()
- if (!held_card)
- return 0
- if(access_cent_captain in held_card.access)
- return 2
- else if(access_hop in held_card.access || access_captain in held_card.access)
- return 1
+/obj/machinery/account_database/proc/get_access_level()
+ if (!held_card)
+ return 0
+ if(access_cent_captain in held_card.access)
+ return 2
+ else if(access_hop in held_card.access || access_captain in held_card.access)
+ return 1
- proc/create_transation(target, reason, amount)
- var/datum/transaction/T = new()
- T.target_name = target
- T.purpose = reason
- T.amount = amount
- T.date = current_date_string
- T.time = stationtime2text()
- T.source_terminal = machine_id
- return T
+/obj/machinery/account_database/proc/create_transation(target, reason, amount)
+ var/datum/transaction/T = new()
+ T.target_name = target
+ T.purpose = reason
+ T.amount = amount
+ T.date = current_date_string
+ T.time = stationtime2text()
+ T.source_terminal = machine_id
+ return T
- proc/accounting_letterhead(report_name)
- return {"
- [report_name]
- [station_name()] Accounting Report
-
- Generated By: [held_card.registered_name], [held_card.assignment]
- "}
+/obj/machinery/account_database/proc/accounting_letterhead(report_name)
+ return {"
+ [report_name]
+ [station_name()] Accounting Report
+
+ Generated By: [held_card.registered_name], [held_card.assignment]
+ "}
/obj/machinery/account_database/New()
machine_id = "[station_name()] Acc. DB #[num_financial_terminals++]"
@@ -98,6 +98,8 @@
var/list/accounts[0]
for(var/i=1, i<=all_money_accounts.len, i++)
var/datum/money_account/D = all_money_accounts[i]
+ if(D.offmap)
+ continue
accounts.Add(list(list(\
"account_number"=D.account_number,\
"owner_name"=D.owner_name,\
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index ff5c89e289e..c0b28cc1e2b 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -17,6 +17,7 @@ var/list/department_radio_keys = list(
":v" = "Service", ".v" = "Service",
":p" = "AI Private", ".p" = "AI Private",
":y" = "Explorer", ".y" = "Explorer",
+ ":t" = "Talon", ".t" = "Talon", //VOREStation Add,
":R" = "right ear", ".R" = "right ear",
":L" = "left ear", ".L" = "left ear",
@@ -35,6 +36,7 @@ var/list/department_radio_keys = list(
":V" = "Service", ".V" = "Service",
":P" = "AI Private", ".P" = "AI Private",
":Y" = "Explorer", ".Y" = "Explorer",
+ ":T" = "Talon", ".T" = "Talon", //VOREStation Add,
//kinda localization -- rastaf0
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
diff --git a/code/modules/mob/living/silicon/subystems.dm b/code/modules/mob/living/silicon/subystems.dm
index ac10167c2dd..b03ab5eeb21 100644
--- a/code/modules/mob/living/silicon/subystems.dm
+++ b/code/modules/mob/living/silicon/subystems.dm
@@ -2,7 +2,7 @@
var/register_alarms = 1
var/datum/nano_module/alarm_monitor/all/alarm_monitor
var/datum/nano_module/atmos_control/atmos_control
- var/datum/nano_module/crew_monitor/crew_monitor
+ var/datum/nano_module/program/crew_monitor/crew_monitor
var/datum/nano_module/law_manager/law_manager
var/datum/nano_module/power_monitor/power_monitor
var/datum/nano_module/rcon/rcon
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index cbef27dfa32..f266fa20fdd 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -370,8 +370,13 @@
//Find our spawning point.
var/list/join_props = job_master.LateSpawn(client, rank)
+
+ if(!join_props)
+ return
+
var/turf/T = join_props["turf"]
var/join_message = join_props["msg"]
+ var/announce_channel = join_props["channel"] || "Common"
if(!T || !join_message)
return 0
@@ -421,18 +426,19 @@
//Grab some data from the character prefs for use in random news procs.
- AnnounceArrival(character, rank, join_message)
+ AnnounceArrival(character, rank, join_message, announce_channel, character.z)
else
- AnnounceCyborg(character, rank, join_message)
+ AnnounceCyborg(character, rank, join_message, announce_channel, character.z)
qdel(src)
-/mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message)
+/mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message, var/channel, var/zlevel)
if (ticker.current_state == GAME_STATE_PLAYING)
+ var/list/zlevels = zlevel ? using_map.get_map_levels(zlevel, TRUE) : null
if(character.mind.role_alt_title)
rank = character.mind.role_alt_title
// can't use their name here, since cyborg namepicking is done post-spawn, so we'll just say "A new Cyborg has arrived"/"A new Android has arrived"/etc.
- global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
+ global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer", channel, zlevels)
/mob/new_player/proc/LateChoices()
var/name = client.prefs.be_random_name ? "friend" : client.prefs.real_name
@@ -452,6 +458,8 @@
dat += "Choose from the following open/valid positions:
"
dat += "[show_hidden_jobs ? "Hide":"Show"] Hidden Jobs.
"
+
+ var/deferred = ""
for(var/datum/job/job in job_master.occupations)
if(job && IsJobAvailable(job.title))
// Checks for jobs with minimum age requirements
@@ -465,9 +473,17 @@
continue
var/active = 0
// Only players with the job assigned and AFK for less than 10 minutes count as active
- for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 * 60 * 10)
+ for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 MINUTES)
active++
- dat += "[job.title] ([job.current_positions]) (Active: [active])
"
+
+ var/string = "[job.title] ([job.current_positions]) (Active: [active])
"
+
+ if(job.offmap_spawn) //At the bottom
+ deferred += string
+ else
+ dat += string
+
+ dat += deferred
dat += ""
src << browse(dat, "window=latechoices;size=300x640;can_close=1")
diff --git a/code/modules/modular_computers/computers/subtypes/dev_console.dm b/code/modules/modular_computers/computers/subtypes/dev_console.dm
index 32f24b6001d..d7dbeed75d3 100644
--- a/code/modules/modular_computers/computers/subtypes/dev_console.dm
+++ b/code/modules/modular_computers/computers/subtypes/dev_console.dm
@@ -1,7 +1,7 @@
/obj/item/modular_computer/console
name = "console"
desc = "A stationary computer."
- icon = 'icons/obj/modular_console_vr.dmi' //VOREStation Edit
+ icon = 'icons/obj/modular_console.dmi'
icon_state = "console"
icon_state_unpowered = "console"
icon_state_screensaver = "standby"
diff --git a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
index 846759c8ad7..156d67525b5 100644
--- a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
+++ b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
@@ -4,7 +4,7 @@
desc = "A portable computer."
hardware_flag = PROGRAM_LAPTOP
icon_state_unpowered = "laptop-open"
- icon = 'icons/obj/modular_laptop_vr.dmi' //VOREStation Edit
+ icon = 'icons/obj/modular_laptop.dmi'
icon_state = "laptop-open"
icon_state_screensaver = "standby"
base_idle_power_usage = 25
diff --git a/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm b/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm
index 3bbc7a396ba..9a879286189 100644
--- a/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm
+++ b/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm
@@ -1,7 +1,7 @@
/obj/item/modular_computer/tablet/preset/custom_loadout/rugged
name = "rugged tablet computer"
desc = "A rugged tablet computer."
- icon = 'icons/obj/modular_tablet_vr.dmi'
+ icon = 'icons/obj/modular_tablet.dmi'
icon_state = "rugged"
icon_state_unpowered = "rugged"
max_damage = 300
@@ -19,7 +19,7 @@
/obj/item/modular_computer/tablet/preset/custom_loadout/elite
name = "elite tablet computer"
desc = "A more expensive tablet computer."
- icon = 'icons/obj/modular_tablet_vr.dmi'
+ icon = 'icons/obj/modular_tablet.dmi'
icon_state = "elite"
icon_state_unpowered = "elite"
@@ -37,7 +37,7 @@
/obj/item/modular_computer/tablet/preset/custom_loadout/hybrid
name = "hybrid tablet computer"
desc = "A human/alien hybrid tech tablet computer."
- icon = 'icons/obj/modular_tablet_vr.dmi'
+ icon = 'icons/obj/modular_tablet.dmi'
icon_state = "hybrid"
icon_state_unpowered = "hybrid"
diff --git a/code/modules/modular_computers/file_system/programs/command/comm.dm b/code/modules/modular_computers/file_system/programs/command/comm.dm
index 71e7179566b..fc2efa88202 100644
--- a/code/modules/modular_computers/file_system/programs/command/comm.dm
+++ b/code/modules/modular_computers/file_system/programs/command/comm.dm
@@ -268,7 +268,7 @@
var/datum/signal/status_signal = new
status_signal.source = src
- status_signal.transmission_method = 1
+ status_signal.transmission_method = TRANSMISSION_RADIO
status_signal.data["command"] = command
switch(command)
diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm
index c8870347543..bb45191f2fd 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm
@@ -61,31 +61,35 @@
AH.unregister_alarm(object)
/datum/nano_module/alarm_monitor/proc/all_alarms()
+ var/z = get_z(nano_host())
var/list/all_alarms = new()
for(var/datum/alarm_handler/AH in alarm_handlers)
- all_alarms += AH.visible_alarms()
+ all_alarms += AH.visible_alarms(z)
return all_alarms
/datum/nano_module/alarm_monitor/proc/major_alarms()
+ var/z = get_z(nano_host())
var/list/all_alarms = new()
for(var/datum/alarm_handler/AH in alarm_handlers)
- all_alarms += AH.major_alarms()
+ all_alarms += AH.major_alarms(z)
return all_alarms
// Modified version of above proc that uses slightly less resources, returns 1 if there is a major alarm, 0 otherwise.
/datum/nano_module/alarm_monitor/proc/has_major_alarms()
+ var/z = get_z(nano_host())
for(var/datum/alarm_handler/AH in alarm_handlers)
- if(AH.has_major_alarms())
+ if(AH.has_major_alarms(z))
return 1
return 0
/datum/nano_module/alarm_monitor/proc/minor_alarms()
+ var/z = get_z(nano_host())
var/list/all_alarms = new()
for(var/datum/alarm_handler/AH in alarm_handlers)
- all_alarms += AH.minor_alarms()
+ all_alarms += AH.minor_alarms(z)
return all_alarms
@@ -104,9 +108,10 @@
var/list/data = host.initial_data()
var/categories[0]
+ var/z = get_z(nano_host())
for(var/datum/alarm_handler/AH in alarm_handlers)
categories[++categories.len] = list("category" = AH.category, "alarms" = list())
- for(var/datum/alarm/A in AH.major_alarms())
+ for(var/datum/alarm/A in AH.major_alarms(z))
var/cameras[0]
var/lost_sources[0]
diff --git a/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm b/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm
index 776e73ec7a5..bfcaadee3e9 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm
@@ -47,12 +47,17 @@
/datum/nano_module/atmos_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/master_ui = null, var/datum/topic_state/state = default_state)
var/list/data = host.initial_data()
var/alarms[0]
- var/turf/T = get_turf(nano_host())
+
+ var/z = get_z(nano_host())
+ var/list/map_levels = using_map.get_map_levels(z)
+ data["map_levels"] = map_levels
// TODO: Move these to a cache, similar to cameras
for(var/obj/machinery/alarm/alarm in (monitored_alarms.len ? monitored_alarms : machines))
if(!monitored_alarms.len && alarm.alarms_hidden)
continue
+ if(!(alarm.z in map_levels))
+ continue
alarms[++alarms.len] = list(
"name" = sanitize(alarm.name),
"ref"= "\ref[alarm]",
@@ -61,7 +66,6 @@
"y" = alarm.y,
"z" = alarm.z)
data["alarms"] = alarms
- data["map_levels"] = using_map.get_map_levels(T.z)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if(!ui)
diff --git a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm
index 32117e845cb..b5c086dc260 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm
@@ -53,10 +53,15 @@
var/list/sensors = list()
// Focus: If it remains null if no sensor is selected and UI will display sensor list, otherwise it will display sensor reading.
var/obj/machinery/power/sensor/focus = null
- var/turf/T = get_turf(nano_host())
+
+ var/z = get_z(nano_host())
+ var/list/map_levels = using_map.get_map_levels(z)
+ data["map_levels"] = map_levels
// Build list of data from sensor readings.
for(var/obj/machinery/power/sensor/S in grid_sensors)
+ if(!(S.z in map_levels))
+ continue
sensors.Add(list(list(
"name" = S.name_tag,
"alarm" = S.check_grid_warning()
@@ -67,7 +72,6 @@
data["all_sensors"] = sensors
if(focus)
data["focus"] = focus.return_reading_data()
- data["map_levels"] = using_map.get_map_levels(T.z)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
diff --git a/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm b/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm
index d5ee88b6700..7603b1115e3 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm
@@ -122,11 +122,19 @@
// Description: Refreshes local list of known devices.
/datum/nano_module/rcon/proc/FindDevices()
known_SMESs = new /list()
+
+ var/z = get_z(nano_host())
+ var/list/map_levels = using_map.get_map_levels(z)
+
for(var/obj/machinery/power/smes/buildable/SMES in machines)
+ if(!(SMES.z in map_levels))
+ continue
if(SMES.RCon_tag && (SMES.RCon_tag != "NO_TAG") && SMES.RCon)
known_SMESs.Add(SMES)
known_breakers = new /list()
for(var/obj/machinery/power/breakerbox/breaker in machines)
+ if(!(breaker.z in map_levels))
+ continue
if(breaker.RCon_tag != "NO_TAG")
known_breakers.Add(breaker)
diff --git a/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm
index af0489a953c..6939a44dffe 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm
@@ -41,10 +41,10 @@
// Refreshes list of active supermatter crystals
/datum/nano_module/supermatter_monitor/proc/refresh()
supermatters = list()
- var/turf/T = get_turf(nano_host())
- if(!T)
+ var/z = get_z(nano_host())
+ if(!z)
return
- var/valid_z_levels = (GetConnectedZlevels(T.z) & using_map.station_levels)
+ var/valid_z_levels = using_map.get_map_levels(z)
for(var/obj/machinery/power/supermatter/S in machines)
// Delaminating, not within coverage, not on a tile.
if(S.grav_pulling || S.exploded || !(S.z in valid_z_levels) || !istype(S.loc, /turf/))
diff --git a/code/modules/modular_computers/file_system/programs/generic/camera.dm b/code/modules/modular_computers/file_system/programs/generic/camera.dm
index a722dea6b6b..e07d9ec293f 100644
--- a/code/modules/modular_computers/file_system/programs/generic/camera.dm
+++ b/code/modules/modular_computers/file_system/programs/generic/camera.dm
@@ -15,6 +15,12 @@
return access_research
if(NETWORK_ERT)
return access_cent_specops
+ //VOREStation Add Start
+ if(NETWORK_TALON_SHIP)
+ return access_talon
+ if(NETWORK_TALON_HELMETS)
+ return access_talon
+ //VOREStation Add End
if(network in using_map.station_networks)
return access_security // Default for all other station networks
@@ -62,8 +68,10 @@
data["networks"] = all_networks
+ var/list/map_levels = using_map.get_map_levels(get_z(nano_host()), TRUE)
+
if(current_network)
- data["cameras"] = camera_repository.cameras_in_network(current_network)
+ data["cameras"] = camera_repository.cameras_in_network(current_network, map_levels)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
diff --git a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm
index 11050519973..2b259519265 100644
--- a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm
+++ b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm
@@ -1,7 +1,7 @@
/datum/computer_file/program/suit_sensors
filename = "sensormonitor"
filedesc = "Suit Sensors Monitoring"
- nanomodule_path = /datum/nano_module/crew_monitor
+ nanomodule_path = /datum/nano_module/program/crew_monitor
program_icon_state = "crew"
program_key_state = "med_key"
program_menu_icon = "heart"
@@ -12,13 +12,10 @@
size = 11
-
-
-
-/datum/nano_module/crew_monitor
+/datum/nano_module/program/crew_monitor
name = "Crew monitor"
-/datum/nano_module/crew_monitor/Topic(href, href_list)
+/datum/nano_module/program/crew_monitor/Topic(href, href_list)
if(..()) return 1
var/turf/T = get_turf(nano_host()) // TODO: Allow setting any using_map.contact_levels from the interface.
if (!T || !(T.z in using_map.player_levels))
@@ -32,20 +29,25 @@
AI.ai_actual_track(H)
return 1
-/datum/nano_module/crew_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state)
+/datum/nano_module/program/crew_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state)
var/list/data = host.initial_data()
- var/turf/T = get_turf(nano_host())
data["isAI"] = isAI(user)
- data["map_levels"] = using_map.get_map_levels(T.z, FALSE)
+
+ var/z = get_z(nano_host())
+ var/list/map_levels = using_map.get_map_levels(z, TRUE)
+ data["map_levels"] = map_levels
+
data["crewmembers"] = list()
- for(var/z in data["map_levels"]) // VOREStation Edit
- data["crewmembers"] += crew_repository.health_data(z)
+ for(var/zlevel in map_levels)
+ data["crewmembers"] += crew_repository.health_data(zlevel)
if(!data["map_levels"].len)
to_chat(user, "The crew monitor doesn't seem like it'll work here.")
- if(ui) // VOREStation Addition
- ui.close() // VOREStation Addition
+ if(program)
+ program.kill_program()
+ else if(ui)
+ ui.close()
return
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
@@ -65,7 +67,7 @@
// should make the UI auto-update; doesn't seem to?
ui.set_auto_update(1)
-/*/datum/nano_module/crew_monitor/proc/scan()
+/*/datum/nano_module/program/crew_monitor/proc/scan()
for(var/mob/living/carbon/human/H in mob_list)
if(istype(H.w_uniform, /obj/item/clothing/under))
var/obj/item/clothing/under/C = H.w_uniform
diff --git a/code/modules/modular_computers/file_system/programs/ships/navigation.dm b/code/modules/modular_computers/file_system/programs/ships/navigation.dm
new file mode 100644
index 00000000000..dbe7aed5def
--- /dev/null
+++ b/code/modules/modular_computers/file_system/programs/ships/navigation.dm
@@ -0,0 +1,63 @@
+/datum/computer_file/program/ship_nav
+ filename = "navviewer"
+ filedesc = "Ship Navigational Screen"
+ nanomodule_path = /datum/nano_module/program/ship/nav
+ program_icon_state = "helm"
+ program_key_state = "generic_key"
+ program_menu_icon = "search"
+ extended_desc = "Displays a ship's location in the sector."
+ required_access = null
+ requires_ntnet = 1
+ network_destination = "ship position sensors"
+ size = 4
+
+/datum/nano_module/program/ship/nav
+ name = "Navigation Display"
+
+/datum/nano_module/program/ship/nav/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state)
+ if(!linked)
+ to_chat(user, "You don't appear to be on a spaceship...")
+ if(program)
+ program.kill_program()
+ else if(ui)
+ ui.close()
+ return
+
+ var/list/data = list()
+ if(program)
+ data = program.get_header_data()
+
+ var/turf/T = get_turf(linked)
+ var/obj/effect/overmap/visitable/sector/current_sector = locate() in T
+
+ data["sector"] = current_sector ? current_sector.name : "Deep Space"
+ data["sector_info"] = current_sector ? current_sector.desc : "Not Available"
+ data["s_x"] = linked.x
+ data["s_y"] = linked.y
+ data["speed"] = round(linked.get_speed()*1000, 0.01)
+ data["accel"] = round(linked.get_acceleration()*1000, 0.01)
+ data["heading"] = linked.get_heading_degrees()
+ data["viewing"] = viewing_overmap(user)
+
+ if(linked.get_speed())
+ data["ETAnext"] = "[round(linked.ETA()/10)] seconds"
+ else
+ data["ETAnext"] = "N/A"
+
+ ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
+ if (!ui)
+ ui = new(user, src, ui_key, "nav.tmpl", "[linked.name] Navigation Screen", 380, 530, state = state)
+ ui.set_initial_data(data)
+ ui.open()
+ ui.set_auto_update(1)
+
+/datum/nano_module/program/ship/nav/OnTopic(var/mob/user, var/list/href_list)
+ if(..())
+ return TOPIC_HANDLED
+
+ if (!linked)
+ return TOPIC_NOACTION
+
+ if (href_list["viewing"])
+ viewing_overmap(user) ? unlook(user) : look(user)
+ return TOPIC_REFRESH
diff --git a/code/modules/modular_computers/file_system/programs/ships/ship.dm b/code/modules/modular_computers/file_system/programs/ships/ship.dm
new file mode 100644
index 00000000000..1db653153be
--- /dev/null
+++ b/code/modules/modular_computers/file_system/programs/ships/ship.dm
@@ -0,0 +1,87 @@
+/datum/nano_module/program/ship
+ var/obj/effect/overmap/visitable/ship/linked
+ var/list/viewers
+ var/extra_view = 0
+
+/datum/nano_module/program/ship/New()
+ ..()
+ sync_linked()
+ if(linked)
+ name = "[linked.name] [name]"
+
+/datum/nano_module/program/ship/Destroy()
+ if(LAZYLEN(viewers))
+ for(var/weakref/W in viewers)
+ var/M = W.resolve()
+ if(M)
+ unlook(M)
+ . = ..()
+
+/datum/nano_module/program/ship/proc/sync_linked()
+ var/obj/effect/overmap/visitable/ship/sector = get_overmap_sector(get_z(nano_host()))
+ if(!sector)
+ return
+ return attempt_hook_up_recursive(sector)
+
+/datum/nano_module/program/ship/proc/attempt_hook_up_recursive(obj/effect/overmap/visitable/ship/sector)
+ if(attempt_hook_up(sector))
+ return sector
+ for(var/obj/effect/overmap/visitable/ship/candidate in sector)
+ if((. = .(candidate)))
+ return
+
+/datum/nano_module/program/ship/proc/attempt_hook_up(obj/effect/overmap/visitable/ship/sector)
+ if(!istype(sector))
+ return
+ if(sector.check_ownership(nano_host()))
+ linked = sector
+ return 1
+
+/datum/nano_module/program/ship/proc/look(var/mob/user)
+ if(linked)
+ user.machine = nano_host()
+ user.reset_view(linked)
+ user.set_viewsize(world.view + extra_view)
+ GLOB.moved_event.register(user, src, /datum/nano_module/program/ship/proc/unlook)
+ LAZYDISTINCTADD(viewers, weakref(user))
+
+/datum/nano_module/program/ship/proc/unlook(var/mob/user)
+ user.reset_view()
+ user.set_viewsize() // reset to default
+ GLOB.moved_event.unregister(user, src, /datum/nano_module/program/ship/proc/unlook)
+ LAZYREMOVE(viewers, weakref(user))
+
+/datum/nano_module/program/ship/proc/viewing_overmap(mob/user)
+ return (weakref(user) in viewers)
+
+/datum/nano_module/program/ship/proc/DefaultTopicState()
+ return global.default_state
+
+/datum/nano_module/program/ship/Topic(var/href, var/href_list = list(), var/datum/topic_state/state)
+ if((. = ..()))
+ return
+ state = state || DefaultTopicState() || global.default_state
+ if(CanUseTopic(usr, state, href_list) == STATUS_INTERACTIVE)
+ CouldUseTopic(usr)
+ return OnTopic(usr, href_list, state)
+ CouldNotUseTopic(usr)
+ return TRUE
+
+/datum/nano_module/program/ship/proc/OnTopic(var/mob/user, var/href_list, var/datum/topic_state/state)
+ return TOPIC_NOACTION
+
+/datum/nano_module/program/ship/proc/CouldNotUseTopic(mob/user)
+ . = ..()
+ unlook(user)
+
+/datum/nano_module/program/ship/proc/CouldUseTopic(mob/user)
+ . = ..()
+ if(viewing_overmap(user))
+ look(user)
+
+/datum/nano_module/program/ship/check_eye(var/mob/user)
+ if (!get_dist(user, nano_host()) > 1 || user.blinded || !linked )
+ unlook(user)
+ return -1
+ else
+ return 0
\ No newline at end of file
diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm
index 69f4a8bb642..2f382e0f4d8 100644
--- a/code/modules/modular_computers/hardware/network_card.dm
+++ b/code/modules/modular_computers/hardware/network_card.dm
@@ -79,20 +79,25 @@ var/global/ntnet_card_uid = 1
return 0
if(holder2)
- var/turf/T = get_turf(holder2)
- if(!istype(T)) //no reception in nullspace
+ var/holderz = get_z(holder2)
+ if(!holderz) //no reception in nullspace
return 0
- if(T.z in using_map.station_levels)
- // Computer is on station. Low/High signal depending on what type of network card you have
- if(long_range)
- return 2
- else
- return 1
- if(T.z in using_map.contact_levels) //not on station, but close enough for radio signal to travel
- if(long_range) // Computer is not on station, but it has upgraded network card. Low signal.
- return 1
-
- return 0 // Computer is not on station and does not have upgraded network card. No signal.
+ var/list/zlevels_in_range = using_map.get_map_levels(holderz, long_range)
+ var/best = 0
+ for(var/relay in ntnet_global.relays)
+ var/obj/machinery/ntnet_relay/R = relay
+ //Relay is down
+ if(!R.operable())
+ continue
+ //We're on the same z
+ if(R.z == holderz)
+ best = 2
+ break // No point in going further
+ //Not on the same z but within range anyway
+ if(R.z in zlevels_in_range)
+ best = 1
+ return best
+ return 0 // No computer!
/obj/item/weapon/computer_hardware/network_card/Destroy()
if(holder2 && (holder2.network_card == src))
diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm
index c5913d00dea..2b280eaac17 100644
--- a/code/modules/multiz/turf.dm
+++ b/code/modules/multiz/turf.dm
@@ -30,6 +30,11 @@
var/turf/below
+/turf/simulated/open/vacuum
+ oxygen = 0
+ nitrogen = 0
+ temperature = TCMB
+
/turf/simulated/open/post_change()
..()
update()
diff --git a/code/modules/nifsoft/software/06_screens.dm b/code/modules/nifsoft/software/06_screens.dm
index 7c911623402..97f4c272a9b 100644
--- a/code/modules/nifsoft/software/06_screens.dm
+++ b/code/modules/nifsoft/software/06_screens.dm
@@ -5,7 +5,7 @@
access = access_medical
cost = 625
p_drain = 0.025
- var/datum/nano_module/crew_monitor/arscreen
+ var/datum/nano_module/program/crew_monitor/arscreen
New()
..()
diff --git a/code/modules/overmap/_defines.dm b/code/modules/overmap/_defines.dm
deleted file mode 100644
index 6cfde467938..00000000000
--- a/code/modules/overmap/_defines.dm
+++ /dev/null
@@ -1,145 +0,0 @@
-//How far from the edge of overmap zlevel could randomly placed objects spawn
-#define OVERMAP_EDGE 2
-
-#define SHIP_SIZE_TINY 1
-#define SHIP_SIZE_SMALL 2
-#define SHIP_SIZE_LARGE 3
-
-//multipliers for max_speed to find 'slow' and 'fast' speeds for the ship
-#define SHIP_SPEED_SLOW 1/(40 SECONDS)
-#define SHIP_SPEED_FAST 3/(20 SECONDS)// 15 speed
-
-#define OVERMAP_WEAKNESS_NONE 0
-#define OVERMAP_WEAKNESS_FIRE 1
-#define OVERMAP_WEAKNESS_EMP 2
-#define OVERMAP_WEAKNESS_MINING 4
-#define OVERMAP_WEAKNESS_EXPLOSIVE 8
-
-//Dimension of overmap (squares 4 lyfe)
-var/global/list/map_sectors = list()
-
-/area/overmap/
- name = "System Map"
- icon_state = "start"
- requires_power = 0
- base_turf = /turf/unsimulated/map
-
-/turf/unsimulated/map
- icon = 'icons/turf/space.dmi'
- icon_state = "map"
- initialized = FALSE // TODO - Fix unsimulated turf initialization so this override is not necessary!
-
-/turf/unsimulated/map/edge
- opacity = 1
- density = 1
-
-/turf/unsimulated/map/Initialize()
- . = ..()
- name = "[x]-[y]"
- var/list/numbers = list()
-
- if(x == 1 || x == global.using_map.overmap_size)
- numbers += list("[round(y/10)]","[round(y%10)]")
- if(y == 1 || y == global.using_map.overmap_size)
- numbers += "-"
- if(y == 1 || y == global.using_map.overmap_size)
- numbers += list("[round(x/10)]","[round(x%10)]")
-
- for(var/i = 1 to numbers.len)
- var/image/I = image('icons/effects/numbers.dmi',numbers[i])
- I.pixel_x = 5*i - 2
- I.pixel_y = world.icon_size/2 - 3
- if(y == 1)
- I.pixel_y = 3
- I.pixel_x = 5*i + 4
- if(y == global.using_map.overmap_size)
- I.pixel_y = world.icon_size - 9
- I.pixel_x = 5*i + 4
- if(x == 1)
- I.pixel_x = 5*i - 2
- if(x == global.using_map.overmap_size)
- I.pixel_x = 5*i + 2
- add_overlay(I)
-
-//list used to track which zlevels are being 'moved' by the proc below
-var/list/moving_levels = list()
-//Proc to 'move' stars in spess
-//yes it looks ugly, but it should only fire when state actually change.
-//null direction stops movement
-proc/toggle_move_stars(zlevel, direction)
- if(!zlevel)
- return
-
- if (moving_levels["[zlevel]"] != direction)
- moving_levels["[zlevel]"] = direction
-
- var/list/spaceturfs = block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel))
- for(var/turf/space/T in spaceturfs)
- T.toggle_transit(direction)
- CHECK_TICK
-/*
-//list used to cache empty zlevels to avoid nedless map bloat
-var/list/cached_space = list()
-
-proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A)
- var/obj/effect/map/M = map_sectors["[T.z]"]
- if (!M)
- return
- var/mapx = M.x
- var/mapy = M.y
- var/nx = 1
- var/ny = 1
- var/nz = M.map_z
-
- if(T.x <= TRANSITIONEDGE)
- nx = world.maxx - TRANSITIONEDGE - 2
- ny = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2)
- mapx = max(1, mapx-1)
-
- else if (A.x >= (world.maxx - TRANSITIONEDGE - 1))
- nx = TRANSITIONEDGE + 2
- ny = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2)
- mapx = min(world.maxx, mapx+1)
-
- else if (T.y <= TRANSITIONEDGE)
- ny = world.maxy - TRANSITIONEDGE -2
- nx = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2)
- mapy = max(1, mapy-1)
-
- else if (A.y >= (world.maxy - TRANSITIONEDGE - 1))
- ny = TRANSITIONEDGE + 2
- nx = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2)
- mapy = min(world.maxy, mapy+1)
-
- testing("[A] moving from [M] ([M.x], [M.y]) to ([mapx],[mapy]).")
-
- var/turf/map = locate(mapx,mapy,OVERMAP_ZLEVEL)
- var/obj/effect/map/TM = locate() in map
- if(TM)
- nz = TM.map_z
- testing("Destination: [TM]")
- else
- if(cached_space.len)
- var/obj/effect/map/sector/temporary/cache = cached_space[cached_space.len]
- cached_space -= cache
- nz = cache.map_z
- cache.x = mapx
- cache.y = mapy
- testing("Destination: *cached* [TM]")
- else
- world.maxz++
- nz = world.maxz
- TM = new /obj/effect/map/sector/temporary(mapx, mapy, nz)
- testing("Destination: *new* [TM]")
-
- var/turf/dest = locate(nx,ny,nz)
- if(dest)
- A.loc = dest
-
- if(istype(M, /obj/effect/map/sector/temporary))
- var/obj/effect/map/sector/temporary/source = M
- if (source.can_die())
- testing("Catching [M] for future use")
- source.loc = null
- cached_space += source
-*/
\ No newline at end of file
diff --git a/code/modules/overmap/helpers.dm b/code/modules/overmap/helpers.dm
new file mode 100644
index 00000000000..e07be07ac02
--- /dev/null
+++ b/code/modules/overmap/helpers.dm
@@ -0,0 +1,5 @@
+/proc/get_overmap_sector(var/z)
+ if(using_map.use_overmap)
+ return map_sectors["[z]"]
+ else
+ return null
diff --git a/code/modules/overmap/overmap_shuttle.dm b/code/modules/overmap/overmap_shuttle.dm
index c3195c99de1..b614137db4f 100644
--- a/code/modules/overmap/overmap_shuttle.dm
+++ b/code/modules/overmap/overmap_shuttle.dm
@@ -1,4 +1,4 @@
-#define waypoint_sector(waypoint) map_sectors["[waypoint.z]"]
+#define waypoint_sector(waypoint) get_overmap_sector(get_z(waypoint))
/datum/shuttle/autodock/overmap
warmup_time = 10
diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm
index f4378746090..9c3408eabfd 100644
--- a/code/modules/overmap/sectors.dm
+++ b/code/modules/overmap/sectors.dm
@@ -82,7 +82,7 @@
//Helper for init.
/obj/effect/overmap/visitable/proc/check_ownership(obj/object)
- if((object.z in map_z) && !(get_area(object) in SSshuttles.shuttle_areas))
+ if((get_z(object) in map_z) && !(get_area(object) in SSshuttles.shuttle_areas))
return 1
//If shuttle_name is false, will add to generic waypoints; otherwise will add to restricted. Does not do checks.
diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm
index 4ab9d241df4..f7441287ac7 100644
--- a/code/modules/overmap/ships/computers/ship.dm
+++ b/code/modules/overmap/ships/computers/ship.dm
@@ -17,7 +17,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov
return 1
/obj/machinery/computer/ship/proc/sync_linked()
- var/obj/effect/overmap/visitable/ship/sector = map_sectors["[z]"]
+ var/obj/effect/overmap/visitable/ship/sector = get_overmap_sector(z)
if(!sector)
return
return attempt_hook_up_recursive(sector)
diff --git a/code/modules/overmap/ships/landable.dm b/code/modules/overmap/ships/landable.dm
index 967fdeb5710..0a28eefd8d2 100644
--- a/code/modules/overmap/ships/landable.dm
+++ b/code/modules/overmap/ships/landable.dm
@@ -80,7 +80,7 @@
. = ..()
/obj/effect/shuttle_landmark/ship/Destroy()
- var/obj/effect/overmap/visitable/ship/landable/ship = map_sectors["[z]"]
+ var/obj/effect/overmap/visitable/ship/landable/ship = get_overmap_sector(z)
if(istype(ship) && ship.landmark == src)
ship.landmark = null
. = ..()
@@ -141,7 +141,7 @@
on_landing(from, into)
/obj/effect/overmap/visitable/ship/landable/proc/on_landing(obj/effect/shuttle_landmark/from, obj/effect/shuttle_landmark/into)
- var/obj/effect/overmap/visitable/target = map_sectors["[into.z]"]
+ var/obj/effect/overmap/visitable/target = get_overmap_sector(get_z(into))
var/datum/shuttle/shuttle_datum = SSshuttles.shuttles[shuttle]
if(into.landmark_tag == shuttle_datum.motherdock) // If our motherdock is a landable ship, it won't be found properly here so we need to find it manually.
for(var/obj/effect/overmap/visitable/ship/landable/landable in SSshuttles.ships)
diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm
index adb7e802697..aec5c06f75c 100644
--- a/code/modules/overmap/spacetravel.dm
+++ b/code/modules/overmap/spacetravel.dm
@@ -57,7 +57,7 @@ proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A)
if (!T || !A)
return
- var/obj/effect/overmap/visitable/M = map_sectors["[T.z]"]
+ var/obj/effect/overmap/visitable/M = get_overmap_sector(T.z)
if (!M)
return
diff --git a/code/modules/overmap/turfs.dm b/code/modules/overmap/turfs.dm
index 3508203a6e6..fc9f0b16eb9 100644
--- a/code/modules/overmap/turfs.dm
+++ b/code/modules/overmap/turfs.dm
@@ -1,7 +1,7 @@
//Dimension of overmap (squares 4 lyfe)
var/global/list/map_sectors = list()
-/area/overmap/
+/area/overmap
name = "System Map"
icon_state = "start"
requires_power = 0
diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm
index 99761dfe258..38f2d41f25c 100644
--- a/code/modules/shuttles/landmarks.dm
+++ b/code/modules/shuttles/landmarks.dm
@@ -55,14 +55,14 @@
if(!istype(docking_controller))
log_error("Could not find docking controller for shuttle waypoint '[name]', docking tag was '[docking_tag]'.")
if(using_map.use_overmap)
- var/obj/effect/overmap/visitable/location = map_sectors["[z]"]
+ var/obj/effect/overmap/visitable/location = get_overmap_sector(z)
if(location && location.docking_codes)
docking_controller.docking_codes = location.docking_codes
/obj/effect/shuttle_landmark/forceMove()
- var/obj/effect/overmap/visitable/map_origin = map_sectors["[z]"]
+ var/obj/effect/overmap/visitable/map_origin = get_overmap_sector(z)
. = ..()
- var/obj/effect/overmap/visitable/map_destination = map_sectors["[z]"]
+ var/obj/effect/overmap/visitable/map_destination = get_overmap_sector(z)
if(map_origin != map_destination)
if(map_origin)
map_origin.remove_landmark(src, shuttle_restricted)
diff --git a/code/modules/shuttles/shuttle_autodock.dm b/code/modules/shuttles/shuttle_autodock.dm
index b9b1801205b..4181af5b15d 100644
--- a/code/modules/shuttles/shuttle_autodock.dm
+++ b/code/modules/shuttles/shuttle_autodock.dm
@@ -30,7 +30,7 @@
if(active_docking_controller)
set_docking_codes(active_docking_controller.docking_codes)
else if(global.using_map.use_overmap)
- var/obj/effect/overmap/visitable/location = map_sectors["[current_location.z]"]
+ var/obj/effect/overmap/visitable/location = get_overmap_sector(get_z(current_location))
if(location && location.docking_codes)
set_docking_codes(location.docking_codes)
dock()
diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm
index f8c2a8210d1..a3485496d29 100644
--- a/code/modules/shuttles/shuttle_console.dm
+++ b/code/modules/shuttles/shuttle_console.dm
@@ -159,7 +159,7 @@ GLOBAL_LIST_BOILERPLATE(papers_dockingcode, /obj/item/weapon/paper/dockingcodes)
var/dockingcodes = null
var/z_to_check = codes_from_z ? codes_from_z : z
if(using_map.use_overmap)
- var/obj/effect/overmap/visitable/location = map_sectors["[z_to_check]"]
+ var/obj/effect/overmap/visitable/location = get_overmap_sector(z_to_check)
if(location && location.docking_codes)
dockingcodes = location.docking_codes
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index 11fae65b5bc..db5459404d2 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -106,18 +106,8 @@
if(telepad.panel_open)
data["tempMsg"] = "Telepad undergoing physical maintenance operations."
- data["sectorOptions"] = list()
- //We'll base our options on overmap range
- if(using_map.use_overmap)
- data["sectorOptions"] += z //Definitely at least our own even if we're not in an overmap sector.
- var/obj/effect/overmap/visitable/my_sector = map_sectors["[z]"]
- if(my_sector)
- for(var/obj/effect/overmap/visitable/S in range(get_turf(my_sector), overmap_range))
- data["sectorOptions"] |= S.map_z
- //We'll base our options on player_levels
- else
- for(var/z in using_map.player_levels)
- data["sectorOptions"] += z
+ //We'll base our options on connected z's or overmap
+ data["sectorOptions"] = using_map.get_map_levels(z, TRUE, overmap_range)
if(last_tele_data)
data["lastTeleData"] = list()
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index f3e7e10b85e..63958e93a40 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/obj/modular_console.dmi b/icons/obj/modular_console.dmi
index 125711410dc..544f7341d1a 100644
Binary files a/icons/obj/modular_console.dmi and b/icons/obj/modular_console.dmi differ
diff --git a/icons/obj/modular_console_vr.dmi b/icons/obj/modular_console_vr.dmi
deleted file mode 100644
index 125711410dc..00000000000
Binary files a/icons/obj/modular_console_vr.dmi and /dev/null differ
diff --git a/icons/obj/modular_laptop.dmi b/icons/obj/modular_laptop.dmi
index 4294fa43701..d4d750630df 100644
Binary files a/icons/obj/modular_laptop.dmi and b/icons/obj/modular_laptop.dmi differ
diff --git a/icons/obj/modular_laptop_vr.dmi b/icons/obj/modular_laptop_vr.dmi
deleted file mode 100644
index 4294fa43701..00000000000
Binary files a/icons/obj/modular_laptop_vr.dmi and /dev/null differ
diff --git a/icons/obj/modular_tablet.dmi b/icons/obj/modular_tablet.dmi
index 33ca98c9408..d15ebc0cdc3 100644
Binary files a/icons/obj/modular_tablet.dmi and b/icons/obj/modular_tablet.dmi differ
diff --git a/icons/obj/modular_tablet_vr.dmi b/icons/obj/modular_tablet_vr.dmi
deleted file mode 100644
index 33ca98c9408..00000000000
Binary files a/icons/obj/modular_tablet_vr.dmi and /dev/null differ
diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi
index 98871c1a029..c5654835991 100644
Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ
diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi
index c8564ac407f..03c7ca6b9bf 100644
Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ
diff --git a/maps/southern_cross/items/encryptionkey_vr.dm b/maps/southern_cross/items/encryptionkey_vr.dm
index 94b12bdd2c6..fe1032c09b6 100644
--- a/maps/southern_cross/items/encryptionkey_vr.dm
+++ b/maps/southern_cross/items/encryptionkey_vr.dm
@@ -4,3 +4,6 @@
/obj/item/device/encryptionkey/explorer
channels = list("Science" = 1, "Explorer" = 1)
+
+/obj/item/device/encryptionkey/talon
+ channels = list("Talon" = 1)
diff --git a/maps/southern_cross/items/headset_vr.dm b/maps/southern_cross/items/headset_vr.dm
index ac737845b5a..8b6f7b1e97d 100644
--- a/maps/southern_cross/items/headset_vr.dm
+++ b/maps/southern_cross/items/headset_vr.dm
@@ -24,3 +24,10 @@
icon_state = "pilot_headset"
adhoc_fallback = TRUE
ks2type = /obj/item/device/encryptionkey/pilot
+
+/obj/item/device/radio/headset/talon
+ name = "talon headset"
+ desc = "A headset for communication between the crew of the ITV Talon."
+ adhoc_fallback = TRUE
+ icon_state = "pilot_headset"
+ ks2type = /obj/item/device/encryptionkey/talon
diff --git a/maps/southern_cross/structures/closets/misc_vr.dm b/maps/southern_cross/structures/closets/misc_vr.dm
index 033a5384ef1..e9876ee19f5 100644
--- a/maps/southern_cross/structures/closets/misc_vr.dm
+++ b/maps/southern_cross/structures/closets/misc_vr.dm
@@ -112,7 +112,7 @@
/obj/item/device/geiger,
/obj/item/weapon/cell/device,
/obj/item/device/radio,
- /obj/item/device/subspaceradio,
+ /obj/item/device/bluespaceradio/tether_prelinked,
/obj/item/stack/marker_beacon/thirty,
/obj/item/weapon/material/knife/tacknife/survival,
/obj/item/weapon/material/knife/machete/deluxe,
diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm
index 1ebe5b6e28a..a8aea6605b2 100644
--- a/maps/tether/submaps/_tether_submaps.dm
+++ b/maps/tether/submaps/_tether_submaps.dm
@@ -499,3 +499,38 @@
#include "om_ships/cruiser.dm"
#include "om_ships/vespa.dm"
#include "om_ships/generic_shuttle.dm"
+
+//////////////////////////////////////////////////////////////////////////////
+//Offmap Spawn Locations
+#include "offmap/talon.dm"
+#include "offmap/talon_areas.dm"
+
+#if MAP_TEST
+#include "offmap/talon1.dmm"
+#include "offmap/talon2.dmm"
+#endif
+
+// Talon offmap spawn
+/datum/map_template/tether_lateload/offmap/talon1
+ name = "Offmap Ship - Talon Z1"
+ desc = "Offmap spawn ship, the Talon."
+ mappath = 'offmap/talon1.dmm'
+ associated_map_datum = /datum/map_z_level/tether_lateload/talon1
+
+/datum/map_template/tether_lateload/offmap/talon2
+ name = "Offmap Ship - Talon Z2"
+ desc = "Offmap spawn ship, the Talon."
+ mappath = 'offmap/talon2.dmm'
+ associated_map_datum = /datum/map_z_level/tether_lateload/talon2
+
+/datum/map_z_level/tether_lateload/talon1
+ name = "Talon Deck One"
+ flags = MAP_LEVEL_PLAYER
+ base_turf = /turf/space
+ z = Z_LEVEL_OFFMAP1
+
+/datum/map_z_level/tether_lateload/talon2
+ name = "Talon Deck Two"
+ flags = MAP_LEVEL_PLAYER
+ base_turf = /turf/simulated/open
+ z = Z_LEVEL_OFFMAP2
diff --git a/maps/tether/submaps/aerostat/_aerostat.dm b/maps/tether/submaps/aerostat/_aerostat.dm
index 02898e6765f..1ceb13fa9f0 100644
--- a/maps/tether/submaps/aerostat/_aerostat.dm
+++ b/maps/tether/submaps/aerostat/_aerostat.dm
@@ -6,7 +6,8 @@
icon_state = "globe"
color = "#dfff3f" //Bright yellow
initial_generic_waypoints = list("aerostat_west","aerostat_east","aerostat_south","aerostat_northwest","aerostat_northeast")
-
+ extra_z_levels = list(Z_LEVEL_AEROSTAT_SURFACE)
+
// -- Datums -- //
/datum/shuttle/autodock/ferry/aerostat
diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm
index 37dcf2966c9..36e04f92f14 100644
--- a/maps/tether/submaps/beach/_beach.dm
+++ b/maps/tether/submaps/beach/_beach.dm
@@ -6,6 +6,7 @@
icon_state = "globe"
color = "#ffd300" //Sandy
initial_generic_waypoints = list("beach_e", "beach_c", "beach_nw")
+ extra_z_levels = list(Z_LEVEL_BEACH_CAVE)
//This is a special subtype of the thing that generates ores on a map
//It will generate more rich ores because of the lower numbers than the normal one
diff --git a/maps/tether/submaps/offmap/talon.dm b/maps/tether/submaps/offmap/talon.dm
new file mode 100644
index 00000000000..f4f5c07f820
--- /dev/null
+++ b/maps/tether/submaps/offmap/talon.dm
@@ -0,0 +1,306 @@
+///////////////////////////
+//// Spawning and despawning
+var/global/list/latejoin_talon = list()
+/obj/effect/landmark/talon
+ name = "JoinLateTalon"
+ delete_me = 1
+
+/obj/effect/landmark/talon/New()
+ latejoin_talon += loc // Register this turf as tram latejoin.
+ ..()
+
+/datum/spawnpoint/talon
+ display_name = "ITV Talon Cryo"
+ restrict_job = list("Talon Captain", "Talon Pilot", "Talon Engineer", "Talon Doctor", "Talon Guard")
+ msg = "has come out of cryostasis"
+ announce_channel = "Talon"
+
+/datum/spawnpoint/talon/New()
+ ..()
+ turfs = latejoin_talon
+
+/obj/machinery/cryopod/talon
+ announce_channel = "Talon"
+ on_store_message = "has entered cryogenic storage."
+ on_store_name = "ITV Talon Cryo"
+ on_enter_visible_message = "starts climbing into the"
+ on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward."
+ on_store_visible_message_1 = "hums and hisses as it moves"
+ on_store_visible_message_2 = "into cryogenic storage."
+
+/obj/effect/landmark/map_data/talon
+ height = 2
+
+///////////////////////////
+//// The Talon
+/obj/effect/overmap/visitable/ship/talon
+ name = "ITV Talon"
+ desc = "A semi-modern make of ship from Haephestus, registered as the ITV Talon."
+ vessel_mass = 10000
+ vessel_size = SHIP_SIZE_LARGE
+ initial_generic_waypoints = list("talon_fore", "talon_aft", "talon_port", "talon_starboard")
+ initial_restricted_waypoints = list("Talon's boat" = list("offmap_spawn_talonboat"), "Talon lifeboat" = list("offmap_spawn_talon_lifeboat"))
+
+/*
+/obj/effect/overmap/visitable/ship/talon/get_skybox_representation()
+ var/image/I = image('aro.dmi', "skybox")
+ I.pixel_x = 200
+ I.pixel_y = 200
+ return I
+*/
+
+// The shuttle's 'shuttle' computer
+/obj/machinery/computer/shuttle_control/explore/talonboat
+ name = "boat control console"
+ shuttle_tag = "Talon's boat"
+ req_one_access = list(access_talon)
+
+// A shuttle lateloader landmark
+/obj/effect/shuttle_landmark/shuttle_initializer/talonboat
+ name = "Talon's boat bay"
+ base_area = /area/talon/deckone/central_hallway
+ base_turf = /turf/simulated/floor/tiled/monotile
+ landmark_tag = "offmap_spawn_talonboat"
+ docking_controller = "talon_boatbay"
+ shuttle_type = /datum/shuttle/autodock/overmap/talonboat
+
+// The talon's boat
+/datum/shuttle/autodock/overmap/talonboat
+ name = "Talon's boat"
+ current_location = "offmap_spawn_talonboat"
+ docking_controller_tag = "talonboat_docker"
+ shuttle_area = /area/shuttle/talonboat
+ fuel_consumption = 2
+ defer_initialisation = TRUE
+
+/area/shuttle/talonboat
+ name = "Talon's Boat"
+
+///////////////////////////
+//// The Lifeboat
+/obj/effect/overmap/visitable/ship/landable/talon_lifeboat
+ name = "Talon lifeboat"
+ desc = "A tiny engineless lifeboat from the ITV Talon."
+ vessel_mass = 1000
+ vessel_size = SHIP_SIZE_TINY
+ shuttle = "Talon lifeboat"
+
+/*
+/obj/effect/overmap/visitable/ship/talon_lifeboat/landable/get_skybox_representation()
+ var/image/I = image('aro.dmi', "skybox")
+ I.pixel_x = 200
+ I.pixel_y = 200
+ return I
+*/
+
+// The shuttle's 'shuttle' computer
+/obj/machinery/computer/shuttle_control/explore/talon_lifeboat
+ name = "lifeboat control console"
+ shuttle_tag = "Talon lifeboat"
+ req_one_access = list(access_talon)
+
+// A shuttle lateloader landmark
+/obj/effect/shuttle_landmark/shuttle_initializer/talon_lifeboat
+ name = "Talon lifeboat dock"
+ base_area = /area/talon/maintenance/decktwo_aft
+ base_turf = /turf/simulated/floor/reinforced
+ landmark_tag = "offmap_spawn_talon_lifeboat"
+ docking_controller = "talon_lifeboatbay"
+ shuttle_type = /datum/shuttle/autodock/overmap/talon_lifeboat
+
+// The talon's boat
+/datum/shuttle/autodock/overmap/talon_lifeboat
+ name = "Talon lifeboat"
+ current_location = "offmap_spawn_talon_lifeboat"
+ docking_controller_tag = "talonlifeboat_docker"
+ shuttle_area = /area/talon/decktwo/lifeboat
+ fuel_consumption = 0
+ defer_initialisation = TRUE
+
+///////////////////////////
+//// The Various Machines
+/obj/machinery/telecomms/allinone/talon
+ freq_listening = list(PUB_FREQ, TALON_FREQ)
+
+/obj/item/weapon/paper/talon_shields
+ name = "to whatever asshole"
+ info = {"to whatever asshole keeps resetting the shield generator,
\
+please stop fucking around before you get us all killed. thanks.
\
+
\
+to whoever has to fix this,
\
+humanoid lifeforms off so we can get outside unless someone is trying to kill us,
\
+atmospheric thing off unless all the air is leaving,
\
+hull shield on because it saves a lot of power,
\
+the last one on so it covers deck one,
\
+radius of 26 is pretty good,
\
+adjust input cap so it doesn't fuck the rest of the ship
\
+good luck
\
+
\
+Harry Townes"}
+
+/obj/item/weapon/paper/talon_lifeboat
+ name = "Survival Directions"
+ info = {"Survival Directions
+Only jettison lifeboat into space if no other means of survival available.
+First attempt to protect lifeboat by means of shield generator in bubble mode until help arrives.
+Do not attempt to exit lifeboat without wearing proper protective equipment and setting up an in-situ airlock. This can be done using metalfoam and inflatable barriers.
+If lifeboat destruction is imminent, jettison lifeboat into space.
+Once in open space, consider disabling nonessential power-consuming electronics via the APC, or even disabling the APC entirely, and turning it on at invernals as necessary.
+((OOC: You can also pray/ahelp.))
+"}
+
+//Prevents remote control of drones
+/obj/machinery/drone_fabricator/talon
+ name = "somewhat glitchy drone fabricator"
+ desc = "Obtained from a derelict, it seems to work sometimes, not work sometimes, and work TOO good sometimes. Didn't come with a control console either..."
+
+/obj/machinery/drone_fabricator/talon/create_drone(var/client/player)
+ var/mob/living/silicon/robot/drone/new_drone = ..()
+ if(!istype(new_drone))
+ return
+
+ new_drone.foreign_droid = TRUE
+
+ return new_drone
+
+/obj/machinery/power/smes/buildable/offmap_spawn/New()
+ ..(1)
+ charge = 1e7
+ RCon = TRUE
+ input_level = input_level_max
+ output_level = output_level_max
+ input_attempt = TRUE
+
+/obj/machinery/power/apc/talon
+ req_access = list()
+ req_one_access = list(access_talon)
+
+/obj/machinery/power/apc/talon/hyper
+ cell_type = /obj/item/weapon/cell/hyper
+
+/obj/machinery/alarm/talon
+ req_access = list()
+ req_one_access = list(access_talon)
+
+/obj/machinery/door/firedoor/glass/talon
+ req_access = list()
+ req_one_access = list(access_talon)
+
+/obj/machinery/door/firedoor/glass/talon/hidden
+ name = "\improper Emergency Shutter System"
+ desc = "Emergency air-tight shutter, capable of sealing off breached areas. This model fits flush with the walls, and has a panel in the floor for maintenance."
+ icon = 'icons/obj/doors/DoorHazardHidden.dmi'
+
+/obj/machinery/camera/network/talon
+ network = list(NETWORK_TALON_SHIP)
+
+///////////////////////////
+//// Computers
+// Talon helmet cameras
+/datum/computer_file/program/camera_monitor/talon_helmet
+ filename = "talhcammon"
+ filedesc = "Helmet Camera Monitoring (Talon)"
+ extended_desc = "This program allows remote access to Talon helmet camera systems."
+ size = 4 //Smaller because limited scope
+ nanomodule_path = /datum/nano_module/camera_monitor/talon_helmet
+ required_access = access_talon
+
+// Talon ship cameras
+/datum/computer_file/program/camera_monitor/talon_ship
+ filename = "talscammon"
+ filedesc = "Ship Camera Monitoring (Talon)"
+ extended_desc = "This program allows remote access to the Talon's camera system."
+ size = 10 //Smaller because limited scope
+ nanomodule_path = /datum/nano_module/camera_monitor/talon_ship
+ required_access = access_talon
+
+/datum/nano_module/camera_monitor/talon_ship
+ name = "Talon Ship Camera Monitor"
+/datum/nano_module/camera_monitor/talon_ship/modify_networks_list(var/list/networks)
+ networks.Cut()
+ networks.Add(list(list("tag" = NETWORK_TALON_SHIP, "has_access" = 1)))
+ networks.Add(list(list("tag" = NETWORK_THUNDER, "has_access" = 1))) //THUNDERRRRR
+ return networks
+
+/datum/nano_module/camera_monitor/talon_helmet
+ name = "Talon Helmet Camera Monitor"
+/datum/nano_module/camera_monitor/talon_helmet/modify_networks_list(var/list/networks)
+ networks.Cut()
+ networks.Add(list(list("tag" = NETWORK_TALON_HELMETS, "has_access" = 1)))
+ return networks
+
+/datum/computer_file/program/power_monitor/talon
+ filename = "tpowermonitor"
+ filedesc = "Power Monitoring (Talon)"
+ required_access = access_talon
+/datum/computer_file/program/alarm_monitor/talon
+ filename = "talarmmonitoreng"
+ filedesc = "Alarm Monitoring (Talon)"
+ required_access = access_talon
+/datum/computer_file/program/rcon_console/talon
+ filename = "trconconsole"
+ filedesc = "RCON Remote Control (Talon)"
+ required_access = access_talon
+/datum/computer_file/program/atmos_control/talon
+ filename = "tatmoscontrol"
+ filedesc = "Atmosphere Control (Talon)"
+ required_access = access_talon
+/datum/computer_file/program/suit_sensors/talon
+ filename = "tsensormonitor"
+ filedesc = "Suit Sensors Monitoring (Talon)"
+ required_access = access_talon
+
+// Modular computer/console presets
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/pilot
+ name = "pilot's laptop"
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/pilot/install_default_programs()
+ ..()
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/engineer
+ name = "engineer's laptop"
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/engineer/install_default_programs()
+ ..()
+ hard_drive.store_file(new/datum/computer_file/program/power_monitor/talon())
+ hard_drive.store_file(new/datum/computer_file/program/alarm_monitor/talon())
+ hard_drive.store_file(new/datum/computer_file/program/rcon_console/talon())
+ hard_drive.store_file(new/datum/computer_file/program/atmos_control/talon())
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/security
+ name = "guard's laptop"
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/security/install_default_programs()
+ ..()
+ hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_ship())
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/medical
+ name = "doctor's laptop"
+
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/medical/install_default_programs()
+ ..()
+ hard_drive.store_file(new/datum/computer_file/program/suit_sensors/talon())
+ hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_helmet())
+ set_autorun("tsensormonitor")
+
+//Generic modular consoles scattered around
+/obj/item/modular_computer/console/preset/talon
+ name = "talon modular computer"
+
+/obj/item/modular_computer/console/preset/talon/install_default_hardware()
+ ..()
+ processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src)
+ tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src)
+ hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src)
+ network_card = new/obj/item/weapon/computer_hardware/network_card/wired(src)
+ nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src)
+
+/obj/item/modular_computer/console/preset/talon/install_default_programs()
+ ..()
+ hard_drive.store_file(new/datum/computer_file/program/power_monitor/talon())
+ hard_drive.store_file(new/datum/computer_file/program/alarm_monitor/talon())
+ hard_drive.store_file(new/datum/computer_file/program/rcon_console/talon())
+ hard_drive.store_file(new/datum/computer_file/program/atmos_control/talon())
+ hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_ship())
+ hard_drive.store_file(new/datum/computer_file/program/suit_sensors/talon())
+ hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_helmet())
\ No newline at end of file
diff --git a/maps/tether/submaps/offmap/talon1.dmm b/maps/tether/submaps/offmap/talon1.dmm
new file mode 100644
index 00000000000..9eef2135eb4
--- /dev/null
+++ b/maps/tether/submaps/offmap/talon1.dmm
@@ -0,0 +1,26288 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/space,
+/area/space)
+"ab" = (
+/turf/simulated/wall/rshull,
+/area/talon/deckone/bridge)
+"ac" = (
+/turf/simulated/wall,
+/area/talon/deckone/bridge)
+"ad" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/bridge)
+"ae" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 8
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"af" = (
+/obj/machinery/computer/ship/helm{
+ req_one_access = list(301)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"ag" = (
+/obj/effect/floor_decal/borderfloorblack{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"ah" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"ai" = (
+/obj/effect/floor_decal/borderfloorblack{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"aj" = (
+/obj/machinery/computer/ship/sensors,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"ak" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"al" = (
+/obj/machinery/computer/ship/navigation{
+ icon_state = "computer";
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"am" = (
+/obj/structure/bed/chair/bay/comfy/brown{
+ icon_state = "bay_comfychair_preview";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"an" = (
+/obj/effect/floor_decal/borderfloorblack{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"ao" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"ap" = (
+/obj/effect/floor_decal/borderfloorblack{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"aq" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/obj/machinery/computer/ship/engines{
+ dir = 8;
+ icon_state = "computer";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"ar" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 8
+ },
+/obj/structure/table/steel,
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"as" = (
+/obj/structure/table/steel,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"at" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/obj/structure/table/steel,
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ dir = 8;
+ id = "talon_windows";
+ name = "window blast shields"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"au" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 8
+ },
+/obj/item/modular_computer/console/preset/talon{
+ icon_state = "console";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"av" = (
+/obj/structure/bed/chair/bay/comfy/blue{
+ dir = 8;
+ icon_state = "bay_comfychair_preview";
+ name = "doctor's seat"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aw" = (
+/obj/structure/bed/chair/bay/comfy/red{
+ icon_state = "bay_comfychair_preview";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"ax" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/obj/item/modular_computer/console/preset/talon{
+ icon_state = "console";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"ay" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 8
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"az" = (
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aB" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aC" = (
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/deckone_port)
+"aD" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 8
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 4;
+ icon_state = "extinguisher_closed";
+ pixel_x = -30
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aE" = (
+/obj/structure/cable/green{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 2;
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aF" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloorblack{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_x = 8;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"aG" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"aH" = (
+/obj/effect/floor_decal/borderfloorblack{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"aI" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aJ" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"aK" = (
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/deckone_starboard)
+"aL" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"aM" = (
+/turf/simulated/wall,
+/area/talon/maintenance/deckone_port)
+"aN" = (
+/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"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/command{
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge)
+"aO" = (
+/turf/simulated/wall,
+/area/talon/maintenance/deckone_starboard)
+"aP" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"aQ" = (
+/turf/simulated/floor/reinforced/airless,
+/area/space)
+"aR" = (
+/turf/simulated/wall,
+/area/talon/deckone/secure_storage)
+"aS" = (
+/obj/structure/table/rack/shelf/steel,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"aT" = (
+/obj/structure/table/rack/steel,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"aU" = (
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"aV" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"aW" = (
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/bridge_hallway)
+"aX" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"aY" = (
+/turf/simulated/wall,
+/area/talon/deckone/armory)
+"aZ" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/machinery/light_switch{
+ dir = 4;
+ icon_state = "light1";
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"ba" = (
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"bb" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/suit/armor/combat,
+/obj/item/clothing/head/helmet/combat,
+/obj/item/clothing/under/syndicate/combat,
+/obj/machinery/camera/network/talon,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bc" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/suit/space/syndicate/black,
+/obj/item/clothing/head/helmet/space/syndicate/black,
+/obj/item/clothing/shoes/magboots,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bd" = (
+/obj/structure/barricade,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"be" = (
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"bf" = (
+/obj/structure/cable/green{
+ icon_state = "1-2";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"bg" = (
+/obj/structure/cable/green{
+ icon_state = "1-2";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"bh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"bi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/secure_storage)
+"bj" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"bk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"bl" = (
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"bm" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/armory)
+"bn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bo" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"bp" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"bq" = (
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"br" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"bs" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"bt" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3,
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"bu" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ req_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/secure_storage)
+"bv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"bw" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"bx" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"by" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ dir = 8;
+ req_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/armory)
+"bz" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bA" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"bB" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"bC" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"bD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"bE" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/secure_storage)
+"bF" = (
+/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/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"bG" = (
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"bH" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/armory)
+"bI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"bK" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/obj/structure/table/rack/steel,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"bL" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"bM" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"bN" = (
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals9,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"bO" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bP" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/obj/structure/table/rack/steel,
+/obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/device/spaceflare,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"bQ" = (
+/turf/simulated/wall,
+/area/talon/deckone/bridge_hallway)
+"bR" = (
+/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"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/command{
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/bridge_hallway)
+"bS" = (
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"bT" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb1";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/bridge_hallway)
+"bU" = (
+/obj/structure/sink{
+ pixel_y = 22
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/bridge_hallway)
+"bV" = (
+/obj/machinery/door/airlock,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/bridge_hallway)
+"bW" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/obj/structure/sign/securearea{
+ pixel_x = -32;
+ pixel_y = 32
+ },
+/obj/structure/sign/securearea{
+ pixel_x = 32;
+ pixel_y = 32
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"bX" = (
+/obj/structure/sink{
+ pixel_y = 22
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/bridge_hallway)
+"bY" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/bridge_hallway)
+"bZ" = (
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"ca" = (
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"cb" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"cc" = (
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"cd" = (
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"ce" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"cf" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"cg" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/bridge_hallway)
+"ch" = (
+/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"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"ci" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"cj" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"ck" = (
+/obj/structure/barricade,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"cl" = (
+/turf/simulated/wall,
+/area/talon/deckone/port_solar)
+"cm" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/port_solar)
+"cn" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"co" = (
+/turf/simulated/wall,
+/area/talon/deckone/starboard_solar)
+"cp" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/starboard_solar)
+"cq" = (
+/turf/simulated/wall/shull,
+/area/talon/deckone/port_solar)
+"cr" = (
+/obj/structure/cable/yellow{
+ icon_state = "16-0"
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/sensor{
+ name = "Talon Port Solar Panels";
+ name_tag = "TLN-PRT-SLR"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/port_solar)
+"cs" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"ct" = (
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/smes/buildable/offmap_spawn{
+ RCon_tag = "Talon Port SMES"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"cu" = (
+/obj/structure/cable/green{
+ icon_state = "16-0"
+ },
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/sensor{
+ name = "Talon Port SMES Connection";
+ name_tag = "TLN-PRT-SMES"
+ },
+/obj/machinery/camera/network/talon,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"cv" = (
+/obj/machinery/vending/coffee,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/central_hallway)
+"cw" = (
+/obj/machinery/vending/sovietsoda,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/central_hallway)
+"cx" = (
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 1;
+ icon_state = "extinguisher_closed";
+ pixel_y = 32
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cy" = (
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cz" = (
+/obj/structure/stairs/east,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cA" = (
+/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"
+ },
+/obj/machinery/door/airlock/glass,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/bridge_hallway)
+"cB" = (
+/obj/structure/stairs/west,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cC" = (
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cD" = (
+/obj/machinery/vending/snack,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/central_hallway)
+"cE" = (
+/obj/machinery/vending/fitness,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/central_hallway)
+"cF" = (
+/obj/structure/cable/green{
+ icon_state = "16-0"
+ },
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/sensor{
+ name = "Talon Starboard SMES Connection";
+ name_tag = "TLN-SBD-SMES"
+ },
+/obj/machinery/camera/network/talon,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"cG" = (
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/smes/buildable/offmap_spawn{
+ RCon_tag = "Talon Starboard SMES"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"cH" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"cI" = (
+/obj/structure/cable/yellow{
+ icon_state = "16-0"
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/sensor{
+ name = "Talon Starboard Solar Panels";
+ name_tag = "TLN-SBD-SLR"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/starboard_solar)
+"cJ" = (
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"cK" = (
+/obj/machinery/power/solar_control{
+ icon_state = "solar";
+ dir = 4
+ },
+/obj/structure/cable/yellow,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/port_solar)
+"cL" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"cM" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"cN" = (
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"cO" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/port_solar)
+"cP" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cQ" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cR" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cS" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cU" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cV" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"cW" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/starboard_solar)
+"cX" = (
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"cY" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"cZ" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"da" = (
+/obj/machinery/power/solar_control{
+ icon_state = "solar";
+ dir = 8
+ },
+/obj/structure/cable/yellow,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/starboard_solar)
+"db" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"dc" = (
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/port_solar)
+"dd" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"de" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"df" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 2;
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_solar)
+"dg" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dh" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"di" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dj" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dk" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dl" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 2;
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ icon_state = "light1";
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"dm" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"dn" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_solar)
+"do" = (
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/starboard_solar)
+"dp" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dr" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ds" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dt" = (
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"du" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dw" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dx" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dy" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dz" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dA" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dE" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 6
+ },
+/obj/effect/floor_decal/borderfloor/corner2,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dF" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"dG" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"dH" = (
+/turf/simulated/wall,
+/area/talon/deckone/brig)
+"dI" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/brig)
+"dJ" = (
+/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"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dK" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dL" = (
+/turf/simulated/wall,
+/area/talon/deckone/central_hallway)
+"dM" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dN" = (
+/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"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"dO" = (
+/turf/simulated/wall,
+/area/talon/deckone/medical)
+"dP" = (
+/obj/effect/floor_decal/spline/plain,
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/glass_medical{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/medical)
+"dQ" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"dR" = (
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_aft_wing)
+"dS" = (
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"dT" = (
+/obj/structure/bed/chair/bay/chair{
+ icon_state = "bay_chair_preview";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"dU" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"dV" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/brig)
+"dW" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/machinery/firealarm{
+ dir = 2;
+ layer = 3.3;
+ pixel_x = 4;
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"dX" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"dY" = (
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"dZ" = (
+/obj/machinery/vending/security,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/brig)
+"ea" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eb" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ec" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ed" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ee" = (
+/obj/structure/table/standard,
+/obj/machinery/recharger,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 9
+ },
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 1
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ icon_state = "light1";
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"ef" = (
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eg" = (
+/obj/machinery/vending/medical{
+ req_access = list(301);
+ req_log_access = 301
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eh" = (
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 1
+ },
+/obj/machinery/chemical_dispenser/full,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"ei" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/item/weapon/gun/energy/gun/burst,
+/obj/item/weapon/cell/device/weapon{
+ pixel_x = -5;
+ pixel_y = 2
+ },
+/obj/item/weapon/cell/device/weapon,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"ej" = (
+/obj/structure/closet/crate/medical/blood,
+/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus,
+/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"ek" = (
+/obj/structure/closet/crate/medical{
+ name = "first-aid kits"
+ },
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/fire,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"el" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"em" = (
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"en" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"eo" = (
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ dir = 8;
+ req_access = list(301)
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ req_access = list(301)
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"ep" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"eq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"er" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"es" = (
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"et" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/brig)
+"eu" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ev" = (
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ew" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"ex" = (
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ey" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ 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/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ez" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/glass_medical{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/medical)
+"eA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eD" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/medical{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eE" = (
+/obj/structure/bed,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"eF" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"eG" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/brig)
+"eH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"eI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"eJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"eK" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eL" = (
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eM" = (
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eN" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 8
+ },
+/obj/structure/medical_stand/anesthetic,
+/obj/structure/sign/warning/nosmoking_1{
+ pixel_x = -26
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eP" = (
+/obj/machinery/optable,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/alarm/talon{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 4
+ },
+/obj/item/clothing/mask/surgical,
+/obj/item/clothing/suit/surgicalapron,
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"eR" = (
+/obj/machinery/door/airlock/maintenance/medical{
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/medical)
+"eS" = (
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/blast/regular{
+ id = "talon_brigblast1"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"eT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"eV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"eW" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 4;
+ icon_state = "extinguisher_closed";
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eX" = (
+/obj/effect/floor_decal/borderfloor/corner,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"eY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"eZ" = (
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fa" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/structure/sign/department/medbay{
+ pixel_x = 29
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/closet/medical_wall{
+ pixel_x = -32
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 8
+ },
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 4
+ },
+/obj/item/weapon/storage/firstaid/surgery,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fd" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/item/weapon/deck/cards,
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"fe" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/alarm/talon{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/pen,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"ff" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fg" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fh" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fi" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fj" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/structure/table/standard,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 9
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_x = 0;
+ pixel_y = -25
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fk" = (
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloorwhite,
+/obj/item/weapon/storage/firstaid/regular,
+/obj/effect/floor_decal/borderfloorwhite/corner2,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fl" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 6
+ },
+/obj/item/weapon/storage/firstaid/adv,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fm" = (
+/obj/structure/table/standard,
+/obj/item/device/sleevemate,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fn" = (
+/obj/structure/table/standard,
+/obj/item/device/defib_kit/loaded,
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"fo" = (
+/obj/structure/catwalk,
+/obj/structure/sign/warning/moving_parts{
+ pixel_x = 30
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 8
+ },
+/turf/space,
+/area/talon/maintenance/deckone_port)
+"fq" = (
+/obj/item/modular_computer/console/preset/talon{
+ icon_state = "console";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"fr" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/structure/bed/chair/bay/chair{
+ icon_state = "bay_chair_preview";
+ dir = 8
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"fs" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ft" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fu" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fv" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fw" = (
+/obj/effect/floor_decal/spline/plain{
+ icon_state = "spline_plain";
+ dir = 1
+ },
+/obj/machinery/door/airlock/multi_tile/glass{
+ req_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/medical)
+"fx" = (
+/obj/effect/floor_decal/spline/plain{
+ icon_state = "spline_plain";
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/medical)
+"fy" = (
+/obj/structure/catwalk,
+/obj/structure/sign/warning/moving_parts{
+ pixel_x = -30
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 4
+ },
+/turf/space,
+/area/talon/maintenance/deckone_starboard)
+"fz" = (
+/obj/machinery/airlock_sensor{
+ dir = 8;
+ pixel_x = 28;
+ pixel_y = 28
+ },
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_port)
+"fA" = (
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"fB" = (
+/obj/machinery/airlock_sensor{
+ pixel_y = 28
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 1;
+ id_tag = "talon_port";
+ pixel_y = -30
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{
+ icon_state = "map_vent_aux";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"fC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"fD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -28;
+ pixel_y = 28
+ },
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"fE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 10
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"fF" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"fG" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fH" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6,
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"fI" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"fJ" = (
+/turf/simulated/wall,
+/area/talon/deckone/workroom)
+"fK" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/structure/table/standard,
+/obj/machinery/cell_charger,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"fL" = (
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"fM" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/structure/fitness/weightlifter,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"fN" = (
+/obj/structure/extinguisher_cabinet{
+ dir = 1;
+ icon_state = "extinguisher_closed";
+ pixel_y = 32
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"fO" = (
+/obj/structure/table/standard,
+/obj/fiftyspawner/steel,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"fP" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"fQ" = (
+/obj/machinery/autolathe,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"fR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 6
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"fS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/machinery/airlock_sensor{
+ dir = 8;
+ pixel_x = 28;
+ pixel_y = 28
+ },
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"fT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"fU" = (
+/obj/machinery/airlock_sensor{
+ pixel_y = 28
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 1;
+ id_tag = "talon_starboard";
+ pixel_y = -30
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{
+ icon_state = "map_vent_aux";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"fV" = (
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"fW" = (
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -28;
+ pixel_y = 28
+ },
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_starboard)
+"fX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"fY" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"fZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"ga" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gb" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gc" = (
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/workroom)
+"gd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"ge" = (
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/workroom)
+"gf" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"gg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"gh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gi" = (
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/item/weapon/storage/box/donut,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gj" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"gk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 2
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/workroom)
+"gl" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"go" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/bed/chair/office/light,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gp" = (
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gq" = (
+/obj/structure/table/standard,
+/obj/fiftyspawner/glass,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"gr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"gs" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gt" = (
+/obj/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gu" = (
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloor,
+/obj/structure/bedsheetbin,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gv" = (
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloor{
+ dir = 6
+ },
+/obj/item/weapon/storage/box/handcuffs,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"gw" = (
+/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"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gx" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/structure/table/standard,
+/obj/machinery/recharger,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gy" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/structure/reagent_dispensers/watertank,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gz" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gA" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/item/modular_computer/console/preset/talon{
+ icon_state = "console";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gB" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 2;
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/structure/table/standard,
+/obj/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gC" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/machinery/light,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"gD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"gE" = (
+/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"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gF" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gG" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gH" = (
+/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"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gI" = (
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_aft_wing)
+"gJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/port_eng)
+"gK" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ icon_state = "bulb1";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"gL" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gM" = (
+/obj/machinery/vending/wallmed1{
+ pixel_y = 32
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gN" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/machinery/camera/network/talon,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gO" = (
+/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/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gP" = (
+/obj/machinery/computer/ship/navigation/telescreen{
+ pixel_y = 30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gQ" = (
+/obj/machinery/vending/cola,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/central_hallway)
+"gR" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/machinery/firealarm{
+ dir = 2;
+ layer = 3.3;
+ pixel_x = 0;
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gS" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gT" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/starboard_eng)
+"gU" = (
+/turf/simulated/wall,
+/area/talon/deckone/port_eng_store)
+"gV" = (
+/obj/structure/window/reinforced,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/structure/sign/deck1{
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gW" = (
+/obj/structure/window/reinforced,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gX" = (
+/obj/structure/window/reinforced,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/structure/sign/deck1{
+ pixel_x = 31
+ },
+/obj/structure/reagent_dispensers/fueltank,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"gY" = (
+/turf/simulated/wall,
+/area/talon/deckone/starboard_eng_store)
+"gZ" = (
+/obj/machinery/vending/tool{
+ req_log_access = 301
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"ha" = (
+/obj/machinery/vending/engineering{
+ req_log_access = 301
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hb" = (
+/obj/machinery/vending/engivend{
+ req_access = newlist();
+ req_log_access = 301
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hc" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ alarms_hidden = 1;
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hd" = (
+/obj/structure/table/standard,
+/obj/item/weapon/storage/toolbox/electrical,
+/obj/item/stack/marker_beacon/thirty,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"he" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hf" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hg" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hi" = (
+/obj/structure/closet/crate/solar,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_eng_store)
+"hj" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ alarms_hidden = 1;
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_eng_store)
+"hk" = (
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_eng_store)
+"hl" = (
+/obj/machinery/drone_fabricator/talon,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/starboard_eng_store)
+"hm" = (
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/starboard_eng_store)
+"hn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"ho" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hp" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hq" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hr" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"hs" = (
+/obj/structure/table/standard,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/machinery/light_switch{
+ dir = 1;
+ on = 0;
+ pixel_x = -10;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/port_eng_store)
+"ht" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hu" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hv" = (
+/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/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hw" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hx" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hy" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hz" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hA" = (
+/obj/structure/closet/crate/engineering,
+/obj/fiftyspawner/plastic,
+/obj/fiftyspawner/floor,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_eng_store)
+"hB" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_eng_store)
+"hC" = (
+/obj/machinery/light/small,
+/obj/machinery/light_switch{
+ dir = 1;
+ on = 0;
+ pixel_x = -10;
+ pixel_y = -24
+ },
+/obj/effect/floor_decal/techfloor{
+ icon_state = "techfloororange_edges";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/deckone/starboard_eng_store)
+"hD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"hE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"hF" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/spline/plain{
+ icon_state = "spline_plain";
+ dir = 1
+ },
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/port_eng_store)
+"hG" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/borderfloor/corner,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hJ" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/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/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hN" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hO" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/spline/plain{
+ icon_state = "spline_plain";
+ dir = 1
+ },
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/starboard_eng_store)
+"hP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"hQ" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/machinery/power/thermoregulator,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/machinery/atmospherics/unary/freezer{
+ anchored = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ 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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/machinery/atmospherics/unary/heater{
+ anchored = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden,
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 1;
+ icon_state = "extinguisher_closed";
+ pixel_y = 32
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"hY" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/floor/plating,
+/area/talon/deckone/central_hallway)
+"hZ" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/machinery/alarm/talon{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ia" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ib" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ic" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"id" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ie" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"if" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ig" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ih" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ii" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 5
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"ij" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/central_hallway)
+"ik" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"il" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 10
+ },
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"im" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"in" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"io" = (
+/obj/machinery/door/firedoor/glass/talon/hidden,
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ip" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iq" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 5
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"ir" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"is" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"it" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iu" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iv" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iw" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ix" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 6
+ },
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iy" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 6
+ },
+/obj/effect/floor_decal/borderfloor/corner2,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iz" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 9
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"iA" = (
+/turf/simulated/wall,
+/area/talon/deckone/port_eng)
+"iB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/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"
+ },
+/obj/effect/floor_decal/spline/plain,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/port_eng)
+"iC" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"iD" = (
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"iE" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"iF" = (
+/turf/simulated/wall,
+/area/talon/deckone/starboard_eng)
+"iG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/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"
+ },
+/obj/effect/floor_decal/spline/plain,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/starboard_eng)
+"iH" = (
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/machinery/atmospherics/portables_connector/aux{
+ icon_state = "map_connector-aux";
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/light_switch{
+ dir = 2;
+ name = "light switch ";
+ pixel_x = 0;
+ pixel_y = 26
+ },
+/obj/machinery/atmospherics/pipe/cap/hidden{
+ icon_state = "cap";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iK" = (
+/obj/machinery/oxygen_pump{
+ pixel_y = 30
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1;
+ icon_state = "map"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iL" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/outline/blue,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/port_eng)
+"iN" = (
+/obj/structure/ladder/up,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/deckone/central_hallway)
+"iO" = (
+/obj/effect/floor_decal/steeldecal/steel_decals8,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"iP" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/starboard_eng)
+"iQ" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/portable_atmospherics/canister/empty,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"iR" = (
+/obj/machinery/oxygen_pump{
+ pixel_y = 30
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1;
+ icon_state = "map"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"iS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/light_switch{
+ dir = 2;
+ name = "light switch ";
+ pixel_x = 0;
+ pixel_y = 26
+ },
+/obj/machinery/atmospherics/pipe/cap/hidden{
+ icon_state = "cap";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"iT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"iU" = (
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/machinery/atmospherics/portables_connector/aux{
+ icon_state = "map_connector-aux";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"iV" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi,
+/turf/simulated/floor/plating,
+/area/talon/deckone/port_eng)
+"iW" = (
+/obj/machinery/atmospherics/pipe/zpipe/up/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/port_eng)
+"iX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"iZ" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 8;
+ icon_state = "map"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"ja" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10,
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"jb" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4;
+ icon_state = "map"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jd" = (
+/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/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"je" = (
+/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{
+ icon_state = "up-scrubbers";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/starboard_eng)
+"jf" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi,
+/turf/simulated/floor/plating,
+/area/talon/deckone/starboard_eng)
+"jg" = (
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -28
+ },
+/obj/machinery/atmospherics/unary/vent_pump/aux{
+ icon_state = "map_vent_aux";
+ dir = 1
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 8;
+ id_tag = "talon_boat";
+ pixel_x = 28
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/talonboat)
+"jh" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/junk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"ji" = (
+/turf/simulated/wall/rshull,
+/area/talon/deckone/port_eng)
+"jj" = (
+/obj/structure/cable/green{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jl" = (
+/obj/effect/floor_decal/industrial/outline/blue,
+/obj/machinery/atmospherics/binary/pump{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jm" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/binary/pump,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jn" = (
+/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/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jo" = (
+/obj/structure/cable/green{
+ d2 = 8;
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jp" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/trash,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"jq" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/technical,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"jr" = (
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"js" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"ju" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jv" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jx" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jy" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jz" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/boxfort,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"jA" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jD" = (
+/obj/machinery/alarm/talon{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jE" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10,
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"jF" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jI" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jJ" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/obj/machinery/embedded_controller/radio/simple_docking_controller{
+ dir = 8;
+ frequency = 1380;
+ id_tag = "talon_boatbay";
+ pixel_x = 28
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"jL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jM" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ icon_state = "map-fuel";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 10
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 8;
+ icon_state = "extinguisher_closed";
+ pixel_x = 30
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 6
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 4;
+ icon_state = "extinguisher_closed";
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jP" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ icon_state = "map-fuel";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jS" = (
+/obj/machinery/atmospherics/binary/pump/fuel,
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jT" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ icon_state = "map_connector-fuel";
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/portable_atmospherics/canister/phoron,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"jU" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"jV" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ pixel_x = -35;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"jW" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ icon_state = "map_connector-fuel";
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/portable_atmospherics/canister/phoron,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jX" = (
+/obj/machinery/atmospherics/binary/pump/fuel,
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"jY" = (
+/turf/simulated/wall/rshull,
+/area/talon/deckone/starboard_eng)
+"jZ" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ icon_state = "map-fuel";
+ dir = 8
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/port_eng)
+"ka" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ icon_state = "map-fuel";
+ dir = 1
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/port_eng)
+"kb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 4
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/port_eng)
+"kc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 10
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/port_eng)
+"kd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 6
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/starboard_eng)
+"ke" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ icon_state = "map-fuel";
+ dir = 1
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/starboard_eng)
+"kf" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ icon_state = "intact-fuel";
+ dir = 4
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/starboard_eng)
+"kg" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ icon_state = "map-fuel";
+ dir = 4
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/starboard_eng)
+"kh" = (
+/obj/machinery/atmospherics/unary/engine{
+ dir = 1
+ },
+/turf/space,
+/area/talon/deckone/port_eng)
+"ki" = (
+/obj/machinery/door/blast/regular{
+ dir = 8;
+ id = "very_fake";
+ name = "Shuttle Bay Doors"
+ },
+/turf/simulated/wall/rshull,
+/area/talon/deckone/central_hallway)
+"kj" = (
+/obj/machinery/atmospherics/unary/engine{
+ dir = 1
+ },
+/turf/space,
+/area/talon/deckone/starboard_eng)
+"kk" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ icon_state = "bulb1";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"kl" = (
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_port)
+"km" = (
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_starboard)
+"kn" = (
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"ko" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"kp" = (
+/obj/structure/bed/chair/office/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"kq" = (
+/obj/machinery/fitness/punching_bag,
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"kr" = (
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"ks" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"kt" = (
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/workroom)
+"kv" = (
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ d2 = 8;
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals9{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"kw" = (
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kx" = (
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ky" = (
+/obj/effect/floor_decal/steeldecal/steel_decals_central6{
+ icon_state = "steel_decals_central6";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kz" = (
+/obj/effect/floor_decal/steeldecal/steel_decals_central6,
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kA" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central1{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kB" = (
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kC" = (
+/obj/effect/floor_decal/steeldecal/steel_decals_central5,
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kD" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central1{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kE" = (
+/obj/effect/floor_decal/steeldecal/steel_decals9{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals9,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kF" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ pixel_y = -25
+ },
+/obj/effect/floor_decal/borderfloor,
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kG" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kH" = (
+/obj/effect/floor_decal/borderfloor,
+/obj/machinery/light,
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"kI" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/bridge_hallway)
+"kJ" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kK" = (
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"kL" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"kM" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"kN" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"kO" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kP" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8;
+ icon_state = "borderfloor";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 5
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8;
+ icon_state = "borderfloor";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"kS" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/item/weapon/gun/energy/netgun,
+/obj/item/weapon/cell/device/weapon{
+ pixel_x = -5;
+ pixel_y = 2
+ },
+/obj/item/weapon/cell/device/weapon{
+ pixel_x = -5;
+ pixel_y = 2
+ },
+/obj/item/weapon/cell/device/weapon,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"kT" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/item/weapon/gun/energy/frontier/locked/holdout,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"kU" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/item/weapon/gun/energy/gun,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"kV" = (
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 5
+ },
+/obj/effect/floor_decal/borderfloorwhite/corner2{
+ dir = 5
+ },
+/obj/structure/closet/crate/medical{
+ name = "medicine cooler"
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/deckone/medical)
+"kW" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"kX" = (
+/obj/machinery/door/airlock/maintenance/sec{
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/deckone/brig)
+"kY" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/maintenance/engi{
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/plating,
+/area/talon/deckone/starboard_eng_store)
+"kZ" = (
+/obj/structure/catwalk,
+/obj/machinery/suit_storage_unit,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"la" = (
+/obj/structure/catwalk,
+/obj/machinery/suit_storage_unit,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"lb" = (
+/turf/simulated/wall/shull,
+/area/shuttle/talonboat)
+"lc" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/talonboat)
+"ld" = (
+/obj/machinery/computer/shuttle_control/explore/talonboat,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"le" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"lf" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/talonboat)
+"lg" = (
+/obj/structure/bed/chair/bay/chair{
+ icon_state = "bay_chair_preview";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/talonboat)
+"lh" = (
+/obj/machinery/embedded_controller/radio/simple_docking_controller{
+ dir = 8;
+ frequency = 1380;
+ id_tag = "talonboat_docker";
+ pixel_x = 28
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"li" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"lj" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 6
+ },
+/obj/structure/fuel_port{
+ dir = 4;
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"lk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"ll" = (
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 5
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"ln" = (
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/talonboat)
+"lo" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"lp" = (
+/obj/effect/shuttle_landmark/shuttle_initializer/talonboat,
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"lr" = (
+/obj/machinery/atmospherics/portables_connector/aux{
+ icon_state = "map_connector-aux";
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"ls" = (
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/talonboat)
+"lt" = (
+/obj/effect/map_helper/airlock/door/simple,
+/obj/structure/cable/green{
+ icon_state = "4-8";
+ dir = 1
+ },
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/talonboat)
+"lu" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/monotile,
+/area/talon/deckone/central_hallway)
+"lw" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux{
+ icon_state = "intact-aux";
+ dir = 10
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"lx" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/aux,
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"lz" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8;
+ icon_state = "borderfloor";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/machinery/computer/shuttle_control/explore/talonboat{
+ icon_state = "computer";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"lA" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8;
+ icon_state = "borderfloor";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"lB" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/machinery/portable_atmospherics/canister/phoron,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"lC" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"np" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/talonboat)
+"nv" = (
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "talon_windows"
+ },
+/turf/space,
+/area/talon/maintenance/deckone_port)
+"nI" = (
+/obj/structure/catwalk,
+/obj/structure/sign/warning/moving_parts{
+ pixel_x = 30
+ },
+/turf/space,
+/area/talon/maintenance/deckone_port_fore_wing)
+"nR" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/space,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"oh" = (
+/obj/effect/shuttle_landmark{
+ landmark_tag = "talon_aft";
+ name = "ITV Talon - Aft"
+ },
+/turf/space,
+/area/space)
+"oi" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/armory)
+"oR" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"qN" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"sk" = (
+/obj/structure/catwalk,
+/obj/structure/sign/warning/airlock{
+ pixel_x = 32
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_starboard)
+"su" = (
+/obj/structure/catwalk,
+/obj/structure/sign/warning/airlock{
+ pixel_x = -31
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"sK" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"vn" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"wk" = (
+/obj/structure/sign/warning/docking_area,
+/turf/simulated/wall,
+/area/talon/deckone/central_hallway)
+"xo" = (
+/obj/machinery/alarm/talon{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/starboard_eng_store)
+"xV" = (
+/obj/structure/table/rack/shelf/steel,
+/obj/item/weapon/gun/energy/netgun,
+/obj/item/weapon/cell/device/weapon{
+ pixel_x = -5;
+ pixel_y = 2
+ },
+/obj/item/weapon/cell/device/weapon,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/armory)
+"ym" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/deckone_port)
+"yu" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"yN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/button/remote/blast_door{
+ dir = 4;
+ id = "talon_brigblast1";
+ name = "blast door control";
+ pixel_x = -28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"zT" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"AM" = (
+/obj/structure/sign/warning/hot_exhaust{
+ pixel_y = 29
+ },
+/turf/space,
+/area/space)
+"Bz" = (
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"Ct" = (
+/obj/structure/sign/poster,
+/turf/simulated/wall,
+/area/talon/deckone/central_hallway)
+"CN" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/structure/sign/deck1{
+ pixel_y = 27
+ },
+/obj/structure/sign/directions/bridge{
+ icon_state = "direction_bridge";
+ dir = 1;
+ pixel_y = 41
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"Dw" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"DF" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/structure/sign/deck1{
+ pixel_y = 27
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"DT" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"GF" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/secure_storage)
+"Hb" = (
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"Hp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/cap/hidden{
+ icon_state = "cap";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"Im" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ icon_state = "map_connector-fuel";
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/portable_atmospherics/canister/phoron,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"JW" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"JZ" = (
+/obj/structure/table/rack/steel,
+/obj/machinery/camera/network/talon,
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/secure_storage)
+"KM" = (
+/obj/effect/shuttle_landmark{
+ landmark_tag = "talon_starboard";
+ name = "ITV Talon - Starboard"
+ },
+/turf/space,
+/area/space)
+"Le" = (
+/obj/effect/shuttle_landmark{
+ landmark_tag = "talon_port";
+ name = "ITV Talon - Port"
+ },
+/turf/space,
+/area/space)
+"Lt" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
+ icon_state = "intact";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/space,
+/area/talon/maintenance/deckone_port_fore_wing)
+"Ly" = (
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/window/brigdoor/eastleft{
+ dir = 8;
+ req_access = list(301)
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ req_access = list(301)
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"Mm" = (
+/obj/machinery/shipsensors{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 9
+ },
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 6
+ },
+/turf/simulated/floor/greengrid/airless,
+/area/talon/maintenance/deckone_port)
+"ME" = (
+/obj/effect/shuttle_landmark{
+ landmark_tag = "talon_fore";
+ name = "ITV Talon - Fore"
+ },
+/turf/space,
+/area/space)
+"MW" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"Nu" = (
+/obj/structure/bed/chair/bay/comfy/yellow{
+ icon_state = "bay_comfychair_preview";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/deckone/bridge)
+"NR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/button/remote/blast_door{
+ dir = 4;
+ id = "talon_brigblast2";
+ name = "blast door control";
+ pixel_x = -28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/brig)
+"OF" = (
+/obj/structure/sign/periodic{
+ pixel_y = 32
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"Pi" = (
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_port_fore_wing)
+"PY" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_x = 0;
+ pixel_y = -25
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/workroom)
+"RD" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"Ue" = (
+/obj/structure/catwalk,
+/obj/structure/sign/warning/moving_parts{
+ pixel_x = -30
+ },
+/turf/space,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"UT" = (
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/blast/regular{
+ id = "talon_brigblast2"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/talon/deckone/brig)
+"Wh" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8;
+ icon_state = "borderfloor";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/structure/vehiclecage/spacebike,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"WB" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8;
+ icon_state = "borderfloor";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/machinery/suit_cycler,
+/turf/simulated/floor/tiled/steel,
+/area/talon/deckone/central_hallway)
+"Xi" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ icon_state = "map_connector-fuel";
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/portable_atmospherics/canister/phoron,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/port_eng)
+"Xq" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_port_fore_wing)
+"XT" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/deckone_starboard_fore_wing)
+"YG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/cap/hidden{
+ icon_state = "cap";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/talon/deckone/starboard_eng)
+"YS" = (
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_port_aft_wing)
+"Za" = (
+/obj/structure/catwalk,
+/turf/space,
+/area/talon/maintenance/deckone_starboard_aft_wing)
+"Zv" = (
+/obj/structure/closet/emcloset,
+/obj/structure/sign/department/bridge{
+ pixel_y = 31
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/deckone/bridge_hallway)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(2,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(3,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(4,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(5,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(6,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(7,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(8,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(9,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(10,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(11,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(12,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(13,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(14,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(15,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(16,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(17,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(18,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(19,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+Le
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(20,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(21,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(22,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(23,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(24,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(25,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(26,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(27,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(28,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(29,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(30,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(31,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(32,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(33,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(34,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(35,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(36,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(37,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(38,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(39,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(40,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(41,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(42,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(43,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(44,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(45,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(46,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(47,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(48,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(49,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(50,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(51,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+gI
+aQ
+aQ
+aQ
+gI
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(52,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+YS
+kl
+fz
+fo
+YS
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(53,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gI
+gI
+gI
+gI
+YS
+aC
+fA
+aC
+YS
+gI
+gI
+gI
+gI
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(54,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+YS
+YS
+YS
+YS
+YS
+YS
+aC
+fB
+aC
+YS
+YS
+YS
+YS
+YS
+YS
+YS
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(55,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+aa
+aa
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+br
+br
+aC
+aC
+fC
+aC
+aC
+aC
+br
+br
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aC
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(56,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+sK
+RD
+cc
+sK
+RD
+aa
+aC
+aL
+aL
+aL
+bS
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+fD
+su
+kZ
+aM
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+jz
+aL
+aL
+aL
+bC
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(57,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+qN
+qN
+cc
+JW
+qN
+aa
+aC
+aL
+aL
+ck
+aM
+cJ
+aL
+aL
+aL
+aL
+dQ
+aL
+aL
+aL
+aL
+aL
+fE
+fX
+fX
+gr
+fX
+fX
+fX
+fX
+hn
+hE
+fX
+ii
+aL
+aL
+aL
+bC
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(58,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+qN
+Xq
+zT
+oR
+qN
+aa
+aC
+aL
+aL
+cl
+cq
+cq
+cq
+cl
+bS
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+bS
+gU
+gU
+gU
+gU
+dL
+ij
+iA
+iA
+iV
+ji
+ji
+gJ
+gJ
+ji
+ji
+ji
+AM
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(59,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+Lt
+nI
+Pi
+Pi
+Lt
+aa
+aC
+aL
+aL
+cl
+cr
+cK
+dc
+cl
+aL
+dH
+dS
+kn
+eE
+dH
+dS
+dS
+dH
+eE
+kn
+dS
+dH
+aL
+gU
+gZ
+ho
+gU
+hQ
+ik
+iA
+iH
+iW
+jj
+jr
+jA
+jL
+jS
+jZ
+kh
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(60,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aC
+aC
+aC
+aC
+aC
+aC
+br
+br
+aC
+aC
+aC
+aL
+aL
+cm
+cs
+cL
+dd
+cl
+aL
+dH
+dT
+em
+em
+eS
+em
+em
+UT
+em
+em
+dT
+dH
+aL
+gU
+ha
+hp
+gU
+hR
+il
+iB
+iI
+iX
+jk
+js
+jB
+jM
+jT
+ka
+kh
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(61,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+nv
+Mm
+ym
+aL
+aL
+aL
+aL
+aL
+aL
+aL
+bS
+aL
+aL
+cl
+ct
+cM
+de
+cl
+dF
+dH
+dU
+en
+eF
+dH
+ko
+em
+dH
+fY
+gg
+jU
+dH
+gK
+gU
+hb
+hq
+gU
+hS
+im
+iA
+iJ
+iY
+jl
+iZ
+Hp
+jM
+jT
+kb
+ji
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(62,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aC
+aC
+aC
+aM
+aR
+aR
+aR
+aR
+aR
+aR
+aM
+aL
+aL
+cl
+cu
+cN
+df
+cl
+aL
+dH
+dV
+eo
+eG
+dH
+Ly
+eG
+dH
+dV
+eo
+eG
+dH
+aL
+gU
+hc
+hr
+hF
+hT
+in
+iA
+iK
+iZ
+iZ
+ju
+jC
+jM
+jT
+ka
+kh
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(63,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+aS
+be
+aS
+kM
+aS
+aR
+aM
+aL
+aL
+cl
+cl
+cO
+cl
+cl
+bS
+dH
+dW
+ep
+eH
+yN
+eT
+eT
+NR
+fZ
+gh
+gs
+kX
+aL
+gU
+hd
+hs
+gU
+hU
+in
+iA
+iL
+iL
+iL
+iL
+jD
+jN
+Xi
+kc
+kh
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(64,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+aS
+bq
+aS
+bq
+aS
+aR
+aM
+ca
+ce
+aM
+cv
+cP
+dg
+dp
+du
+dH
+dX
+eq
+dY
+dY
+dY
+dY
+dY
+dY
+dY
+gt
+dH
+bS
+gU
+gU
+gU
+gU
+hV
+io
+iA
+iM
+iM
+iA
+iA
+iA
+iA
+iA
+ji
+ji
+AM
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(65,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ac
+JZ
+bq
+aT
+bq
+bK
+aR
+aM
+jh
+cf
+aM
+cw
+cQ
+dh
+dq
+dv
+dI
+es
+er
+eI
+eI
+fd
+fq
+dY
+dY
+dY
+gu
+dH
+gL
+gV
+cB
+ht
+hG
+hW
+ip
+lz
+kP
+WB
+dL
+wk
+Wh
+kP
+kP
+lA
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(66,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+aU
+bf
+bo
+bq
+GF
+bQ
+bQ
+aM
+cf
+aM
+cx
+cQ
+cy
+cy
+dw
+dH
+dZ
+gd
+eJ
+eV
+fe
+fr
+fF
+ga
+gi
+gv
+dH
+gM
+gW
+cy
+hu
+hH
+kQ
+cy
+kw
+ja
+ja
+ja
+jE
+ja
+kw
+cy
+cy
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(67,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+al
+ar
+au
+ay
+aD
+ac
+aV
+bh
+bt
+bD
+bL
+bQ
+bT
+aM
+cf
+aM
+cy
+cR
+cy
+dr
+dx
+dH
+dH
+et
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+dH
+gN
+cy
+cC
+cy
+hI
+wk
+bs
+ir
+ir
+ir
+ir
+ir
+ir
+ir
+ir
+iC
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(68,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+af
+am
+as
+av
+az
+aE
+ac
+aR
+bi
+bu
+bE
+aR
+bQ
+bU
+aM
+cf
+aM
+cz
+cS
+ew
+di
+dy
+dJ
+ea
+eu
+eK
+eW
+ff
+fs
+fG
+fG
+fG
+fG
+gE
+gO
+he
+kA
+hv
+hJ
+hY
+bA
+lb
+lb
+lf
+lf
+lb
+lb
+lb
+lb
+iD
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(69,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ag
+an
+an
+an
+an
+aF
+ac
+aW
+bj
+bv
+bG
+bN
+bQ
+bV
+bQ
+cg
+bQ
+bQ
+DF
+kB
+cy
+dz
+dK
+eb
+ev
+eL
+eX
+fg
+ft
+ev
+eL
+eX
+eb
+gF
+cy
+hf
+kB
+hw
+hM
+dL
+bA
+lc
+ld
+lg
+lg
+lj
+ln
+jg
+ls
+iD
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(70,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ME
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ah
+ao
+ao
+ao
+ao
+aG
+aN
+aX
+bk
+bw
+bF
+bM
+bR
+bW
+cb
+ch
+cn
+cA
+cT
+eY
+dj
+dA
+dL
+dL
+gj
+ky
+kF
+dL
+Ct
+kG
+kz
+kH
+dL
+dL
+gP
+cy
+kC
+cy
+hK
+hZ
+bA
+lc
+le
+lg
+lg
+lk
+lb
+lb
+lb
+iD
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+oh
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(71,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ai
+ap
+ap
+ap
+ap
+aH
+ac
+Zv
+bl
+bx
+kI
+kv
+bQ
+bV
+bQ
+cg
+bQ
+bQ
+CN
+kB
+cy
+dz
+dM
+ec
+ex
+eM
+eZ
+fh
+fu
+ex
+eM
+eZ
+ec
+gG
+cy
+hg
+kB
+hx
+hX
+dL
+bA
+lc
+np
+lh
+lp
+lw
+lx
+lr
+lb
+iD
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(72,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+aj
+Nu
+as
+aw
+az
+aI
+ac
+aY
+bm
+by
+bH
+aY
+bQ
+bX
+aO
+ci
+aO
+cB
+cU
+fH
+di
+dy
+dN
+ed
+ey
+eN
+fa
+fi
+fv
+fI
+gb
+ey
+gw
+gH
+gO
+hh
+kD
+hy
+hL
+hY
+bA
+lb
+lb
+lb
+lt
+lb
+lb
+lb
+lb
+iD
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(73,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ak
+aq
+at
+ax
+aB
+aJ
+ac
+aZ
+bn
+bz
+bI
+bO
+bQ
+bY
+aO
+ci
+aO
+cy
+cR
+cy
+dr
+dB
+dO
+dO
+ez
+dO
+dO
+dO
+dO
+fJ
+gc
+gk
+fJ
+fJ
+gQ
+cy
+cC
+cy
+hI
+wk
+iq
+is
+is
+is
+lu
+is
+is
+is
+is
+iE
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(74,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ba
+bg
+bp
+kK
+oi
+bQ
+bQ
+aO
+ci
+aO
+cC
+cQ
+cy
+iO
+dC
+dO
+ee
+eA
+eO
+fb
+fj
+dO
+fK
+gl
+ks
+gx
+fJ
+gR
+gW
+cy
+hu
+ia
+kR
+li
+ll
+lo
+lo
+jJ
+kO
+kJ
+kx
+cy
+cy
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(75,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ac
+bb
+kK
+bc
+kK
+bP
+aY
+aO
+aP
+ci
+aO
+cD
+cQ
+dh
+dq
+dD
+dP
+ef
+eB
+ef
+ef
+ef
+fw
+kt
+fL
+gm
+gy
+fJ
+gS
+gX
+cz
+hz
+hN
+ib
+it
+Bz
+kE
+iN
+dL
+wk
+lB
+ds
+ds
+lC
+ki
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(76,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+kS
+kK
+xV
+kK
+ei
+aY
+aO
+cd
+cj
+aO
+cE
+cV
+dk
+ds
+dE
+dO
+eg
+eB
+eP
+ef
+ef
+fx
+kt
+fL
+gn
+gz
+fJ
+bZ
+gY
+gY
+gY
+gY
+ic
+iu
+iF
+iP
+iP
+iF
+iF
+iF
+iF
+iF
+jY
+jY
+AM
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(77,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+kT
+kL
+kT
+kN
+kU
+aY
+aO
+aP
+aP
+co
+co
+cW
+co
+co
+bZ
+dO
+eh
+eB
+ef
+ef
+fk
+dO
+fM
+fL
+go
+gA
+fJ
+aP
+gY
+hi
+hA
+gY
+id
+iv
+iF
+iQ
+iQ
+iQ
+iQ
+jF
+jO
+Im
+kd
+kj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(78,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aO
+aY
+aY
+aY
+aY
+aY
+aY
+aO
+aP
+aP
+co
+cF
+cX
+dl
+co
+aP
+dO
+kV
+eC
+eQ
+fc
+fl
+dO
+fN
+fP
+gp
+gB
+fJ
+aP
+gY
+hj
+hB
+hO
+ie
+iv
+iF
+iR
+jb
+jb
+jv
+jG
+jP
+jW
+ke
+kj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(79,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+kW
+bd
+aP
+aP
+aP
+aP
+aP
+bZ
+aP
+aP
+co
+cG
+cY
+dm
+co
+dG
+dO
+dO
+eD
+dO
+dO
+dO
+dO
+fO
+gq
+fL
+gC
+fJ
+kk
+kY
+hk
+hC
+gY
+if
+iw
+iF
+iS
+jc
+jm
+jb
+YG
+jP
+jW
+kf
+jY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(80,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+bB
+bB
+aK
+aK
+aK
+aP
+aP
+cp
+cH
+cZ
+dn
+co
+aP
+dO
+ej
+ef
+ef
+jV
+fm
+dO
+fQ
+kp
+fP
+PY
+fJ
+aP
+gY
+hl
+xo
+gY
+ig
+ix
+iG
+iT
+jd
+jn
+jx
+jH
+jP
+jW
+ke
+kj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(81,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+nR
+Ue
+Hb
+Hb
+nR
+aa
+aK
+aP
+aP
+co
+cI
+da
+do
+co
+aP
+dO
+ek
+kr
+ef
+ef
+fn
+dO
+OF
+fP
+fP
+kq
+fJ
+aP
+gY
+hm
+hm
+gY
+ih
+iy
+iF
+iU
+je
+jo
+jy
+jI
+jQ
+jX
+kg
+kj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(82,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+vn
+MW
+yu
+Dw
+vn
+aa
+aK
+aP
+aP
+co
+co
+co
+co
+co
+bZ
+dO
+dO
+dO
+eR
+dO
+dO
+dO
+fJ
+ge
+fJ
+fJ
+fJ
+bZ
+gY
+gY
+gY
+gY
+dL
+ij
+iF
+iF
+jf
+iF
+iF
+gT
+gT
+jY
+jY
+jY
+AM
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(83,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+vn
+vn
+dt
+vn
+vn
+aa
+aK
+aP
+aP
+aP
+aO
+db
+aP
+aP
+aP
+aP
+el
+aP
+aP
+bd
+jq
+aP
+fR
+gf
+gf
+gD
+gf
+gf
+gf
+gf
+hD
+hP
+gf
+iz
+aP
+aP
+aP
+bJ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(84,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+DT
+XT
+dt
+DT
+XT
+aa
+aK
+jp
+aP
+aP
+bZ
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+fS
+sk
+la
+aO
+aP
+aP
+aP
+aP
+aP
+aP
+bd
+aP
+aP
+aP
+aP
+bJ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(85,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+dt
+dt
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+bB
+bB
+aK
+aK
+fT
+aK
+aK
+aK
+bB
+bB
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(86,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+dt
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+Za
+Za
+Za
+Za
+Za
+Za
+aK
+fU
+aK
+Za
+Za
+Za
+Za
+Za
+Za
+Za
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(87,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+dt
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+Za
+aK
+fV
+aK
+Za
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(88,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+dt
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+Za
+km
+fW
+fy
+Za
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(89,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(90,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(91,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(92,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dt
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(93,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(94,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(95,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(96,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(97,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(98,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(99,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(100,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(101,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(102,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(103,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(104,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(105,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(106,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(107,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(108,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(109,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(110,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(111,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(112,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(113,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(114,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(115,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(116,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(117,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(118,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(119,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dR
+dR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(120,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(121,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+KM
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(122,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(123,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(124,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(125,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(126,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(127,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(128,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(129,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(130,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(131,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(132,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(133,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(134,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(135,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(136,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(137,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(138,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(139,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(140,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
diff --git a/maps/tether/submaps/offmap/talon2.dmm b/maps/tether/submaps/offmap/talon2.dmm
new file mode 100644
index 00000000000..5d5ea0087dc
--- /dev/null
+++ b/maps/tether/submaps/offmap/talon2.dmm
@@ -0,0 +1,24796 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/space,
+/area/space)
+"ab" = (
+/turf/simulated/wall/rshull,
+/area/talon/decktwo/bridge_upper)
+"ac" = (
+/turf/simulated/wall,
+/area/talon/decktwo/bridge_upper)
+"ad" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/decktwo/bridge_upper)
+"ae" = (
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"af" = (
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"ag" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"ah" = (
+/obj/machinery/computer/ship/navigation,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/bridge_upper)
+"ai" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"aj" = (
+/obj/structure/railing,
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"ak" = (
+/obj/structure/railing,
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"al" = (
+/obj/structure/table/steel,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/bridge_upper)
+"am" = (
+/obj/structure/bed/chair/bay/comfy/blue{
+ icon_state = "bay_comfychair_preview";
+ dir = 1;
+ pixel_y = 5
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/bridge_upper)
+"an" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"ao" = (
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"ap" = (
+/turf/simulated/wall/rshull,
+/area/talon/decktwo/cap_room)
+"aq" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"ar" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"as" = (
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"at" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"au" = (
+/obj/structure/cable/green{
+ d2 = 8;
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 2;
+ name = "south bump";
+ pixel_y = -28;
+ req_access = list(67)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"av" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/open,
+/area/talon/decktwo/bridge_upper)
+"aw" = (
+/turf/simulated/wall,
+/area/talon/decktwo/bar)
+"ax" = (
+/turf/simulated/wall/rshull,
+/area/talon/decktwo/bar)
+"ay" = (
+/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/wall,
+/area/talon/decktwo/bridge_upper)
+"az" = (
+/obj/structure/bed/double/padded,
+/obj/item/weapon/bedsheet/bluedouble,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"aA" = (
+/obj/structure/table/woodentable,
+/obj/machinery/firealarm{
+ dir = 2;
+ layer = 3.3;
+ pixel_x = 0;
+ pixel_y = 26
+ },
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"aB" = (
+/obj/effect/floor_decal/spline/plain,
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/command{
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/cap_room)
+"aC" = (
+/turf/simulated/wall,
+/area/talon/decktwo/cap_room)
+"aD" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/central_hallway)
+"aE" = (
+/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/vending/nifsoft_shop,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/central_hallway)
+"aF" = (
+/obj/structure/bed/chair/bay/chair,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"aG" = (
+/obj/machinery/vending/wallmed1{
+ emagged = 1;
+ pixel_y = 32;
+ shut_up = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"aH" = (
+/obj/item/weapon/stool/baystool/padded,
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 6
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aI" = (
+/obj/structure/table/standard,
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aJ" = (
+/obj/machinery/vending/boozeomat{
+ density = 0;
+ pixel_y = 32
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aK" = (
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"aL" = (
+/obj/machinery/light/small{
+ icon_state = "bulb1";
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/personal/cabinet{
+ req_access = list(301)
+ },
+/obj/item/weapon/tank/oxygen,
+/obj/item/device/suit_cooling_unit,
+/obj/item/clothing/suit/space/void/captain{
+ name = "\improper captain's armor"
+ },
+/obj/item/clothing/head/helmet/space/void/captain{
+ camera_networks = list("TalonHelmets");
+ name = "\improper captain's helmet"
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"aM" = (
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"aN" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"aO" = (
+/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/effect/floor_decal/borderfloor{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"aP" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/structure/table/standard,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"aQ" = (
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"aR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/item/weapon/stool/baystool/padded,
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aS" = (
+/obj/structure/table/standard,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/item/weapon/storage/dicecup,
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aT" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aU" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"aV" = (
+/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/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"aW" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/floor/plating,
+/area/talon/decktwo/bar)
+"aX" = (
+/obj/structure/bed/chair/bay/chair{
+ icon_state = "bay_chair_preview";
+ dir = 1
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"aY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/item/weapon/stool/baystool/padded,
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"aZ" = (
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"ba" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/decktwo/cap_room)
+"bb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bd" = (
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"be" = (
+/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{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock/command{
+ id_tag = "talon_capdoor";
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/cap_room)
+"bf" = (
+/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{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bg" = (
+/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/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/item/weapon/stool/baystool/padded,
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bi" = (
+/obj/structure/table/standard,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bj" = (
+/obj/machinery/chemical_dispenser/bar_alc/full{
+ icon_state = "booze_dispenser";
+ dir = 8
+ },
+/obj/structure/table/marble,
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bk" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/decktwo/bar)
+"bl" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"bm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bo" = (
+/obj/structure/cable/green{
+ icon_state = "1-2";
+ dir = 1
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bp" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/structure/sign/department/commander{
+ pixel_x = -28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bq" = (
+/obj/structure/table/standard,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"br" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/item/weapon/stool/baystool/padded,
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bs" = (
+/obj/machinery/chemical_dispenser/bar_soft/full{
+ dir = 8
+ },
+/obj/structure/table/marble,
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bt" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "talon_windows"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"bu" = (
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bv" = (
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bw" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bx" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/structure/bed/chair/bay/chair{
+ icon_state = "bay_chair_preview";
+ dir = 1
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"by" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/spline/plain{
+ dir = 10
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bz" = (
+/obj/effect/floor_decal/spline/plain,
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bA" = (
+/obj/effect/floor_decal/spline/plain,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/lino,
+/area/talon/decktwo/bar)
+"bB" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"bC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/bed/chair/wood,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/bed/chair/wood,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bE" = (
+/obj/structure/bed/chair/wood,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bF" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bG" = (
+/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/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/structure/sign/department/bar{
+ pixel_x = 29
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bH" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bJ" = (
+/obj/machinery/computer/ship/navigation/telescreen{
+ pixel_x = 32
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bK" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/table/woodentable,
+/obj/item/modular_computer/tablet/preset/custom_loadout/advanced,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/pen,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bL" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/table/woodentable,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bM" = (
+/obj/item/modular_computer/console/preset/talon,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bN" = (
+/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/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bO" = (
+/obj/effect/floor_decal/spline/plain{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/bar)
+"bP" = (
+/obj/structure/extinguisher_cabinet{
+ dir = 8;
+ icon_state = "extinguisher_closed";
+ pixel_x = 30
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bQ" = (
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/decktwo_starboard)
+"bR" = (
+/obj/structure/bed/chair/office/light{
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"bS" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bT" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"bU" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 4
+ },
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 2
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/bar)
+"bV" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/oxygen_pump{
+ icon_state = "oxygen_tank";
+ dir = 1;
+ pixel_y = -30
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/media/jukebox,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/bar)
+"bY" = (
+/obj/machinery/vending/coffee{
+ dir = 1
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/decktwo/bar)
+"bZ" = (
+/obj/machinery/vending/dinnerware{
+ icon_state = "dinnerware";
+ dir = 1
+ },
+/obj/effect/floor_decal/spline/plain{
+ icon_state = "spline_plain";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/decktwo/bar)
+"ca" = (
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"cb" = (
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/decktwo_port)
+"cc" = (
+/turf/simulated/wall,
+/area/talon/decktwo/central_hallway)
+"cd" = (
+/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"
+ },
+/obj/machinery/door/airlock/glass,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/central_hallway)
+"ce" = (
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/solar,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"cf" = (
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/solar,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"cg" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "0-8"
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/decktwo_port)
+"ch" = (
+/obj/structure/lattice,
+/obj/structure/cable/yellow{
+ icon_state = "32-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_port)
+"ci" = (
+/obj/structure/lattice,
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_port)
+"cj" = (
+/obj/structure/lattice,
+/obj/structure/cable/green{
+ d1 = 32;
+ d2 = 8;
+ icon_state = "32-8"
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_port)
+"ck" = (
+/obj/structure/lattice,
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cl" = (
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cm" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cn" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 1
+ },
+/obj/structure/sign/deck2{
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"co" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cp" = (
+/obj/structure/lattice,
+/obj/structure/cable/green{
+ d1 = 32;
+ d2 = 4;
+ icon_state = "32-4"
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_starboard)
+"cq" = (
+/obj/structure/lattice,
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_starboard)
+"cr" = (
+/obj/structure/lattice,
+/obj/structure/cable/yellow{
+ icon_state = "32-4"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_starboard)
+"cs" = (
+/obj/structure/cable/heavyduty{
+ dir = 2;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/decktwo_starboard)
+"ct" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"cu" = (
+/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/heavyduty{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"cv" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "0-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"cw" = (
+/obj/structure/cable/heavyduty{
+ dir = 2;
+ icon_state = "0-4"
+ },
+/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/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"cx" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"cy" = (
+/obj/structure/railing,
+/obj/structure/lattice,
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cz" = (
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cA" = (
+/obj/structure/railing,
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cB" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cC" = (
+/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"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cD" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cE" = (
+/obj/structure/railing,
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/open,
+/area/talon/decktwo/central_hallway)
+"cF" = (
+/turf/simulated/wall,
+/area/talon/maintenance/decktwo_starboard)
+"cG" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"cH" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"cI" = (
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cJ" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/machinery/camera/network/talon,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cK" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden,
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cL" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cM" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cN" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cO" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cP" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cR" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cS" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cT" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cU" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cV" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1;
+ icon_state = "borderfloor";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 4
+ },
+/obj/machinery/camera/network/talon,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cW" = (
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 5
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"cX" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"cY" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"cZ" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"da" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/effect/floor_decal/borderfloor/corner,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"db" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden,
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/machinery/oxygen_pump{
+ icon_state = "oxygen_tank";
+ dir = 1;
+ pixel_y = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"de" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"df" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green,
+/obj/machinery/power/apc/talon{
+ dir = 2;
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/structure/sign/directions/evac{
+ pixel_y = -38
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dh" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"di" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/structure/sign/department/shield{
+ pixel_y = -31
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dj" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/machinery/oxygen_pump{
+ icon_state = "oxygen_tank";
+ dir = 1;
+ pixel_y = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dl" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dn" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"do" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"dp" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 4;
+ icon_state = "extinguisher_closed";
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dr" = (
+/turf/simulated/wall,
+/area/talon/decktwo/eng_room)
+"ds" = (
+/turf/simulated/wall,
+/area/talon/decktwo/tech)
+"dt" = (
+/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"
+ },
+/obj/machinery/door/airlock/command{
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/tech)
+"du" = (
+/turf/simulated/wall,
+/area/talon/decktwo/pilot_room)
+"dv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dw" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 8;
+ icon_state = "extinguisher_closed";
+ pixel_x = 30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dx" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dy" = (
+/obj/structure/table/woodentable,
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/engineer,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/eng_room)
+"dz" = (
+/obj/structure/table/woodentable,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/eng_room)
+"dA" = (
+/obj/item/weapon/bedsheet,
+/obj/structure/bed/padded,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 26
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/eng_room)
+"dB" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/structure/table/standard,
+/obj/item/weapon/paper/talon_shields,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/machinery/computer/ship/helm,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dD" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dF" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/structure/railing,
+/obj/effect/floor_decal/borderfloor{
+ dir = 5
+ },
+/obj/structure/table/standard,
+/obj/item/device/bluespaceradio/talon_prelinked,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dG" = (
+/obj/item/weapon/bedsheet,
+/obj/structure/bed/padded,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/pilot_room)
+"dH" = (
+/obj/structure/table/woodentable,
+/obj/machinery/computer/ship/navigation/telescreen{
+ pixel_y = 32
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/pilot_room)
+"dI" = (
+/obj/structure/table/woodentable,
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/pilot,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/pilot_room)
+"dJ" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"dK" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dL" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/structure/bed/chair/office/light{
+ dir = 1
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/eng_room)
+"dM" = (
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/eng_room)
+"dN" = (
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22;
+ pixel_y = 0
+ },
+/obj/effect/landmark/start{
+ name = "Talon Engineer"
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/eng_room)
+"dO" = (
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/structure/cable/green{
+ icon_state = "0-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 5
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/railing,
+/obj/effect/floor_decal/steeldecal/steel_decals9,
+/obj/effect/floor_decal/steeldecal/steel_decals9{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dS" = (
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"dT" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/effect/landmark/start{
+ name = "Talon Pilot"
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/pilot_room)
+"dU" = (
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/pilot_room)
+"dV" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/bed/chair/office/light{
+ dir = 1
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/pilot_room)
+"dW" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dX" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"dY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/structure/sign/directions/roomnum{
+ icon_state = "roomnum";
+ dir = 4;
+ pixel_x = 32;
+ pixel_y = -9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"dZ" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_y = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"ea" = (
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"eb" = (
+/obj/machinery/door/airlock/command{
+ id_tag = "talon_engdoor";
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/eng_room)
+"ec" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"ed" = (
+/obj/structure/cable/green,
+/obj/machinery/power/shield_generator/charged,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/tech)
+"ee" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"ef" = (
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/bluegrid,
+/area/talon/decktwo/tech)
+"eg" = (
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"eh" = (
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"ei" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"ej" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/structure/sign/directions/roomnum{
+ pixel_x = -31;
+ pixel_y = -9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"ek" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"el" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ icon_state = "steel_decals_central4";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"em" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ id_tag = "talon_engdoor";
+ name = "Engineer's Cabin";
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/eng_room)
+"en" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"eo" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"ep" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"eq" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/machinery/computer/ship/engines{
+ dir = 1;
+ icon_state = "computer"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"er" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"es" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_x = 2;
+ pixel_y = -28
+ },
+/obj/structure/sign/directions/evac{
+ pixel_y = -38
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"et" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"eu" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/light/small,
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/borderfloor/corner2,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/tech)
+"ev" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"ew" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"ex" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"ey" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/obj/machinery/door/airlock{
+ id_tag = "talon_pilotdoor";
+ name = "Pilot's Cabin";
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/pilot_room)
+"ez" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals_central4{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"eA" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"eB" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"eC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"eD" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/machinery/button/remote/airlock{
+ dir = 8;
+ id = "talon_engdoor";
+ name = "Door Bolts";
+ pixel_x = -28;
+ specialfunctions = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"eE" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"eF" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/engineering_personal{
+ req_access = newlist()
+ },
+/obj/item/clothing/suit/space/void/atmos,
+/obj/item/clothing/head/helmet/space/void/atmos{
+ camera_networks = list("TalonHelmets")
+ },
+/obj/item/weapon/tank/oxygen,
+/obj/item/device/suit_cooling_unit,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/eng_room)
+"eH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2";
+ dir = 1
+ },
+/obj/machinery/door/airlock/command{
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/tech)
+"eI" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/pilot{
+ req_access = newlist()
+ },
+/obj/item/clothing/suit/space/void/pilot,
+/obj/item/clothing/head/helmet/space/void/pilot{
+ camera_networks = list("TalonHelmets")
+ },
+/obj/item/weapon/tank/oxygen,
+/obj/item/device/suit_cooling_unit,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"eJ" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"eK" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/machinery/button/remote/airlock{
+ dir = 4;
+ id = "talon_pilotdoor";
+ name = "Door Bolts";
+ pixel_x = 28;
+ specialfunctions = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/pilot_room)
+"eL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"eM" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"eN" = (
+/turf/simulated/wall/rshull,
+/area/talon/decktwo/lifeboat)
+"eO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2";
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass_external,
+/obj/effect/map_helper/airlock/door/simple,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/lifeboat)
+"eP" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "4-8"
+ },
+/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/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"eQ" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/catwalk,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"eR" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/decktwo/central_hallway)
+"eS" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"eT" = (
+/turf/simulated/wall,
+/area/talon/decktwo/med_room)
+"eU" = (
+/obj/structure/table/woodentable,
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/medical,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/med_room)
+"eV" = (
+/obj/structure/table/woodentable,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/med_room)
+"eW" = (
+/obj/item/weapon/bedsheet,
+/obj/structure/bed/padded,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 26
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/med_room)
+"eX" = (
+/obj/machinery/computer/shuttle_control/explore/talon_lifeboat{
+ icon_state = "computer";
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"eY" = (
+/obj/machinery/vending/wallmed1{
+ emagged = 1;
+ pixel_y = 32;
+ shut_up = 0
+ },
+/obj/item/weapon/bedsheet,
+/obj/structure/bed/padded,
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"eZ" = (
+/turf/simulated/wall,
+/area/talon/decktwo/sec_room)
+"fa" = (
+/obj/item/weapon/bedsheet,
+/obj/structure/bed/padded,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/sec_room)
+"fb" = (
+/obj/structure/table/woodentable,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/sec_room)
+"fc" = (
+/obj/structure/table/woodentable,
+/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/security,
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/sec_room)
+"fd" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"fe" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"ff" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"fg" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"fh" = (
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/solar,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"fi" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"fj" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"fk" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"fl" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ cell_type = /obj/item/weapon/cell/apc;
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/structure/bed/chair/office/light{
+ dir = 1
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/med_room)
+"fm" = (
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/med_room)
+"fn" = (
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22;
+ pixel_y = 0
+ },
+/obj/effect/landmark/start{
+ name = "Talon Doctor"
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/med_room)
+"fo" = (
+/obj/machinery/power/apc/talon/hyper{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/closet/crate/plastic,
+/obj/item/clothing/suit/space/emergency,
+/obj/item/device/flashlight,
+/obj/item/weapon/storage/briefcase/inflatable,
+/obj/item/clothing/head/helmet/space/emergency,
+/obj/item/device/flashlight/glowstick,
+/obj/item/device/flashlight/glowstick,
+/obj/item/device/flashlight/glowstick,
+/obj/item/weapon/storage/box/metalfoam,
+/obj/item/weapon/tank/oxygen,
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"fp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/lifeboat)
+"fq" = (
+/obj/machinery/alarm/talon{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/powered/scrubber,
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"fr" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/effect/landmark/start{
+ name = "Talon Guard"
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/sec_room)
+"fs" = (
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/sec_room)
+"ft" = (
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/bed/chair/office/light{
+ dir = 1
+ },
+/turf/simulated/floor/carpet,
+/area/talon/decktwo/sec_room)
+"fu" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"fv" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"fw" = (
+/obj/structure/cable/yellow,
+/obj/machinery/power/solar,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"fx" = (
+/obj/structure/catwalk,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"fy" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"fz" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ icon_state = "light1";
+ pixel_x = -24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"fA" = (
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"fB" = (
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"fC" = (
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/obj/item/weapon/paper/talon_lifeboat,
+/obj/structure/table/steel,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"fD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/lifeboat)
+"fE" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/obj/machinery/portable_atmospherics/powered/pump/filled,
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"fF" = (
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"fG" = (
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"fH" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"fI" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"fJ" = (
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"fK" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"fL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ id_tag = "talon_meddoor";
+ name = "Doctor's Cabin";
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/med_room)
+"fM" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"fN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"fO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"fP" = (
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/obj/structure/table/steel,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"fQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/embedded_controller/radio/simple_docking_controller{
+ dir = 1;
+ frequency = 1380;
+ id_tag = "talonlifeboat_docker";
+ pixel_x = -28;
+ pixel_y = -28
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/lifeboat)
+"fR" = (
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
+ },
+/obj/structure/bed/padded,
+/obj/item/weapon/bedsheet,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/lifeboat)
+"fS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"fT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"fU" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"fV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/spline/plain{
+ dir = 8
+ },
+/obj/machinery/door/airlock{
+ id_tag = "talon_secdoor";
+ name = "Guard's Cabin";
+ req_one_access = list(301)
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/sec_room)
+"fW" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"fX" = (
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"fY" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 6
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 4;
+ icon_state = "extinguisher_closed";
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"fZ" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/machinery/button/remote/airlock{
+ dir = 8;
+ id = "talon_meddoor";
+ name = "Door Bolts";
+ pixel_x = -28;
+ specialfunctions = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"ga" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"gb" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/medical3{
+ req_access = newlist()
+ },
+/obj/item/clothing/suit/space/void/medical,
+/obj/item/clothing/head/helmet/space/void/medical{
+ camera_networks = list("TalonHelmets")
+ },
+/obj/item/weapon/tank/oxygen,
+/obj/item/device/suit_cooling_unit,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/med_room)
+"gc" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/security{
+ req_access = newlist()
+ },
+/obj/item/clothing/suit/space/void/security,
+/obj/item/clothing/head/helmet/space/void/security{
+ camera_networks = list("TalonHelmets")
+ },
+/obj/item/weapon/tank/oxygen,
+/obj/item/device/suit_cooling_unit,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"gd" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"ge" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/table/standard,
+/obj/machinery/button/remote/airlock{
+ dir = 4;
+ id = "talon_secdoor";
+ name = "Door Bolts";
+ pixel_x = 28;
+ specialfunctions = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/sec_room)
+"gf" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/command{
+ name = "Talon Secure Airlock";
+ req_one_access = list(301)
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/maintenance/decktwo_aft)
+"gi" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gj" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 2
+ },
+/obj/effect/floor_decal/borderfloor/corner{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gk" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gl" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gm" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 5
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4;
+ icon_state = "borderfloorcorner2";
+ pixel_y = 0
+ },
+/obj/machinery/washing_machine,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gn" = (
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"go" = (
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gp" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"gq" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"gt" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ dir = 5
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"gu" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gv" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 9
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/machinery/washing_machine,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gw" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gx" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gy" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gz" = (
+/obj/machinery/door/firedoor/glass/talon/hidden,
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gA" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"gB" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gC" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gD" = (
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gE" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 10
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"gF" = (
+/obj/machinery/door/firedoor/glass/talon/hidden{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals5{
+ icon_state = "steel_decals5";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gG" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/alarm/talon{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gH" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gI" = (
+/obj/structure/sign/deck2{
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/steel_grid,
+/area/talon/decktwo/central_hallway)
+"gJ" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/lattice,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gK" = (
+/obj/structure/lattice,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gL" = (
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/steeldecal/steel_decals3,
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gN" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gO" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 10
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 9
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gR" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 6
+ },
+/obj/effect/floor_decal/borderfloor/corner2,
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gS" = (
+/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/door/airlock,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gT" = (
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gU" = (
+/obj/structure/railing,
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gV" = (
+/obj/structure/railing,
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"gW" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/glass,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"gX" = (
+/obj/machinery/alarm/talon{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"gY" = (
+/obj/structure/catwalk,
+/obj/structure/cable/green{
+ d2 = 8;
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"gZ" = (
+/turf/simulated/wall,
+/area/talon/maintenance/decktwo_port)
+"ha" = (
+/turf/simulated/floor/tiled/white,
+/area/talon/decktwo/central_hallway)
+"hb" = (
+/obj/structure/sink{
+ pixel_y = 22
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/decktwo/central_hallway)
+"hc" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hd" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 9
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"he" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hf" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ dir = 5
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hg" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hh" = (
+/obj/machinery/cryopod/talon{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/central_hallway)
+"hi" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/landmark/talon,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/decktwo/central_hallway)
+"hj" = (
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"hk" = (
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22;
+ pixel_y = 0
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"hl" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"hm" = (
+/obj/structure/toilet{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/talon/decktwo/central_hallway)
+"hn" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/lattice,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"ho" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"hp" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hq" = (
+/obj/machinery/computer/cryopod{
+ pixel_x = 32
+ },
+/obj/machinery/light/small,
+/obj/effect/landmark/talon,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/talon/decktwo/central_hallway)
+"hr" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/catwalk,
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"hs" = (
+/obj/structure/catwalk,
+/obj/structure/cable/green{
+ d2 = 8;
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"ht" = (
+/turf/simulated/wall/rshull,
+/area/talon/maintenance/decktwo_aft)
+"hu" = (
+/turf/simulated/wall,
+/area/talon/maintenance/decktwo_aft)
+"hw" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hx" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hy" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"hz" = (
+/obj/structure/railing{
+ icon_state = "railing0";
+ dir = 4
+ },
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"hB" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hC" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hD" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 10
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hE" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/zpipe/down/supply{
+ icon_state = "down-supply";
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"hF" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{
+ icon_state = "down-scrubbers";
+ dir = 8
+ },
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"hG" = (
+/obj/structure/cable/heavyduty{
+ 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/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"hH" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"hI" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"hJ" = (
+/obj/structure/cable/heavyduty,
+/obj/structure/cable/heavyduty{
+ dir = 2;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "0-2"
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"hL" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 10
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hM" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"hN" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "0-2"
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "0-8"
+ },
+/obj/structure/cable/heavyduty,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"hO" = (
+/obj/effect/overmap/visitable/ship/talon,
+/turf/space,
+/area/space)
+"hP" = (
+/obj/effect/landmark/map_data/talon,
+/turf/space,
+/area/space)
+"hQ" = (
+/obj/structure/table/bench/wooden,
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"hR" = (
+/obj/structure/ladder,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals3{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"hT" = (
+/obj/effect/floor_decal/steeldecal/steel_decals10{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals10,
+/obj/structure/sign/deck2{
+ pixel_y = 28
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"hU" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/trash,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_port)
+"hV" = (
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/trash,
+/turf/simulated/floor/lino,
+/area/talon/maintenance/decktwo_aft)
+"hW" = (
+/obj/structure/loot_pile/maint/trash,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_starboard)
+"hX" = (
+/obj/structure/railing,
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"hY" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"hZ" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable/heavyduty{
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_aft)
+"ia" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/talon{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ib" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "2-4"
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 6
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_aft)
+"ic" = (
+/obj/structure/lattice,
+/obj/structure/railing,
+/turf/simulated/open,
+/area/talon/maintenance/decktwo_aft)
+"id" = (
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -28
+ },
+/obj/machinery/atmospherics/unary/vent_pump/aux{
+ icon_state = "map_vent_aux";
+ dir = 1
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 8;
+ id_tag = "talon_aft_solar";
+ pixel_x = 28
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ie" = (
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"if" = (
+/obj/machinery/airlock_sensor{
+ pixel_x = -28;
+ pixel_y = 28
+ },
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_aft)
+"ig" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/catwalk,
+/obj/structure/sign/warning/falling{
+ pixel_x = 31
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ih" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 9
+ },
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ii" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ij" = (
+/obj/machinery/atmospherics/portables_connector/aux{
+ icon_state = "map_connector-aux";
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ik" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"il" = (
+/obj/structure/catwalk,
+/obj/machinery/airlock_sensor{
+ dir = 1;
+ pixel_x = -28;
+ pixel_y = -28
+ },
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"im" = (
+/obj/structure/catwalk,
+/obj/machinery/light/small,
+/obj/structure/sign/warning/airlock{
+ pixel_y = -32
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"in" = (
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/atmospherics/pipe/simple/visible/aux,
+/obj/machinery/door/airlock/external/glass,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"ip" = (
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_x = 8;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"iq" = (
+/obj/machinery/telecomms/allinone/talon{
+ id = "talon_aio";
+ network = "Talon"
+ },
+/turf/simulated/floor/bluegrid,
+/area/talon/decktwo/tech)
+"ir" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ dir = 5
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"is" = (
+/turf/simulated/open/vacuum,
+/area/space)
+"it" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iu" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iv" = (
+/obj/machinery/power/tracker,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iw" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"ix" = (
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/heavyduty,
+/obj/structure/cable/heavyduty{
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iy" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "0-2"
+ },
+/obj/structure/cable/heavyduty,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iz" = (
+/obj/machinery/power/tracker,
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iA" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iB" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iC" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iD" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iE" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iF" = (
+/obj/structure/cable/heavyduty{
+ dir = 2;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iG" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iH" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iI" = (
+/obj/structure/cable/heavyduty{
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/talon/maintenance/decktwo_solars)
+"iJ" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"iK" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/aux{
+ icon_state = "intact-aux";
+ dir = 9
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"iL" = (
+/turf/simulated/open/vacuum,
+/area/talon/maintenance/decktwo_solars)
+"iM" = (
+/obj/machinery/ntnet_relay,
+/turf/simulated/floor/bluegrid,
+/area/talon/decktwo/tech)
+"jD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"mN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/machinery/oxygen_pump{
+ icon_state = "oxygen_tank";
+ dir = 4;
+ pixel_x = 30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"oo" = (
+/obj/structure/sign/poster,
+/turf/simulated/wall,
+/area/talon/decktwo/bar)
+"rE" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/obj/machinery/embedded_controller/radio/simple_docking_controller{
+ frequency = 1380;
+ id_tag = "talon_lifeboatbay";
+ pixel_x = 8;
+ pixel_y = 28
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"rQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2";
+ dir = 1
+ },
+/obj/effect/overmap/visitable/ship/landable/talon_lifeboat,
+/obj/effect/shuttle_landmark/shuttle_initializer/talon_lifeboat,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/lifeboat)
+"sx" = (
+/obj/machinery/button/remote/airlock{
+ dir = 4;
+ id = "talon_capdoor";
+ name = "Door Bolts";
+ pixel_x = 28;
+ specialfunctions = 4
+ },
+/turf/simulated/floor/wood,
+/area/talon/decktwo/cap_room)
+"tC" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/obj/structure/sign/directions/evac{
+ dir = 1;
+ pixel_x = 1;
+ pixel_y = 32
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"uP" = (
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/structure/catwalk,
+/obj/structure/sign/securearea{
+ pixel_x = 0;
+ pixel_y = 30
+ },
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"xm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ icon_state = "intact-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/structure/sign/department/telecoms{
+ pixel_y = -31
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"yb" = (
+/obj/structure/table/steel,
+/obj/machinery/button/remote/blast_door{
+ dir = 8;
+ id = "talon_windows";
+ name = "window blast shields"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/talon/decktwo/bridge_upper)
+"BC" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 8
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"FD" = (
+/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/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/machinery/camera/network/talon{
+ icon_state = "camera";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"Gq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 10;
+ icon_state = "borderfloorcorner2";
+ pixel_x = 0
+ },
+/obj/structure/sign/directions/roomnum{
+ icon_state = "roomnum";
+ dir = 1;
+ pixel_x = -31;
+ pixel_y = -9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"Ib" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/glass_external,
+/obj/effect/map_helper/airlock/door/simple,
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/lifeboat)
+"IL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/oxygen_pump{
+ icon_state = "oxygen_tank";
+ dir = 8;
+ pixel_x = -30
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"JL" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ layer = 3.3;
+ pixel_x = 26
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"MS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/structure/sign/directions/roomnum{
+ icon_state = "roomnum";
+ dir = 8;
+ pixel_x = 32;
+ pixel_y = -9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+"Qm" = (
+/obj/machinery/door/airlock/maintenance/common,
+/obj/machinery/door/firedoor/glass/talon,
+/turf/simulated/floor/plating,
+/area/talon/maintenance/decktwo_aft)
+"Se" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/talon/decktwo/bridge_upper)
+"SU" = (
+/obj/effect/landmark/start{
+ name = "Talon Captain"
+ },
+/turf/simulated/floor/carpet/blucarpet,
+/area/talon/decktwo/cap_room)
+"Xp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 10
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 9
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 26
+ },
+/turf/simulated/floor/tiled/steel,
+/area/talon/decktwo/central_hallway)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+hP
+"}
+(2,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+hO
+aa
+"}
+(3,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(4,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(5,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(6,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(7,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(8,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(9,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(10,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(11,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(12,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(13,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(14,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(15,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(16,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(17,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(18,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(19,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(20,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(21,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(22,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(23,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(24,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(25,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(26,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(27,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(28,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(29,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(30,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(31,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(32,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(33,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(34,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(35,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(36,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(37,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(38,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(39,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(40,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(41,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(42,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(43,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(44,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(45,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(46,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(47,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(48,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(49,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(50,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(51,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(52,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(53,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+ao
+ao
+ao
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(54,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+ao
+iv
+ao
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(55,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+ao
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+ao
+iw
+ao
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(56,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+ct
+fi
+hH
+hJ
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+iu
+ix
+iu
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+iA
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(57,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+cu
+fv
+fh
+hM
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+ao
+ao
+ao
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+iB
+iA
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(58,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+cu
+fw
+cb
+cg
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+bl
+bl
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+cb
+ht
+ht
+ht
+ht
+iB
+iA
+ao
+ao
+ao
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(59,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+cv
+fw
+cb
+ch
+cx
+cH
+cY
+cY
+cY
+dJ
+cY
+cY
+eB
+cY
+eQ
+fj
+fx
+fJ
+fx
+fx
+fx
+fx
+fx
+fx
+fx
+gX
+hl
+hu
+hV
+hE
+ht
+ao
+hM
+ao
+iF
+ao
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(60,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+cb
+ci
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+eR
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+gY
+hU
+hu
+gp
+hd
+ht
+ce
+iE
+fw
+iG
+fw
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(61,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+cb
+ci
+cc
+cI
+cZ
+dp
+dx
+dK
+dx
+ek
+dx
+dx
+eS
+fk
+fy
+fK
+fY
+gf
+BC
+gx
+gH
+gO
+cc
+gZ
+gZ
+hu
+gq
+he
+ht
+ce
+iE
+fw
+iG
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(62,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ao
+ao
+ap
+ap
+ap
+ap
+ap
+ba
+ba
+ap
+ap
+ap
+ap
+cb
+cj
+cc
+cJ
+da
+dq
+dq
+dq
+dY
+el
+eC
+mN
+Xp
+dq
+MS
+el
+eC
+gg
+gl
+gy
+gM
+gP
+gS
+ha
+ha
+Qm
+gq
+he
+ht
+ce
+iE
+fw
+iG
+fw
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(63,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ap
+aC
+aC
+aC
+aC
+hQ
+hQ
+aC
+aC
+aC
+aC
+aC
+cc
+cc
+cK
+db
+dr
+dr
+dr
+dr
+em
+dr
+dr
+eT
+eT
+eT
+fL
+eT
+eT
+gm
+gz
+gz
+gz
+cc
+hb
+hm
+hu
+hx
+ij
+ht
+ce
+iE
+fw
+iG
+fw
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(64,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ap
+aC
+az
+SU
+aM
+aM
+aM
+bu
+bB
+aM
+aM
+aC
+ck
+cy
+cL
+dc
+dr
+dy
+dL
+dZ
+en
+eD
+dr
+eU
+fl
+fz
+fM
+fZ
+eT
+cc
+cc
+gI
+cc
+cc
+cc
+cc
+hu
+hY
+hu
+ht
+ce
+iE
+fw
+iG
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(65,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aC
+aA
+aK
+aM
+bb
+bm
+bm
+bC
+bK
+aK
+aC
+cl
+cz
+cM
+dd
+dr
+dz
+dM
+ea
+eo
+eE
+dr
+eV
+fm
+fA
+fN
+ga
+eT
+gn
+gn
+gn
+gn
+gT
+hp
+hc
+hc
+ih
+iJ
+ht
+ce
+iE
+fw
+iG
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(66,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+aC
+aL
+aM
+bc
+bn
+bn
+bD
+bL
+bR
+aC
+cl
+cz
+cN
+de
+dr
+dA
+dN
+ea
+ep
+eF
+dr
+eW
+fn
+fB
+fO
+gb
+eT
+gn
+gn
+gn
+gn
+gT
+gq
+gB
+gu
+hy
+ik
+ht
+ce
+iE
+fw
+iG
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(67,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ae
+ae
+ae
+aj
+aq
+Se
+aB
+aM
+sx
+bd
+bo
+bv
+bE
+bM
+er
+aC
+cm
+cz
+cO
+df
+dr
+dr
+dr
+eb
+dr
+dr
+dr
+eT
+eT
+eT
+eT
+eT
+eT
+go
+go
+go
+go
+gU
+gq
+gC
+gn
+hX
+ik
+ht
+ce
+iE
+fw
+iG
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(68,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ae
+ae
+ae
+ak
+ip
+ac
+aC
+aC
+aC
+be
+aC
+aC
+aC
+aC
+aC
+aC
+cl
+cA
+cN
+jD
+ds
+dB
+dO
+dS
+eq
+ds
+eN
+eN
+eN
+eN
+eN
+eN
+hu
+rE
+hc
+hc
+hc
+hc
+hd
+hn
+ic
+ii
+iK
+ht
+ce
+iE
+fw
+iG
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(69,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ae
+ag
+al
+ar
+ac
+aD
+aN
+aU
+bf
+bp
+bw
+bF
+bw
+bS
+cc
+cn
+cB
+cP
+dg
+ds
+dC
+dP
+ec
+es
+ds
+eN
+eX
+fo
+fC
+fP
+eN
+hu
+tC
+gB
+gJ
+gu
+gV
+he
+gC
+gT
+ik
+ht
+ht
+ht
+hZ
+iu
+iD
+ao
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(70,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+af
+ah
+am
+as
+ay
+aE
+aO
+aV
+bg
+aV
+FD
+bG
+bN
+bT
+cd
+co
+cC
+cQ
+dh
+dt
+dD
+dQ
+ed
+et
+eH
+eO
+rQ
+fp
+fD
+fQ
+Ib
+gh
+gt
+gC
+gK
+gn
+gT
+he
+gC
+gT
+il
+in
+id
+ie
+if
+ao
+ao
+ao
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(71,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ae
+ai
+yb
+at
+aw
+aw
+aw
+aW
+aW
+aW
+aw
+aw
+bO
+bU
+aw
+hT
+cD
+cR
+di
+ds
+dE
+dR
+ee
+eu
+ds
+eN
+eY
+fq
+fE
+fR
+eN
+hu
+uP
+gD
+gL
+go
+gU
+he
+gC
+gT
+im
+ht
+ht
+ht
+ib
+iu
+iA
+ao
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(72,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ae
+ae
+ae
+ai
+au
+aw
+aF
+aP
+aX
+aF
+bq
+bx
+bH
+bH
+bV
+aw
+cl
+cE
+cN
+xm
+ds
+dF
+iq
+ef
+iM
+ds
+eN
+eN
+eN
+eN
+eN
+eN
+hu
+gE
+hg
+hg
+hg
+hg
+hf
+hn
+ic
+he
+he
+ht
+ce
+eP
+fw
+iH
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(73,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ae
+ae
+ae
+an
+av
+aw
+aG
+aQ
+aQ
+aQ
+aQ
+aQ
+aQ
+aQ
+bW
+aw
+cm
+cz
+cN
+de
+du
+du
+du
+du
+du
+du
+du
+eZ
+eZ
+eZ
+eZ
+eZ
+eZ
+gu
+gu
+gu
+gu
+gV
+gA
+gC
+gn
+gV
+he
+ht
+ce
+eP
+fw
+iH
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(74,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ac
+ac
+ac
+ac
+ac
+aw
+aw
+aH
+aR
+aY
+bh
+br
+by
+bI
+bI
+bX
+aw
+cl
+cz
+cN
+de
+du
+dG
+dT
+eg
+ev
+eI
+du
+fa
+fr
+fF
+fS
+gc
+eZ
+gn
+gn
+gn
+gn
+gT
+gA
+ho
+go
+hz
+he
+ht
+ce
+eP
+fw
+iH
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(75,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ax
+oo
+aI
+aS
+aI
+bi
+aI
+bz
+aQ
+aQ
+bY
+aw
+cl
+cz
+cS
+dj
+du
+dH
+dU
+eh
+ew
+eJ
+du
+fb
+fs
+fG
+fT
+gd
+eZ
+gn
+gn
+gn
+gn
+gT
+hL
+ia
+ig
+ir
+hR
+ht
+ce
+eP
+fw
+iH
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(76,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ax
+aw
+aJ
+aT
+aZ
+aZ
+aZ
+bA
+bJ
+bP
+bZ
+aw
+ck
+cy
+cT
+dk
+du
+dI
+dV
+ei
+ex
+eK
+du
+fc
+ft
+fH
+fU
+ge
+eZ
+cc
+cc
+gI
+cc
+cc
+cc
+cc
+hu
+hB
+hu
+ht
+ce
+eP
+fw
+iH
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(77,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ax
+aw
+aw
+aw
+aw
+bj
+bs
+aw
+aw
+aw
+aw
+aw
+cc
+cc
+cU
+dl
+du
+du
+du
+du
+ey
+du
+du
+eZ
+eZ
+eZ
+fV
+eZ
+eZ
+gv
+gF
+gF
+gF
+cc
+hh
+hh
+hu
+hC
+he
+ht
+ce
+eP
+fw
+iH
+fw
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(78,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ax
+ax
+ax
+ax
+ax
+bk
+bk
+ax
+ax
+bQ
+hW
+ca
+cp
+cc
+cV
+dm
+dv
+dv
+dv
+ej
+ez
+eL
+IL
+dv
+dv
+Gq
+ez
+eL
+gi
+gw
+gy
+hS
+gQ
+gW
+hi
+hq
+hu
+hC
+he
+ht
+ce
+eP
+fw
+iH
+fw
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(79,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+bQ
+ca
+ca
+cq
+cc
+cW
+dn
+dw
+dn
+dW
+dn
+eA
+JL
+dn
+fd
+dW
+dn
+fW
+dw
+gj
+gk
+gG
+gN
+gR
+cF
+fe
+cF
+hu
+hC
+he
+ht
+ce
+eP
+fw
+iH
+fw
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(80,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+ao
+bQ
+bQ
+bQ
+cq
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+fe
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+cF
+hj
+hr
+hw
+hD
+hf
+ht
+ce
+eP
+fw
+iH
+fw
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(81,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+cw
+fw
+bQ
+cr
+cG
+cX
+do
+do
+do
+dX
+do
+do
+eM
+do
+ff
+fu
+fI
+fX
+fI
+fI
+fI
+fI
+fI
+fI
+fI
+hk
+hs
+hu
+he
+hF
+ht
+ao
+hM
+ao
+iI
+ao
+iL
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(82,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+eP
+fw
+bQ
+cs
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bt
+bt
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+bQ
+ht
+ht
+ht
+ht
+iC
+iD
+ao
+ao
+ao
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(83,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+eP
+fv
+hI
+hM
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+ao
+ao
+ao
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+cf
+iC
+iD
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(84,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+aa
+ce
+fg
+hG
+hG
+hN
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+iu
+iy
+iu
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+it
+iD
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(85,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+ao
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+ao
+iw
+ao
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+fh
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(86,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+ao
+iz
+ao
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(87,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+ao
+ao
+ao
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(88,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(89,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(90,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(91,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(92,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(93,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(94,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(95,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(96,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(97,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(98,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(99,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(100,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(101,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(102,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(103,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(104,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(105,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(106,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(107,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(108,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(109,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(110,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(111,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(112,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(113,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(114,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(115,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(116,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(117,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(118,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(119,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+is
+is
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(120,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(121,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(122,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(123,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(124,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(125,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(126,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(127,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(128,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(129,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(130,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(131,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(132,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(133,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(134,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(135,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(136,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(137,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(138,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(139,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(140,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
diff --git a/maps/tether/submaps/offmap/talon_areas.dm b/maps/tether/submaps/offmap/talon_areas.dm
new file mode 100644
index 00000000000..36aee1dd2ef
--- /dev/null
+++ b/maps/tether/submaps/offmap/talon_areas.dm
@@ -0,0 +1,73 @@
+/area/talon/maintenance/deckone_port
+ name = "\improper Deck One - Port Maintenance"
+/area/talon/maintenance/deckone_starboard
+ name = "\improper Deck One - Starboard Maintenance"
+
+/area/talon/maintenance/deckone_port_aft_wing
+ name = "\improper Deck One - Aft Port Wing"
+/area/talon/maintenance/deckone_starboard_aft_wing
+ name = "\improper Deck One - Aft Starboard Wing"
+/area/talon/maintenance/deckone_port_fore_wing
+ name = "\improper Deck One - Fore Port Wing"
+/area/talon/maintenance/deckone_starboard_fore_wing
+ name = "\improper Deck One - Fore Starboard Wing"
+
+/area/talon/maintenance/decktwo_port
+ name = "\improper Deck Two - Port Maintenance"
+/area/talon/maintenance/decktwo_starboard
+ name = "\improper Deck Two - Starboard Maintenance"
+/area/talon/maintenance/decktwo_aft
+ name = "\improper Deck Two - Aft Maintenance"
+/area/talon/maintenance/decktwo_solars
+ name = "\improper Deck Two - Ext Solars"
+
+
+/area/talon/deckone/central_hallway
+ name = "\improper Deck One - Central Hallway"
+/area/talon/deckone/bridge_hallway
+ name = "\improper Deck One - Bridge Hallway"
+/area/talon/deckone/medical
+ name = "\improper Deck One - Medical"
+/area/talon/deckone/workroom
+ name = "\improper Deck One - Workroom"
+/area/talon/deckone/brig
+ name = "\improper Deck One - Brig"
+/area/talon/deckone/port_eng
+ name = "\improper Deck One - Port Engineering"
+/area/talon/deckone/port_eng_store
+ name = "\improper Deck One - Port Eng. Storage"
+/area/talon/deckone/starboard_eng
+ name = "\improper Deck One - Starboard Engineering"
+/area/talon/deckone/starboard_eng_store
+ name = "\improper Deck One - Starboard Eng. Storage"
+/area/talon/deckone/armory
+ name = "\improper Deck One - Armory"
+/area/talon/deckone/secure_storage
+ name = "\improper Deck One - Secure Storage"
+/area/talon/deckone/bridge
+ name = "\improper Deck One - Bridge"
+/area/talon/deckone/port_solar
+ name = "\improper Deck One - Port Solar Control"
+/area/talon/deckone/starboard_solar
+ name = "\improper Deck One - Starboard Solar Control"
+
+/area/talon/decktwo/central_hallway
+ name = "\improper Deck Two - Central Hallway"
+/area/talon/decktwo/pilot_room
+ name = "\improper Deck Two - Pilot Cabin"
+/area/talon/decktwo/med_room
+ name = "\improper Deck Two - Doctor Cabin"
+/area/talon/decktwo/eng_room
+ name = "\improper Deck Two - Engineer Cabin"
+/area/talon/decktwo/sec_room
+ name = "\improper Deck Two - Guard Cabin"
+/area/talon/decktwo/cap_room
+ name = "\improper Deck Two - Captain Cabin"
+/area/talon/decktwo/bar
+ name = "\improper Deck Two - Bar"
+/area/talon/decktwo/tech
+ name = "\improper Deck Two - Tech Room"
+/area/talon/decktwo/lifeboat
+ name = "\improper Deck Two - Lifeboat"
+/area/talon/decktwo/bridge_upper
+ name = "\improper Deck Two - Upper Bridge"
\ No newline at end of file
diff --git a/maps/tether/submaps/tether_misc.dmm b/maps/tether/submaps/tether_misc.dmm
index 46b36efe270..93bd74a4c6c 100644
--- a/maps/tether/submaps/tether_misc.dmm
+++ b/maps/tether/submaps/tether_misc.dmm
@@ -1725,10 +1725,6 @@
},
/turf/simulated/floor/holofloor/grass,
/area/holodeck/holodorm/source_garden)
-"hn" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/base_high,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"hx" = (
/turf/simulated/floor/holofloor/wood,
/area/holodeck/holodorm/source_seating)
@@ -1876,7 +1872,7 @@
/turf/space/transit/west,
/area/space)
"kh" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid,
+/obj/machinery/telecomms/relay/preset/centcom/tether,
/turf/unsimulated/floor/steel,
/area/centcom/control)
"kn" = (
@@ -1889,10 +1885,6 @@
/obj/machinery/telecomms/server/presets/centcomm,
/turf/unsimulated/floor/steel,
/area/centcom/control)
-"kF" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"le" = (
/obj/effect/floor_decal/transit/orange{
dir = 4
@@ -2054,10 +2046,6 @@
icon = 'icons/turf/transit_vr.dmi'
},
/area/space)
-"vt" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/station_high,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"vG" = (
/obj/effect/step_trigger/lost_in_space/tram,
/turf/simulated/floor/maglev{
@@ -2127,6 +2115,7 @@
/area/space)
"xe" = (
/obj/machinery/account_database{
+ dir = 1;
name = "CentComm Accounts database"
},
/turf/unsimulated/floor/steel,
@@ -2243,7 +2232,7 @@
/turf/simulated/sky/virgo3b/south,
/area/space)
"Ct" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/station_low,
+/obj/machinery/ntnet_relay,
/turf/unsimulated/floor/steel,
/area/centcom/control)
"Cw" = (
@@ -2256,20 +2245,12 @@
},
/turf/simulated/floor/tiled/steel,
/area/centcom/simulated/main_hall)
-"Dc" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"Dk" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
/turf/simulated/floor/tiled/steel,
/area/space)
-"Dn" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"Dw" = (
/obj/structure/table/standard,
/obj/item/weapon/reagent_containers/food/snacks/chips,
@@ -2335,10 +2316,6 @@
icon_state = "techfloor_grid"
},
/area/space)
-"FW" = (
-/obj/machinery/telecomms/relay/preset/centcom/underdark,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"Ga" = (
/turf/unsimulated/floor/steel,
/area/centcom/control)
@@ -4851,10 +4828,6 @@
},
/turf/simulated/floor/tiled/white,
/area/centcom/simulated/medical)
-"ZA" = (
-/obj/machinery/telecomms/relay/preset/centcom/tether/base_low,
-/turf/unsimulated/floor/steel,
-/area/centcom/control)
"ZC" = (
/obj/machinery/light{
icon_state = "tube1";
@@ -17130,7 +17103,7 @@ ae
wy
rE
Ga
-HQ
+Iq
wl
Up
Vj
@@ -17270,9 +17243,9 @@ ae
ae
ae
wy
-kF
+HQ
+Ga
Ga
-Iq
wl
Up
Vj
@@ -17838,9 +17811,9 @@ ae
ae
ae
wy
-Dc
-Ga
-hn
+wy
+wy
+wy
wl
Up
Vj
@@ -17979,10 +17952,10 @@ ae
ae
ae
ae
-wy
-vt
-Ga
-FW
+ae
+ae
+ae
+ae
wl
Up
Vj
@@ -18121,10 +18094,10 @@ ae
ae
ae
ae
-wy
-Dn
-Ga
-ZA
+ae
+ae
+ae
+ae
wl
Up
Vj
@@ -18263,10 +18236,10 @@ ae
ae
ae
ae
-wy
-wy
-wy
-wy
+ae
+ae
+ae
+ae
wl
Up
Vj
diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm
index f98681f9b04..3df556ed484 100644
--- a/maps/tether/tether-02-surface2.dmm
+++ b/maps/tether/tether-02-surface2.dmm
@@ -20553,15 +20553,6 @@
temperature = 80
},
/area/tcommsat/chamber)
-"aMA" = (
-/obj/machinery/telecomms/relay/preset/tether/midpoint,
-/turf/simulated/floor/bluegrid{
- name = "Mainframe Base";
- nitrogen = 100;
- oxygen = 0;
- temperature = 80
- },
-/area/tcommsat/chamber)
"aMB" = (
/obj/machinery/telecomms/server/presets/common,
/turf/simulated/floor/tiled/dark{
@@ -20835,16 +20826,8 @@
temperature = 80
},
/area/tcommsat/chamber)
-"aNc" = (
-/obj/machinery/telecomms/relay/preset/tether/base_high,
-/turf/simulated/floor/tiled/dark{
- nitrogen = 100;
- oxygen = 0;
- temperature = 80
- },
-/area/tcommsat/chamber)
"aNd" = (
-/obj/machinery/telecomms/broadcaster/preset_right,
+/obj/machinery/telecomms/broadcaster/preset_right/tether,
/turf/simulated/floor/bluegrid{
name = "Mainframe Base";
nitrogen = 100;
@@ -20870,14 +20853,6 @@
temperature = 80
},
/area/tcommsat/chamber)
-"aNg" = (
-/obj/machinery/telecomms/relay/preset/tether/base_low,
-/turf/simulated/floor/tiled/dark{
- nitrogen = 100;
- oxygen = 0;
- temperature = 80
- },
-/area/tcommsat/chamber)
"aNh" = (
/obj/machinery/telecomms/bus/preset_four,
/turf/simulated/floor/tiled/dark{
@@ -21104,15 +21079,6 @@
temperature = 80
},
/area/tcommsat/chamber)
-"aNC" = (
-/obj/machinery/telecomms/relay/preset/tether/base_mid,
-/turf/simulated/floor/bluegrid{
- name = "Mainframe Base";
- nitrogen = 100;
- oxygen = 0;
- temperature = 80
- },
-/area/tcommsat/chamber)
"aND" = (
/obj/machinery/door/blast/regular{
density = 0;
@@ -43448,7 +43414,7 @@ aLE
aLM
aMz
aLM
-aNc
+aLM
aLM
aLM
aNL
@@ -43872,11 +43838,11 @@ aXa
aLo
aLH
aMe
-aMA
+aLD
aMN
aNe
aNr
-aNC
+aLD
aNN
aOg
aKh
@@ -44300,7 +44266,7 @@ aLK
aLM
aLM
aLM
-aNg
+aLM
aLM
aLM
aNP
diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm
index 987ab85a4ad..bc473fd7da8 100644
--- a/maps/tether/tether-05-station1.dmm
+++ b/maps/tether/tether-05-station1.dmm
@@ -10499,7 +10499,6 @@
icon_state = "alarm0";
pixel_y = -22
},
-/obj/machinery/telecomms/relay/preset/tether/station_mid,
/turf/simulated/floor/tiled/techfloor,
/area/crew_quarters/heads/chief)
"asp" = (
@@ -22814,14 +22813,12 @@
/obj/effect/floor_decal/techfloor{
dir = 10
},
-/obj/machinery/telecomms/relay/preset/tether/station_high,
/turf/simulated/floor/tiled/techfloor,
/area/crew_quarters/heads/chief)
"bYK" = (
/obj/effect/floor_decal/techfloor{
dir = 6
},
-/obj/machinery/telecomms/relay/preset/tether/station_low,
/turf/simulated/floor/tiled/techfloor,
/area/crew_quarters/heads/chief)
"bYN" = (
diff --git a/maps/tether/tether-08-mining.dmm b/maps/tether/tether-08-mining.dmm
index 342fc603025..7bf87c5ee58 100644
--- a/maps/tether/tether-08-mining.dmm
+++ b/maps/tether/tether-08-mining.dmm
@@ -773,10 +773,6 @@
/obj/structure/cable/green,
/turf/simulated/floor/plating,
/area/outpost/mining_main/maintenance)
-"bG" = (
-/obj/machinery/telecomms/relay/preset/underdark,
-/turf/simulated/floor/plating,
-/area/outpost/mining_main/maintenance)
"bH" = (
/obj/machinery/telecomms/relay/preset/mining,
/turf/simulated/floor/plating,
@@ -4104,7 +4100,7 @@ bd
bl
bq
bz
-bG
+bp
SF
ab
aF
diff --git a/maps/tether/tether-09-solars.dmm b/maps/tether/tether-09-solars.dmm
index 7fccc627e51..167568a6d10 100644
--- a/maps/tether/tether-09-solars.dmm
+++ b/maps/tether/tether-09-solars.dmm
@@ -1909,7 +1909,6 @@
/turf/simulated/floor/virgo3b,
/area/mine/explored)
"ed" = (
-/obj/machinery/telecomms/relay/preset/tether/sci_outpost,
/turf/simulated/floor,
/area/maintenance/substation/outpost)
"ee" = (
diff --git a/maps/tether/tether.dm b/maps/tether/tether.dm
index 4660e3d1aea..8c8790f0498 100644
--- a/maps/tether/tether.dm
+++ b/maps/tether/tether.dm
@@ -8,7 +8,8 @@
#include "tether_shuttle_defs.dm"
#include "tether_shuttles.dm"
#include "tether_telecomms.dm"
-
+ #include "tether_jobs.dm"
+
#if !AWAY_MISSION_TEST //Don't include these for just testing away missions
#include "tether-01-surface1.dmm"
#include "tether-02-surface2.dmm"
diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm
index 0418e334758..33ebcf7f504 100644
--- a/maps/tether/tether_defines.dm
+++ b/maps/tether/tether_defines.dm
@@ -11,17 +11,19 @@
#define Z_LEVEL_MISC 10
#define Z_LEVEL_UNDERDARK 11
#define Z_LEVEL_PLAINS 12
-#define Z_LEVEL_ROGUEMINE_1 13
-#define Z_LEVEL_ROGUEMINE_2 14
-#define Z_LEVEL_ROGUEMINE_3 15
-#define Z_LEVEL_ROGUEMINE_4 16
-#define Z_LEVEL_BEACH 17
-#define Z_LEVEL_BEACH_CAVE 18
-#define Z_LEVEL_AEROSTAT 19
-#define Z_LEVEL_AEROSTAT_SURFACE 20
-#define Z_LEVEL_DEBRISFIELD 21
-#define Z_LEVEL_FUELDEPOT 22
-#define Z_LEVEL_GATEWAY 23
+#define Z_LEVEL_OFFMAP1 13
+#define Z_LEVEL_OFFMAP2 14
+#define Z_LEVEL_ROGUEMINE_1 15
+#define Z_LEVEL_ROGUEMINE_2 16
+#define Z_LEVEL_ROGUEMINE_3 17
+#define Z_LEVEL_ROGUEMINE_4 18
+#define Z_LEVEL_BEACH 19
+#define Z_LEVEL_BEACH_CAVE 20
+#define Z_LEVEL_AEROSTAT 21
+#define Z_LEVEL_AEROSTAT_SURFACE 22
+#define Z_LEVEL_DEBRISFIELD 23
+#define Z_LEVEL_FUELDEPOT 24
+#define Z_LEVEL_GATEWAY 25
//Camera networks
#define NETWORK_TETHER "Tether"
@@ -99,12 +101,14 @@
NETWORK_COMMUNICATORS,
NETWORK_ALARM_ATMOS,
NETWORK_ALARM_POWER,
- NETWORK_ALARM_FIRE
+ NETWORK_ALARM_FIRE,
+ NETWORK_TALON_HELMETS,
+ NETWORK_TALON_SHIP
)
bot_patrolling = FALSE
- allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage")
+ allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage","ITV Talon Cryo")
spawnpoint_died = /datum/spawnpoint/tram
spawnpoint_left = /datum/spawnpoint/tram
spawnpoint_stayed = /datum/spawnpoint/cryo
@@ -134,6 +138,7 @@
lateload_z_levels = list(
list("Tether - Misc","Tether - Underdark","Tether - Plains"), //Stock Tether lateload maps
+ list("Offmap Ship - Talon Z1","Offmap Ship - Talon Z2"),
list("Asteroid Belt 1","Asteroid Belt 2","Asteroid Belt 3","Asteroid Belt 4"),
list("Desert Planet - Z1 Beach","Desert Planet - Z2 Cave"),
list("Remmi Aerostat - Z1 Aerostat","Remmi Aerostat - Z2 Surface"),
@@ -198,34 +203,6 @@
Z_LEVEL_PLAINS
)
-// Short range computers see only the six main levels, others can see the surrounding surface levels.
-/datum/map/tether/get_map_levels(var/srcz, var/long_range = TRUE)
- if (long_range && (srcz in map_levels))
- return map_levels
- else if (srcz == Z_LEVEL_MISC) //technical levels
- return list() // Nothing on these z-levels- sensors won't show, and GPSes won't see each other.
- else if (srcz >= Z_LEVEL_SURFACE_LOW && srcz <= Z_LEVEL_SOLARS) //Zs 1-3, 5-9, Z4 will return same list, but is not included into it
- return list(
- Z_LEVEL_SURFACE_LOW,
- Z_LEVEL_SURFACE_MID,
- Z_LEVEL_SURFACE_HIGH,
- Z_LEVEL_SPACE_LOW,
- Z_LEVEL_SPACE_MID,
- Z_LEVEL_SPACE_HIGH,
- Z_LEVEL_SURFACE_MINE,
- Z_LEVEL_SOLARS,
- Z_LEVEL_PLAINS)
- else if(srcz >= Z_LEVEL_BEACH && srcz <= Z_LEVEL_BEACH_CAVE)
- return list(
- Z_LEVEL_BEACH,
- Z_LEVEL_BEACH_CAVE)
- else if(srcz >= Z_LEVEL_AEROSTAT && srcz <= Z_LEVEL_AEROSTAT_SURFACE)
- return list(
- Z_LEVEL_AEROSTAT,
- Z_LEVEL_AEROSTAT_SURFACE)
- else
- return list(srcz) //prevents runtimes when using CMC. any Z-level not defined above will be 'isolated' and only show to GPSes/CMCs on that same Z (e.g. CentCom).
-
// Overmap represetation of tether
/obj/effect/overmap/visitable/sector/virgo3b
name = "Virgo 3B"
diff --git a/maps/tether/tether_jobs.dm b/maps/tether/tether_jobs.dm
new file mode 100644
index 00000000000..b4535cd1988
--- /dev/null
+++ b/maps/tether/tether_jobs.dm
@@ -0,0 +1,185 @@
+///////////////////////////////////
+//// Talon Jobs
+/datum/department/talon
+ name = DEPARTMENT_TALON
+ short_name = "Talon"
+ color = "#888888"
+ sorting_order = -2
+ assignable = FALSE
+ visible = FALSE
+
+/datum/job/talon/captain
+ title = "Talon Captain"
+ departments_managed = list(DEPARTMENT_TALON)
+ job_description = "The captain's job is to generate profit through trade or other means such as salvage or even privateering."
+ supervisors = "yourself"
+ outfit_type = /decl/hierarchy/outfit/job/talon_captain
+
+ offmap_spawn = TRUE
+ faction = "Station" //Required for SSjob to allow people to join as it
+ departments = list(DEPARTMENT_TALON)
+ total_positions = 1
+ spawn_positions = 1
+ selection_color = "#999999"
+ economic_modifier = 7
+ minimal_player_age = 14
+ pto_type = null
+ access = list(access_talon)
+ minimal_access = list(access_talon)
+
+/datum/job/talon/doctor
+ title = "Talon Doctor"
+ job_description = "The doctor's job is to make sure the crew of the ITV Talon remain in good health and to monitor them when away from the ship."
+ supervisors = "the ITV Talon's captain"
+ outfit_type = /decl/hierarchy/outfit/job/talon_doctor
+
+ offmap_spawn = TRUE
+ faction = "Station" //Required for SSjob to allow people to join as it
+ departments = list(DEPARTMENT_TALON)
+ total_positions = 1
+ spawn_positions = 1
+ selection_color = "#aaaaaa"
+ economic_modifier = 5
+ minimal_player_age = 14
+ pto_type = null
+ access = list(access_talon)
+ minimal_access = list(access_talon)
+
+/datum/job/talon/engineer
+ title = "Talon Engineer"
+ job_description = "The engineer's job is to ensure the ITV Talon remains in tip-top shape and to repair any damage as well as manage the shields."
+ supervisors = "the ITV Talon's captain"
+ outfit_type = /decl/hierarchy/outfit/job/talon_engineer
+
+ offmap_spawn = TRUE
+ faction = "Station" //Required for SSjob to allow people to join as it
+ departments = list(DEPARTMENT_TALON)
+ total_positions = 1
+ spawn_positions = 1
+ selection_color = "#aaaaaa"
+ economic_modifier = 5
+ minimal_player_age = 14
+ pto_type = null
+ access = list(access_talon)
+ minimal_access = list(access_talon)
+
+/datum/job/talon/pilot
+ title = "Talon Pilot"
+ job_description = "The pilot's job is to fly the ITV Talon in the most efficient and profitable way possible."
+ supervisors = "the ITV Talon's captain"
+ outfit_type = /decl/hierarchy/outfit/job/talon_pilot
+
+ offmap_spawn = TRUE
+ faction = "Station" //Required for SSjob to allow people to join as it
+ departments = list(DEPARTMENT_TALON)
+ total_positions = 1
+ spawn_positions = 1
+ selection_color = "#aaaaaa"
+ economic_modifier = 5
+ minimal_player_age = 14
+ pto_type = null
+ access = list(access_talon)
+ minimal_access = list(access_talon)
+
+/datum/job/talon/guard
+ title = "Talon Guard"
+ job_description = "The guard's job is to keep the crew of the ITV Talon safe and ensure the captain's wishes are carried out."
+ supervisors = "the ITV Talon's captain"
+ outfit_type = /decl/hierarchy/outfit/job/talon_security
+
+ offmap_spawn = TRUE
+ faction = "Station" //Required for SSjob to allow people to join as it
+ departments = list(DEPARTMENT_TALON)
+ total_positions = 1
+ spawn_positions = 1
+ selection_color = "#aaaaaa"
+ economic_modifier = 5
+ minimal_player_age = 14
+ pto_type = null
+ access = list(access_talon)
+ minimal_access = list(access_talon)
+
+/decl/hierarchy/outfit/job/talon_captain
+ name = OUTFIT_JOB_NAME("Talon Captain")
+
+ id_type = /obj/item/weapon/card/id/gold
+ id_slot = slot_wear_id
+ pda_type = null
+
+ l_ear = /obj/item/device/radio/headset/talon
+ glasses = /obj/item/clothing/glasses/sunglasses
+ uniform = /obj/item/clothing/under/rank/captain
+ shoes = /obj/item/clothing/shoes/brown
+ backpack = /obj/item/weapon/storage/backpack/captain
+ satchel_one = /obj/item/weapon/storage/backpack/satchel/cap
+ messenger_bag = /obj/item/weapon/storage/backpack/messenger/com
+
+/decl/hierarchy/outfit/job/talon_pilot
+ name = OUTFIT_JOB_NAME("Talon Pilot")
+ id_pda_assignment = "Pilot"
+
+ id_slot = slot_wear_id
+ pda_type = null
+ flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
+
+ l_ear = /obj/item/device/radio/headset/talon
+ shoes = /obj/item/clothing/shoes/black
+ uniform = /obj/item/clothing/under/rank/pilot1
+ suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot
+ gloves = /obj/item/clothing/gloves/fingerless
+ glasses = /obj/item/clothing/glasses/fakesunglasses/aviator
+
+/decl/hierarchy/outfit/job/talon_doctor
+ name = OUTFIT_JOB_NAME("Talon Doctor")
+ hierarchy_type = /decl/hierarchy/outfit/job
+
+ id_type = /obj/item/weapon/card/id/medical
+ id_slot = slot_wear_id
+ pda_type = null
+
+ l_ear = /obj/item/device/radio/headset/talon
+ shoes = /obj/item/clothing/shoes/white
+ backpack = /obj/item/weapon/storage/backpack/medic
+ satchel_one = /obj/item/weapon/storage/backpack/satchel/med
+ messenger_bag = /obj/item/weapon/storage/backpack/messenger/med
+ uniform = /obj/item/clothing/under/rank/medical
+ suit = /obj/item/clothing/suit/storage/toggle/labcoat
+ l_hand = /obj/item/weapon/storage/firstaid/regular
+ r_pocket = /obj/item/device/flashlight/pen
+
+/decl/hierarchy/outfit/job/talon_security
+ name = OUTFIT_JOB_NAME("Talon Security")
+ hierarchy_type = /decl/hierarchy/outfit/job
+
+ id_type = /obj/item/weapon/card/id/security
+ id_slot = slot_wear_id
+ pda_type = null
+ backpack_contents = list(/obj/item/weapon/handcuffs = 1)
+
+ l_ear = /obj/item/device/radio/headset/talon
+ gloves = /obj/item/clothing/gloves/black
+ shoes = /obj/item/clothing/shoes/boots/jackboots
+ backpack = /obj/item/weapon/storage/backpack/security
+ satchel_one = /obj/item/weapon/storage/backpack/satchel/sec
+ messenger_bag = /obj/item/weapon/storage/backpack/messenger/sec
+ uniform = /obj/item/clothing/under/rank/security
+ l_pocket = /obj/item/device/flash
+
+/decl/hierarchy/outfit/job/talon_engineer
+ name = OUTFIT_JOB_NAME("Talon Engineer")
+ hierarchy_type = /decl/hierarchy/outfit/job
+
+ id_type = /obj/item/weapon/card/id/engineering
+ id_slot = slot_wear_id
+ pda_type = null
+ flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
+
+ l_ear = /obj/item/device/radio/headset/talon
+ belt = /obj/item/weapon/storage/belt/utility/full
+ shoes = /obj/item/clothing/shoes/boots/workboots
+ r_pocket = /obj/item/device/t_scanner
+ backpack = /obj/item/weapon/storage/backpack/industrial
+ satchel_one = /obj/item/weapon/storage/backpack/satchel/eng
+ messenger_bag = /obj/item/weapon/storage/backpack/messenger/engi
+ uniform = /obj/item/clothing/under/rank/atmospheric_technician
+ belt = /obj/item/weapon/storage/belt/utility/atmostech
diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm
index cddc6e256cb..4921680f15f 100644
--- a/maps/tether/tether_phoronlock.dm
+++ b/maps/tether/tether_phoronlock.dm
@@ -27,7 +27,7 @@ obj/machinery/airlock_sensor/phoron/process()
if(abs(pressure - previousPressure) > 0.1 || previousPressure == null || abs(phoron - previousPhoron) > 0.1 || previousPhoron == null)
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
signal.data["pressure"] = num2text(pressure)
@@ -81,7 +81,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior
if(!radio_connection)
return 0
var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
+ signal.transmission_method = TRANSMISSION_RADIO
signal.source = src
signal.data = list(
"tag" = scrub_id,
diff --git a/maps/tether/tether_telecomms.dm b/maps/tether/tether_telecomms.dm
index e64a33d40c2..5f7cd195994 100644
--- a/maps/tether/tether_telecomms.dm
+++ b/maps/tether/tether_telecomms.dm
@@ -3,94 +3,31 @@
// #### Relays ####
// Telecomms doesn't know about connected z-levels, so we need relays even for the other surface levels.
-/obj/machinery/telecomms/relay/preset/tether/base_low
- id = "Base Relay 1"
+/obj/machinery/telecomms/relay/preset/tether
+ id = "Tether Relay"
listening_level = Z_LEVEL_SURFACE_LOW
- autolinkers = list("tbl_relay")
+ autolinkers = list("tether_relay")
-/obj/machinery/telecomms/relay/preset/centcom/tether/base_low
+/obj/machinery/telecomms/relay/preset/centcom/tether
listening_level = Z_LEVEL_SURFACE_LOW
-/obj/machinery/telecomms/relay/preset/tether/base_mid
- id = "Base Relay 2"
- listening_level = Z_LEVEL_SURFACE_MID
- autolinkers = list("tbm_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid
- listening_level = Z_LEVEL_SURFACE_MID
-
-/obj/machinery/telecomms/relay/preset/tether/base_high
- id = "Base Relay 3"
- listening_level = Z_LEVEL_SURFACE_HIGH
- autolinkers = list("tbh_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/base_high
- listening_level = Z_LEVEL_SURFACE_HIGH
-
-//Some coverage for midpoint
-/obj/machinery/telecomms/relay/preset/tether/midpoint
- id = "Midpoint Relay"
- listening_level = Z_LEVEL_TRANSIT
- autolinkers = list("tmp_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint
- listening_level = Z_LEVEL_TRANSIT
-
-// The station of course needs relays fluff-wise to connect to ground station. But again, no multi-z so, we need one for each z level.
-/obj/machinery/telecomms/relay/preset/tether/station_low
- id = "Station Relay 1"
- listening_level = Z_LEVEL_SPACE_LOW
- autolinkers = list("tsl_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/station_low
- listening_level = Z_LEVEL_SPACE_LOW
-
-/obj/machinery/telecomms/relay/preset/tether/station_mid
- id = "Station Relay 2"
- listening_level = Z_LEVEL_SPACE_MID
- autolinkers = list("tsm_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid
- listening_level = Z_LEVEL_SPACE_MID
-
-/obj/machinery/telecomms/relay/preset/tether/station_high
- id = "Station Relay 3"
- listening_level = Z_LEVEL_SPACE_HIGH
- autolinkers = list("tsh_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/station_high
- listening_level = Z_LEVEL_SPACE_HIGH
-
-/obj/machinery/telecomms/relay/preset/tether/sci_outpost
- id = "Science Outpost Relay"
- listening_level = Z_LEVEL_SOLARS
- autolinkers = list("sci_o_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost
- listening_level = Z_LEVEL_SOLARS
-
-/obj/machinery/telecomms/relay/preset/underdark
- id = "Mining Underground Relay"
- listening_level = Z_LEVEL_UNDERDARK
- autolinkers = list("ud_relay")
-
-/obj/machinery/telecomms/relay/preset/centcom/underdark
- listening_level = Z_LEVEL_UNDERDARK
-
// #### Hub ####
/obj/machinery/telecomms/hub/preset/tether
id = "Hub"
network = "tcommsat"
autolinkers = list("hub",
- "tbl_relay", "tbm_relay", "tbh_relay", "tmp_relay", "tsl_relay", "tsm_relay", "tsh_relay",
- "c_relay", "m_relay", "r_relay", "sci_o_relay", "ud_relay",
+ "tether_relay", "c_relay", "m_relay", "r_relay",
"science", "medical", "supply", "service", "common", "command", "engineering", "security", "explorer", "unused",
"hb_relay", "receiverA", "broadcasterA"
)
/obj/machinery/telecomms/receiver/preset_right/tether
+ id = "tether_rx"
freq_listening = list(AI_FREQ, SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ, ENT_FREQ, EXP_FREQ)
+/obj/machinery/telecomms/broadcaster/preset_right/tether
+ id = "tether_tx"
+
/obj/machinery/telecomms/bus/preset_two/tether
freq_listening = list(SUP_FREQ, SRV_FREQ, EXP_FREQ)
diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm
index 524482d83fb..8a1f360c719 100644
--- a/maps/~map_system/maps.dm
+++ b/maps/~map_system/maps.dm
@@ -159,20 +159,44 @@ var/list/all_maps = list()
empty_levels = list(world.maxz)
return pick(empty_levels)
-// Get the list of zlevels that a computer on srcz can see maps of (for power/crew monitor, cameras, etc)
-// The long_range parameter expands the coverage. Default is to return map_levels for long range otherwise just srcz.
-// zLevels outside station_levels will return an empty list.
-/datum/map/proc/get_map_levels(var/srcz, var/long_range = TRUE)
- if (long_range && (srcz in map_levels))
- return map_levels
- else if (srcz in station_levels)
- return list(srcz)
+// Get a list of 'nearby' or 'connected' zlevels.
+// You should at least return a list with the given z if nothing else.
+/datum/map/proc/get_map_levels(var/srcz, var/long_range = FALSE, var/om_range = -1)
+ //Overmap behavior
+ if(use_overmap)
+ //Get what sector we're in
+ var/obj/effect/overmap/visitable/O = get_overmap_sector(srcz)
+ if(!istype(O))
+ //Anything in multiz then (or just themselves)
+ return GetConnectedZlevels(srcz)
+
+ //Just the sector we're in
+ if(om_range == -1)
+ return O.map_z.Copy()
+
+ //Otherwise every sector we're on top of
+ var/list/connections = list()
+ var/turf/T = get_turf(O)
+ var/turfrange = long_range ? max(0, om_range) : om_range
+ for(var/obj/effect/overmap/visitable/V in range(turfrange, T))
+ connections += V.map_z // Adding list to list adds contents
+ return connections
+
+ //Traditional behavior
else
- return list()
+ //If long range, and they're at least in contact levels, return contact levels.
+ if (long_range && (srcz in contact_levels))
+ return contact_levels.Copy()
+ //If in station levels, return station levels
+ else if (srcz in station_levels)
+ return station_levels.Copy()
+ //Anything in multiz then (or just themselves)
+ else
+ return GetConnectedZlevels(srcz)
/datum/map/proc/get_zlevel_name(var/index)
var/datum/map_z_level/Z = zlevels["[index]"]
- return Z.name
+ return Z?.name
// Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't
// This list needs to be purged but people insist on adding more cruft to the radio.
diff --git a/nano/images/nanomap_z13.png b/nano/images/nanomap_z13.png
new file mode 100644
index 00000000000..6f87d9911fd
Binary files /dev/null and b/nano/images/nanomap_z13.png differ
diff --git a/nano/images/nanomap_z14.png b/nano/images/nanomap_z14.png
new file mode 100644
index 00000000000..84d106a5ac5
Binary files /dev/null and b/nano/images/nanomap_z14.png differ
diff --git a/nano/templates/sec_camera.tmpl b/nano/templates/sec_camera.tmpl
index 1d46f1868f8..21ecea71e78 100644
--- a/nano/templates/sec_camera.tmpl
+++ b/nano/templates/sec_camera.tmpl
@@ -8,7 +8,8 @@ Used In File(s): \code\game\machinery\computer\camera.dm
{{:helper.link('Reset', 'refresh', {'reset' : 1})}}
-
Current Camera:
+
Current Camera:
+
{{if data.current_camera}}
{{:data.current_camera.name}}
{{else}}
diff --git a/vorestation.dme b/vorestation.dme
index ff2f2878308..a6e08e86927 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -1128,6 +1128,7 @@
#include "code\game\objects\items\devices\radio\jammer_vr.dm"
#include "code\game\objects\items\devices\radio\radio.dm"
#include "code\game\objects\items\devices\radio\radio_vr.dm"
+#include "code\game\objects\items\devices\radio\radiopack.dm"
#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"
@@ -2800,6 +2801,8 @@
#include "code\modules\modular_computers\file_system\programs\research\ntmonitor.dm"
#include "code\modules\modular_computers\file_system\programs\security\alarm_monitor.dm"
#include "code\modules\modular_computers\file_system\programs\security\digitalwarrant.dm"
+#include "code\modules\modular_computers\file_system\programs\ships\navigation.dm"
+#include "code\modules\modular_computers\file_system\programs\ships\ship.dm"
#include "code\modules\modular_computers\hardware\_hardware.dm"
#include "code\modules\modular_computers\hardware\battery_module.dm"
#include "code\modules\modular_computers\hardware\card_slot.dm"
@@ -2902,6 +2905,7 @@
#include "code\modules\organs\subtypes\vox_vr.dm"
#include "code\modules\organs\subtypes\xenos.dm"
#include "code\modules\overmap\bluespace_rift_vr.dm"
+#include "code\modules\overmap\helpers.dm"
#include "code\modules\overmap\overmap_object.dm"
#include "code\modules\overmap\overmap_shuttle.dm"
#include "code\modules\overmap\sectors.dm"