diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm
index a565dc12d0..e1a29d97f0 100644
--- a/code/ATMOSPHERICS/pipes.dm
+++ b/code/ATMOSPHERICS/pipes.dm
@@ -1171,6 +1171,7 @@
/obj/machinery/atmospherics/pipe/tank/nitrogen
name = "Pressure Tank (Nitrogen)"
icon_state = "n2_map"
+ volume = 40000 //Vorestation edit
/obj/machinery/atmospherics/pipe/tank/nitrogen/New()
air_temporary = new
diff --git a/code/datums/supplypacks/science_vr.dm b/code/datums/supplypacks/science_vr.dm
index bfe2c0433c..ee73bf1089 100644
--- a/code/datums/supplypacks/science_vr.dm
+++ b/code/datums/supplypacks/science_vr.dm
@@ -28,7 +28,8 @@
/obj/item/weapon/disk/limb/dsi_vulpkanin,
/obj/item/weapon/disk/limb/dsi_akula,
/obj/item/weapon/disk/limb/dsi_spider,
- /obj/item/weapon/disk/limb/eggnerdltd
+ /obj/item/weapon/disk/limb/eggnerdltd,
+ /obj/item/weapon/disk/limb/eggnerdltdred
)
cost = 40
containertype = /obj/structure/closet/crate/secure
diff --git a/code/game/jobs/job/captain_vr.dm b/code/game/jobs/job/captain_vr.dm
deleted file mode 100644
index 9df22d6563..0000000000
--- a/code/game/jobs/job/captain_vr.dm
+++ /dev/null
@@ -1,2 +0,0 @@
-/datum/job/hop
- alt_titles = list("Deputy Director", "Crew Resources Officer")
\ No newline at end of file
diff --git a/code/game/jobs/job/civilian_vr.dm b/code/game/jobs/job/civilian_vr.dm
deleted file mode 100644
index 81f81a9dcf..0000000000
--- a/code/game/jobs/job/civilian_vr.dm
+++ /dev/null
@@ -1,2 +0,0 @@
-/datum/job/janitor
- alt_titles = list("Custodian", "Sanitation Technician", "Maid")
\ No newline at end of file
diff --git a/code/game/jobs/job/z_all_jobs_vr.dm b/code/game/jobs/job/z_all_jobs_vr.dm
new file mode 100644
index 0000000000..18afda3419
--- /dev/null
+++ b/code/game/jobs/job/z_all_jobs_vr.dm
@@ -0,0 +1,49 @@
+//Contains all modified jobs for easy access and editing.
+
+/datum/job/hop
+ alt_titles = list("Deputy Director", "Crew Resources Officer")
+
+/datum/job/doctor
+ total_positions = 5
+ spawn_positions = 5
+
+/datum/job/janitor //Lots of janitor substations on station.
+ total_positions = 3
+ spawn_positions = 3
+ alt_titles = list("Custodian", "Sanitation Technician", "Maid")
+
+/datum/job/officer
+ total_positions = 4
+ spawn_positions = 4
+
+/datum/job/cargo_tech
+ total_positions = 3
+ spawn_positions = 3
+
+/datum/job/psychiatrist
+ total_positions = 1
+ spawn_positions = 1
+
+/datum/job/mining
+ total_positions = 4
+ spawn_positions = 4
+
+/datum/job/cyborg
+ total_positions = 3
+ spawn_positions = 3
+
+/datum/job/bartender
+ total_positions = 2
+ spawn_positions = 2
+
+/datum/job/chef
+ total_positions = 2 //IT TAKES A LOT TO MAKE A STEW
+ spawn_positions = 2 //A PINCH OF SALT AND LAUGHTER, TOO
+
+/datum/job/engineer
+ total_positions = 5
+ spawn_positions = 5
+
+/datum/job/atmos
+ total_positions = 3
+ spawn_positions = 3
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index b6a699e803..f46f03d90f 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -588,7 +588,7 @@
//Departments that the cycler can paint suits to look like.
var/list/departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control")
//Species that the suits can be configured to fit.
- var/list/species = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Xenochimera","Vasilissan") //VORESTATION EDIT
+ var/list/species = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Xenochimera","Vasilissan", "Rapala") //VORESTATION EDIT
var/target_department
var/target_species
@@ -753,7 +753,7 @@
//Clear the access reqs, disable the safeties, and open up all paintjobs.
user << "You run the sequencer across the interface, corrupting the operating protocols."
departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Crowd Control","Emergency Medical Response","^%###^%$")
- species = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Vasilissan") //VORESTATION EDIT
+ species = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Vasilissan", "Rapala") //VORESTATION EDIT
emagged = 1
safeties = 0
diff --git a/code/game/machinery/suit_storage_unit_vr.dm b/code/game/machinery/suit_storage_unit_vr.dm
index 9f9e51ff35..abab98b8f1 100644
--- a/code/game/machinery/suit_storage_unit_vr.dm
+++ b/code/game/machinery/suit_storage_unit_vr.dm
@@ -1,2 +1,2 @@
/obj/machinery/suit_cycler
- species = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Xenochimera","Vasilissan") //Added xenochimera while I was at it. Someone put in an issue about it.
+ species = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Xenochimera","Vasilissan", "Rapala") //Added xenochimera while I was at it. Someone put in an issue about it.
diff --git a/code/game/objects/effects/spider_vr.dm b/code/game/objects/effects/spider_vr.dm
new file mode 100644
index 0000000000..d40f08aa9f
--- /dev/null
+++ b/code/game/objects/effects/spider_vr.dm
@@ -0,0 +1,13 @@
+/obj/effect/spider/spiderling/grub
+ name = "grub larva"
+ desc = "It never stays still for long."
+ //M.icon = 'grub_vr.dmi'
+ icon_state = "spiderling"
+
+obj/effect/spider/spiderling/grub/process()
+ if(amount_grown >= 100)
+ var/spawn_type = /mob/living/simple_animal/retaliate/solargrub
+ new spawn_type(src.loc, src)
+ qdel(src)
+ else
+ ..()
\ No newline at end of file
diff --git a/code/game/objects/mob_spawner_vr.dm b/code/game/objects/mob_spawner_vr.dm
index 5aa847c1c1..70ab906a27 100644
--- a/code/game/objects/mob_spawner_vr.dm
+++ b/code/game/objects/mob_spawner_vr.dm
@@ -22,7 +22,7 @@
var/list/spawned_mobs = list()
-/obj/structure/mob_spawner/initialize()
+/obj/structure/mob_spawner/New()
..()
processing_objects.Add(src)
last_spawn = world.time + rand(0,spawn_delay)
diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm
index 84cdc28f6a..283d9265b0 100644
--- a/code/game/objects/structures/trash_pile.dm
+++ b/code/game/objects/structures/trash_pile.dm
@@ -130,7 +130,7 @@
prob(5);/obj/item/weapon/storage/backpack,
prob(5);/obj/item/weapon/storage/backpack/satchel/norm,
prob(5);/obj/item/weapon/storage/box,
- prob(5);/obj/random/cigarettes,
+ // prob(5);/obj/random/cigarettes,
prob(4);/obj/item/broken_device,
prob(4);/obj/item/clothing/head/hardhat,
prob(4);/obj/item/clothing/mask/breath,
@@ -226,14 +226,14 @@
prob(3);/obj/item/weapon/material/knuckledusters,
prob(3);/obj/item/weapon/reagent_containers/syringe/drugs,
prob(2);/obj/item/weapon/handcuffs/fuzzy,
- prob(2);/obj/item/weapon/legcuffs,
+ // prob(2);/obj/item/weapon/legcuffs,
prob(2);/obj/item/weapon/storage/box/syndie_kit/spy,
prob(2);/obj/item/weapon/grenade/anti_photon,
prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc,
prob(1);/obj/item/device/nif/bad,
prob(1);/obj/item/device/radio_jammer,
prob(1);/obj/item/device/sleevemate,
- prob(1);/obj/item/device/bodysnatcher,
+ prob(1);/obj/item/device/bodysnatcher,
prob(1);/obj/item/weapon/beartrap,
prob(1);/obj/item/weapon/cell/hyper/empty,
prob(1);/obj/item/weapon/disk/nifsoft/compliance,
@@ -268,9 +268,11 @@
spawn_types = list(/mob/living/simple_animal/mouse)
simultaneous_spawns = 1
destructible = 1
+ spawn_delay = 1 HOUR
-/obj/structure/mob_spawner/mouse_nest/initialize()
+/obj/structure/mob_spawner/mouse_nest/New()
..()
+ last_spawn = rand(world.time - spawn_delay, world.time)
icon_state = pick(
"pile1",
"pile2",
@@ -287,4 +289,8 @@
/obj/structure/mob_spawner/mouse_nest/do_spawn(var/mob_path)
. = ..()
var/atom/A = get_holder_at_turf_level(src)
- A.visible_message("[.] crawls out of \the [src].")
\ No newline at end of file
+ A.visible_message("[.] crawls out of \the [src].")
+
+/obj/structure/mob_spawner/mouse_nest/get_death_report(var/mob/living/L)
+ ..()
+ last_spawn = rand(world.time - spawn_delay, world.time)
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm
index e92908ed3c..a38b489827 100644
--- a/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm
@@ -33,3 +33,8 @@
path = /obj/item/clothing/mask/gas/swat/vox
sort_category = "Xenowear"
whitelisted = "Vox"
+
+/datum/gear/uniform/loincloth
+ display_name = "loincloth"
+ path = /obj/item/clothing/suit/storage/fluff/loincloth
+ sort_category = "Xenowear"
\ No newline at end of file
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 1452475274..0f6248f0f1 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -462,6 +462,13 @@
return ..()
/obj/item/clothing/shoes/proc/handle_movement(var/turf/walking, var/running)
+ if(prob(1) && !recent_squish) //VOREStation edit begin
+ recent_squish = 1
+ spawn(100)
+ recent_squish = 0
+ for(var/mob/living/M in contents)
+ var/emote = pick(inside_emotes)
+ M << emote //VOREStation edit end
return
/obj/item/clothing/shoes/update_clothing_icon()
diff --git a/code/modules/clothing/clothing_vr.dm b/code/modules/clothing/clothing_vr.dm
index 4bbb91a530..5107fd2d05 100644
--- a/code/modules/clothing/clothing_vr.dm
+++ b/code/modules/clothing/clothing_vr.dm
@@ -1,3 +1,31 @@
+/obj/item/clothing
+ var/recent_struggle = 0
+
+/obj/item/clothing/shoes
+ var/list/inside_emotes = list()
+ var/recent_squish = 0
+
+/obj/item/clothing/shoes/New()
+ inside_emotes = list(
+ "You feel weightless for a moment as \the [name] moves upwards.",
+ "\The [name] are a ride you've got no choice but to participate in as the wearer moves.",
+ "The wearer of \the [name] moves, pressing down on you.",
+ "More motion while \the [name] move, feet pressing down against you."
+ )
+
+ ..()
+/* //Must be handled in clothing.dm
+/obj/item/clothing/shoes/proc/handle_movement(var/turf/walking, var/running)
+ if(prob(1) && !recent_squish)
+ recent_squish = 1
+ spawn(100)
+ recent_squish = 0
+ for(var/mob/living/M in contents)
+ var/emote = pick(inside_emotes)
+ M << emote
+ return
+*/
+
//This is a crazy 'sideways' override.
/obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user)
if(istype(I,/obj/item/weapon/holder/micro))
@@ -23,6 +51,28 @@
..()
+/obj/item/clothing/relaymove(var/mob/living/user,var/direction)
+
+ if(recent_struggle)
+ return
+
+ recent_struggle = 1
+
+ spawn(100)
+ recent_struggle = 0
+
+ if(ishuman(src.loc))
+ var/mob/living/carbon/human/H = src.loc
+ if(H.shoes == src)
+ H << "[user]'s tiny body presses against you in \the [src], squirming!"
+ user << "Your body presses out against [H]'s form! Well, what little you can get to!"
+ else
+ H << "[user]'s form shifts around in the \the [src], squirming!"
+ user << "You move around inside the [src], to no avail."
+ else
+ src.visible_message("\The [src] moves a little!")
+ user << "You throw yourself against the inside of \the [src]!"
+
//Mask
/obj/item/clothing/mask
name = "mask"
diff --git a/code/modules/clothing/glasses/glasses_vr.dm b/code/modules/clothing/glasses/glasses_vr.dm
index c001127eb4..015310e7f5 100644
--- a/code/modules/clothing/glasses/glasses_vr.dm
+++ b/code/modules/clothing/glasses/glasses_vr.dm
@@ -56,3 +56,6 @@
else
..()
+
+/obj/item/clothing/glasses/sunglasses/sechud/tactical
+ item_flags = AIRTIGHT
\ No newline at end of file
diff --git a/code/modules/events/event_container_vr.dm b/code/modules/events/event_container_vr.dm
index 5a54e974cf..62c297b5e8 100644
--- a/code/modules/events/event_container_vr.dm
+++ b/code/modules/events/event_container_vr.dm
@@ -74,6 +74,8 @@
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Solar Storm", /datum/event/solar_storm, 30, list(ASSIGNMENT_ENGINEER = 40, ASSIGNMENT_SECURITY = 30), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Virology Breach", /datum/event/prison_break/virology, 0, list(ASSIGNMENT_MEDICAL = 100), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Xenobiology Breach", /datum/event/prison_break/xenobiology, 0, list(ASSIGNMENT_SCIENCE = 100), 1),
+ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grub Infestation", /datum/event/grub_infestation, 75, list(ASSIGNMENT_SECURITY = 50, ASSIGNMENT_ENGINEER = 50), 1),
+ //Evil grubs that drain station power slightly
)
add_disabled_events(list(
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1),
diff --git a/code/modules/events/grubinfestation_vr.dm b/code/modules/events/grubinfestation_vr.dm
new file mode 100644
index 0000000000..5f1161c441
--- /dev/null
+++ b/code/modules/events/grubinfestation_vr.dm
@@ -0,0 +1,26 @@
+/datum/event/grub_infestation
+ announceWhen = 90
+ var/spawncount = 1
+
+
+/datum/event/grub_infestation/setup()
+ announceWhen = rand(announceWhen, announceWhen + 60)
+ spawncount = rand(4 * severity, 6 * severity) //grub larva only have a 50% chance to grow big and strong
+ sent_spiders_to_station = 0
+
+/datum/event/grub_infestation/announce()
+ command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg')
+
+
+/datum/event/grub_infestation/start()
+ var/list/vents = list()
+ for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in world)
+ if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels)
+ if(temp_vent.network.normal_members.len > 50)
+ vents += temp_vent
+
+ while((spawncount >= 1) && vents.len)
+ var/obj/vent = pick(vents)
+ new /obj/effect/spider/spiderling/grub(vent.loc)
+ vents -= vent
+ spawncount--
diff --git a/code/modules/food/recipes_microwave_vr.dm b/code/modules/food/recipes_microwave_vr.dm
index 8375e4e964..f0cbad5a43 100644
--- a/code/modules/food/recipes_microwave_vr.dm
+++ b/code/modules/food/recipes_microwave_vr.dm
@@ -113,4 +113,26 @@
items = list(
/obj/item/weapon/reagent_containers/food/snacks/egg/roiz
)
- result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg/roiz
\ No newline at end of file
+ result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg/roiz
+
+/datum/recipe/pillbugball
+ reagents = list("carbon" = 5)
+ items = list(
+ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat
+ )
+ result = /obj/item/weapon/reagent_containers/food/snacks/bugball
+
+/datum/recipe/mammi
+ fruit = list("orange" = 1)
+ reagents = list("water" = 10, "flour" = 10, "milk" = 5, "sodiumchloride" = 1)
+ result = /obj/item/weapon/reagent_containers/food/snacks/mammi
+
+/datum/recipe/makaroni
+ reagents = list("flour" = 15, "milk" = 5)
+ items = list(
+ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat,
+ /obj/item/weapon/reagent_containers/food/snacks/egg,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesewedge
+ )
+ result = /obj/item/weapon/reagent_containers/food/snacks/makaroni
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 3fdba139f2..1a45c1f459 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -312,6 +312,7 @@
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Code
msg += attempt_vr(src,"examine_pickup_size",args) //VOREStation Code
msg += attempt_vr(src,"examine_step_size",args) //VOREStation Code
+ msg += attempt_vr(src,"nif_examine",args) //VOREStation Code
if(mSmallsize in mutations)
msg += "[T.He] [T.is] small halfling!\n"
diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm
index 8ca0efdfa3..16868827a7 100644
--- a/code/modules/mob/living/carbon/human/examine_vr.dm
+++ b/code/modules/mob/living/carbon/human/examine_vr.dm
@@ -152,4 +152,12 @@
var/message = ""
if((H.get_effective_size() - src.get_effective_size()) >= 0.75)
message = "They are small enough that you could easily trample them!\n"
- return message
\ No newline at end of file
+ return message
+
+/mob/living/carbon/human/proc/nif_examine(mob/living/carbon/human/H)
+ var/message = ""
+ if(!H.nif || H.conceal_nif || !H.nif_examine) //Do they have a nif, do they have the NIF concealed, and do they have a NIF examine message?
+ return "" //If so, no message.
+ else
+ message += "[H.nif_examine]\n"
+ return message
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm
index ef992bd105..af8000e68a 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm
@@ -1,13 +1,13 @@
/datum/species/shapeshifter/promethean
min_age = 18
max_age = 80
- valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey","Sergal","Akula","Nevrean","Highlander Zorren","Flatland Zorren", "Vulpkanin", "Vasilissan", "Neaera", "Stok", "Farwa", "Sobaka", "Wolpin", "Saru", "Sparra")
+ valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey","Sergal","Akula","Nevrean","Highlander Zorren","Flatland Zorren", "Vulpkanin", "Vasilissan", "Rapala", "Neaera", "Stok", "Farwa", "Sobaka", "Wolpin", "Saru", "Sparra")
heal_rate = 0.2 //They heal .2, along with the natural .2 heal per tick when below the organ natural heal damage threshhold.
siemens_coefficient = 1 //Prevents them from being immune to tasers and stun weapons.
death_message = "goes limp, their body becoming softer..."
color_mult = 1
mob_size = MOB_MEDIUM
num_alternate_languages = 1 //Let's at least give them one
-
+ appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | RADIATION_GLOWS | HAS_UNDERWEAR
/datum/species/shapeshifter/promethean/handle_death(var/mob/living/carbon/human/H)
return //This nullifies them gibbing.
diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm
index 0bef1972b8..76ec29ff8a 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm
@@ -331,3 +331,40 @@
gluttonous = 0
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
min_age = 18
+
+datum/species/harpy
+ name = "Rapala"
+ name_plural = "Rapalans"
+ icobase = 'icons/mob/human_races/r_harpy_vr.dmi'
+ deform = 'icons/mob/human_races/r_def_harpy_vr.dmi'
+ tail = "tail"
+ icobase_tail = 1
+ unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite)
+ num_alternate_languages = 3
+ secondary_langs = list(LANGUAGE_BIRDSONG)
+ name_language = null
+ color_mult = 1
+
+ min_age = 18
+ max_age = 80
+
+ blurb = "An Avian species, coming from a distant planet, the Rapalas are the very proud race.\
+ Sol researchers have commented on them having a very close resemblance to the mythical race called 'Harpies',\
+ who are known for having massive winged arms and talons as feet. They've been clocked at speeds of over 35 miler per hour chasing the planet's many fish-like fauna.\
+ The Rapalan's home-world 'Verita' is a strangely habitable gas giant, while no physical earth exists, there are fertile floating islands orbiting around the planet from past asteroid activity."
+
+ //primitive_form = "Saru"
+
+ spawn_flags = SPECIES_CAN_JOIN
+ appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
+
+ //flesh_color = "#AFA59E"
+ //base_color = "#777777"
+ //tail_hair = "feathers"
+ //reagent_tag = IS_SERGAL
+
+ heat_discomfort_strings = list(
+ "Your feathers prickle in the heat.",
+ "You feel uncomfortably warm.",
+ "Your overheated skin itches."
+ )
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index f734969192..35c8db067c 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -779,6 +779,9 @@ default behaviour is:
spawn() C.mob_breakout(src)
return TRUE
+ if(istype(loc,/obj/item/clothing))
+ spawn() escape_clothes(loc)
+
if(attempt_vr(src,"vore_process_resist",args)) return TRUE //VOREStation Code
/mob/living/proc/escape_inventory(obj/item/weapon/holder/H)
diff --git a/code/modules/mob/living/simple_animal/vore/solargrub.dm b/code/modules/mob/living/simple_animal/vore/solargrub.dm
new file mode 100644
index 0000000000..6fdd271acb
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/vore/solargrub.dm
@@ -0,0 +1,114 @@
+/*
+A work in progress, lore will go here later.
+List of things solar grubs should be able to do:
+
+2. have three stages of growth depending on time. (Or energy drained altho that seems like a hard one to code)
+3. be capable of eating people that get knocked out. (also be able to shock attackers that don’t wear insulated gloves.)
+5. ((potentially use digested people to reproduce))
+6. add glow?
+*/
+
+#define SINK_POWER 1
+
+/mob/living/simple_animal/retaliate/solargrub
+ name = "juvenile solargrub"
+ desc = "A young sparkling solargrub"
+ icon = 'icons/mob/vore.dmi' //all of these are placeholders
+ icon_state = "solargrub"
+ icon_living = "solargrub"
+ icon_dead = "solargrub-dead"
+
+ faction = "grubs"
+ maxHealth = 250 //grubs can take a lot of harm
+ health = 250
+ move_to_delay = 5
+
+ melee_damage_lower = 1
+ melee_damage_upper = 5
+
+ speak_chance = 1
+ emote_see = list("squelches", "squishes")
+
+ speed = 2
+
+ meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat
+
+ response_help = "pokes"
+ response_disarm = "pushes"
+ response_harm = "roughly pushes"
+
+ // solar grubs are not affected by atmos
+ min_oxy = 0
+ max_oxy = 0
+ min_tox = 0
+ max_tox = 0
+ min_co2 = 0
+ max_co2 = 0
+ min_n2 = 0
+ max_n2 = 0
+
+ resistances = list(
+ HALLOSS = 0,
+ BRUTE = 1,
+ BURN = 0.1,
+ TOX = 0,
+ OXY = 0,
+ CLONE = 0
+ )
+
+ var/poison_per_bite = 5 //grubs cause a shock when they bite someone
+ var/poison_type = "shockchem"
+ var/poison_chance = 100
+ var/datum/powernet/PN // Our powernet
+ var/obj/structure/cable/attached // the attached cable
+
+/mob/living/simple_animal/relatiate/solargrub/PunchTarget()
+ var/mob/living/carbon/human/grubfood = target_mob
+ for(var/obj/O in grubfood)
+ O.emp_act(3)
+ ..()
+
+/mob/living/simple_animal/retaliate/solargrub/Life()
+ . = ..()
+ if(!. || ai_inactive) return
+
+ if(stance == STANCE_IDLE)
+ //first, check for potential cables nearby to powersink
+ var/turf/S = loc
+ attached = locate() in S
+ if(attached)
+ if(prob(2))
+ src.visible_message("\The [src] begins to sink power from the net.")
+ anchored = 1
+ PN = attached.powernet
+ PN.draw_power(150000)
+ var/apc_drain_rate = 4000 //5000 seems a bit high, knocking it down to 4000
+ for(var/obj/machinery/power/terminal/T in PN.nodes)
+ if(istype(T.master, /obj/machinery/power/apc))
+ var/obj/machinery/power/apc/A = T.master
+ if(A.operating && A.cell)
+ var/cur_charge = A.cell.charge / CELLRATE
+ var/drain_val = min(apc_drain_rate, cur_charge)
+ A.cell.use(drain_val * CELLRATE)
+ else if(!attached && anchored)
+ anchored = 0
+ PN = null
+
+/mob/living/simple_animal/retaliate/solargrub //active noms
+ vore_active = 1
+ vore_capacity = 1
+ vore_pounce_chance = 0 //grubs only eat incapacitated targets
+
+/mob/living/simple_animal/retaliate/solargrub/PunchTarget()
+ . = ..()
+ if(isliving(.))
+ var/mob/living/L = .
+ if(L.reagents)
+ L.reagents.add_reagent(poison_type, poison_per_bite)
+ if(prob(poison_chance))
+ L << "You feel a shock rushing through your veins."
+ L.reagents.add_reagent(poison_type, poison_per_bite)
+
+/mob/living/simple_animal/retaliate/solargrub/death()
+ src.anchored = 0
+ ..()
\ No newline at end of file
diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm
index dcf1fbb362..bcbe8092f8 100644
--- a/code/modules/mob/new_player/sprite_accessories_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_vr.dm
@@ -6,7 +6,7 @@
/datum/sprite_accessory/hair
- species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan") //This lets all races use the default hairstyles.
+ species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Rapala") //This lets all races use the default hairstyles.
sergal_plain
name = "Sergal Plain"
@@ -41,13 +41,13 @@
name = "Bald"
icon_state = "bald"
gender = MALE
- species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Xenochimera") //Lets all the races be bald if they want.
+ species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Xenochimera", "Rapala") //Lets all the races be bald if they want.
ponytail6_fixed //Eggnerd's done with waiting for upstream fixes lmao.
name = "Ponytail 6 but fixed"
icon = 'icons/mob/human_face_vr.dmi'
icon_state = "hair_ponytail6"
- species_allowed = list("Human","Skrell","Unathi","Tajara", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid")
+ species_allowed = list("Human","Skrell","Unathi","Tajara", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Rapala")
una_hood
name = "Cobra Hood"
@@ -333,7 +333,7 @@
gender = NEUTER
/datum/sprite_accessory/facial_hair
- species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan") //This lets all races use the facial hair styles.
+ species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Rapala") //This lets all races use the facial hair styles.
vulp_none
@@ -675,6 +675,18 @@
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND)
+ harpy_feathers
+ name = "Rapala leg Feather"
+ icon_state = "harpy-feathers"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_L_LEG,BP_R_LEG)
+
+ harpy_legs
+ name = "Rapala leg coloring"
+ icon_state = "harpy-leg"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG)
+
alurane
name = "Alurane Body"
icon_state = "alurane"
diff --git a/code/modules/organs/robolimbs_vr.dm b/code/modules/organs/robolimbs_vr.dm
index 28058af2e2..526e2a6a93 100644
--- a/code/modules/organs/robolimbs_vr.dm
+++ b/code/modules/organs/robolimbs_vr.dm
@@ -55,12 +55,26 @@
/obj/item/weapon/disk/limb/talon
company = "Talon LLC"
-/datum/robolimb/zenghu_taj
- company = "Zeng-Hu - Tajaran"
- desc = "This limb has a rubbery fleshtone covering with visible seams."
- icon = 'icons/mob/human_races/cyberlimbs/zenghu/zenghu_taj.dmi'
- unavailable_to_build = 1
- parts = list(BP_HEAD)
+/datum/robolimb/zenghu_taj //This wasn't indented. At all. It's a miracle this didn't break literally everything.
+ company = "Zeng-Hu - Tajaran"
+ desc = "This limb has a rubbery fleshtone covering with visible seams."
+ icon = 'icons/mob/human_races/cyberlimbs/zenghu/zenghu_taj.dmi'
+ unavailable_to_build = 1
+ parts = list(BP_HEAD)
+
+/datum/robolimb/eggnerdltdred
+ company = "Eggnerd Prototyping Ltd. (Red)"
+ desc = "A slightly more refined limb variant from Eggnerd Prototyping. Its got red plating instead of orange."
+ icon = 'icons/mob/human_races/cyberlimbs/rahboopred/rahboopred.dmi'
+ blood_color = "#5e280d"
+ includes_tail = 1
+ unavailable_to_build = 1
+
+/obj/item/weapon/disk/limb/eggnerdltdred
+ company = "Eggnerd Prototyping Ltd. (Red)"
+ icon = 'icons/obj/items_vr.dmi'
+ icon_state = "verkdisk"
+
//Darkside Incorperated synthetic augmentation list! Many current most used fuzzy and notsofuzzy races made into synths here.
@@ -153,4 +167,4 @@
suggested_species = "Vasilissan"
/obj/item/weapon/disk/limb/dsi_spider
- company = "DSI - Vasilissan"
\ No newline at end of file
+ company = "DSI - Vasilissan"
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine_vr.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine_vr.dm
index 2abf7ca1fe..94f8d2c7b5 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine_vr.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine_vr.dm
@@ -58,3 +58,19 @@
if(prob(3))
to_chat(H,"Your tongue feels numb and unresponsive.")
H.stuttering += 20
+
+/datum/reagent/vermicetol
+ name = "Vermicetol"
+ id = "vermicetol"
+ description = "A potent chemical that treats burn damage at an exceptional rate and lasts a while."
+ taste_description = "sparkles"
+ reagent_state = SOLID
+ color = "#964e06"
+ overdose = 10
+ scannable = 1
+ metabolism = 0.02
+ mrate_static = TRUE
+
+/datum/reagent/vermicetol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(alien != IS_DIONA)
+ M.heal_organ_damage(0, 21 * removed) //more potent than keloderm
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Vore_vr.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Vore_vr.dm
index ff6f713b67..9788c70cc6 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Vore_vr.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Vore_vr.dm
@@ -124,3 +124,17 @@
P.absorbed = 0
M.visible_message("Something spills into [M]'s [lowertext(B.name)]!")
return
+
+//Special toxins for solargrubs
+
+/datum/reagent/grubshock
+ name = "200 V" //in other words a painful shock
+ id = "shockchem"
+ description = "A liquid that quickly dissapates to deliver a painful shock."
+ reagent_state = LIQUID
+ color = "#E4EC2F"
+ metabolism = 2.50
+ var/power = 11
+
+/datum/reagent/grubshock/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ M.take_organ_damage(0, removed * power * 0.2)
diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm
index de7f707ac5..5679c4b6ec 100644
--- a/code/modules/reagents/Chemistry-Recipes_vr.dm
+++ b/code/modules/reagents/Chemistry-Recipes_vr.dm
@@ -73,6 +73,23 @@
required_reagents = list("milk" = 2, "hydrogen" = 1, "potassium" = 1)
result_amount = 3
+/datum/chemical_reaction/vermicetol
+ name = "Vermicetol"
+ id = "vermicetol"
+ result = "vermicetol"
+ required_reagents = list("kelotane" = 1, "dermaline" = 1, "shockchem" = 1, "phoron" = 0.1)
+ catalysts = list("phoron" = 5)
+ result_amount = 3
+
+///////////////////////////////////////////////////////////////////////////////////
+/// Special drinks
+/datum/chemical_reaction/drinks/grubshake
+ name = "Grub protein drink"
+ id = "grubshake"
+ result = "grubshake"
+ required_reagents = list("shockchem" = 5, "water" = 25)
+ result_amount = 30
+
///////////////////////////////
//SLIME CORES BELOW HERE///////
///////////////////////////////
diff --git a/code/modules/reagents/reagent_containers/food/snacks_vr.dm b/code/modules/reagents/reagent_containers/food/snacks_vr.dm
index 721b9742c9..ec1da1832d 100644
--- a/code/modules/reagents/reagent_containers/food/snacks_vr.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks_vr.dm
@@ -190,6 +190,91 @@
reagents.add_reagent("protein", 4)
bitesize = 2
+/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat
+ name = "grubmeat"
+ desc = "A slab of grub meat, it gives a gentle shock if you touch it"
+ icon = 'icons/obj/food_vr.dmi'
+ icon_state = "grubmeat"
+ center_of_mass = list("x"=16, "y"=10)
+
+/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat/New()
+ ..()
+ reagents.add_reagent("protein", 1)
+ reagents.add_reagent("shockchem", 6)
+ bitesize = 6
+
+/obj/item/weapon/reagent_containers/food/snacks/bugball
+ name = "bugball"
+ desc = "A hard chitin, dont chip a tooth!"
+ icon = 'icons/obj/food_vr.dmi'
+ icon_state = "pillbugball"
+ trash = /obj/item/weapon/reagent_containers/food/snacks/pillbug
+ nutriment_amt = 1
+ nutriment_desc = list("crunchy shell bits" = 5)
+
+/obj/item/weapon/reagent_containers/food/snacks/grub/bugball/New()
+ ..()
+ reagents.add_reagent("protein", 1)
+ reagents.add_reagent("carbon", 5)
+ bitesize = 7
+
+/obj/item/weapon/reagent_containers/food/snacks/pillbug
+ name = "pillbug"
+ desc = "A delicacy discovered and popularized by a famous restaurant called Mudca's Meat Hut."
+ icon = 'icons/obj/food_vr.dmi'
+ icon_state = "pillbug"
+ trash = /obj/item/weapon/reagent_containers/food/snacks/pillbugempty
+ nutriment_amt = 3
+ nutriment_desc = list("sparkles" = 5, "ancient inca culture" =3)
+
+/obj/item/weapon/reagent_containers/food/snacks/pillbug/New()
+ ..()
+ reagents.add_reagent("protein", 3)
+ reagents.add_reagent("shockchem", 6)
+ bitesize = 6
+
+/obj/item/weapon/reagent_containers/food/snacks/pillbugempty
+ name = "pillbug shell"
+ desc = "Waste not, want not."
+ icon = 'icons/obj/food_vr.dmi'
+ icon_state = "pillbugempty"
+ nutriment_amt = 1
+ nutriment_desc = list("crunchy shell bits" = 5)
+
+/obj/item/weapon/reagent_containers/food/snacks/pillbug/New()
+ ..()
+ reagents.add_reagent("protein", 1)
+ reagents.add_reagent("carbon", 5)
+ bitesize = 3
+
+/obj/item/weapon/reagent_containers/food/snacks/mammi
+ name = "mämmi"
+ desc = "Traditional finnish desert, some like it, others don't. It's drifting in some milk, add sugar!"
+ icon = 'icons/obj/food_vr.dmi'
+ icon_state = "mammi"
+ trash = /obj/item/trash/plate
+ nutriment_amt = 3
+ nutriment_desc = list("brothy sweet goodness" = 5)
+
+/obj/item/weapon/reagent_containers/food/snacks/mammi/New()
+ ..()
+ bitesize = 3
+
+/obj/item/weapon/reagent_containers/food/snacks/makaroni
+ name = "makaronilaatikko"
+ desc = "A special kind of macaroni, it's a big dish, and this one has special meat in it."
+ icon = 'icons/obj/food_vr.dmi'
+ icon_state = "makaroni"
+ trash = /obj/item/trash/plate
+ nutriment_amt = 15
+ nutriment_desc = list("Cheese" = 5, "eggs" = 3, "pasta" = 4, "sparkles" = 3)
+
+/obj/item/weapon/reagent_containers/food/snacks/makaroni/New()
+ ..()
+ reagents.add_reagent("protein", 1)
+ reagents.add_reagent("shockchem", 6)
+ bitesize = 7
+
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube
name = "sobaka cube"
monkey_type = "Sobaka"
diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm b/code/modules/vore/appearance/sprite_accessories_vr.dm
index 07ffc042e8..a63943bca2 100644
--- a/code/modules/vore/appearance/sprite_accessories_vr.dm
+++ b/code/modules/vore/appearance/sprite_accessories_vr.dm
@@ -95,6 +95,13 @@
desc = ""
icon_state = "demon-horns1"
+/datum/sprite_accessory/ears/demon_horns2
+ name = "demon horns, colorable(outward)"
+ desc = ""
+ icon_state = "demon-horns2"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
/datum/sprite_accessory/ears/foxears
name = "highlander zorren ears"
desc = ""
@@ -220,7 +227,7 @@
icon_state = "sleek"
do_colouration = 1
color_blend_mode = ICON_MULTIPLY
-
+
// Special snowflake ears go below here.
/datum/sprite_accessory/ears/molenar_kitsune
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index e255398e0b..b7adf59dcf 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -14,6 +14,8 @@
var/vore_taste = null // What the character tastes like
var/no_vore = 0 // If the character/mob can vore.
var/openpanel = 0 // Is the vore panel open?
+ var/conceal_nif = 0 // Do they wish to conceal their NIF from examine?
+ var/nif_examine = "There's a certain spark to their eyes" //The examine text of their NIF. This is the default placeholder.
//
// Hook for generic creation of stuff on new creatures
@@ -436,3 +438,60 @@
gas = list(
"oxygen" = 21,
"nitrogen" = 79)
+
+/mob/living/proc/escape_clothes(obj/item/clothing/C)
+ ASSERT(src.loc == C)
+
+ if(ishuman(C.loc)) //In a /mob/living/carbon/human
+ var/mob/living/carbon/human/H = C.loc
+ if(H.shoes == C) //Being worn
+ src << " You start to climb around the larger creature's feet and ankles!"
+ H << "Something is trying to climb out of your [C]!"
+ var/original_loc = H.loc
+ for(var/escape_time = 100,escape_time > 0,escape_time--)
+ if(H.loc != original_loc)
+ src << "You're pinned back underfoot!"
+ H << "You pin the escapee back underfoot!"
+ return
+ if(src.loc != C)
+ return
+ sleep(1)
+
+ src << "You manage to escape \the [C]!"
+ H << "Somone has climbed out of your [C]!"
+ src.loc = H.loc
+ var/datum/belly/B = check_belly(H)
+ if(B)
+ B.internal_contents += src
+ return
+ else //Being held by a human
+ src << "You start to climb out of \the [C]!"
+ H << "Something is trying to climb out of your [C]!"
+ for(var/escape_time = 60,escape_time > 0,escape_time--)
+ if(H.shoes == C)
+ src << "You're pinned underfoot!"
+ H << "You pin the escapee underfoot!"
+ return
+ if(src.loc != C)
+ return
+ sleep(1)
+ src << "You manage to escape \the [C]!"
+ H << "Somone has climbed out of your [C]!"
+ src.loc = H.loc
+ var/datum/belly/B = check_belly(H)
+ if(B)
+ B.internal_contents += src
+ return
+
+ src << "You start to climb out of \the [C]!"
+ sleep(50)
+ if(src.loc == C)
+ src << "You climb out of \the [C]!"
+ src.loc = C.loc
+ var/datum/belly/B
+ if(check_belly(C)) B = check_belly(C)
+ if(check_belly(C.loc)) B = check_belly(C.loc)
+ if(B)
+ B.internal_contents += src
+ return
+ return
diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm
index 1f1e50b0b8..024e0ad4af 100644
--- a/code/modules/vore/eating/vore_vr.dm
+++ b/code/modules/vore/eating/vore_vr.dm
@@ -44,6 +44,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/digestable = 1
var/list/belly_prefs = list()
var/vore_taste
+ var/conceal_nif
+ var/nif_examine
//Mechanically required
var/path
@@ -103,6 +105,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
S["digestable"] >> digestable
S["belly_prefs"] >> belly_prefs
S["vore_taste"] >> vore_taste
+ S["conceal_nif"] >> conceal_nif
+ S["nif_examine"] >> nif_examine
if(isnull(digestable))
digestable = 1
@@ -121,5 +125,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
S["digestable"] << digestable
S["belly_prefs"] << belly_prefs
S["vore_taste"] << vore_taste
+ S["conceal_nif"] << conceal_nif
+ S["nif_examine"] << nif_examine
return 1
diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm
index e76885147d..3467af7223 100644
--- a/code/modules/vore/eating/vorepanel_vr.dm
+++ b/code/modules/vore/eating/vorepanel_vr.dm
@@ -7,6 +7,7 @@
#define BELLIES_NAME_MAX 12
#define BELLIES_DESC_MAX 1024
#define FLAVOR_MAX 40
+#define NIF_EXAMINE_MAX 60
/mob/living/proc/insidePanel()
set name = "Vore Panel"
@@ -23,7 +24,7 @@
picker_holder.popup.open()
src.openpanel = 1
-/mob/living/proc/updateVRPanel() //Panel popup update call from belly évents.
+/mob/living/proc/updateVRPanel() //Panel popup update call from belly events.
if(src.openpanel == 1)
var/datum/vore_look/picker_holder = new()
picker_holder.loop = picker_holder
@@ -257,6 +258,9 @@
if(0)
dat += "Toggle Digestable"
+ dat += "
Set NIF concealment" //These two get their own, custom row.
+ dat += "Set NIF Examine Message."
+
//Returns the dat html to the vore_look
return dat
@@ -666,6 +670,28 @@
else //Returned null
return 0
+ if(href_list["toggle_nif"])
+ var/choice = alert(user, "Your nif is currently: [user.conceal_nif ? "Not able to be seen" : "Able to be seen"]", "", "Conceal NIF", "Cancel", "Show NIF")
+ switch(choice)
+ if("Cancel")
+ return 0
+ if("Conceal NIF")
+ user.conceal_nif = 1
+ if("Show NIF")
+ user.conceal_nif = 0
+
+ if(href_list["set_nif_flavor"])
+ var/new_nif_examine = html_encode(input(usr,"How people will see your NIF on examine (100ch limit):","Character Flavor",user.nif_examine) as text|null)
+
+ if(new_nif_examine)
+ new_nif_examine = readd_quotes(new_nif_examine)
+ if(length(new_nif_examine) > NIF_EXAMINE_MAX)
+ alert("Entered NIF examine text too long. [NIF_EXAMINE_MAX] character limit.","Error")
+ return 0
+ user.nif_examine = new_nif_examine
+ else //Returned null
+ return 0
+
if(href_list["toggledg"])
var/choice = alert(user, "This button is for those who don't like being digested. It can make you undigestable. Don't abuse this button by toggling it back and forth to extend a scene or whatever, or you'll make the admins cry. Digesting you is currently: [user.digestable ? "Allowed" : "Prevented"]", "", "Allow Digestion", "Cancel", "Prevent Digestion")
switch(choice)
diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm
index 137e66dcb1..d43db000ea 100644
--- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm
@@ -1479,4 +1479,15 @@ Departamental Swimsuits, for general use
icon_state = "headbando"
icon_override = 'icons/vore/custom_clothes_vr.dmi'
- item_state = "headbando"
\ No newline at end of file
+ item_state = "headbando"
+
+//General use
+/obj/item/clothing/suit/storage/fluff/loincloth
+ name = "Loincloth"
+ desc = "A primitive piece of oak-borwn clothing wrapped firmly around the waist. A few bones line the edges."
+
+ icon = 'icons/vore/custom_clothes_vr.dmi'
+ icon_state = "loincloth"
+
+ icon_override = 'icons/vore/custom_clothes_vr.dmi'
+ item_state = "loincloth"
\ No newline at end of file
diff --git a/html/changelogs/chaoko99-OHGODHIDEYOURHUSBANDS.yml b/html/changelogs/chaoko99-OHGODHIDEYOURHUSBANDS.yml
new file mode 100644
index 0000000000..95ddeb51e6
--- /dev/null
+++ b/html/changelogs/chaoko99-OHGODHIDEYOURHUSBANDS.yml
@@ -0,0 +1,36 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: Chaoko99
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Prometheans can now wear underwear."
diff --git a/icons/mob/human_races/cyberlimbs/rahboopred/rahboopred.dmi b/icons/mob/human_races/cyberlimbs/rahboopred/rahboopred.dmi
new file mode 100644
index 0000000000..f0d9dc8cab
Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/rahboopred/rahboopred.dmi differ
diff --git a/icons/mob/human_races/markings_vr.dmi b/icons/mob/human_races/markings_vr.dmi
index c62587f37f..aba11e8163 100644
Binary files a/icons/mob/human_races/markings_vr.dmi and b/icons/mob/human_races/markings_vr.dmi differ
diff --git a/icons/mob/human_races/r_def_harpy_vr.dmi b/icons/mob/human_races/r_def_harpy_vr.dmi
new file mode 100644
index 0000000000..d84bedfcdf
Binary files /dev/null and b/icons/mob/human_races/r_def_harpy_vr.dmi differ
diff --git a/icons/mob/human_races/r_harpy_vr.dmi b/icons/mob/human_races/r_harpy_vr.dmi
new file mode 100644
index 0000000000..002ee25e8d
Binary files /dev/null and b/icons/mob/human_races/r_harpy_vr.dmi differ
diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi
index 34b51493ab..e34a68f2e8 100644
Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ
diff --git a/icons/mob/vore/ears_vr.dmi b/icons/mob/vore/ears_vr.dmi
index 360e31d3e3..5e44f60779 100644
Binary files a/icons/mob/vore/ears_vr.dmi and b/icons/mob/vore/ears_vr.dmi differ
diff --git a/icons/obj/food_vr.dmi b/icons/obj/food_vr.dmi
index f79a37f3ae..e7bd78f8bf 100644
Binary files a/icons/obj/food_vr.dmi and b/icons/obj/food_vr.dmi differ
diff --git a/icons/vore/custom_clothes_vr.dmi b/icons/vore/custom_clothes_vr.dmi
index eeb4ecbc3b..e3eee40d40 100644
Binary files a/icons/vore/custom_clothes_vr.dmi and b/icons/vore/custom_clothes_vr.dmi differ
diff --git a/maps/tether/tether-01-surface.dmm b/maps/tether/tether-01-surface.dmm
index b413da9c96..3ecf5ebf1b 100644
--- a/maps/tether/tether-01-surface.dmm
+++ b/maps/tether/tether-01-surface.dmm
@@ -1768,14 +1768,14 @@
"aHZ" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/multi_tile/metal/mait{name = "Atmospherics Maintenance"; req_access = list(24); req_one_access = list(24)},/obj/structure/catwalk,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIa" = (/obj/machinery/door/firedoor/glass,/obj/structure/catwalk,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIb" = (/obj/effect/floor_decal/techfloor{dir = 9},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIc" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aId" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aIc" = (/obj/machinery/light/small,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
+"aId" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"aIe" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIf" = (/obj/effect/floor_decal/techfloor/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIg" = (/obj/effect/floor_decal/techfloor/corner{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIh" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light_switch{pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIi" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIj" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/camera/network/engineering,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aIh" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"aIi" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"aIj" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"aIk" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIl" = (/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIm" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/status_display{pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
@@ -1784,15 +1784,15 @@
"aIp" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIq" = (/obj/effect/floor_decal/techfloor{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIr" = (/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aIs" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera/network/engineering{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"aIt" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"aIu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIx" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 6; tag_west = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIy" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIz" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIA" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aIv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos)
+"aIw" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/effect/floor_decal/techfloor/corner{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIx" = (/obj/effect/floor_decal/techfloor/corner{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIy" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/atmospherics/unary/freezer,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIz" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIA" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/status_display{pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aIB" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIC" = (/obj/structure/window/reinforced,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aID" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
@@ -1803,88 +1803,88 @@
"aII" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIJ" = (/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aIK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIL" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aIM" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/closet/crate/hydroponics,/obj/item/stack/material/algae,/obj/item/stack/material/algae,/obj/item/stack/material/algae,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aIN" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"aIL" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/techfloor{dir = 1},/obj/item/device/radio/intercom{pixel_y = 24; req_access = list()},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIM" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIN" = (/obj/structure/table/standard,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/cell_charger,/obj/item/weapon/wrench,/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aIO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIP" = (/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aIQ" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aIR" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aIS" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aIU" = (/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aIV" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aIW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"aIT" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/obj/machinery/camera/network/engineering{dir = 2},/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIU" = (/obj/effect/floor_decal/techfloor/corner{dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Portables"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIV" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aIW" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aIX" = (/obj/machinery/atmospherics/binary/algae_farm{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aIY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"aIY" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/light_switch{pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aIZ" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/machinery/camera/network/engineering{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aJa" = (/obj/structure/stairs/north,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJb" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJc" = (/obj/machinery/atmospherics/pipe/zpipe/up{dir = 4; icon_state = "up"; level = 2; tag = "icon-up (EAST)"},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aJd" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJe" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aJf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"aJe" = (/obj/effect/floor_decal/techfloor/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aJf" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aJg" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aJh" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/intake)
-"aJi" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/structure/extinguisher_cabinet{dir = 4; icon_state = "extinguisher_closed"; pixel_x = -30; tag = "icon-extinguisher_closed (EAST)"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJi" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aJj" = (/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/engineering/atmos/intake)
"aJk" = (/turf/simulated/mineral,/area/engineering/atmos/intake)
-"aJl" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/camera/network/engineering{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJm" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJn" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJl" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aJm" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"aJn" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"aJo" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJp" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJq" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJr" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJs" = (/obj/structure/sign/warning/caution{name = "\improper CAUTION - ATMOSPHERICS AREA"},/turf/simulated/wall/r_wall,/area/engineering/atmos/intake)
-"aJt" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJu" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aJv" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
-"aJw" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"aJt" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJu" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJv" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/camera/network/engineering,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJw" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJy" = (/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJz" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aJA" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/structure/extinguisher_cabinet{dir = 2; icon_state = "extinguisher_closed"; pixel_x = 30; tag = "icon-extinguisher_closed (WEST)"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJB" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJB" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"aJC" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJF" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJG" = (/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
-"aJH" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
-"aJI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJH" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJI" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJK" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJL" = (/obj/machinery/atmospherics/pipe/vent/high_volume{dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"aJL" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/binary/pump{name = "Waste from Portables"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"aJM" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"aJN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos/processing)
-"aJO" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/floor_decal/techfloor/corner{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJP" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8; target_pressure = 4500},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJR" = (/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJS" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJR" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJV" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/camera/network/engineering{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aJW" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"aJW" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aJX" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"aJY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/atmos/processing)
-"aJZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKa" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/engineering{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKc" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKd" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKe" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aJZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aKa" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"aKb" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/valve/digital/open{name = "Main Air Output"},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"aKc" = (/obj/machinery/atmospherics/binary/pump/high_power/on{tag = "icon-map_on (NORTH)"; icon_state = "map_on"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"aKd" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aKe" = (/obj/structure/railing{dir = 1},/obj/structure/railing{dir = 8},/obj/machinery/atmospherics/pipe/zpipe/down{dir = 1},/turf/simulated/open,/area/engineering/atmos)
"aKf" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aKg" = (/obj/effect/floor_decal/techfloor,/obj/machinery/camera/network/engineering{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKh" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKi" = (/obj/effect/floor_decal/techfloor,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKj" = (/obj/machinery/light,/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aKh" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/zpipe/up{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aKi" = (/obj/machinery/atmospherics/valve/digital,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"aKj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aKk" = (/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"aKl" = (/obj/effect/floor_decal/techfloor{dir = 6},/obj/machinery/pipedispenser,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
-"aKm" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"aKm" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/closet/crate/hydroponics,/obj/item/stack/material/algae,/obj/item/stack/material/algae,/obj/item/stack/material/algae,/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aKn" = (/obj/structure/cable/cyan,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 28},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
-"aKo" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"aKo" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"aKp" = (/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/surfacebase/outside/outside1)
"aKq" = (/obj/structure/sign/warning/caution{desc = "No unarmed personnel beyond this point."; name = "\improper DANGER - WILDERNESS"},/turf/unsimulated/wall/planetary/virgo3b,/area/tether/surfacebase/outside/outside1)
"aKr" = (/obj/structure/table/glass,/obj/item/weapon/folder/white_rd,/obj/item/weapon/stamp/rd,/turf/simulated/floor/tiled,/area/rnd/rdoffice)
@@ -2529,7 +2529,7 @@
"aWG" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
"aWH" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/borderfloor/corner2,/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
"aWI" = (/obj/effect/floor_decal/borderfloor,/obj/machinery/camera/network/northern_star{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
-"aWJ" = (/obj/machinery/light/small,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
+"aWJ" = (/obj/machinery/atmospherics/binary/pump/high_power/on{tag = "icon-map_on (EAST)"; icon_state = "map_on"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"aWK" = (/obj/effect/floor_decal/borderfloor,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
"aWL" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
"aWM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/tether/surfacebase/atrium_two)
@@ -2916,7 +2916,7 @@
"bed" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/mauve/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/mauve/bordercorner2,/turf/simulated/floor/tiled,/area/rnd/research)
"bee" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/mauve/border,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/rnd/research)
"bef" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/mauve/border{dir = 6},/turf/simulated/floor/tiled,/area/rnd/research)
-"beg" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"beg" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 10},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"beh" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; name = "Atmospherics"; sortType = "Atmospherics"},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"bei" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"bej" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
@@ -2950,7 +2950,7 @@
"beL" = (/turf/simulated/wall/r_wall,/area/server)
"beM" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/server)
"beN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = list(30)},/turf/simulated/floor/tiled/steel_grid,/area/server)
-"beO" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"beO" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{dir = 8; start_pressure = 1519.88},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"beP" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/machinery/light_switch{pixel_x = 25},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"beQ" = (/turf/simulated/wall,/area/engineering/lower/atmos_lockers)
"beR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/engineering/lower/atmos_lockers)
@@ -2984,7 +2984,7 @@
"bft" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/camera/network/research,/turf/simulated/floor/tiled/techfloor,/area/server)
"bfu" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/techfloor,/area/server)
"bfv" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; use_power = 1; power_setting = 20; set_temperature = 73},/obj/effect/floor_decal/techfloor{dir = 5},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/techfloor,/area/server)
-"bfw" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"bfw" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"bfx" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"bfy" = (/obj/item/weapon/pickaxe,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/hallway)
"bfz" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/turf/simulated/floor/tiled,/area/engineering/lower/atmos_lockers)
@@ -3019,7 +3019,7 @@
"bgc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/server)
"bgd" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled/techfloor,/area/server)
"bge" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/server)
-"bgf" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"bgf" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; icon_state = "map_injector"; tag = "icon-map_injector (EAST)"; use_power = 1; volume_rate = 700},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"bgg" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"bgh" = (/obj/item/toy/figure/clown,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/hallway)
"bgi" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/engineering/lower/atmos_lockers)
@@ -3046,7 +3046,7 @@
"bgD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/tether/surfacebase/security/common)
"bgE" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
"bgF" = (/obj/machinery/r_n_d/server/core,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
-"bgG" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera/network/engineering{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"bgG" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/atmospherics/binary/passive_gate{dir = 8; name = "Scrubber Purge Valve"; target_pressure = 4500},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bgH" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 28},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"bgI" = (/obj/item/clothing/shoes/clown_shoes,/obj/item/clothing/mask/gas/clown_hat,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/hallway)
"bgJ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/lower/atmos_lockers)
@@ -3079,7 +3079,7 @@
"bhk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; icon_state = "map_vent_out"; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
"bhl" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/alarm/server{dir = 1; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
"bhm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server)
-"bhn" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
+"bhn" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/obj/machinery/door/firedoor,/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/turf/simulated/floor/plating,/area/engineering/atmos/processing)
"bho" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"bhp" = (/obj/item/clothing/under/rank/clown,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/hallway)
"bhq" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/engineering/lower/atmos_lockers)
@@ -3102,7 +3102,7 @@
"bhH" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/engineering/atmos/storage)
"bhI" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bhJ" = (/turf/simulated/wall,/area/rnd/research_storage)
-"bhK" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos)
+"bhK" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bhL" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos)
"bhM" = (/turf/simulated/wall,/area/engineering/atmos)
"bhN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/plating,/area/engineering/atmos)
@@ -3119,21 +3119,21 @@
"bhY" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Mix to Distro"},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bhZ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/meter{frequency = 1443; id = "dist_main_meter"; name = "Distribution Loop"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bia" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bib" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 5},/obj/effect/floor_decal/techfloor/corner{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bic" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/effect/floor_decal/techfloor/corner{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bid" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/status_display{pixel_y = 30},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bie" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Scrubbers to Waste"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bif" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/obj/machinery/meter{frequency = 1443; id = "scrub_main_meter"; name = "Scrubbers Loop"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"big" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bih" = (/obj/structure/table/standard,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/cell_charger,/obj/item/weapon/wrench,/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bii" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/obj/machinery/camera/network/engineering{dir = 2},/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bij" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/techfloor{dir = 1},/obj/item/device/radio/intercom{pixel_y = 24; req_access = list()},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bik" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bil" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bim" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bin" = (/obj/effect/floor_decal/techfloor/corner{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Portables"},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bib" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 4; icon_state = "map_valve1"; tag = "icon-map_valve1 (WEST)"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"bic" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 8; start_pressure = 1215.9},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"bid" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"bie" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"bif" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/black{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"big" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"bih" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bii" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bij" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"bik" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bil" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/structure/extinguisher_cabinet{dir = 4; icon_state = "extinguisher_closed"; pixel_x = -30; tag = "icon-extinguisher_closed (EAST)"},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"bim" = (/obj/machinery/light_switch{pixel_x = 25},/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bin" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"bio" = (/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bip" = (/obj/effect/floor_decal/techfloor/corner{dir = 4},/obj/machinery/atmospherics/binary/pump{name = "Waste from Portables"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bip" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"biq" = (/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bir" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/camera/network/engineering,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bis" = (/obj/machinery/atmospherics/unary/freezer,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
@@ -3160,7 +3160,7 @@
"biN" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"biO" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"biP" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"biQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"biQ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"biR" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"biS" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"biT" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
@@ -3210,27 +3210,27 @@
"bjL" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/extinguisher_cabinet{dir = 2; icon_state = "extinguisher_closed"; pixel_x = 30; tag = "icon-extinguisher_closed (WEST)"},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bjM" = (/obj/structure/catwalk,/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bjN" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bjO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/binary/passive_gate{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"bjO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/camera/network/engineering{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bjP" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bjQ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/red,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bjR" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bjS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bjT" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bjU" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bjV" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
+"bjV" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
"bjW" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bjX" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bjY" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bjZ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"bka" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/passive_gate{auto_init = 0; dir = 4; target_pressure = 4500},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"bka" = (/obj/machinery/atmospherics/binary/pump/high_power/on,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkb" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bkc" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bkd" = (/obj/random/trash_pile,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
-"bke" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/binary/passive_gate{dir = 1; name = "Main Air Output"},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"bke" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/camera/network/engineering{dir = 4},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bkf" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 5},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkg" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkh" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"bki" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"bki" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bkj" = (/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkk" = (/obj/structure/railing{dir = 1},/obj/structure/railing{dir = 8},/turf/simulated/open,/area/engineering/atmos)
"bkl" = (/obj/structure/railing{dir = 1},/turf/simulated/open,/area/engineering/atmos)
@@ -3241,7 +3241,7 @@
"bkq" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkr" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bks" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"bkt" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
+"bkt" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bku" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bkv" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkw" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
@@ -3269,7 +3269,7 @@
"bkS" = (/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bkT" = (/obj/structure/railing{dir = 4},/obj/machinery/atmospherics/pipe/zpipe/down{dir = 4},/turf/simulated/open,/area/engineering/atmos)
"bkU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bkV" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bkV" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Scrubbers to Waste"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bkW" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkX" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/engineering{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"bkY" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/research,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
@@ -3277,22 +3277,22 @@
"bla" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 6},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blb" = (/obj/machinery/atmospherics/omni/filter{tag_north = 1; tag_south = 2; tag_west = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bld" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light_switch{pixel_x = 25},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"bld" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter{frequency = 1443; id = "scrub_main_meter"; name = "Scrubbers Loop"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"ble" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"blf" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
-"blg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/camera/network/engineering{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blh" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"blg" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"blh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bli" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blj" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blk" = (/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"blk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"bll" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blm" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bln" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/corner_techfloor_gray{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blo" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blq" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
-"blr" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"bls" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/passive_gate,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"blm" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"bln" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"blo" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/atmospherics/valve/digital,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"blp" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"blq" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"blr" = (/obj/machinery/atmospherics/pipe/cap/visible{tag = "icon-cap (WEST)"; icon_state = "cap"; dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"bls" = (/obj/structure/railing,/obj/machinery/atmospherics/pipe/zpipe/down,/turf/simulated/open,/area/engineering/atmos)
"blt" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blu" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/blue,/obj/effect/floor_decal/industrial/warning,/obj/machinery/meter,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blv" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
@@ -3301,21 +3301,21 @@
"bly" = (/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/open,/area/engineering/atmos)
"blz" = (/obj/structure/railing,/turf/simulated/open,/area/engineering/atmos)
"blA" = (/obj/structure/railing,/obj/structure/railing{dir = 4},/turf/simulated/open,/area/engineering/atmos)
-"blB" = (/obj/machinery/atmospherics/omni/filter{tag_east = 5; tag_north = 2; tag_south = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blC" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible/black,/obj/machinery/meter,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"blB" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/zpipe/up,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"blC" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"blD" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"blE" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 10},/obj/machinery/light_switch{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/engineering/atmos/hallway)
"blF" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
-"blG" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
+"blG" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"blH" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blI" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blJ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blL" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"blI" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"blJ" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/atmospherics/pipe/cap/visible{tag = "icon-cap (NORTH)"; icon_state = "cap"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"blK" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"blL" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 1; start_pressure = 2533.13},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"blM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blN" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 5},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/binary/passive_gate{auto_init = 0; dir = 4; target_pressure = 4500},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
-"blP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
+"blN" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"blO" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/door/firedoor,/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/turf/simulated/floor/plating,/area/engineering/atmos/processing)
+"blP" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"blQ" = (/obj/structure/catwalk,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"blR" = (/obj/structure/catwalk,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"blS" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/glasses/sunglasses{desc = "My vision is augmented"; icon_state = "sun"; name = "Augmented shades"},/turf/simulated/floor/plating,/area/maintenance/lower/south)
@@ -3324,27 +3324,27 @@
"blV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blW" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/corner_techfloor_gray,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
"blX" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"blY" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"blY" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"blZ" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bma" = (/obj/effect/floor_decal/corner_techfloor_grid,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmb" = (/obj/machinery/light,/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmc" = (/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bme" = (/obj/structure/extinguisher_cabinet{dir = 2; icon_state = "extinguisher_closed"; pixel_x = 30; tag = "icon-extinguisher_closed (WEST)"},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos)
+"bme" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmf" = (/obj/structure/railing{dir = 1},/obj/structure/railing{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmg" = (/obj/structure/railing{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmh" = (/obj/structure/railing{dir = 1},/obj/structure/railing{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/locker_room)
"bmj" = (/obj/structure/table/standard,/obj/effect/floor_decal/techfloor{dir = 8},/obj/structure/closet/hydrant{pixel_x = -32},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bmk" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bmk" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/binary/pump/on{name = "Filtering to Waste"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"bml" = (/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bmm" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bmn" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bmo" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bmp" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
"bmq" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
-"bmr" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bms" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bmr" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/black{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"bms" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide{dir = 8; start_pressure = 3039.75},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"bmt" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/machinery/camera/network/engineering{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmu" = (/turf/simulated/wall,/area/maintenance/substation/tcomms)
"bmv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/turf/simulated/floor/tiled/techfloor/grid,/area/engineering/atmos)
@@ -3353,7 +3353,7 @@
"bmy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmz" = (/obj/structure/railing{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmA" = (/obj/structure/catwalk,/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
-"bmB" = (/obj/structure/table/standard,/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmC" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmD" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmE" = (/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
@@ -3374,7 +3374,7 @@
"bmT" = (/obj/structure/railing{dir = 4},/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/random/trash_pile,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmU" = (/obj/structure/catwalk,/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bmV" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
-"bmW" = (/obj/structure/table/standard,/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bmW" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"bmX" = (/obj/structure/table/standard,/obj/effect/floor_decal/techfloor,/obj/item/clothing/glasses/welding,/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmY" = (/obj/effect/floor_decal/techfloor,/obj/machinery/camera/network/engineering{dir = 1},/obj/structure/dispenser{phorontanks = 0},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bmZ" = (/obj/effect/floor_decal/techfloor,/obj/machinery/space_heater,/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
@@ -3384,9 +3384,9 @@
"bnd" = (/obj/machinery/pipedispenser/disposal,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bne" = (/obj/machinery/pipedispenser,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bnf" = (/obj/effect/floor_decal/techfloor,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
-"bng" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/techfloor,/obj/machinery/camera/network/engineering{dir = 1},/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bng" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bnh" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/atmos)
-"bni" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/effect/floor_decal/corner_techfloor_grid,/obj/effect/floor_decal/corner_techfloor_grid{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"bni" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
"bnj" = (/obj/effect/floor_decal/techfloor{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"bnk" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"bnl" = (/obj/structure/catwalk,/obj/structure/cable{icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
@@ -3467,6 +3467,7 @@
"boI" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
"boJ" = (/obj/structure/railing{dir = 1},/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
"boK" = (/obj/structure/railing{dir = 1},/obj/effect/floor_decal/techfloor{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/maintenance/lower/south)
+"boL" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"boM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled,/area/tcommsat/entrance{name = "\improper Telecomms Entrance"})
"boN" = (/obj/machinery/camera/network/telecom{dir = 1},/turf/simulated/floor/tiled,/area/tcommsat/entrance{name = "\improper Telecomms Entrance"})
"boO" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled,/area/tcommsat/entrance{name = "\improper Telecomms Entrance"})
@@ -5470,6 +5471,7 @@
"cbk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/plating,/area/hallway/lower/third_south)
"cbl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/northern_star{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/lightgrey/border{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/turf/simulated/floor/tiled,/area/hallway/lower/third_south)
"cbm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/plating,/area/tether/surfacebase/shuttle_pad)
+"cbn" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
"cbo" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/northleft{name = "Atmospherics Hardsuits"; req_access = list(24)},/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/atmos/taur,/obj/item/clothing/head/helmet/space/void/atmos,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/head/helmet/space/void/atmos,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
"cbp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/obj/machinery/door/firedoor,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/plating,/area/hallway/lower/third_south)
"cbq" = (/turf/simulated/wall,/area/tether/surfacebase/outside/outside2)
@@ -5499,6 +5501,52 @@
"cbO" = (/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 4},/obj/effect/floor_decal/corner_oldtile/green/full,/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/tether/surfacebase/outside/outside3)
"cbP" = (/obj/structure/catwalk,/obj/structure/railing{dir = 1},/turf/simulated/open/virgo3b,/area/tether/surfacebase/outside/outside2)
"cbQ" = (/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 1},/obj/effect/floor_decal/corner_oldtile/green/full{dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/tether/surfacebase/outside/outside3)
+"cbR" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cbS" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cbT" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cbU" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cbV" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"cbW" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"cbX" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"cbY" = (/obj/structure/extinguisher_cabinet{dir = 2; icon_state = "extinguisher_closed"; pixel_x = 30; tag = "icon-extinguisher_closed (WEST)"},/obj/effect/floor_decal/techfloor{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"cbZ" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/atmospherics/binary/passive_gate{dir = 8; name = "Waste Purge Valve"; target_pressure = 4500},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cca" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/door/firedoor,/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; icon_state = "fwindow"},/turf/simulated/floor/plating,/area/engineering/atmos/processing)
+"ccb" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccc" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"ccd" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"cce" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"ccf" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccg" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"cch" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/cap/visible{tag = "icon-cap (WEST)"; icon_state = "cap"; dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cci" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/valve/digital{dir = 4},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccj" = (/obj/structure/table/standard,/obj/effect/floor_decal/techfloor{dir = 8},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"cck" = (/obj/machinery/atmospherics/unary/vent_scrubber{tag = "icon-map_scrubber_off (EAST)"; icon_state = "map_scrubber_off"; dir = 4},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"ccl" = (/obj/effect/floor_decal/techfloor/corner{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccm" = (/obj/machinery/atmospherics/unary/heater{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccn" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cco" = (/obj/machinery/atmospherics/binary/pump/high_power/on{tag = "icon-map_on (NORTH)"; icon_state = "map_on"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccp" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccq" = (/obj/machinery/atmospherics/binary/pump/high_power/on{tag = "icon-map_on (NORTH)"; icon_state = "map_on"; dir = 1},/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccr" = (/obj/structure/table/standard,/obj/effect/floor_decal/techfloor{dir = 10},/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"ccs" = (/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"cct" = (/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccu" = (/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/engineering{dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccv" = (/obj/effect/floor_decal/techfloor,/obj/machinery/camera/network/engineering{dir = 1},/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"ccw" = (/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccx" = (/obj/machinery/light,/obj/effect/floor_decal/techfloor,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccy" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/binary/pump/high_power/on{dir = 4; icon_state = "map_on"; name = "Waste to Filtering"; tag = "icon-map_on (EAST)"},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccz" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/corner_techfloor_grid{dir = 8},/obj/effect/floor_decal/corner_techfloor_grid,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"ccB" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/omni/filter{tag_east = 2; tag_north = 6; tag_south = 0; tag_west = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccC" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccD" = (/obj/effect/floor_decal/corner_techfloor_grid,/obj/effect/floor_decal/corner_techfloor_grid{dir = 8},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos)
+"ccE" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/omni/filter{tag_east = 5; tag_north = 2; tag_south = 0; tag_west = 1},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
+"ccF" = (/obj/machinery/light,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccG" = (/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/visible/black{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccH" = (/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techmaint,/area/engineering/atmos/processing)
+"ccI" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"ccJ" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/alarm{breach_detection = 0; dir = 8; pixel_x = 25; pixel_y = 0; report_danger_level = 0},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/engineering/atmos/intake)
+"ccK" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/engineering/atmos/processing)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -5578,25 +5626,25 @@ aFeaFfaadaadaadaadaadaadaadaadaadaadaahaahazaaBbaBcaBccbgaBeaGYaGZaHaaHbaHcaHdaz
aFeaadaadaadaadaadaadaadaadaadaadaadaahaahazaazaazaazaazaazaazaazaazaazaazaazaazaaGKaGKaHuaHvaHwaHxaHkaHeaGKaahaERaHlaHlaHyaHmaHmaERaHnaHnaHnaHzaHzaHAaExaExaExaEYaGRaGCaHBaHCaHDaHEaHFaHGaHHaDoaALaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
aFeaFfaFfaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaGKaGKaHIaHJaGKaGKaGKaGKaahaERaERaHKaERaHKaERaERaHnaHnaHoaHzaHLaHzaHMaEWaEYaEYaGRaGCaHNaHOaHPaHQaHRaALaGmaDoaALaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
aFeaFfaFfaFfaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaHSaHTaHTaHUaahaahaahaahaahaERaFtaERaFtaERaahaHnaHVaHWaHzaHoaHXaExaExaExaExaExaGCaGCaHYaHYaHYaHYaHYaHZaIaaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aFeaadaadaadaadaFfaadaFfaadaadaadaadaadaadaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadajTajTajTajTaahaahaahaahaahaERaERaERaERaERaahaExaExaExaExaExaExaExaahaahaahaahaahaahaHYaIbaIcaIdaIeaIfaIgaIhaIiaIjaIkaIlaImaInaIoaIeaIpaIlaIlaIqaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aFeaFfaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaHYaIraIsaItaIuaIvaIuaIwaIxaIyaIzaIzaIzaIAaIuaIuaIuaIBaICaIDaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aEHaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaHYaIEaIFaIFaIFaIGaIFaIFaIHaIIaIJaIJaIJaIKaILaIMaINaIOaIPaIQaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaHYaIraIFaHYaHYaIRaIFaIFaISaITaIUaIVaIJaIKaIWaIXaIYaIOaIPaIZaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaHYaIraIFaHYaJaaJbaIFaIFaISaITaIUaIVaJcaJdaJeaIXaJfaIOaJgaJgaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaHYaJiaIFaHYaIFaJbaIFaIFaISaITaIUaIVaIJaIKaJeaIXaJfaIOaJgaJgaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaHYaJlaIFaIFaJmaJnaIFaJoaISaITaIUaIVaIJaIKaJeaIXaJfaJpaJqaJraHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJsaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaHYaIraIFaIFaIFaIGaIFaIFaIHaIIaIJaIJaIJaJtaJuaJvaJwaJxaIFaJyaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaHYaIraIFaIFaIFaIGaIFaIFaIHaIIaJzaJzaJzaIKaIFaIFaIFaJxaIFaJAaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaHYaIraIFaIFaIFaIGaIFaIFaJBaJCaJDaJDaJEaJFaIFaIFaIFaJxaIFaJyaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJGaJGaJHaHYaIEaIFaIFaIFaIGaIFaIFaIFaIFaIFaIFaIFaIHaIFaIFaIFaJIaJJaJKaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJkaJkaJjaJjaJjaJjaJGaJLaJMaJMaJMaJNaJOaJPaJQaJRaJSaIFaIFaIFaIFaIFaIFaIFaIHaIFaIFaIFaJTaJUaJVaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJkaJkaJjaJjaJjaJjaJGaJGaJGaJWaJXaJYaJZaKaaKbaKcaKdaKeaKfaKfaKfaKfaKgaKfaKhaKiaKjaKkaKkaKkaKlaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJGaJGaJGaKmaKnaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJsaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJGaJLaJMaKoaJGaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJkaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
-aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aFeaadaadaadaadaFfaadaFfaadaadaadaadaadaadaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadajTajTajTajTaahaahaahaahaahaERaERaERaERaERaahaExaExaExaExaExaExaExaahaahaahaahaahaahaHYaIbaIlaIpaJtaIfaIgaJuaJwaJvaIkaIlaImaInaIoaIeaIpaIlaIlaIqaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aFeaFfaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaHYaIraJIaJHaJPaJOaJQaIuaJSaJRaJWaJWaJWaJZaIuaIuaIuaIBaICaIDaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aEHaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaahaahaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaHYaIEaKdaIFaJTaKhaIHaIFaKiaIIaIJaIJaIJaKjaKoaKmbegaIOaIPaIQaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaahaahaJhaJkaJkaJkaJkaJkaJkaJkaJkaJGaJGaJGaJGaJGbgfbfwbhnbgGbhKaHYaHYaIRaIHaIFaISbibbidbicaIJbiebifaIXbigaIOaIPaIZaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJkaJkaJkaJkaJkaJkaJkaJkbipbjVbipbjVaJGbgfbfwbhnbgGbhKaHYaJaaJbaIHaIFaISbibbidbicaJcaJdbijaIXbigaIOaJgaJgaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJkblIblmblmblmbjVaJGaJGaHYbilaKdaHYaIFaJbaIHaIFaISbibbidbicaIJaIKbijaIXbigaIOaJgaJgaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJkbipblmblmblmblpaJGaJGaHYbkebktbkibldbkVblgaJoaISbibbidbicaIJblhbijaIXblkaJpaJqaJraHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJsaJjaJjaJkaJkaJkaJkaJkaJkblIblqblpblIbinbinblKblOcbnblraIFaKiblBaIHaIFaIHaIIaIJaIJaIJaIKblDblCblGaJxaIFaJyaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJkbipccIbjVbipbinbinblKblOblNblYblPbmrbmkaIHaIFaIHaIIaJzaJzaJzaIKbmWbmsbniaJxaIFaJAaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJkaJkaJkaJkaJkaJjblIblmblmblmbjVaJGccJaHYccKblYblPcbScbRcbTaIFcbUaJCaJDaJDaJEaJFcbXbmsbniaJxaIFaJyaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJkaJkaJkaJjbipblmblmblmblpbgfaJMccacbZccbaIFaKiaIGaIHaIFaIHaIFaIFaIFaIFaIHccgccfccicchaJJaJKaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJkaJkaJjaJjblIblpblIblpaJGcckaJMaJNcclccnccmaIHaIGaIHaIFccoaIFaIFaIFaIFaIHccqccpaIJaJTaJUaJVaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJkaJkaJjaJjaJGaJGaJGaJGaJGcckaJXaJYccsccucctccxccwcczccyccBaKfccCaKgaKfccEccGccFccHaKkaKkaKlaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJGaJGaJGaJGaJGaJGaKnaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJsaJjaJjaJjaJjaJjaJjaJjaJjaJjaJGaJGaJGaJGaJGaJGaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
+aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJhaJjaJjaJjaJjaJjaJjaJjaJjaJjaJkaJkaJkaJkaJkaJkaJkaJkaJkaJkaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
aaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaJsaJhaJhaJhaJhaJhaJhaJsaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaJhaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaadaadaadaadaadaadaadaadaadaadaadaadaadaaa
@@ -5680,7 +5728,7 @@ aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaVaaVbaVcaGvaKuaKuaKuaKuaSeaVdbEybEybEyaUOaVeaVfaVgaVhaViaVjaVkaUTaVlaVlaVlaVlaUTaVmaVnaVoaOcaOcbNOaOcaOcaPVaTtaZoaVpaVqaVqaVqaVqaVqaVqaVqaVqaVqaVqaVqaVqaVqaVqaVqaVraRXaUvaSAaOcaNDaNDaNDaNDaNDaNDaVsaOiaTAaOiaOiaOiaOiaNDaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraVtaUFaSeaSeaSeaSeaSeaSeaUaaSebEybEyaUOaVuaVvaVwaUOaVxaURaVyaUTaVlaVlaVlaVlaVlaPGaVzaVAbUQbXdbXHbUSbVEaVFaTtaVGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGbHGaVIaUvaVJaVKaVLaVMaVNaVOaOiaVPaVsaOiaNDaNDaNDaNDaNDaNDaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUraVQaSeaVRaVSaVTaVUaUaaUaaSebEybEyaUOaVVaVWaVXaVYaVZaWaaWbaUTaVlaVlaVlaVlaVlaPGaWAaPGaPGaPGcadbZYcaccaeaWdaWeaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWfaWgaWhaWiaWjaWkaWlaWlaWmaWlaWlaWnaWoaOiaNDaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaWpaUraWqaWraWsaVdaWtaWsaVdaWuaSebEybEyaWvaWvaWvaWwaWwaWxaWyaWUaUTaVlaVlaVlaVlcaiaPGaWBaWCaWDaWLcanaWDcamaWFaTEaWGaWHaWIaWJaWDaWDaWKaWDaWDaWCaWDaWLaWDaWIaWDaWDaWEaWMaWNaWDaEGaOcaNDaNDaNDaNDaNDaNDaWPaOiaNDaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaWpaUraWqaWraWsaVdaWtaWsaVdaWuaSebEybEyaWvaWvaWvaWwaWwaWxaWyaWUaUTaVlaVlaVlaVlcaiaPGaWBaWCaWDaWLcanaWDcamaWFaTEaWGaWHaWIaIcaWDaWDaWKaWDaWDaWCaWDaWLaWDaWIaWDaWDaWEaWMaWNaWDaEGaOcaNDaNDaNDaNDaNDaNDaWPaOiaNDaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUraWQaWRaWRaWRaWRaWRaWvaWvaWvaWvaWvaWvaWvaWvaWwaWSaWTaWyaWUaUTaUTaUTaUTaUTaUTaWDaWVaVoaOcaXbaWWaWWaWWaWXaWYaWZaWWaWWaXaaXaaXaaXaaXaaXaaXaaXaaXbaXcaXcaXcaXcaXcaXdaXcaXeaXcaXcbIUaXgaOiaOiaXhaNDaWPaOiaNDaKuaKuaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaXiaUraUraXjaWRaXkaXlaXmaWRaXnaXoaXpaXqaXraXpaXoaXpaWwaXsaXtaWyaXuaXvaXvaXvaXvaXwaUIaOcaOcaOcaOcaOqaWWaXzaXAaXBaXCaXDaXEaXFaXGaXHaXIaXJaXKaXLaXMaXaaOqaXcaXNaXOaXPaXQaXRaXSaXTaXUaXcaXVaXWaOiaTzaOiaXXaWPaOiaNDaKuaKuaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaXYaUraUraUFaWRaXZaYaaYbaWRaYcaYdaNMaYeaYfaNNaYdaYgaWwaYhaXtaWyaWyaWyaWyaWyaWyaYiaYjaSeaSiaSiaOcaOcaWWaYkaYlaYmaYnaYoaYpaYqaYraYsaYtaYtaYsaYuaYvaXaaOcaXcaYwaYxaYyaYyaYzaYyaYyaYAaXcaYBaXWaOiaOiaOiaNDaWPaOiaNDaKuaKuaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
@@ -5691,29 +5739,29 @@ aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbgxaWpaUraUFaWRbbCbbDbbEaWRbbFbbGbbHbbIbbJbbKbanbbLaWwbbMbbNbbObbPbbQbbRbbSaWybbTbbUaSebbVbbVbbVaSiaWWbaybbWbbXbbYbbZbcabcbaXabccbcdbcebcfbcgbchaXaahsahsahsahsbaabaabaabaaaZRbbubcjbaabckbclbcmbixbcobcpbbzbcqbaaaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbcraUraVbbcsaWRbctbcubcvaWRbcwbcxbcybczbczbczbcAbcBaWwbcCbbNbcDbcEbcFbbRbcGaWybcHbbVbbVbbVbcIbbVbbVbbVbbVbbVbcJcaNbcLbbVbbVbcMbcNbcObcPbcMbcMbcMbcMbcQaiobcRahsbJIbJIbJIbaaaZRbbubbvbaabcSbcTaZRaZRbcUbcVbcWbcqbaaaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUrbcXaWRbcYbcZbdaaWRbdbbdcbddbdebdfbdgbddbdhaWwbdibdjbdkbdlbdmbdnbdoaWybdpbdqbdrbdsbdtbdubdvbdwbdxblEbdzbdAbdBbdCbdDbcMbdEbdFbdGbdHbdIbdJbdKbdLbdMbdNahsbJIbJIbJIbaabbzbbubcibdObcSbdPbdQbdRbdSbcVbbzbcqbaaaKuaKuaKuaKuaKuaKuaKuaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaTBaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbdTaUraUrbdUaWRbdVbdWbdXaWRaWvbdYaWvaWvaWvaWvaWvaWvaWwbdZbeabebbecbedbeebefaWybegbehbeibejbekbelbembenbeobzqbeqbGRbBjbGfbeubevbewbexbeybezbdFbeAbcMajQbeBbeCahsbJIbJIbJIbaabbzbeDbeEbaabcSbdPbeFbeGbeGbeHbbzbcqbaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUrbeIaWRaWRaWRaWRaWRaGvbeJbeKaGvaKuaKuaKuaKuaWwbeLbeLbeMbeNbeMbeLbeLbeLbeObePbbVbbVbeQbeRbeSbeRbeQbeTbeUbeVbeWbeXbeYbcObeZbfabfbbfcbfabfdbcMahsahsahsahsbaabaabaabaabbzbfebbzbaabffbfgbfhbbzbcWbbzbbzbcqbaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUrbfiaGvbfjbfkbflbfmbfnbfobfpaGvaKuaKuaKuaKuaKubeLbfqbfrbfsbftbfubfvbeLbfwbfxbbVbfybeQbfzbfAbfBbeQbeQbeQbfCbfDbetbfEbcMbfFbfGbfHbfIbfJbfKbcMbfLbfMbfNbfNbfNbfObfNbeDbeDbeDbfPbaabfQbfRbfSbbzbfTbfUbfVbfWbaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaVtaWpaUraGvbfXaGvaGvaGvaGvbeJbfYaGvaKuaKuaKuaKuaKubeLbfZbgabgbbgcbgdbgebeLbgfbggbbVbghbeQbgibgjbgkbglbgmbeQbgnbgobetbgpbcMbcMbcObcObcObcObcMbcMaWzaWzaWzaWzaWzaWzbaabaabaabaabaabaabaabaabgrbgsbRNbgubgvbaabaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbgwaUraUrbSEaGvaGvaGvaKuaKuaGvbgybgzaGvaKuaKuaKuaKuaKubeLbgAbgBbgCcbcbgEbgFbeLbgGbgHbbVbgIbeQbgJbgKbgLbgMbgNbgObgPbgQbgRbgSbgTbgUbgWbgWbgWbgWbgWbgYaWzbgZbhabhbbhbaWzaKuaKuaKuaKuaKuaKuaKubaabhdbacbaabaabaabaaaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbhebhfbhgbhgaGvaKuaKuaKuaKuaGvbeJbfYaGvaKuaKuaKuaKuaKubeLbhhbhibhjbhkbhlbhmbeLbhnbhobbVbhpbeQbhqbhrbhsbhtbhubeQbhvbhwbhxbhybhzbhzbhzbhzbhAbhAbhBbhCbhDbhEbhFbhGbhHaWzaKuaKuaKuaKuaKuaKuaKubaabhIbbzbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaGvaGvaGvaGvaGvaKuaKuaKuaKuaGvbeJbfYbhJbhJbhJbhJbhJbhJbeLbeLbeLbeLbeLbeLbeLbeLbhKbhLbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhNbhObhPbhMbhMbhMbhMbhMbhMbhMbbVaWzbhQbhFbhGbhGaWzaKuaKuaKuaKuaKuaKuaKubaabhIbaabaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbeJbfYbhJbhRbhSbhTbhUbhVbhJaKubhMbhWbhXbhYbhZbiabibbicbidbiebifbigbihbiibijbikbilbimbinbiobipbiqbirbisbitbiubivbhMaKuaWzbiwbhFbhFbiyaWzaKuaKuaKuaKuaKuaKuaKubaabhIbaabizaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbiAbiBbhJbiCbiDbiEbiEbiFbhJaKubhMbiGbiHbiIbiIbiJbiKbiLbiMbiNbiObiNbiNbiNbiNbiMbiMbiNbiPbiNbiQbiNbiRbiSbiTbiSbiUbhMaKuaWzaWzbiVbiWaWzaWzaKuaKuaKuaKuaKuaKuaKubaabhIbaabizaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbiXbiYbiZbjabjbbjcbiEbjdbhJaKubhMbjebjfbjgbjhbjibjjbjkbjlbjmbiIbiIbiIbiIbiIbjnbjobiIbjpbiobiobiobjqbjrbjrbjsbjtbhMaKuaKuaWzaWzaWzaWzaKuaKuaKuaKuaKuaKuaKuaKubaabhIbaabaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaGvaGvbhJbjubjvbjwbjxbjybhJaKubhMbjzbjAbjBbjCbjCbjCbjDbjqbjEbjFbjFbjGbjGbjGbjHbiTbiobiobiobiobiobjqbjIbjJbjKbjLbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabhIbjMbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKuaKuaKtaKuaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKubhJbhJbhJbhJbhJbhJbhJaKubhMbjNbjAbjObjPbjQbjRbjSbjqbjTbjUbjVbjWbjWbjWbjWbjJbjFbjFbjFbjFbjGbjXbjYbjZbkabkbbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkcbkdbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhMbjhbkebkfbkgbkhbkibkjbjqbjTbiobkkbklbklbklbklbklbklbkmbknbkobjIbkpbkqbkrbksbktbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkcbdQbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhMbkubkvbkjbkwbkxbkfbkybkzbkAbkBbkCbkDbkDbkDbkDbkDbkDbkEbkFbkGbiSbkHbkqbkqbkIbktbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkJbkKbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhMbkubkLbkMbkNbkObkPbkPbkQbkRbkSbkCbkDbkDbkDbkDbkDbkDbkTbiRbkUbkVbjqbjUbkjbkWbkXbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkYbbzbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMbkubkvbkjbkwbkxblabkyblbblcbkSbkCbkDbkDbkDbkDbkDbkDbkEbjqbkUbkVbjqbiobkjbjgbldbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaableblfbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMblgblhblablibljblkbkjbjqbllbkkbkDbkDbkDbkDbkDbkDbkDbkEbjqbkUblmblnblobloblpblqbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabaabaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMbjNblrblsbltblublvblwbjqblxblyblzblzblzblzblzblzblzblAbjqbkUbioblBbloblCblDblqbhMaKuaKuaKuaKuaKuaKubaabaabaabaabaabaabaabaabVxbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMbiGbjWblFblGblGblGbjDblHbiLbiNbiNbiNbiNbiNbiNbiNbiNbiNblIblJblKblLblMblNblOblPbhMaKuaKuaKuaKuaKuaKubaablQbbzblRbbzbbzbbzbaablSbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMblTblUbkWblVblVblVblWbioblxbioblXbkBbkBbkBbkBbkBbkBblYblZbmabmbbmcbmdbmcblUbmebhMaKuaKuaKuaKuaKuaKubaabbzbmfbfUbmgbmhbbzbaacarbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKuaKuaKuaKuaKubhMbmjbiobiobiobiobiobiobioblxbiobmkbmlbmmbmnbmobmpbmqbmrbmsbmtbhMbhMbmvbhMbhMbhMbhMbaabaabaabaabaabaabaabmwbmxbmybmybmzbmAbaabgqbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKuaKuaKuaKuaKubhMbmBbiobiobiobiobiobiobiobmCbmDbmkbmlbmmbmnbmobmpbmqbmrbmsbmEbhMbmFbmGbmHbmIbmIbmJbmKbmIbmLbmMbmNbmObmObmPbmQbmSbmSbmTbmUbmObmObmObmVbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
-aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKuaKuaKuaKuaKubhMbmWbmXbmYbmZbnacbobncbndbnebnfbngbmlbmmbmnbnhbmpbmqbmrbnibnjbhMbbzbnkbbzbbzbbzbbzbbzbnlbnmbbzbbzbaabaabaabaabaabaabaabaabaabaabaabaabaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbdTaUraUrbdUaWRbdVbdWbdXaWRaWvbdYaWvaWvaWvaWvaWvaWvaWwbdZbeabebbecbedbeebefaWyaIdbehbeibejbekbelbembenbeobzqbeqbGRbBjbGfbeubevbewbexbeybezbdFbeAbcMajQbeBbeCahsbJIbJIbJIbaabbzbeDbeEbaabcSbdPbeFbeGbeGbeHbbzbcqbaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUrbeIaWRaWRaWRaWRaWRaGvbeJbeKaGvaKuaKuaKuaKuaWwbeLbeLbeMbeNbeMbeLbeLbeLaIhbePbbVbbVbeQbeRbeSbeRbeQbeTbeUbeVbeWbeXbeYbcObeZbfabfbbfcbfabfdbcMahsahsahsahsbaabaabaabaabbzbfebbzbaabffbfgbfhbbzbcWbbzbbzbcqbaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaUraUrbfiaGvbfjbfkbflbfmbfnbfobfpaGvaKuaKuaKuaKuaKubeLbfqbfrbfsbftbfubfvbeLaIibfxbbVbfybeQbfzbfAbfBbeQbeQbeQbfCbfDbetbfEbcMbfFbfGbfHbfIbfJbfKbcMbfLbfMbfNbfNbfNbfObfNbeDbeDbeDbfPbaabfQbfRbfSbbzbfTbfUbfVbfWbaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaUDaVtaWpaUraGvbfXaGvaGvaGvaGvbeJbfYaGvaKuaKuaKuaKuaKubeLbfZbgabgbbgcbgdbgebeLaIjbggbbVbghbeQbgibgjbgkbglbgmbeQbgnbgobetbgpbcMbcMbcObcObcObcObcMbcMaWzaWzaWzaWzaWzaWzbaabaabaabaabaabaabaabaabgrbgsbRNbgubgvbaabaaaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbgwaUraUrbSEaGvaGvaGvaKuaKuaGvbgybgzaGvaKuaKuaKuaKuaKubeLbgAbgBbgCcbcbgEbgFbeLaIsbgHbbVbgIbeQbgJbgKbgLbgMbgNbgObgPbgQbgRbgSbgTbgUbgWbgWbgWbgWbgWbgYaWzbgZbhabhbbhbaWzaKuaKuaKuaKuaKuaKuaKubaabhdbacbaabaabaabaaaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbhebhfbhgbhgaGvaKuaKuaKuaKuaGvbeJbfYaGvaKuaKuaKuaKuaKubeLbhhbhibhjbhkbhlbhmbeLaItbhobbVbhpbeQbhqbhrbhsbhtbhubeQbhvbhwbhxbhybhzbhzbhzbhzbhAbhAbhBbhCbhDbhEbhFbhGbhHaWzaKuaKuaKuaKuaKuaKuaKubaabhIbbzbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaGvaGvaGvaGvaGvaKuaKuaKuaKuaGvbeJbfYbhJbhJbhJbhJbhJbhJbeLbeLbeLbeLbeLbeLbeLbeLaIvbhLbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhNbhObhPbhMbhMbhMbhMbhMbhMbhMbbVaWzbhQbhFbhGbhGaWzaKuaKuaKuaKuaKuaKuaKubaabhIbaabaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbeJbfYbhJbhRbhSbhTbhUbhVbhJaKubhMbhWbhXbhYbhZbiaaIwaIxaIAbiqaIyaIzaINaITaILaIMaIWaIYaIUaIVaJebiqbirbisbitbiubivbhMaKuaWzbiwbhFbhFbiyaWzaKuaKuaKuaKuaKuaKuaKubaabhIbaabizaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbiAbiBbhJbiCbiDbiEbiEbiFbhJaKubhMbiGbiHbiIbiIbiJbiKbiLaJibiNbiOaJfbiNbiNbiNbiMbiMbiNbiPbiNaJlbiNbiRbiSbiTbiSbiUbhMaKuaWzaWzbiVbiWaWzaWzaKuaKuaKuaKuaKuaKuaKubaabhIbaabizaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvbiXbiYbiZbjabjbbjcbiEbjdbhJaKubhMbjebjfbjgbjhbjibjjbjkbjlbjmbiIaJmbiIbiIbiIbjnbjobiIbjpbiobiobiobjqbjrbjrbjsbjtbhMaKuaKuaWzaWzaWzaWzaKuaKuaKuaKuaKuaKuaKuaKubaabhIbaabaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGvaGvaGvbhJbjubjvbjwbjxbjybhJaKubhMbjzbjAbjBbjCbjCbjCbjDbjqbjEbjFaJnbjGbjGbjGbjHbiTbiobiobiobiobiobjqbjIbjJbjKbjLbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabhIbjMbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKuaKuaKtaKuaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKubhJbhJbhJbhJbhJbhJbhJaKubhMbjNbjAaJBbjPbjQbjRbjSbjqbjTbjUaJLbjWbjWbjWbjWbjJbjFbjFbjFbjFbjGbjXbjYbjZaKabkbbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkcbkdbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhMbjhaKbbkfbkgbkhaKcbkjbjqbjTbioaKebklbklbklbklbklbklbkmbknbkobjIbkpaWJbkrbksbeObhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkcbdQbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhMbkubkvbkjbkwbkxbkfbkybkzbkAbkBbkCbkDbkDbkDbkDbkDbkDbkEbkFbkGbihbkHbkqbkqbkIbeObhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkJbkKbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhMbkubkLbkMbkNbkObkPbkPbkQbkRbkSbkCbkDbkDbkDbkDbkDbkDbkTbiNbikbiNbiibjUbkjbkWbkXbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabkYbbzbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMbkubkvbkjbkwbkxblabkyblbblcbkSbkCbkDbkDbkDbkDbkDbkDbkEbiobkUbiobiobiobiobiobimbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaableblfbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMbjObiQblablibljbkabkjbjqbllbkkbkDbkDbkDbkDbkDbkDbkDbkEbiobkUbiobiobiobiobiobmEbhMaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabaabaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMblobkhblnbltblublvblwbjqblxblyblsblzblzblzblzblzblzblAbiobkUbiobiobiobiobiobmEbhMaKuaKuaKuaKuaKuaKubaabaabaabaabaabaabaabaabVxbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMblJbjWblFblLblLblLbjDblHbiLbiNbmebiobiobiobiobiobiobiobiobngbmBbmBblMbiobioboLbhMaKuaKuaKuaKuaKuaKubaablQbbzblRbbzbbzbbzbaablSbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKuaKuaKuaKuaKuaKuaKubhMblTblUbkWblVblVblVblWbioblxbioblZblXbkBbkBbkBbkBbkBcbVcbWbmabmbbmcbmdbmcbmccbYbhMaKuaKuaKuaKuaKuaKubaabbzbmfbfUbmgbmhbbzbaacarbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKuaKuaKuaKuaKubhMbmjbiobiobiobiobiobiobioblxbiocccccdbmmbmnbmobmpbmqbmlccebmtbhMbhMbmvbhMbhMbhMbhMbaabaabaabaabaabaabaabmwbmxbmybmybmzbmAbaabgqbaabhIbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKuaKuaKuaKuaKubhMccjbiobiobiobiobiobiobiobmCbmDcccccdbmmbmnbmobmpbmqbmlccebmEbhMbmFbmGbmHbmIbmIbmJbmKbmIbmLbmMbmNbmObmObmPbmQbmSbmSbmTbmUbmObmObmObmVbaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
+aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKuaKuaKuaKuaKubhMccrbmXbmYbmZbnacbobncbndbnebnfccvccAbmmbmnbnhbmpbmqbmlccDbnjbhMbbzbnkbbzbbzbbzbbzbbzbnlbnmbbzbbzbaabaabaabaabaabaabaabaabaabaabaabaabaaaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKtaKtaKuaKuaKubhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbhMbaabbzbnnbaabaabaabaabnobnpbhcbmubmubmuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabbzbnsbaaaKuaKuaKubmubntbnubnvbnwbmuaKuaKuaKubnxbnxbnxbnxbnxbnxbnxbnxaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
aKsaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtbkZaKtaKtaKtaKtaKtaKtaKtaKtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubaabbzbnybaaaKuaKuaKubmubnzbnAbnBbnCbnrbnDbnDbnDbnxbnEbnFbnGbnHbnIbnJbnxaKuaKuaKuaKuaKuaKuaKuaKuaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKtaKs
diff --git a/vorestation.dme b/vorestation.dme
index bd08428ed2..70bd810ea6 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -556,10 +556,8 @@
#include "code\game\jobs\whitelist_vr.dm"
#include "code\game\jobs\job\assistant.dm"
#include "code\game\jobs\job\captain.dm"
-#include "code\game\jobs\job\captain_vr.dm"
#include "code\game\jobs\job\civilian.dm"
#include "code\game\jobs\job\civilian_chaplain.dm"
-#include "code\game\jobs\job\civilian_vr.dm"
#include "code\game\jobs\job\engineering.dm"
#include "code\game\jobs\job\job.dm"
#include "code\game\jobs\job\job_vr.dm"
@@ -568,6 +566,7 @@
#include "code\game\jobs\job\security.dm"
#include "code\game\jobs\job\silicon.dm"
#include "code\game\jobs\job\special.dm"
+#include "code\game\jobs\job\z_all_jobs_vr.dm"
#include "code\game\machinery\adv_med.dm"
#include "code\game\machinery\adv_med_vr.dm"
#include "code\game\machinery\ai_slipper.dm"
@@ -801,6 +800,7 @@
#include "code\game\objects\effects\misc.dm"
#include "code\game\objects\effects\overlays.dm"
#include "code\game\objects\effects\portals.dm"
+#include "code\game\objects\effects\spider_vr.dm"
#include "code\game\objects\effects\spiders.dm"
#include "code\game\objects\effects\step_triggers.dm"
#include "code\game\objects\effects\zone_divider.dm"
@@ -1488,6 +1488,7 @@
#include "code\modules\events\event_manager.dm"
#include "code\modules\events\gravity.dm"
#include "code\modules\events\grid_check.dm"
+#include "code\modules\events\grubinfestation_vr.dm"
#include "code\modules\events\ian_storm_vr.dm"
#include "code\modules\events\infestation.dm"
#include "code\modules\events\ion_storm.dm"
@@ -1951,6 +1952,7 @@
#include "code\modules\mob\living\simple_animal\animals\pike_vr.dm"
#include "code\modules\mob\living\simple_animal\animals\slime.dm"
#include "code\modules\mob\living\simple_animal\animals\snake_vr.dm"
+#include "code\modules\mob\living\simple_animal\vore\solargrub.dm"
#include "code\modules\mob\living\simple_animal\animals\spiderbot.dm"
#include "code\modules\mob\living\simple_animal\animals\tomato.dm"
#include "code\modules\mob\living\simple_animal\animals\tree.dm"